[devel] menu development process :)

Yuri N. Sedunov =?iso-8859-1?q?aris_=CE=C1_altlinux=2Eru?=
Пн Ноя 15 18:28:09 MSK 2004


zerg: Теперь по-умолчанию update-desktop-database смотрит не 
в /usr/share/applications а в /usr/share/applications-alt
aris: mimeinfo.cache остался на месте?
zerg: Нет
aris: Ну и какого <нецензурно>?
zerg: А какого <нецензурно> ему быть в /usr/share/applications ?
15:25 
aris: Его там собсвенно гном ожидает видеть.
zerg: Он должен ожидать его в зависимости от системных настроек.
Либо в /usr/share/applications либо в /usr/share/applications-alt

aris: Иди <нецензурно>, твоему меню не нужен mimeinfo.cache, оставь его на 
месте.
zerg: Если от пользователя, то ~/.local/share/applications-alt или 
~/.local/share/applications
zerg: Сейчас он будет как раз на месте.
aris: Повторяю: Иди <нецензурно>, твоему меню не нужен mimeinfo.cache, оставь 
его на месте.
15:31 
zerg: Можешь сам сходить в свою. Он на месте. Если твой гном его не найдет - 
значит он не правильно работает.
zerg: Я пока не отправляю в Сизиф, еще потестирую.
aris: Пошел <нецензурно>. Городи свои настройки поверх. Читай  
http://freedesktop.org/Standards/menu-spec/menu-spec-0.8.html
zerg: Ты че <нецензурно> чтоли? Я не нарушаю стандарт. У нас он переключаемый. 
Не знал, что ли?
Со времен MDK RE.
aris: $XDG_DATA_DIRS/applications/


aris: Это все. Пошел <нецензурно>.
15:37 
zerg: Можешь идти. Когда придешь, заходи, поговорим.
aris: Ты не допираешь. /var/cache/applcations -- подойдет.
aris: Пошел <нецензурно> со своим applications-alt/
zerg: Блин! Ты сам не понимаешь!
У нас меню переключаемое!
По-умолчанию стандартное отключено и включено наше.
Теперь понятно?
aris: Перемести в /var/cache/applcations
aris: Повторяю: $XDG_DATA_DIRS/applications/
aris: $ echo $XDG_DATA_DIRS
/usr/share:/var/cache
aris: И пошел <нецензурно>. Думай лучше.
15:47 
aris: Дошло?
zerg: Есть 2 каталога /usr/share/applications и /usr/share/applications-alt
Что ты предлагаешь с ними делать?
15:53 
zerg: Могу mimeinfo.cache ложить в /var/cache/applications и 
в /var/cache/applications-alt
По-умолчанию в /var/cache/applications-alt
aris: /usr/share/applications -- разумеется оставить на метсе. 
А /usr/share/applications-alt переместить в /var/cache/applications.
zerg: Нельзя, патчить затрахаешься.
Сменить /usr/share/ на /var/cache/ - гемморой, т.к. /usr берется из одного 
метса, а /share - совсем из другого
aris: Что затрахаешься патчить? Повторяю: $XDG_DATA_DIRS/applications/
aris: $XDG_DATA_DIRS
aris: /usr /share -- это <нецензурно>.
zerg: И откуда он возьмется, этот $XDG_DATA_DIRS ?

aris: Из стандарта -- во-первых. Во вторых --  у нас выставляет эту переменную 
пакет shared-mime-info
zerg: Ну, хотя, это уже проще.
Получается
/usr/share/applications
и
/var/cache/applications-alt
По умолчанию
/var/cache/applications-alt

15:58 
aris: -alt <нецензурно>.
aris: Просто не надо.
aris: Лишнее
zerg: Ты знаешь, я догадывался.
Теперь не будет лишнее и для тебя тоже.
aris: Конкретнее.
aris: /var/cache/applications без -alt. 
zerg: В общем тогда
Файлы .desktop лежат в
/usr/share/applications и /var/cache/applications-alt
mimeinfo.cache генериться в
/var/cache/applications/mimeinfo.cache и 
в /var/cache/applications-alt/mimeinfo.cache
Так понятно?
zerg: По-умолчанию в /var/cache/applications-alt/mimeinfo.cache

