CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
19.07.2019

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Заметки :: Блогометки :: Десктопы

Окружение :: Графические среды :: Enlightenment

О чём стоит помнить при использовании Enlightenment-DR17 (и не только)

http://sda00.blogspot.com/

Настройка меню

Всё идёт в соответствии со спецификациями 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

Other X_Apps X_Apps.directory xfontsel.desktop xdvi.desktop xman.desktop xcalc.desktop xedit.desktop xmag.desktop xclipboard.desktop

Все *.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 меню #

Applications wine-wine wine-wine.directory wine-Programs wine-Programs.directory wine-Programs-EmuZWin wine-Programs-EmuZWin.directory wine-Programs-EmuZWin-Help and Catalog.desktop wine-Programs-EmuZWin-EmuZWin.desktop wine-Programs-EmuZWin-Uninstall EmuZWin.desktop

> 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/

Примерчик конечно ещё тот, но и результат соответствует:

Надеюсь этого хватит с избытком.

Ребята, давайте жить дружно...

/Кот Леопольд/

Все попытки в 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. Тянуть древние технологии в "космос" — занятие, требующее творческого подхода...

Немного об оптимизации

В качестве "точки отсчёта" примем следующую (процессор - 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". Исходники для тестов — там же, методика описана вкратце.

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.





Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds