Невозможно иметь разбросанные окна на экране от .Xresources

StackOverflow https://stackoverflow.com/questions/809935

  •  03-07-2019
  •  | 
  •  

Вопрос

Начальная проблема: чтобы не было разбросанных окон, когда я использую vspilt в Vim внутри экрана

Попытки решить проблему:

  1. Невозможный: чтобы увеличить частоту обновления дисплея для кода терминала Mac
  2. добавить что-то в .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» заставят экран перерисоваться при повторном подключении.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top