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