четверг, 25 октября 2007 г.

Заметки (перенесено с rootshell.be)

Поскольку любимый мной rootshell.be закрыли/перенесли с потерей учётной записи - потихоньку буду выкладывать здесь наиболее интересный материал...


ENLIGHTENMENT (E16)

Пару слов об этом замечательном WM-е. Основные грабли - русификация (что характерно). Разберём на примере темы "winter". На самом деле это довольно интимное занятие и оно различается от темы к теме для e16. Моя версия - 0.16.8.7-0.00 из cvs. Как я его собирал - скриптик дан вверху странички, пользуйтесь. Для этой темы надо в 'путь_к_установленному_Вами_e16/share/e16/themes/winter/ttfonts' положить допустим шрифт verdana.ttf и verdanab.ttf (любые шрифты поддерживающие Вашу locale. Dejavu тоже подойдёт (даже лучше будет), но под рукой нету) в дополнение к уже присутствующим (надеюсь) Vera.ttf и VeraBd.ttf и выполнить (от рута)
mkfontscale && mkfontdir
стоя в 'путь_к_установленному_Вами_e16/share/e16/themes/winter/ttfonts'
Затем идём в ~/.e16/cached/cfg и открываем файлик
.*.share.e16.themes.winter.fonts.cfg.preparsed
вместо * у Вас будет что-то написано ессно. Это делается для проверки, дабы избежать внесения изменений в
'путь_к_установленному_Вами_e16/share/e16/themes/winter/fonts.cfg'
и избежать операции "purge cache all". Приводим этот файлик (это - аналог нашего fonts.cfg) вот в такой вид:

1001 1
21 999
font-default "verdanab/7"
font-border "verdanab/7"
font-coords "verdanab/7"
font-dialog "verdana/7"
font-dialog-hilite "verdana/8"
font-epplet "verdana/6"
font-epplet-small "verdana/6"
font-epplet-medium "verdana/8"
font-epplet-large "verdana/10"
font-focus "verdanab/7"
font-iconbox "verdanab/7"
font-init "verdanab/8"
font-menu "verdana/7"
font-pager "verdanab/7"
font-tooltip "verdanab/7"
1000

Всё. Restart. Если заголовки окон в норме - рихтуйте
'путь_к_установленному_Вами_e16/share/e16/themes/winter/fonts.cfg'
и purge cashe all
Самое важное здесь - ставить именно те шрифты, которые поддерживают Вашу locale. Для темы же 'aqua' всё немного по-другому (определение шрифтов разнесено по нескольким конфигурационным файлам), посему - ищите да обрящете...
Тут есть ещё такой "ньюанс" - вполне возможно/вероятно, что для версии 0.16.8.1 данный способ не подойдёт. Посему - upgrade пожалуйста...

Доводим до ума E16...


После длительного перерыва решил продолжить, ибо тема E16 не раскрыта совершенно. Полагаю, что это - лучший WM на сегодня, да и на ближайшее обозримое будущее тоже. Количество тем офрмления для него просто огромно (с версии E 16.8.10 темы требуют доработки):

http://themes.freshmeat.net/browse/60/

Вот что установлено у меня в ~/.e16/themes и на скриншоте - самая верхняя, 23OZ, с которой пришлось чуток повозиться путём рихтовки всех конфигурационных файлов, содержащих инструкции по использованию отсутствующего у меня шрифта/семейства шрифтов "helvetica". Кроме того на скриншоте "gkrellm" с темой "23ozglass" и индикатором писем из темы "CoplandOS". В отличие от "стандартной" темы "winter" в "23OZ" (как и в большинстве старых тем) внимания требуют практически все конфигурационные файлы, ибо стандарта по созданию тем как такового нет до сих пор. Кроме того добавил теме своё собственное звуковое оформление. Для этого достаточно разобраться с файлом ~/.e16/themes/23OZ/sound.cfg (если тема установлена в ~/.e16/themes).

Но основное внимание стоит уделить файлу "~/.e16/bindings.cfg". Он имеет 3 секции:
Aclass BUTTONBINDINGS normal
Aclass DESKBINDINGS normal
Aclass KEYBINDINGS global
соответственно первая в ответе за отклик окон на различные комбинации "щёлканья" мышкой (и опционально - с клавиатурой), вторая - за "кликанье" мышкой (опять же +- клавиатура) на рабочем столе и последняя даёт волю в выборе "горячих" клавиш. Ограничений - практически никаких. Есть утилита для установки некоторых функций "горячих" клавиш в gui - "e16keyedit". Изменения попадут в секцию "Aclass KEYBINDINGS global". Желающие "огласить весь список" могут набрать в консоли:

eesh help full

и очень рекомендуется к прочтению следующий документ:

README

