On Sun, Mar 31, 2002 at 01:03:22AM +0100, Klaus Knopper wrote: > On Sat, Mar 30, 2002 at 10:16:17PM +0100, Michael Bramer wrote: > > Wir hatten in Chemnitz kurz über die Menues von der Knoppix gesprochen. > > Du wolltest da was geändert haben und dir fehlte da wohl nur das 'wie'. > > Genau. Ich möchte, dass die "Debian"-Menüs verschwinden, und die Sachen > darin einfach in die "normalen" Untermenüs einsortiert werden. Möglichst > so, dass es kompatibel mit update-menus bleibt (nicht dass mir dann > update-menus alle anderen Einsträge löscht!). ok, das ist im Grunde kein Problem. Zuerst vielleicht mal was im Hintergrund passiert: bei update-menu, wird ein 'Debian' KDE-Menu-Baum unter /var/lib/kde/menu angelegt und dann später kde-update-menu aufgerufen. Dieses Script erzeugt dann Links von /usr/share/applnk/*/Debian nach /var/lib/kde/menu/* Ich habe dieses Script leicht abgeändert und nun sind keine Debian-Menues mehr vorhanden.... Leider sind nun aber einige Einträge doppelt vorhanden, was IMHO sehr unschön ist... (Leider benutzen die KDE-Packages nicht die selben Datei-Namen und man kann das nicht einfach überprüfen und abfangen... Oder hat einer eine andere Idee?) > > Kannst du hier vielleicht nochmals deinen Wunsch schreiben. Vielleicht > > kann ich dir dann die Lösung zusenden? > > Das wäre prima! Schau es dir einfach mal an und probier es mal aus. Wenn es dir nur um einige 'wichtige' Menueinträge geht, würde ich diese einfach einzeln per Link nach usr/share/applnk/* 'verschieben'. Wenn du kde-update-menu ändern möchtest: benutz dpkg-divert oder lege es wo anders ab und rufe dein Script in /etc/menu-methodes/kdebase auf. Damit bleibt dann deine Änderung nach einen Upgrade auch erhalten. Gruss Grisu -- Michael Bramer - a Debian Linux Developer http://www.debsupport.de PGP: finger grisu@db.debian.org -- Linux Sysadmin -- Use Debian Linux »Es ist offensichtlich, daß wir keine guten Produkte machen können, wenn wir die Technologie von Microsoft einsetzen. Die einzige Alternative zu Windows heißt Linux« Michael Cowpland (Corel)
#!/bin/sh
#
# Script to properly update menu icons for KDE menu
#
#
#
PREFIX=$1
if [ $PREFIX = "/var/lib/kde/menu" ]; then
rm -f `find /usr/share/applnk -type l -name "Debian"`
else
exit 0
fi
set -e
OLDPREFIX=/usr/share/applnk
NEWPREFIX=/usr/share/applnk
# Old Method:
# Old method of menus was to have all the Debian menus under
# a single "Debian" submenu off the KDE menu. The newer style
# attempts to place the individual Debian submenus under the proper
# KDE submenus. Set this option to 1 to use the old style menus.
#
OLDMETHOD=0
if [ $OLDMETHOD = "1" ]; then
ln -sf $PREFIX /usr/share/applnk/Debian
exit 0
fi
# without Debian Sub-Dirs
# If 1, don't make Debian-Subdirs....
WITHOUTDEBIANSUBDIRS=1
make_debian_links () {
if [ $WITHOUTDEBIANSUBDIRS = "0" ]; then
ln -sf $1 $2/Debian
else
#echo "$1" "$2" 1>&2
ls $1 |while read a
do
if [ -d "$1/$a" -a -d "$2/$a" ]; then
#echo "$1/$a" 1>&2
make_debian_links "$1/$a" "$2/$a"
else
ln -sf "$1/$a" "$2/$a"
fi
done
fi
}
applnk_list="Editors Multimedia System Games Office Development Graphics Internet Settings Utilities"
# clean out old links just in case
#rm -f `find $OLDPREFIX/ -type l`
find $NEWPREFIX/ -type l|while read a
do
rm -f "$a"
done
for i in `echo $applnk_list`; do \
/usr/bin/install -d $NEWPREFIX/$i ;\
done
if [ -e $PREFIX/Games ]; then
cp /etc/kde2/desktop/d-debian.desktop $PREFIX/Games/.directory
rm -f $NEWPREFIX/Games/Debian
make_debian_links $PREFIX/Games $NEWPREFIX/Games
else
rm -f $NEWPREFIX/Games
fi
if [ -e $PREFIX/Apps ]; then
cp /etc/kde2/desktop/d-debian.desktop $PREFIX/Apps/.directory
rm -f $NEWPREFIX/Applications/Debian
ln -sf $PREFIX/Apps $NEWPREFIX/Applications
else
rm -f $NEWPREFIX/Applications/Debian
fi
if [ -e $PREFIX/Help ]; then
cp /etc/kde2/desktop/d-help.desktop $PREFIX/Help/.directory
rm -f $NEWPREFIX/System/Debian-Help
ln -sf $PREFIX/Help $NEWPREFIX/System/Debian-Help
else
rm -f $NEWPREFIX/System/Debian-Help
fi
if [ -e $PREFIX/Screen ]; then
cp /etc/kde2/desktop/d-screen.desktop $PREFIX/Screen/.directory
rm -f $NEWPREFIX/System/Debian-Screen
ln -sf $PREFIX/Screen $NEWPREFIX/System/Debian-Screen
else
rm -f $NEWPREFIX/System/Debian-Screen
fi
if [ -e $PREFIX/XShells ]; then
cp /etc/kde2/desktop/d-xshells.desktop $PREFIX/XShells/.directory
rm -f $NEWPREFIX/Utilities/Debian-XShells
ln -sf $PREFIX/XShells $NEWPREFIX/Utilities/Debian-XShells
else
rm -f $NEWPREFIX/Utilities/Debian-XShells
fi
if [ -e $PREFIX/WindowManagers ]; then
cp /etc/kde2/desktop/d-window-managers.desktop $PREFIX/WindowManagers/.directory
rm -f $NEWPREFIX/System/Debian-WM
ln -sf $PREFIX/WindowManagers $NEWPREFIX/System/Debian-WM
else
rm -f $NEWPREFIX/System/Debian-WM
fi
if [ -e $PREFIX/Apps/Databases ]; then
mv $PREFIX/Apps/Databases $PREFIX/Databases
cp /etc/kde2/desktop/d-databases.desktop $PREFIX/Databases/.directory
rm -f $NEWPREFIX/Office/DEBIAN
make_debian_links $PREFIX/Databases $NEWPREFIX/Office
else
rm -f $NEWPREFIX/Office/Debian
fi
if [ -e $PREFIX/Apps/Editors ]; then
mv $PREFIX/Apps/Editors $PREFIX/Editors
cp /etc/kde2/desktop/d-debian.desktop $PREFIX/Editors/.directory
rm -f $NEWPREFIX/Editors/Debian
make_debian_links $PREFIX/Editors $NEWPREFIX/Editors
else
rm -f $NEWPREFIX/Editors/Debian
fi
if [ -e $PREFIX/Apps/Graphics ]; then
mv $PREFIX/Apps/Graphics $PREFIX/Graphics
cp /etc/kde2/desktop/d-debian.desktop $PREFIX/Graphics/.directory
rm -f $NEWPREFIX/Graphics/Debian
make_debian_links $PREFIX/Graphics $NEWPREFIX/Graphics
else
rm -f $NEWPREFIX/Graphics/Debian
fi
if [ -e $PREFIX/Apps/Math ]; then
mv $PREFIX/Apps/Math $PREFIX/Math
cp /etc/kde2/desktop/d-math.desktop $PREFIX/Math/.directory
rm -f $NEWPREFIX/Utilities/Debian-Math
ln -sf $PREFIX/Math $NEWPREFIX/Utilities/Debian-Math
else
rm -f $NEWPREFIX/Utilities/Debian-Math
fi
if [ -e $PREFIX/Apps/Net ]; then
mv $PREFIX/Apps/Net $PREFIX/Net
cp /etc/kde2/desktop/d-debian.desktop $PREFIX/Net/.directory
rm -f $NEWPREFIX/Internet/Debian
make_debian_links $PREFIX/Net $NEWPREFIX/Internet
else
rm -f $NEWPREFIX/Internet/Debian
fi
if [ -e $PREFIX/Apps/Programming ]; then
mv $PREFIX/Apps/Programming $PREFIX/Programming
cp /etc/kde2/desktop/d-debian.desktop $PREFIX/Programming/.directory
rm -f $NEWPREFIX/Development/Debian
make_debian_links $PREFIX/Programming $NEWPREFIX/Development
else
rm -f $NEWPREFIX/Development/Debian
fi
if [ -e $PREFIX/Apps/Shells ]; then
mv $PREFIX/Apps/Shells $PREFIX/Shells
cp /etc/kde2/desktop/d-shells.desktop $PREFIX/Shells/.directory
rm -f $NEWPREFIX/Utilities/Debian-Shells
ln -sf $PREFIX/Shells $NEWPREFIX/Utilities/Debian-Shells
else
rm -f $NEWPREFIX/Utilities/Debian-Shells
fi
if [ -e $PREFIX/Apps/Sound ]; then
mv $PREFIX/Apps/Sound $PREFIX/Sound
cp /etc/kde2/desktop/d-debian.desktop $PREFIX/Sound/.directory
rm -f $NEWPREFIX/Multimedia/Debian
make_debian_links $PREFIX/Sound $NEWPREFIX/Multimedia
else
rm -f $NEWPREFIX/Multimedia/Debian
fi
if [ -e $PREFIX/Apps/System ]; then
mv $PREFIX/Apps/System $PREFIX/System
cp /etc/kde2/desktop/d-debian.desktop $PREFIX/System/.directory
rm -f $NEWPREFIX/System/Debian
make_debian_links $PREFIX/System $NEWPREFIX/System
else
rm -f $NEWPREFIX/System/Debian
fi
if [ -e $PREFIX/Apps/Text ]; then
cp /etc/kde2/desktop/d-text.desktop $PREFIX/Apps/Text/.directory
rm -f $NEWPREFIX/Utilities/Debian
make_debian_links $PREFIX/Apps/Tools $NEWPREFIX/Utilities
else
rm -f $NEWPREFIX/Utilities/Debian
fi
if [ -e $PREFIX/Apps/Tools ]; then
mv $PREFIX/Apps/Tools $PREFIX/Tools
cp /etc/kde2/desktop/d-debian.desktop $PREFIX/Tools/.directory
rm -f $NEWPREFIX/Utilities/Debian
make_debian_links $PREFIX/Tools $NEWPREFIX/Utilities
else
rm -f $NEWPREFIX/Utilities/Debian
fi
if [ -e $PREFIX/Apps/Viewers ]; then
mv $PREFIX/Apps/Viewers $PREFIX/Viewers
cp /etc/kde2/desktop/d-viewers.desktop $PREFIX/Viewers/.directory
rm -f $NEWPREFIX/Utilities/Debian-Viewers
ln -sf $PREFIX/Viewers $NEWPREFIX/Graphics/Debian-Viewers
else
rm -f $NEWPREFIX/Utilities/Debian-Viewers
fi
if [ -e $PREFIX/Apps/Emulators ]; then
mv $PREFIX/Apps/Emulators $PREFIX/Emulators
cp /etc/kde2/desktop/d-emulators.desktop $PREFIX/Emulators/.directory
rm -f $NEWPREFIX/Utilities/Debian-Emulators
ln -sf $PREFIX/Emulators $NEWPREFIX/Utilities/Debian-Emulators
else
rm -f $NEWPREFIX/Utilities/Debian-Emulators
fi
if [ -e $PREFIX/Apps/Hamradio ]; then
mv $PREFIX/Apps/Hamradio $PREFIX/Hamradio
cp /etc/kde2/desktop/d-hamradio.desktop $PREFIX/Hamradio/.directory
rm -f $NEWPREFIX/Utilities/Debian-Hamradio
ln -sf $PREFIX/Hamradio $NEWPREFIX/Utilities/Debian-Hamradio
else
rm -f $NEWPREFIX/Utilities/Debian-Hamradio
fi
if [ -e $PREFIX/Apps/Technical ]; then
mv $PREFIX/Apps/Technical $PREFIX/Technical
cp /etc/kde2/desktop/d-technical.desktop $PREFIX/Technical/.directory
rm -f $NEWPREFIX/Utilities/Debian-Technical
ln -sf $PREFIX/Technical $NEWPREFIX/Utilities/Debian-Technical
else
rm -f $NEWPREFIX/Utilities/Debian-Technical
fi
### Screen submenus ###
if [ -e $PREFIX/Screen/Lock ]; then
cp /etc/kde2/desktop/d-lock.desktop $PREFIX/Screen/Lock/.directory
fi
if [ -e $PREFIX/Screen/Save ]; then
cp /etc/kde2/desktop/d-save.desktop $PREFIX/Screen/Save/.directory
fi
if [ -e $PREFIX/Screen/Root-window ]; then
cp /etc/kde2/desktop/d-root-window.desktop $PREFIX/Screen/Root-window/.directory
fi
### WindowManagers submenus ###
if [ -e $PREFIX/WindowManagers/Modules ]; then
cp /etc/kde2/desktop/d-modules.desktop $PREFIX/WindowManagers/Modules/.directory
fi
### Games submenus ###
if [ -e $PREFIX/Games/Adventure ]; then
cp /etc/kde2/desktop/d-adventure.desktop $PREFIX/Games/Adventure/.directory
fi
if [ -e $PREFIX/Games/Arcade ]; then
cp /etc/kde2/desktop/d-arcade.desktop $PREFIX/Games/Arcade/.directory
fi
if [ -e $PREFIX/Games/Board ]; then
cp /etc/kde2/desktop/d-board.desktop $PREFIX/Games/Board/.directory
fi
if [ -e $PREFIX/Games/Card ]; then
cp /etc/kde2/desktop/d-card.desktop $PREFIX/Games/Card/.directory
fi
if [ -e $PREFIX/Games/Puzzles ]; then
cp /etc/kde2/desktop/d-puzzles.desktop $PREFIX/Games/Puzzles/.directory
fi
if [ -e $PREFIX/Games/Sports ]; then
cp /etc/kde2/desktop/d-sports.desktop $PREFIX/Games/Sports/.directory
fi
if [ -e $PREFIX/Games/Strategy ]; then
cp /etc/kde2/desktop/d-strategy.desktop $PREFIX/Games/Strategy/.directory
fi
if [ -e $PREFIX/Games/Tetris-like ]; then
cp /etc/kde2/desktop/d-tetris-like.desktop $PREFIX/Games/Tetris-like/.directory
fi
if [ -e $PREFIX/Games/Toys ]; then
cp /etc/kde2/desktop/d-toys.desktop $PREFIX/Games/Toys/.directory
fi
exit 0
Attachment:
pgprxmHqcoRR8.pgp
Description: PGP signature