[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [debian-knoppix] menue in der Knoppix...



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


Reply to: