/*
It was twenty years ago today,
Sgt. Pepper taught the band to play...
/The Beatles/
yet another (stupid?) work to eliminate all UTF-8 related issues for some of the E-DR16 themes. the hyperlink is in the headline of this note. you're welcome to download the slightly modified themes and send me your feedback.
if you wish the similar modifications to be done for other themes - let me know, can't promise but who knows...
all you need is to set the symlinks for normal (normal.ttf) and bold (bold.ttf) standard fonts properly.
regards.
*******************************************
как и обещал - чуток модифицированные темки для E-DR16-го с полной поддержкой UTF-8 если вы перебъёте симлинки
/usr/share/e16/fonts/bold.ttf
и
/usr/share/e16/fonts/normal.ttf
с дефолтного ужаса (Vera fonts family) на DejaVu например. отпишитесь о результатах если не трудно.
удачи.
*/
Показаны сообщения с ярлыком E16. Показать все сообщения
Показаны сообщения с ярлыком E16. Показать все сообщения
суббота, 1 августа 2009 г.
воскресенье, 30 марта 2008 г.
О чём стоит помнить при использовании Enlightenment-DR17 (и не только)
/*
1. Настройка меню.
Всё идёт в соответствии со спецификациями freedesktop.org. Но одно дело - рыть доки, а другое - быстренько наколбасить себе что-то стоящее. Ставим xdg-utils и смотрим, что оно должно в идеале выкинуть "на гора":
> set | grep -i xdg
XDG_CACHE_HOME=/home/sda/.cache
XDG_CONFIG_DIRS=/etc/xdg
XDG_CONFIG_HOME=/home/sda/.config
XDG_DATA_DIRS=/usr/share:/usr/local/share
XDG_DATA_HOME=/home/sda/.local/share
Каждый дистрибутив устанавливает (может установить) свой "скелет", положив файлы в $XDG_CONFIG_DIRS/menu. То бишь в нашем случае - в /etc/xdg/menu. Но это - не путь лентяев. Есть способ и попроще. Если мы хотим на скорую руку "добросить" приложения KDE - то достаточно прописать в $XDG_DATA_DIRS или в $XDG_DATA_HOME путь к каталогу, содержащему applications/ и desktop-directories/. И (опционально) можно "подтянуть" структуру KDE (файлы *.menu). Например $XDG_DATA_HOME указывает на /home/sda/.local/share. Смотрим:
> ls -la /home/sda/.local/share
total 3
drwxr-xr-x 9 sda users 248 2007-11-30 01:43 .
drwxr-xr-x 3 sda users 72 2007-07-18 10:28 ..
drwx------ 3 sda users 80 2007-09-04 19:25 amyedit
drwxr-xr-x 3 sda users 2920 2008-03-27 04:17 applications
drwxr-xr-x 4 sda users 96 2007-07-18 10:28 audacious
drwxr-xr-x 2 sda users 456 2008-03-24 10:48 desktop-directories
drwxr-xr-x 2 sda users 640 2008-02-23 02:26 icons
drwxr-xr-x 3 sda users 136 2008-03-30 18:50 tracker
drwx------ 4 sda users 96 2007-09-02 14:08 Trash
Следовательно, если KDE стоит в /opt/kde, то "добить" стоит /opt/kde/share, убедиться, есть ли что-нибудь полезное в /opt/kde/etc/xdg/menus и выправить пару переменных:
export XDG_DATA_DIRS="/opt/kde/share:$XDG_DATA_DIRS"
export XDG_CONFIG_DIRS="/opt/kde/etc/xdg:$XDG_CONFIG_DIRS"
или
export XDG_DATA_HOME="/opt/kde/share:$XDG_DATA_HOME"
export XDG_CONFIG_HOME="/opt/kde/etc/xdg:$XDG_CONFIG_HOME"
Делаем простейшее вложенное меню для E17-го:
> cat ~/.local/share/desktop-directories/X_Apps.directory
[Desktop Entry]
Encoding=UTF-8
Type=Directory
Icon=/home/sda/.icons/Dark-Glass/128x128/apps/x.png
Icon[en_US]=/home/sda/.icons/Dark-Glass/128x128/apps/x.png
> cat ~/.e/e/applications/menu/favorite.menu
<menu>
<name>Other</name>
<menu>
<name>X_Apps</name>
<defaultappdirs>
<defaultdirectorydirs>
<directory>X_Apps.directory</directory>
<include>
<filename>xfontsel.desktop</filename>
<filename>xdvi.desktop</filename>
<filename>xman.desktop</filename>
<filename>xcalc.desktop</filename>
<filename>xedit.desktop</filename>
<filename>xmag.desktop</filename>
<filename>xclipboard.desktop</filename>
</include>
</defaultdirectorydirs></defaultappdirs>
</menu>
</menu>
Все *.desktop файлы создаём в ~/.local/share/applications. Остальное уже описывал. Правда иконку на вложенное меню в тот раз не осилил (в .directory файле одной линии не хватило для победы). И скриншотик с результатами на закусь:

Теперь о том, как сделать каскадное вложенное меню и включить его в структуру xdg:
> cat ~/.local/share/desktop-directories/wine-wine.directory
[Desktop Entry]
Type=Directory
Name=Wine
Icon=wine
> cat ~/.local/share/desktop-directories/wine-Programs-EmuZWin.directory
[Desktop Entry]
Type=Directory
Name=EmuZWin
Icon=folder
> cat ~/.local/share/desktop-directories/wine-Programs.directory
[Desktop Entry]
Type=Directory
Name=Programs
Icon=folder
> cat ~/.config/menus/applications-merged/wine-Programs-EmuZWin.menu # именно так и появляется структура xdg меню #
<menu>
<name>Applications</name>
<menu>
<name>wine-wine</name>
<directory>wine-wine.directory</directory>
<menu>
<name>wine-Programs</name>
<directory>wine-Programs.directory</directory>
<menu>
<name>wine-Programs-EmuZWin</name>
<directory>wine-Programs-EmuZWin.directory</directory>
<include>
<filename>wine-Programs-EmuZWin-Help and Catalog.desktop</filename>
<filename>wine-Programs-EmuZWin-EmuZWin.desktop</filename>
<filename>wine-Programs-EmuZWin-Uninstall EmuZWin.desktop</filename>
</include>
</menu>
</menu>
</menu>
</menu>
> cat ~/.local/share/applications/wine/Programs/EmuZWin/EmuZWin.desktop
[Desktop Entry]
Name=EmuZWin
Exec=env WINEPREFIX="/home/sda/.wine" wine "C:\\Program Files\\EmuZWin\\EmuZWin.exe"
Type=Application
Path=/home/sda/.wine/dosdevices/c:/Program Files/EmuZWin
Icon=23b5_emuzwin.0
Аналогичные desktop файлы для полноты картины ('Help and Catalog.desktop' и 'Uninstall EmuZWin.desktop') находятся в ~/.local/share/applications/wine/Programs/EmuZWin/
Примерчик конечно ещё тот, но и результат соответствует:

Надеюсь этого хватит с избытком.
2. Ребята, давайте жить дружно...
/Кот Леопольд/
Все попытки в E17-ом использовать прозрачность/(псевдо прозрачность) терминалов ни к чему не приведут. Ибо формат пользовательского интерфейса - edje, а не png/xpm/jpg... Либо терминал скомпилен с поддержкой "картинок" (pixmaps) и картинка грузится из ~/.Xdefaults (профайла, вбивается в Exec строку .desctop файла и т.п.), либо требуется запустить некий сервис, который обеспечит наличие "фона" для "вьюпортов"/виртуальных столов. Легче всего это проделать, нарисовав в ~/.profile что-то наподобие:
if [ "`ps aux | grep enlightenment | grep -v grep`" != "" ] ; then
feh --bg-seamless /home/sda/source/install/wallpapers/emotion.jpg \
--bg-scale /home/sda/source/install/wallpapers/emotion.jpg && \
gnome-settings-daemon &
fi
Да, временное решение для одного вьюпорта/(виртуального рабочего стола). Ежели просто стартануть gnome-settings-daemon (без feh), то фоном станет картинка gnome. Что делать при нескольких столиках - не знаю. Пробежавшись по gconf-editor-у так и не понял, может ли гном держать где-то данные о соответствии картинок виртуальным столам. По идее - обязан. Дополнения приветствуются. Запуск gnome-settings-daemon и настройка внешнего вида уберут лишние элементы из gtk приложений:

Затея сия оправданна. Слева - Firefox, справа - LinuxDC++. Что и как с qt - извините, помню, что kde может при настройке из kcontrol привязать картинки к вьюпортам, но что именно нужно запустить сервисом для этого - страшно даже подумать. Может не прав, но... Надо конечно смелости набраться и поставить kde ещё раз... Если же в kde и gnome сопоставление вьюпортов с картинками завязано на kwin/metacity - то боюсь, что разрулить ситуацию малой кровью не получится. Тут есть ещё нюанс: сопоставить вьюпорты (Workspaces) E17-го и gnome/kde. Тянуть древние технологии в "космос" - занятие требующее творческого подхода...
3. Немного об оптимизации.
В качестве "точки отсчёта" примем следующую (процессор - P-III-866, ОЗУ - 1.5Gb, тема E17-го - 23Oz_0_16_999_042_1):
> top | grep enlightenment
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5266 sda 20 0 52688 34m 13m R 23.3 2.3 40:03.39 enlightenment
> enlightenment_remote -module-list | wc
58 230 1741
56 загруженных модулей: от управления громкостью до чтения RSS. Прежде чем экспериментировать, двигаем в 'Configuration Panel -> Advanced -> Profiles' и создаём новый профайл, копируя текущие настройки. После любых издевательств с системой откат/восстановление пройдёт одним щелчком при выборе бэкапа профайла. Приступим, выгрузив для начала все модули. оставил только управление почтой. При этом все наши настройки сохранены и работают. Доступны все хоткеи, меню, управление мышью, все рабочие столы - то есть при выгруженных модулях нет ни малейшей потери базового функционала.
> enlightenment_remote -module-list
REPLY <- BEGIN REPLY: "mail" ENABLED 1 REPLY <- END Закрываем все окна, кроме: entrance_login───enlightenment─┬─bash───gnome-settings-─┬─xrdb │ └─{gnome-settings-} │ └─urxvt───bash───screen > top | grep enlightenment
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14232 sda 20 0 26480 10m 6384 S 0.3 0.7 0:01.57 enlightenment
Причём эта строка в top-е появляется не часто. Ставим дефолтную тему оформления 17-го:
> top | grep enlightenment
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14232 sda 20 0 22208 11m 6832 S 0.3 0.8 1:39.59 enlightenment
Необхдимо примечание, что количество потребляемого ОЗУ прямо пропорционально загруженным текстурам. Возвращаемся в '23Oz.'. Ставим для всех вьюпортов градиентную заливку вместо картинок и edje файлов, ставим прозрачный фон для нашей "полки", на которой всё это время работает модуль 'mail' и:
> top | grep enlightenment
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14232 sda 20 0 24904 8988 6172 S 0.3 0.6 2:38.11 enlightenment
В иксах крутились два urxvt, в одном - screen c 5-ю терминалами, mutt, тот же gnome-settings-daemon. То есть последнее значение ни коим образом пределом не является. Если же задаться целью и для слабых машин сделать тему оформления сугубо на color_classes (привлекая текстуры по-минимому) или вообще без единого включения графических файлов, отдав всю отрисовку движку E (а он сам рисовать умеет будь здоров, в rgba) - думаю, потребление ресурсов можно снизить ещё. В разы. Все тесты специально проводил на 23Oz. - это одна из самых "тяжёлых" тем в плане графических наворотов на сегодня.
Желаете полный сравнительный анализ? Не вопрос. Сообщение от "Sunday, 29 May 2005". Исходники для тестов - там же, методика описана вкратце.
4. E16
А что же у нас со "старшим братом"? E-16.8.13-0.02, тема оформления 23Oz.:
> top | grep e16
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
25180 sda 20 0 14460 5752 3500 S 0.3 0.4 0:01.37 e16
E-16.8.13-0.02, тема оформления DarkOne:
> top | grep e16
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
25180 sda 20 0 13156 4616 2976 S 0.3 0.3 0:02.06 e16
С версии E-16.6 разработка - за Kim Woelders. Постоянная оптимизация кода, добавление новых опций, великолепные возможности по созданию/модификации интерфейса - Старая Школа во всей красе. Таким образом для многих машин 16-ый подойдёт как нельзя лучше. Но, если создать облегчённый вариант оформления 17-му, то... Нельзя забывать, что 17-ый уже не просто WM. Он принёс EFL (Enlightenment Foundation Libraries) и , как E16-ый до него, шагнул в Terra Incognita.
1. Настройка меню.
Всё идёт в соответствии со спецификациями freedesktop.org. Но одно дело - рыть доки, а другое - быстренько наколбасить себе что-то стоящее. Ставим xdg-utils и смотрим, что оно должно в идеале выкинуть "на гора":
> set | grep -i xdg
XDG_CACHE_HOME=/home/sda/.cache
XDG_CONFIG_DIRS=/etc/xdg
XDG_CONFIG_HOME=/home/sda/.config
XDG_DATA_DIRS=/usr/share:/usr/local/share
XDG_DATA_HOME=/home/sda/.local/share
Каждый дистрибутив устанавливает (может установить) свой "скелет", положив файлы в $XDG_CONFIG_DIRS/menu. То бишь в нашем случае - в /etc/xdg/menu. Но это - не путь лентяев. Есть способ и попроще. Если мы хотим на скорую руку "добросить" приложения KDE - то достаточно прописать в $XDG_DATA_DIRS или в $XDG_DATA_HOME путь к каталогу, содержащему applications/ и desktop-directories/. И (опционально) можно "подтянуть" структуру KDE (файлы *.menu). Например $XDG_DATA_HOME указывает на /home/sda/.local/share. Смотрим:
> ls -la /home/sda/.local/share
total 3
drwxr-xr-x 9 sda users 248 2007-11-30 01:43 .
drwxr-xr-x 3 sda users 72 2007-07-18 10:28 ..
drwx------ 3 sda users 80 2007-09-04 19:25 amyedit
drwxr-xr-x 3 sda users 2920 2008-03-27 04:17 applications
drwxr-xr-x 4 sda users 96 2007-07-18 10:28 audacious
drwxr-xr-x 2 sda users 456 2008-03-24 10:48 desktop-directories
drwxr-xr-x 2 sda users 640 2008-02-23 02:26 icons
drwxr-xr-x 3 sda users 136 2008-03-30 18:50 tracker
drwx------ 4 sda users 96 2007-09-02 14:08 Trash
Следовательно, если KDE стоит в /opt/kde, то "добить" стоит /opt/kde/share, убедиться, есть ли что-нибудь полезное в /opt/kde/etc/xdg/menus и выправить пару переменных:
export XDG_DATA_DIRS="/opt/kde/share:$XDG_DATA_DIRS"
export XDG_CONFIG_DIRS="/opt/kde/etc/xdg:$XDG_CONFIG_DIRS"
или
export XDG_DATA_HOME="/opt/kde/share:$XDG_DATA_HOME"
export XDG_CONFIG_HOME="/opt/kde/etc/xdg:$XDG_CONFIG_HOME"
Делаем простейшее вложенное меню для E17-го:
> cat ~/.local/share/desktop-directories/X_Apps.directory
[Desktop Entry]
Encoding=UTF-8
Type=Directory
Icon=/home/sda/.icons/Dark-Glass/128x128/apps/x.png
Icon[en_US]=/home/sda/.icons/Dark-Glass/128x128/apps/x.png
> cat ~/.e/e/applications/menu/favorite.menu
<menu>
<name>Other</name>
<menu>
<name>X_Apps</name>
<defaultappdirs>
<defaultdirectorydirs>
<directory>X_Apps.directory</directory>
<include>
<filename>xfontsel.desktop</filename>
<filename>xdvi.desktop</filename>
<filename>xman.desktop</filename>
<filename>xcalc.desktop</filename>
<filename>xedit.desktop</filename>
<filename>xmag.desktop</filename>
<filename>xclipboard.desktop</filename>
</include>
</defaultdirectorydirs></defaultappdirs>
</menu>
</menu>
Все *.desktop файлы создаём в ~/.local/share/applications. Остальное уже описывал. Правда иконку на вложенное меню в тот раз не осилил (в .directory файле одной линии не хватило для победы). И скриншотик с результатами на закусь:

Теперь о том, как сделать каскадное вложенное меню и включить его в структуру xdg:
> cat ~/.local/share/desktop-directories/wine-wine.directory
[Desktop Entry]
Type=Directory
Name=Wine
Icon=wine
> cat ~/.local/share/desktop-directories/wine-Programs-EmuZWin.directory
[Desktop Entry]
Type=Directory
Name=EmuZWin
Icon=folder
> cat ~/.local/share/desktop-directories/wine-Programs.directory
[Desktop Entry]
Type=Directory
Name=Programs
Icon=folder
> cat ~/.config/menus/applications-merged/wine-Programs-EmuZWin.menu # именно так и появляется структура xdg меню #
<menu>
<name>Applications</name>
<menu>
<name>wine-wine</name>
<directory>wine-wine.directory</directory>
<menu>
<name>wine-Programs</name>
<directory>wine-Programs.directory</directory>
<menu>
<name>wine-Programs-EmuZWin</name>
<directory>wine-Programs-EmuZWin.directory</directory>
<include>
<filename>wine-Programs-EmuZWin-Help and Catalog.desktop</filename>
<filename>wine-Programs-EmuZWin-EmuZWin.desktop</filename>
<filename>wine-Programs-EmuZWin-Uninstall EmuZWin.desktop</filename>
</include>
</menu>
</menu>
</menu>
</menu>
> cat ~/.local/share/applications/wine/Programs/EmuZWin/EmuZWin.desktop
[Desktop Entry]
Name=EmuZWin
Exec=env WINEPREFIX="/home/sda/.wine" wine "C:\\Program Files\\EmuZWin\\EmuZWin.exe"
Type=Application
Path=/home/sda/.wine/dosdevices/c:/Program Files/EmuZWin
Icon=23b5_emuzwin.0
Аналогичные desktop файлы для полноты картины ('Help and Catalog.desktop' и 'Uninstall EmuZWin.desktop') находятся в ~/.local/share/applications/wine/Programs/EmuZWin/
Примерчик конечно ещё тот, но и результат соответствует:

Надеюсь этого хватит с избытком.
2. Ребята, давайте жить дружно...
/Кот Леопольд/
Все попытки в E17-ом использовать прозрачность/(псевдо прозрачность) терминалов ни к чему не приведут. Ибо формат пользовательского интерфейса - edje, а не png/xpm/jpg... Либо терминал скомпилен с поддержкой "картинок" (pixmaps) и картинка грузится из ~/.Xdefaults (профайла, вбивается в Exec строку .desctop файла и т.п.), либо требуется запустить некий сервис, который обеспечит наличие "фона" для "вьюпортов"/виртуальных столов. Легче всего это проделать, нарисовав в ~/.profile что-то наподобие:
if [ "`ps aux | grep enlightenment | grep -v grep`" != "" ] ; then
feh --bg-seamless /home/sda/source/install/wallpapers/emotion.jpg \
--bg-scale /home/sda/source/install/wallpapers/emotion.jpg && \
gnome-settings-daemon &
fi
Да, временное решение для одного вьюпорта/(виртуального рабочего стола). Ежели просто стартануть gnome-settings-daemon (без feh), то фоном станет картинка gnome. Что делать при нескольких столиках - не знаю. Пробежавшись по gconf-editor-у так и не понял, может ли гном держать где-то данные о соответствии картинок виртуальным столам. По идее - обязан. Дополнения приветствуются. Запуск gnome-settings-daemon и настройка внешнего вида уберут лишние элементы из gtk приложений:

Затея сия оправданна. Слева - Firefox, справа - LinuxDC++. Что и как с qt - извините, помню, что kde может при настройке из kcontrol привязать картинки к вьюпортам, но что именно нужно запустить сервисом для этого - страшно даже подумать. Может не прав, но... Надо конечно смелости набраться и поставить kde ещё раз... Если же в kde и gnome сопоставление вьюпортов с картинками завязано на kwin/metacity - то боюсь, что разрулить ситуацию малой кровью не получится. Тут есть ещё нюанс: сопоставить вьюпорты (Workspaces) E17-го и gnome/kde. Тянуть древние технологии в "космос" - занятие требующее творческого подхода...
3. Немного об оптимизации.
В качестве "точки отсчёта" примем следующую (процессор - P-III-866, ОЗУ - 1.5Gb, тема E17-го - 23Oz_0_16_999_042_1):
> top | grep enlightenment
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5266 sda 20 0 52688 34m 13m R 23.3 2.3 40:03.39 enlightenment
> enlightenment_remote -module-list | wc
58 230 1741
56 загруженных модулей: от управления громкостью до чтения RSS. Прежде чем экспериментировать, двигаем в 'Configuration Panel -> Advanced -> Profiles' и создаём новый профайл, копируя текущие настройки. После любых издевательств с системой откат/восстановление пройдёт одним щелчком при выборе бэкапа профайла. Приступим, выгрузив для начала все модули. оставил только управление почтой. При этом все наши настройки сохранены и работают. Доступны все хоткеи, меню, управление мышью, все рабочие столы - то есть при выгруженных модулях нет ни малейшей потери базового функционала.
> enlightenment_remote -module-list
REPLY <- BEGIN REPLY: "mail" ENABLED 1 REPLY <- END Закрываем все окна, кроме: entrance_login───enlightenment─┬─bash───gnome-settings-─┬─xrdb │ └─{gnome-settings-} │ └─urxvt───bash───screen > top | grep enlightenment
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14232 sda 20 0 26480 10m 6384 S 0.3 0.7 0:01.57 enlightenment
Причём эта строка в top-е появляется не часто. Ставим дефолтную тему оформления 17-го:
> top | grep enlightenment
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14232 sda 20 0 22208 11m 6832 S 0.3 0.8 1:39.59 enlightenment
Необхдимо примечание, что количество потребляемого ОЗУ прямо пропорционально загруженным текстурам. Возвращаемся в '23Oz.'. Ставим для всех вьюпортов градиентную заливку вместо картинок и edje файлов, ставим прозрачный фон для нашей "полки", на которой всё это время работает модуль 'mail' и:
> top | grep enlightenment
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14232 sda 20 0 24904 8988 6172 S 0.3 0.6 2:38.11 enlightenment
В иксах крутились два urxvt, в одном - screen c 5-ю терминалами, mutt, тот же gnome-settings-daemon. То есть последнее значение ни коим образом пределом не является. Если же задаться целью и для слабых машин сделать тему оформления сугубо на color_classes (привлекая текстуры по-минимому) или вообще без единого включения графических файлов, отдав всю отрисовку движку E (а он сам рисовать умеет будь здоров, в rgba) - думаю, потребление ресурсов можно снизить ещё. В разы. Все тесты специально проводил на 23Oz. - это одна из самых "тяжёлых" тем в плане графических наворотов на сегодня.
Желаете полный сравнительный анализ? Не вопрос. Сообщение от "Sunday, 29 May 2005". Исходники для тестов - там же, методика описана вкратце.
4. E16
А что же у нас со "старшим братом"? E-16.8.13-0.02, тема оформления 23Oz.:
> top | grep e16
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
25180 sda 20 0 14460 5752 3500 S 0.3 0.4 0:01.37 e16
E-16.8.13-0.02, тема оформления DarkOne:
> top | grep e16
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
25180 sda 20 0 13156 4616 2976 S 0.3 0.3 0:02.06 e16
С версии E-16.6 разработка - за Kim Woelders. Постоянная оптимизация кода, добавление новых опций, великолепные возможности по созданию/модификации интерфейса - Старая Школа во всей красе. Таким образом для многих машин 16-ый подойдёт как нельзя лучше. Но, если создать облегчённый вариант оформления 17-му, то... Нельзя забывать, что 17-ый уже не просто WM. Он принёс EFL (Enlightenment Foundation Libraries) и , как E16-ый до него, шагнул в Terra Incognita.
четверг, 25 октября 2007 г.
Заметки (перенесено с rootshell.be)
Поскольку любимый мной rootshell.be закрыли/перенесли с потерей учётной записи - потихоньку буду выкладывать здесь наиболее интересный материал...
Пару слов об этом замечательном 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 не раскрыта совершенно. Полагаю, что это - лучший 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.
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.
четверг, 20 сентября 2007 г.
Enlightenment - путь к просветлению! (выбираем лучшее)
жил-был twm, и задрал он всех преизрядно, посему появился fvwm, который принёс с собой кучу мегарулёзных фишек, но своими конфигами тоже задрал всех. потом (от жуткой усталости по допилу ентого fvwm-а) настоящий мужик (true man) Carsten Haitzler (aka The Rasterman) переписал этот фы-вы в нормальный WM - Enlightenment - и показал убогим и заблудшим путь к просветлению. но, поелику муж сей щедро одарён как талантами, так и ленью, то к DR-14 (development release), код "Ешки" превратилсо в помойку - и был переписан заново с нуля. в 2000-ом вышел DR-16 (он же Enlightenment E16), который по сей день (вот уже на протяжении 7-ми лет, товарищи!) является лучшим WM-ом! (бурные овации зала) DR-17 пишется также с нуля, бо замахнулся товарищ Rasterman нипадецки...
мораль:
1. идём http://sourceforge.net/project/showfiles.php?group_id=2 и качаем версию 0.16.8.9 (компилируется всё минут за 5-10)
2. вкуриваем по пунктам:
а) ~/.e16/bindings.cfg
б) опции управления с eesh (что понравилось - пихаем в ~/.e16/bindings.cfg)
в) http://themes.freshmeat.net/browse/60/ - выбираем чего душа просит из 165 доступных тем оформления, помимо 4-ёх стандартных (берём и вбиваем пинками поддержку рiдноi мовы)
г) http://etherdoxproject.com/ - для создания собственных тем оформления
всё элементарно просто, вкусно и очень круто. вечера за три-четыре вполне можно управиться.
P.S. все более-менее нормальные темы оформления fvwm-а на сегодня слизаны с элементов тем Enlightenment-а... так почему бы не выбрать лучшее???
мораль:
1. идём http://sourceforge.net/project/showfiles.php?group_id=2 и качаем версию 0.16.8.9 (компилируется всё минут за 5-10)
2. вкуриваем по пунктам:
а) ~/.e16/bindings.cfg
б) опции управления с eesh (что понравилось - пихаем в ~/.e16/bindings.cfg)
в) http://themes.freshmeat.net/browse/60/ - выбираем чего душа просит из 165 доступных тем оформления, помимо 4-ёх стандартных (берём и вбиваем пинками поддержку рiдноi мовы)
г) http://etherdoxproject.com/ - для создания собственных тем оформления
всё элементарно просто, вкусно и очень круто. вечера за три-четыре вполне можно управиться.
P.S. все более-менее нормальные темы оформления fvwm-а на сегодня слизаны с элементов тем Enlightenment-а... так почему бы не выбрать лучшее???
понедельник, 10 сентября 2007 г.
Enlightenment - out from the crowd
тема WM/DE всегда вызывает нездоровый ажиотаж. порой кажется, что приверженцы того или иного WM-а или DE готовы вылить друг на друга ушат помоев, превратив любую дискуссию в безобразную перепалку, лишённую и намёка на смысл. при этом вопросы удобства, функциональности и т.п. становятся совершенно излишними. холивар! бей <вписать_требуемое> спасай россию! благо обилие wm-ов к тому располагает. на мой совершенно неискушённый взгляд есть некий треугольник во всём этом безобразии, нет, более уместно будет говорить не о трио, но о 2-х полюсах: MAC OS и голая консоль терминала (из желания подчеркнуть, что известная компания из Рэдмонда таки скоммуниздила основы дизайна экскьюз май бэд фрэнч). и несётся из углов: "мышой возюкать", "клаву топтать", "юзабилити", "дружественность", "<сами_впишите_что_считаете_нужным>". касаясь личных предпочтений - интерфейс Mac OS X мне ближе командной строки, поскольку он (imho) более ориентирован на выполнение какой-либо работы (пример: выделяем текст в любом окне, идём в сервисы и видим, что мы с этим текстом можем сразу сделать - проверить орфографию, послать по почте и т.п. - интеграция системы и приложений великолепнейшая. вся организация меню строится на действиях, приложениях, а не на бессмысленной кнопке "Пуск" и последующем блуждании в дебрях чужого "разума", состояние психического здоровья которого оставляет желать лучшего).
среди всего этого хаоса Enlightenment выделялся всегда. полностью согласен с утверждением, что это - единственный WM, позволяющий контролировать любой аспект своей деятельности и дающий пользователю делать именно то, что он хочет (а не то, что иной WM считает правильным в той или иной ситуации). сейчас в стадии активной разработки находится DR17 (E17, Enlightenment DR17), стабильным же считается DR16 (E16, Enlightenment DR16). во многом они похожи, чего не скажешь по внешнему виду. Е17 принёс с собой класс библиотек EFL - Enlightenment Foundation Libraries, в то время как основой прежних релизов Е выступала лишь imlib, переросшая впоследствии в imlib2 (намеренно упускаю fnlib, поскольку ныне неактуальна, а слухи о появлении собственной "шрифтовой" библиотеки для Е17-го изрядно поднадоели).
если вести разговор с точки зрения поддержки EWMH, NetWM или прочих стандартов, то достаточно ознакомиться с файлом COMPLIANCE в корневом каталоге с исходниками Е16-го. можно при желании запустить в консоли eesh и управлять WM-ом посредством командной строки (для Е17-го где-то то же самое проделывается при помощи команды enlightenment_remote). одной из лучших характеристик Е является следующая: "Если Вы в состоянии создать картинку - Вы можете заставить Е выглядеть точно также" (Rob Malda). ни в коей мере не хочу принижать достоинства прочих, имя которым - легион: ion, wmii, dwm, twm, fvvm, windowmaker, icewm, cde и т.д.. долгое время пользовал windowmaker пока не захотелось чего-то совершенно особенного. не могу назвать выбор Е объективным - пришло ощущение, что это - моё. так оно и началось. заинтересовался Е17-м - появился сайт:
http://rootshell.be/~sda00/
где в довольно сумбурной форме нарисованы заметки об этом WM-е:
http://rootshell.be/~sda00/notes.html
позвольте же в заключение выложить довольно неуклюжий конфиг Е16-го (файл ~/.e16/bindings.cfg). он мало чем отличается от дефолта:
Alt+Esc - запуск exige (простая командная строка Е17-го)
Ctl+Esc - запуск urxvt
Ctl+F1 - показ всех запущенных приложений на всех столах с возможностью выбора нужного
Ctl+F2 - выключение пэйджера (он у меня самого большого размера, удобно окна таскать сразу по пейджеру, чем париться с переключениями)
Ctl+F3 - включение пэйджера
Shift+F8 - максимизация приложения на весь экран с "бордюрами"
Shift+F9 - минимизация/сворачивание приложения
Shift+F10 - максимизация приложения на весь экран без "бордюров" оформления темы
Shift+F11 - отображение приложения без "бордюров"
Shift+F12 - отображение приложения c "бордюром" по умолчанию (как правило количество типов "бордюров" зависит от темы и ограничено лишь фантазией создателя оной. любой из доступных "бордюров" может стать дефолтным для выбранного приложения)
выключена реакция Е на щелчки левой кнопкой мыши (вместе со всеми возможными "модификаторами") по рабочему столу.
$ cat ~/.e16/bindings.cfg
Aclass BUTTONBINDINGS normal
MouseDown A 1 wop * mo ptr
MouseDown SA 1 wop = mo ptr
MouseDouble A 1 wop * shade
MouseDown A 2 wop * sz ptr
MouseDouble A 2 wop * th available
MouseDown A 3 menus show WINOPS_MENU
Aclass DESKBINDINGS normal
Tooltip Clicking your mouse on the desktop will perform
Tooltip the following actions
Tooltip Display User Menus
Tooltip Display Enlightenment Menu
Tooltip Display Settings Menu
MouseDown - 2 menus show ROOT_2
Tooltip Display Enlightenment Menu
MouseDown A 2 menus show windowlist
Tooltip Display Task List Menu
MouseDown C 2 menus show deskmenu
Tooltip Display Desktop Menu
MouseDown S 2 menus show groupmenu
Tooltip Display Group Menu
MouseDown - 3 menus show CONFIG_SUBMENU
Tooltip Display Settings Menu
MouseDown * 4 desk prev
Tooltip Go Back a Desktop
MouseDown * 5 desk next
Tooltip Go Forward a Desktop
Aclass KEYBINDINGS global
KeyDown A F1 desk goto 0
KeyDown A F2 desk goto 1
KeyDown A F3 desk goto 2
KeyDown A F4 desk goto 3
KeyDown A F5 desk goto 4
KeyDown A F6 desk goto 5
KeyDown A F7 desk goto 6
KeyDown A F8 desk goto 7
KeyDown A Tab focus next
KeyDown SA Down area move 0 1
KeyDown SA Up area move 0 -1
KeyDown SA Left area move -1 0
KeyDown SA Right area move 1 0
KeyDown CA Delete exit logout
KeyDown CA End exit restart
KeyDown CA Right desk next
KeyDown CA Left desk prev
KeyDown CA Return desk this
KeyDown CA Up wop * raise
KeyDown CA Down wop * lower
KeyDown CA x wop * close
KeyDown CA k wop * kill
KeyDown CA s wop * stick
KeyDown CA i wop * iconify
KeyDown CA r wop * shade
KeyDown CA f wop * fullscreen
KeyDown CA m wop * ts conservative
KeyDown CA w menus show WINOPS_MENU
KeyDown CA a button_show all
KeyDown CA b button_show
KeyDown CA c button_show buttons CONFIG*
KeyDown CA d desk dragbar dir
KeyDown CA o desk dragbar order
KeyDown CS F1 menus show APPS_SUBMENU
KeyDown CS F2 menus show ROOT_2
KeyDown CS F3 menus show CONFIG_SUBMENU
KeyDown CS F4 menus show windowlist
KeyDown S F9 wop * iconify
KeyDown S F10 wop * fullscreen
KeyDown S F11 wop * border BORDERLESS
KeyDown S F12 wop * border DEFAULT
KeyDown C F1 menus show windowlist
KeyDown A Escape exec exige
KeyDown C F2 exec /opt/e16/bin/eesh "pager off"
KeyDown C F3 exec /opt/e16/bin/eesh "pager on"
KeyDown S F8 wop * ts
KeyDown C Escape exec urxvt
для создания своего уникального меню пользователя ознакомьтесь с файлом ~/.e16/menus/file.menu (его можно редактировать с помощью e16menuedit2).
Е16-ый вместе со всеми доступными epplets (эпплетами), инструментами для конфигурирования, библиотеками и т.п. занимает порядка 20мб. работает молниеносно, прекрасно поддерживает композит, прозрачность, Alt+правая кнопка мыши на любом запущенном приложении (по умолчанию) даст такое количество опций, о которых "вы всегда мечтали, но боялись спросить".
контроль, гибкость, свобода... ARE YOU ENLIGHTENED ???
Подписаться на:
Сообщения (Atom)