Если мы к примеру добавим в конец файла "~/.e16/bindings.cfg" следующую строку:

KeyDown - F1 menus show windowlist

то по нажатию кнопки "F1" вылетит окно со списком всех запущенных приложений. Понятно, что для "подгонки" приложений под выбранную/созданную тему придётся всё равно "ковырять" настройки gtk/qt, но это уже совсем другая "песня". Ещё пожалуй стоит упомянуть утилиту "e16menuedit2", которая для E-0.16.8 и выше позволяет "визуально" редактировать списки меню с перечнем доступных приложений. Если есть желание расположить на рабочем столе "иконки" для запуска документов или приложений - смотрите в сторону программы idesk. Enlightenment был и остаётся самым красивым и функциональным WM в истории *nix.

4 комментария:

lattenwald комментирует...

Поиск в сети информации по поводу русификации e16/17 меня выводил исключительно на Вас, поэтому я решил попробовать задать вопрос напрямую :)

Собсно, ситуация: у меня Gentoo, e16 (0.16.8.12), локаль ru_RU.UTF8
В .e16/cached/cfg с некоторых пор пусто (я всё потёр с целью выяснить, что же туда кэшируется. А ничего...). Так что я действовал не совсем так, как описано в Ваших заметках.

Тема - дефоолтная, winter.
Мои действия: кидаю вердана/DejaVu в /usr/share/e16/themes/winter/ttfonts , пишу eesh set theme.use_alt_font_cfg 0 (чтобы не мешались мои эксперименты с font.cfg.xft), меняю ВСЕ шрифты в /usr/share/e16/themes/winter/fonts.cfg на verdana/12 (для упрощения ситуации), рестарт - и... фигушки. Заголовок окна честно показывает все символы до первого встреченного кириллического.

То есть, к примеру, поиск в гугле текста yo даёт заголовок "yo -" (вместо "yo - Поиск в Google", до слова Google дело не доходит)
поиск в гугле слова "тест" выдает пустой заголовок (вместо "тест - Поиск...")

Начертание букв меняется, то есть смена шрифта таки происходит.

То есть, резюмируя - не отображаются русские (как минимум) буквы, причём при встрече первой буквы весь остаток строки (заголовка) пропадает. От шрифта не зависит.

Куда копать?

lattenwald комментирует...

Я извиняюсь. Обратил наконец внимание на привычный warning "Qt: Locales not supported on X server", копнул google, поменял ru_RU.UTF8 на ru_RU.UTF-8, и проблема испарилась, как не было.

sda комментирует...

E-0.16.8.13-0.03

> ls /opt/e16/share/e16/themes/winter/ttfonts/


COPYRIGHT.Vera DejaVuSans-Bold.ttf DejaVuSans.ttf LICENSE.Vera VeraBd.ttf Vera.ttf


Примечание: путь к шрифтам DejaVu* также прописан в xorg.conf, хотя это и не обязательное требование... но вроде как в некоторых случаях помогало.


> cat /opt/e16/share/e16/themes/winter/fonts.cfg


#include <definitions>
__E_CFG_VERSION 1
__FONTS __BGN

font-default "DejaVuSans-Bold/7"

font-border "DejaVuSans-Bold/7"

font-coords "DejaVuSans-Bold/7"

font-dialog "DejaVuSans/7"
font-dialog-hilite "DejaVuSans/8" /* ??? */

font-epplet "DejaVuSans/6"
font-epplet-small "DejaVuSans/6"
font-epplet-medium "DejaVuSans/8"
font-epplet-large "DejaVuSans/10"

font-focus "DejaVuSans-Bold/7"

font-iconbox "DejaVuSans-Bold/7"

font-init "DejaVuSans-Bold/8"

font-menu "DejaVuSans/7"

font-pager "DejaVuSans-Bold/7"

font-tooltip "DejaVuSans-Bold/7"

__END


возможно вы не учли, что двойные кавычки обязательны...


>locale

LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8


Также ОЧЕНЬ большие сомнения вызывает отсутствие файлов в $HOME/.e16/cached/cfg/ . Осмелюсь заявить, что вам в обязательном порядке надо проверить разрешения (permissions) на все файлы в $HOME. Для всех подкаталогов $HOME/.e16/ достаточно mode 700, для самого $HOME/.e16 - mode 755.


> eesh
show theme
! theme.* *** Not found ***
theme.localise = 0
theme.name = winter
theme.extra_path =
theme.ttfont_path =
theme.use_alt_font_cfg = 1
theme.font_cfg = fonts.cfg.xft


По видимому вы переусердствовали при eesh set theme.use_alt_font_cfg 0 :).

Результаты:


http://img368.imageshack.us/img368/8042/resultstx5.png

sda комментирует...

>> и проблема испарилась, как не было.

а я тут панимаш накатал хаутушку....