Невозможно иметь разбросанные окна на экране от .Xresources
-
03-07-2019 - |
Вопрос
Начальная проблема: чтобы не было разбросанных окон, когда я использую vspilt в Vim внутри экрана
Попытки решить проблему:
- Невозможный: чтобы увеличить частоту обновления дисплея для кода терминала Mac
- добавить что-то в .Xresources
альтернативный текст http://dl.getdropbox.com/u/175564/bugWithScreen.png
В книге Unix Power Tools говорится, что проблему можно решить в .Xresources.Однако не уточняется, как именно.
Я собрал следующие коды в свои .Xresources
mrxvt*scrollBar: true
mrxvt*loginShell: true
mrxvt*syncTabTitle: true
mrxvt*font: Monaco
mrxvt*faceSize: 11
mrxvt*xft: True
mrxvt*xftFont: Monaco
mrxvt*xftSize: 12
mrxvt*xftAntialias: True
mrxvt*termName: xterm-256color
XTerm*VT100.metaSendsEscape: True
# translations used to coordinate xterm with xcilpboard
# Unix Power Tools: p.117
*VT100.Translations: #override\
Button1 <Btn3Down>: select-end(primary,CUT_BUFFER0,CLIPBOARD)\n\
!Shift <Btn2Up>: insert-selection(CLIPBOARD)\n\
~Shift ~Ctrl ~Meta <Btn2Up>: insert-selection(primary,CUT_BUFFER0)
Решение
Анализ ~/.Xresources выполняется при запуске сервера X11 как часть сценариев инициализации сеанса X11.Если вы редактируете ~/.Xresources, вам нужно использовать xrdb(1) для загрузки нового файла, чтобы сообщить работающему серверу X11 об изменениях.
ВНИМАНИЕ, что xrdb(1) по умолчанию заменит текущие ресурсы, а не перезапишет их, а чтение со стандартного ввода является значением по умолчанию, поэтому не вызывайте его без параметров!Итак, вы хотите использовать
xrdb -merge ~/.Xresources
для загрузки измененного файла.Вы можете использовать
xrdb -query
чтобы увидеть, что уже загружено.
Что касается Mac, я не знаю, что, где и когда можно просматривать ~/.Xresources;поскольку X11 — это программа, запускаемая для использования дисплея, а не для управления всей графикой, она может быть довольно минимальной и не делать этого по умолчанию.xrdb -query поможет.
Одна вещь, которая может помочь, — это вместо этого установить XAPPLRESDIR в качестве экспортируемой переменной оболочки;где-то в MacOS есть какая-то ручка для установки переменных среды как объекта сеанса, видимого для всех программ, не затрагивая пользовательскую оболочку, но я забыл, где (нашел ее при настройке связки ключей SSH).XAPPLRESDIR — это переменная env, указывающая на собственные переопределения ресурсов приложения пользователем.Его значением должен быть каталог (например, $HOME/share/xapps/).Каждое приложение X11 связано с библиотекой X Intrinsics (libXt) во время инициализации X11 будет искать в этом каталоге файлы, соответствующие имени класса приложения.Таким образом, вам не нужно беспокоиться о загрузке ресурсов и т. д.;отредактируйте файл приложения, запустите программу.
Таким образом, ресурсы для xterm помещаются в файл XTerm и т. д.;чтобы узнать класс произвольной программы, вы можете использовать xprop(1) без аргументов, щелкнуть в целевом окне, пока указатель находится в перекрестии, а затем просмотреть стандартный вывод из xprop на наличие свойства WM_CLASS.Для некоторых старых инструментов, таких как xterm, вы также можете использовать editres(1), чтобы иметь возможность интерактивно просматривать виджеты работающего X-приложения посредством удаленной проверки;есть пункт меню «Получить дерево», позволяющий щелкнуть целевое приложение, и еще один пункт меню, чтобы отобразить имена классов.
Лично мой файл ~/share/xapps/XTerm устанавливает ужасный желтый цвет фона меню;таким образом, когда я control-<левый|средний|правый>-клик в XTerm я сразу узнаю, если что-то не так, и мои ресурсы не были загружены.
#ifdef COLOR XTerm.SimpleMenu*background: yellow #endif
Другие советы
Это происходит при запуске Tlist или при повторном подключении к ранее открытому сеансу?
Если это последнее (и размер вашего окна различается), это может быть связано с тем, что экран параметров был запущен.Попробуйте запустить экран с этими опциями «-aADR».«-a» и «-A» заставят экран перерисоваться при повторном подключении.