On Sun, Dec 26, 2004 at 07:09:35PM +0300, Иван Лох wrote:
> > > Преключаются установкой переменной окружения
> > Какой? 
> GTK2_RC_FILES
> > И кто выставляет эту переменную в зависимости от типа дисплея?
> У меня FVWM Backer... Я просто использую разные виртуальные десктопы
> для разных дисплеев. Веренее я использую theme-swicher, который просто
> дергает gtk_rc_set_default_files(). Наверное можно сделать красивее,
> но меня и так устраивает.

Понятно... А я уже было подумал, что оно, наконец, заработало, как надо.

> > Ресурсы то сами настраиваются, вообще без моего вмешательства... А
> > как эта схема ведёт себя при одновременной работе с нескольких
> > дисплеев? 
> В Xinerama? Не знаю. Я ее не использую.

Нет, не так. Я одновременно подключаюсь к своему хосту, например, с
локального большого дисплея и с маленького ноутбука (используемого в
этот момент качестве X-терминала). Плюс к этому я запускаю приложения на
третьем хосте, которые показываются на двух описанных различных по
размеру дисплеях. В .Xresources у меня стоит

#if HEIGHT >= 1024

#define TERMFONT -rfx-courier-medium-r-normal-*-*-180-*-*-m-*-koi8-r
и т.д.
#else
#define TERMFONT -rfx-courier-medium-r-normal-*-*-120-*-*-m-*-koi8-r
и т.д.
#endif

В результате я могу использовать этот файл в неизменном виде и на
ноутбуке, и на машине с большим монитором, а также могу легко менять
мониторы, ничего при этом не настраивая, правильные цвета и размеры
выбираются автоматически.

А что будет, если я в двух одновременных сессиях выберу различные темы?
Они друг с другом не подерутся?

> > А окошки программ, запущенных на другом хосте, какую тему будут
> > использовать на моём дисплее?
> Если тема доступна на их хосте, то правильную. swicher бросит
> gdk_event_send_clientmessage_toall() которую поймают все gtk
> приложения, чьи окна открыты на десктопе и попробуют изменить тему.

Нет, тема, разумеется, не доступна. Я хожу с инженерным аккаунтом на
десятки разных хостов. Под тем же аккаунтом на этих хостах работают
остальные разработчики. Поэтому мне совершенно не хочется трогать
что-либо в тамошнем ${HOME}. Да это и не нужно. Если я запускаю gvim
(lesstif), то он отрисовывается на моей рабочей станции именно так, как
надо, используя настройки из моего .Xresources. А на ноутбуке
отрисовывается по-другому, и тоже так, как надо. А вот ethereal (gtk)
везде одним цветом и везде --- как не надо. Поскольку применяет
настройки из локального файла .gtkrc. Но это просто глупо, ведь у данных
хостов даже мониторов локальных нет, поэтому все настройки отображения
должны определяться параметрами удалённых дисплеев, а они у каждого
разные. Вот отсюда и вопрос: как сделать то же самое с GTK?

> Кстати, как называется userspace утилита, которая заставит все окна
> перечитать X ресурсы и перекраситься?

editres? Только оно не со всеми приложениями работает.


-- 
Andrey V. Kiselev
Home phone:  +7 812 5970603  ICQ# 26871517

Ответить