aris: Ты прикидываешься. Повторяю не надо в названии 
каталога /var/cache/applications-alt этого -alt
aris: Этот суффикс лишняя сущность. Понятно.
16:03 
aris: ?
zerg: У нас эта сущность - наше меню
aris: Да по барабану, без этого суффикса суть не измениться
16:19 
zerg: Измениться, это 2 разнух каталога с разными данными, переключающиеся.
aris: Ё. Какие два разных? Сейчас есть /usr/share/applications 
и /usr/share/applications-alt. Будет /usr/share/applications 
и /var/cache/applications.
aris: Перемести содержимое /usr/share/applications-alt 
в /var/cache/applications.
zerg: Есть
/etc/xdg/menus и /etc/xdg/menus-alt
/usr/share/applications и /usr/share/applications-alt
/usr/share/desktop-directories и /usr/share/desktop-directories-alt

16:26 
zerg: Дело в том, что если переключать это переменными окружения, то 
пользователю не только перезапускать программу нужно будет, а еще и 
перелогиниваться.
aris: Не понял, чтоб меню перегенерить -- надо перелогиниваться?
aris: Вот это тоже не дело: $ rpm -qf /usr/share/desktop-directories
kde-common-3.3.0-alt1
aris: Кстати.
16:32 
aris: Впрочем, как и это.
aris: $ rpm -qf /usr/share/applications
kde-common-3.3.0-alt1
gnome-desktop-2.8.1-alt1
zerg: Это убрать не долго в menu-common
aris: Нет это все в filesystem
zerg: $ rpm -qf /usr/share/icons/hicolor/
enigma-0.81-alt2
gnome-icon-theme-2.8.0-alt1
knowit-0.10-alt3
ksocrat-3.2.1-alt1
icon-theme-hicolor-0.5-alt1
 А должно быть только
icon-theme-hicolor
zerg: Ну, в общем это не важно, мы отклоняемся
zerg: Нет, чтоб перегенерить меню при помощи menu - не надо перелогиниваться.
А чтоб прочитать сгенерированное в новом месте - надо будет, если это делается 
переменными окружнения
16:38 
zerg: Т.е. переменными переключать - это для пользователя.
zerg: Точнее для ручного переключения самим пользователем, настаивая эти 
переменные
zerg: А так как переменными не получается, то у меня возникает проблема.
Там, где мне нужно сменить каталог на нужный в KDE я не могу заменить /usr 
на /var
aris: Надо искать другие переключатели. Читать стандарты.
aris: Короче, ни <нецензурно> не надо спешить.
zerg: На стандарт можно переключиться. По-умолчанию у нас  не стандарт, а наша 
структура меню.
zerg: Я уже который год не спешу.
aris: Наше меню должно быть построено поверх стандартов.
aris: Это не так?
16:43 
zerg: Вот оно так и построено. Стандарт не допускает 2-х вариантов себя.
aris: Получается оно не поверх, а сбоку.
zerg: Оно не может быть не сбоку. Иначе будет испорчена стандартная структура 
меню.
aris: Альтернативы не помогут?
zerg: Нет. Я же не могу портить статичные данные в каталогах /etc/xdg/menus 
и /usr/share/applications
Это раз.
А во-вторых это вообще невозможно - сменить каталог на ссылку, когда туда 
много пакетов файлы помещает.

16:48 
zerg: Все уже давно измусолено.
Единственная проблема - чуть-чуть пропатчить Gnome. И все.
aris: Опять за свое. Гном придерживается стандартов.
aris: $XDG_DATA_DIRS


