|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Alexey Morozov 2:5020/400 03 Feb 2002 18:58:42 To : Andrew Martovlos Subject : Re: [News] Tcl & Tk default font size (И вообще, про X ресурсы!) -------------------------------------------------------------------------------- Andrew Martovlos <martin@meduniv.lviv.ua> wrote: AM> Hу, это меняет только фонты кнопок. А как изменить фонты сообщений AM> (любого текста, в общем)? AM> И ВООБЩЕ! AM> Обясните, плиз, что означает эта запись '*Font:'? AM> И какие еще ресурсы можно выставлять, и вообще как можно получить их AM> полный список. AM> Hу например: есть у меня прога на Tcl/Tk. Я ее запускаю. Как мне AM> узнать (и изменить) список всех этих так называемых ресурсов, которые AM> она использует: фонтов, толщины бордюров, высоты кнопок и пр.? man editres. AM> У меня ВСЕГДА были с этим проблемы, я этого не понимаю! AM> Если кому не влом (можно мылом) растолкуйте пожалуйста, и направте на AM> путь истинный. Ведь нельзя же всю жизнь так мучаться. AM> Я не понимаю сути этого всего. :((((( Вся суть очень проста: есть некоторая система, гхм, ресурсов :-), которые можно хранить, в том числе, в памяти Xсервера. И доставать/складывать их оттуда по желанию. X сервер [может] брать их из настроек, на той машине, где он запущен. Как следствие, программы могут пользоваться настройками не только с той машины, где они запущены, но и с той, на которой они отрисовываются. Это, позволяет, в частности, изменять размер фонта в зависимости от размера монитора, адаптировать цветовую палитру и прочая, прочая. Все виджеты некоторого приложения, которое знает и умеет пользоваться этой системой сгруппированы в несколько древовидных (2vitus: или там граф?) иерархий. Путь в этой иерархии может выглядеть как <appname>.<window_name>.<widget_name>.<propertyName> (может быть и длиннее, например, менюха "File" в дебаггере DDD имеет путь ddd.command_shell.main_window.menubar.file и имеет довольно много свойств (около 60 штук), которые можно менять прямо на лету (например, сейчас вот перекрасил ей (одной!) цвет тексте в красный). Если же Вы хотите изменить некоторое свойство у группы виджетов, то достаточно вместо на нужном месте указать '*' или '?': ddd.command_shell.main_window.menubar.*.foreground: green Тот же editres позволяет посмотреть на всю эту иерархию воочию и тут же попоменять что-то, если нужно. Беда в том, что вся эта система поддерживается отнюдь не всеми виджетсетами, в особенности, "модные" тулкиты, типа GTK и Qt забивают напрочь на ресурсы. Из тех, которые живут прямо сейчас у меня на localhost'е, ресурсы поддерживаются Tk, Motif/Lesstif, Xaw и клонами. --- ifmail v.2.15dev5 * Origin: Кафеда АФТИ HГУ (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/117499c5d0575.html, оценка из 5, голосов 10
|