[devel] Q: xscreensaver и GNOME
Alexey I. Froloff
=?iso-8859-1?q?raorn_=CE=C1_immo=2Eru?=
Вт Мар 1 13:38:59 MSK 2005
Собираю xscreensaver 4.20. jwz без об'яснений причин выкинул
xscreensaver.kss (KDE, но это отдельная тема), я полез это дело
раскапывать и понял, что поддержка GNOME у меня какая-то
кривобокая...
Сначала напишу что у нас есть, потом что хочу с этим сделать.
Выдержка из Makefile:
GNOME_DATADIR = /usr/share
GNOME_CCDIR_1 = $(GNOME_DATADIR)/control-center/Desktop
GNOME_CCDIR_2 = $(GNOME_DATADIR)/control-center/capplets
GNOME_CCDIR_3 = $(GNOME_DATADIR)/control-center-2.0/capplets
GNOME_PANELDIR1 = $(GNOME_DATADIR)/gnome/apps/Settings/Desktop
GNOME_PANELDIR2 = $(GNOME_DATADIR)/applications
GNOME_PANELDIR = $(GNOME_PANELDIR2)
HACK_CONF_DIR = /usr/X11R6/lib/xscreensaver/config
После make install получаются такие .desktop файлы (разноязыковые
каменты поскипаны):
/usr/share/applications/screensaver-properties.desktop, он же
лежит в GNOME_CCDIR_{1,2,3}:
[Desktop Entry]
Encoding=UTF-8
Exec=xscreensaver-demo
Icon=xscreensaver.xpm
Terminal=false
Name=Screensaver
Comment=Change screensaver properties
Type=Application
Categories=Application;Settings;Appearance;AdvancedSettings;
Для нашего GNOME (2.4+) используется GNOME_CCDIR_3, насколько я
понимаю.
Идём дальше, в /usr/bin находится скрипт
screensaver-properties-capplet следующего содержания:
#!/bin/sh
#[...]
# The existence of this script in /usr/bin/ forces Gnome to use the
# xscreensaver-demo program (instead of the lame Gnome code) to launch,
# initialize, and configure xscreensaver. When running in crapplet mode,
# xscreensaver-demo accepts the same arguments that Gnome's capplet does,
# except that "--capplet" must be the first argument.
exec xscreensaver-demo --crapplet "$@"
Насколько я понял по коду, опция --crapplet использовалась для
сторого gnomecc, версии наверно 1.4. config.h.in:
/* Define this if you have Gnome and want to build support for the
xscreensaver control panel in the Gnome Control Center (gnomecc).
(This is needed only with Gtk 1.x.)
*/
#undef HAVE_CRAPPLET
Меню генерится следующим образом:
%__cat <<EOF > %buildroot%_menudir/%name-frontend
?package(%name-frontend): needs=X11 \
section="Configuration/Other" \
title="XScreenSaver" \
longtitle="Configure the setting of the XScreenSaver" \
command="%name-demo"
EOF
%__cat <<EOF > %buildroot%_menudir/%name-gnome
?package(%name-gnome): needs=gnome \
section="Configuration/Gnome" \
title="Screensaver" \
longtitle="Configure the setting of the screensaver" \
icon="xscreensaver.xpm" \
command="%_bindir/screensaver-properties-capplet"
EOF
Ну и наконец состав xscreensaver-gnome:
%files gnome
%_bindir/screensaver-properties-capplet
%_datadir/control-center-2.0/*/*
%_datadir/pixmaps/%name.xpm
%_menudir/%name-gnome
Предложения:
1. Выкинуть screensaver-properties-capplet, помойму им никто не
пользуется.
2. Выкинуть %_menudir/%name-gnome, бо как не нужен
3. %_menudir/%name-frontend генерить при помощи
freedesktop2menu.pl
Что скажут ведущие гномоводы?
--
Regards, Sir Raorn.
-------------------
В Сизиф грядёт новый automake-1.8.2, и, как это принято у autolools'овцев,
несёт с собой новые проблемы: к 181 непересобирающемуся пакету добавляется
ещё 51.
-- ldv in devel@
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20050301/ded898ff/attachment-0001.bin>
Подробная информация о списке рассылки Devel