zerg: Это ты опять за свое. У нас по-умолчанию не стандартное меню, а наше.
Переменные идут лесом.
16:54 
zerg: Причем здесь XDG_DATA_DIRS ?
Я /usr/share не меняю.
zerg: Смотреть сразу в два меню никто не должен.
У нас что, оно в перемешку будет стандартное с нашим?
aris: Думай, читай стандарты. Гном придерживается стандартов. Откручивать их 
от gnome-vfs из-за меню -- бред.
zerg: Переключаешь - пользуешься стандартами.
Не переключаешь - пользуешься нашим меню.
И это не бред, а наш стандарт.
aris: Вот и оставь Гному возможность пользоваться стандартом, стандартными 
desktop-file-utils.
17:02 
zerg: В общем более-менее реальный вариант -
1. По-умолчанию:
   файлы .desktop лежат в
    /var/cache/applications-alt
   mimeinfo.cache генериться в
   /var/cache/applications-alt/mimeinfo.cache
2. При отключении нашего меню
   файлы .desktop лежат в
   /usr/share/applications
   mimeinfo.cache генериться в
   /var/cache/applications/mimeinfo.cache
Если получиться - так и сделаю
zerg: Переключаешь меню на стандартное и пользуешься только стандартным меню.
aris: Давай, посмотрим.
aris: Нет, я никогда не переключался.
zerg: Это твоя личная проблема  
aris: У меня два меню всегда, 
zerg: А надо - одно.
aris: Возможно.
zerg: Тебе немного совсем пропатчить нужно будет плагин для gnome-vfs, который 
для меню,
чтоб в нужный каталог глядел.
Это по моей схеме гораздо просто программировать.

aris: Потом посмотрим.
17:07 
zerg: Потом уже настало. Разве ты еще не догадался?  
zerg: Но можно отложить, т.к. это не горит пока.
aris: Ну ты сломай, я посмотрю, и скажу, где надо чинить. Это будет не 
гном-вфс.
zerg: Я не знаю.
Чинить нужно будет те места, из которых беруться слова "desktop-directories", 
"applications" и "menus"

zerg: Кстати, у тебя есть редактор меню в Gnome?
aris: Эти слова везде есть. $XDG_DATA_DIRS/applications/ и 
$XDG_DATA_DIRS/desktop-directories/
zerg: Не могут быть везде.
Если действительно везде - то это кривота.
aris: Встроенный редактор меню имеется.
17:14 
aris: Какая кривота? Читай стандарты.
zerg: Хорошо, если будет генерить файл applications-menueditor.menu
Рано или поздно я наше Gnome-овское и наше KDE-шное меню солью в  один 
menu-nethod
и оно будет генериться в одно место.
aris: Это потом.
zerg: Да запарил ты со стандартами. По нашему стандарту у нас - нестандартное 
меню.

aris: Ну и <нецензурно>.
zerg: А стандартное - опционально.
zerg: Так я к этому и веду, а ты гоаоришь "потом". Потом будет поздно.
aris: Никто по твое нестандартное меню патчить основные библиотеки заточенные 
под стандарты не будет. Надеюсь, это понятно.
aris: Делай, делай. 
zerg: Какие библиотеки?
aris: gnome-vfs
zerg: Это твоя библиотека, а не основная. Ты и будеть патчить.
aris: Короче, делай. Проблемы тебе ясны. Это проблемы твоей реализации меню.
17:20 
zerg: Моя реализация - самая простая.
Есть еще вариант
Убираем все стандартное меню и все будет генериться 1-м menu-методом 
в /usr/share/applications
aris: Давай.
zerg: А вот фигу! Это и будет нарушение стандарта.
17:28 
aris: Твое меню, должно делать только две вещи -- предоставлять структуру 
(файлы .directory) и недостающие десктоп файлы, и это файлы должны быть 
расположены в соответствии стандарту.
zerg: Ты сам читал стандарт? Расположением он не ограничивается.
 zerg отключился - 17:30 
aris: $XDG_DATA_DIRS/applications/
aris: $XDG_DATA_DIRS/desktop-directories/


17:38 
aris: Ну и?

-- 
Yuri N. Sedunov
11/15/04 18:22:07



Подробная информация о списке рассылки Devel