В последнее время я стал замечать нестабильную работу системы из-за gnome-settings-daemon'а. Например, при работе в VMWare во время выхода из гостевой ОС у меня время от времени блокировалась клавиатура, и после этого не запускалось ни одно графическое приложение - помогал только перезапуск иксов. В итоге я решил от него избавиться, т. к. никакой необходимости у меня в нем нет.
1. Задаем тему оформления GTK
Все GTK-2 приложения при запуске читают файл ~/.gtkrc-2.0. В нем можно задавать значения различных опций, настраивающих работу GTK приложения.
Все что нам нужно - это прописать в ~/.gtkrc-2.0 следующие строки:
# Разрешаем менять горячие клавиши в меню # нажатием новой комбинации клавиш. gtk-can-change-accels = 1 gtk-theme-name = "Human" gtk-icon-theme-name = "Human" gtk-font-name = "Sans 9"
Установка gtk-can-change-accels в 1 позволяет налету менять горячие клавиши. Например, если вы в gnome-terminal кликните по меню File и, наведя курсор мыши на пункт Open Tab, нажмете Ctrl+T, то теперь сможете создавать новую вкладку нажатием этой комбинации клавиш.
Назначение остальных опций, думаю, понятно:
gtk-theme-name = "Human" говорит GTK приложению, что надо загрузить файл ~/.themes/Human/gtk-2.0/gtkrc или /usr/share/themes/Human/gtk-2.0/gtkrc, в котором содержатся все настройки темы.
gtk-icon-theme-name = "Human" заставляет GTK приложения искать пиктограммы в папке ~/.icons/Human или /usr/share/icons/Human.
gtk-font-name = "Sans 9" задает шрифт, используемый по умолчанию.
2. Включаем сглаживание шрифтов.
На форумах мне предлагали настроить под себя ~/.fonts.conf или ~/.Xdefaults, но с помощью этих файлов достичь желаемого результата мне так и не удалось. Как бы я не менял ~/.fonts.conf, шрифты хоть и сглаживались, но по сравнению с тем сглаживанием, которое давал gnome-settings-daemon они выглядели просто ужасно. Внесение настроек в ~/.Xdefaults вообще не давало результатов.
Поэтому для того, чтобы найти ответ на данный вопрос, мне пришлось покопаться в исходных кодах gnome-settings-daemon. Вот что я там нашел.
Чтобы настроить сглаживание, необходимо задать значение опций Xft.* в файле ~/.Xresources. Далее я приведу список соответствий: какие опции из gnome-appearance-properties->Fonts->Details влияют на опции ~/.Xresources:
Smoothing:
None - Xft.antialias: false
Grayscale - Xft.antialias: true
Subpixel (LCDs) - Xft.antialias: true
Grayscale - Xft.antialias: true
Subpixel (LCDs) - Xft.antialias: true
Hinting:
None - Xft.hinting: false, Xft.hintstyle: none
Slight - Xft.hinting: true, Xft.hintstyle: hintslight
Medium - Xft.hinting: true, Xft.hintstyle: hintmedium
Full - Xft.hinting: true, Xft.hintstyle: hintfull
Slight - Xft.hinting: true, Xft.hintstyle: hintslight
Medium - Xft.hinting: true, Xft.hintstyle: hintmedium
Full - Xft.hinting: true, Xft.hintstyle: hintfull
Subpixel Order:
Если Smoothing != Subpixel, то:
Xft.rgba: none
Если Smoothing = Subpixel, то:RGB - Xft.rgba: rgb
BGR - Xft.rgba: bgr
VRGB - Xft.rgba: vrgb
VBGR - Xft.rgba: vbgr
BGR - Xft.rgba: bgr
VRGB - Xft.rgba: vrgb
VBGR - Xft.rgba: vbgr
Таким образом, если у вас в gnome-appearance-properties в настройках сглаживания шрифтов стоят опции
Resolution = 96
Smoothing = Grayscale
Hinting = Slight
то ~/.Xresources должен содержать следующие строки:Smoothing = Grayscale
Hinting = Slight
Xft.dpi: 96.0 Xft.hinting: true Xft.hintstyle: hintslight Xft.antialias: true Xft.rgba: none
7 комментариев:
Спасибо, полезная штука
Очень интересно. Но нельзя ли немного подробнее про .gtkrc-2.0? Можно ли, например, настраивать одиночный/двойной клик мышки?
Да, .gtkrc имеет опцию gtk-double-click-time. Список всех опций можно посмотреть здесь.
Спасибо, помогло в освоении openbox.
респект!
это именно то хау-ту, которое я неделю искал. Запостил у себя в блоге, с указанием источника.
Спасибо, то что надо!
За сглаживание шрифтов - отдельное спасибо
Отправить комментарий