Невозможно иметь рассеянные окна на экране .Xresources - PullRequest
1 голос
/ 01 мая 2009

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

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

  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)

Ответы [ 2 ]

2 голосов
/ 01 мая 2009

Это происходит при запуске Tlist или при повторном подключении к ранее открытому сеансу?

Если это последнее (и размер вашего окна изменяется), это может быть связано с тем, что экран опций был запущен. Попробуйте запустить экран с этими параметрами "-aADR". «-a» и «-A» заставляют экран перерисовываться при переподключении.

1 голос
/ 13 мая 2009

Анализ ~ / .Xresources выполняется при запуске сервера X11 в рамках сценариев инициализации сеанса X11. Если вы редактируете ~ / .Xresources, вам нужно использовать xrdb (1) для загрузки нового файла, чтобы сообщить работающему серверу X11 об изменениях.

ВНИМАНИЕ, что xrdb (1) по умолчанию заменяет текущие ресурсы, а не перезаписывает их, и чтение из stdin является значением по умолчанию, поэтому не вызывайте его без параметров! Итак, вы хотите использовать

xrdb -merge ~/.Xresources

для загрузки измененного файла. Вы можете использовать

xrdb -query

чтобы посмотреть, что уже загружено.

Что касается Mac, я не знаю, что, где и когда, возможно, смотрит на ~ / .Xresources; потому что X11 - это программа, запускаемая для использования дисплея, а не мастер всего графического, она может быть довольно минимальной и не делать этого по умолчанию. xrdb -query поможет.

Одна вещь, которая может помочь, - вместо этого установить XAPPLRESDIR в качестве экспортируемой переменной оболочки; где-то в MacOS есть какая-то ручка для установки переменных окружения как объекта сеанса, видимого для всех программ без попадания в пользовательскую оболочку, но я забыл, где (нашел его при настройке SSH Keychain один раз) XAPPLRESDIR - переменная переменной env, указывающая на собственные переопределения ресурсов приложения пользователем. Это значение должно быть каталогом (например, $ HOME / share / xapps /). Каждое приложение X11, связанное с библиотекой X Intrinsics ( libXt ), во время инициализации X11 будет искать в этом каталоге файлы, соответствующие имени класса приложения. Таким образом, вам не нужно беспокоиться о загрузке ресурсов и т. Д .; отредактируйте файл приложения, запустите программу.

Итак, ресурсы для xterm помещаются в файл XTerm и т. Д .; чтобы узнать класс произвольной программы, вы можете использовать xprop (1) без аргументов, щелкнуть в целевом окне, когда указатель является перекрестием, а затем посмотреть на стандартный вывод из xprop для свойства WM_CLASS. Для некоторых старых инструментов, таких как xterm, вы также можете использовать editres (1), чтобы иметь возможность интерактивно просматривать виджеты запущенного приложения X с помощью удаленной проверки; есть пункт меню Get Tree, позволяющий вам щелкнуть по целевому приложению и другой пункт меню, чтобы показать имена классов.

Мой файл ~ / share / xapps / XTerm сам устанавливает цвет фона меню на отвратительный желтый; таким образом, когда я управляю- -click в XTerm, я сразу узнаю, что-то не так, и мои ресурсы не были загружены.

#ifdef COLOR
XTerm.SimpleMenu*background: yellow
#endif
...