Posted: Sat 16 Jan 2010, 19:01
Screenie of karmen wm /w simple menu:
http://murga-linux.com/puppy/viewtopic. ... 504#382504
http://murga-linux.com/puppy/viewtopic. ... 504#382504
thanks, seeing the answer i thought "what a dumb question"dejan555 wrote:i put command in script and place it in rox panel (first icon)
this has bugged me for some time, but finding a solution for the sorting in perl needed time with google...musher0 wrote:A little but noticeable improvement! Thanks!
trying to get there as part of my learning curve...amigo wrote:Aragon, I just want to thank you for using version numbres and for leaving your original versions available! You are a true open-source adherent.
Code: Select all
#!/bin/ash
# can't use entries with " (double quote) in the comment section maybe others - Ayttm is one example
[ -f /var/locatedb ] && echo file database detected, skipping updatedb for finding of icons || updatedb --localpaths=/usr
[ -f /tmp/.pgtkmenu ] && Xdialog --infobox "generating gui" 0 0 10000 & gtkdialog3 -f /tmp/.pgtkmenu -G 300x600 && exit
Xdialog --msgbox "building menu" 0 0
for x in `ls /usr/share/applications/*.desktop`; do
EXE="`grep "^Exec=" $x |cut -d = -f 2`"
CAT="`grep "^Categories=" $x |cut -d = -f 2`"
NAM="`grep "^GenericName=" $x |cut -d = -f 2`"
[ "$NAM" = "" ] && NAM="`grep "^Name=" $x |cut -d = -f 2 |cut -d " " -f 1`"
ICO="`grep "^Icon=" $x |cut -d = -f 2`"
##needs full path to icon - will rework later
COM="`grep "^Comment=" $x |cut -d = -f 2`"
NEW="<hbox tooltip-text=\"$COM\"><button><label>$NAM</label><input file>$ICO</input><action>$EXE &</action></button></hbox>"
case $CAT in
*alculat*|*inance|*heet|ProjectManagement) BUS=$BUS$NEW;;
*eskto*|*creensave*|*ccessib*) DSK=$DSK$NEW;;
*ocumen*|*ordProcessor|*ebDevelo*) DOC=$DOC$NEW;;
*ile*) FIL=$FIL$NEW;;
*Game|*olePla*|*imulation|*musement) FUN=$FUN$NEW;;
*raphics|*hotography|*resent*|*art) GFX=$GFX$NEW;;
*udio*|*ideo*|*layer|*ecorder|*usic|*idi|*ixer|*equencer|*uner|TV|*iskBurning) MED=$MED$NEW;;
Dialup|Network|HamRadio|RemoteAccess) NET=$NET$NEW;;
X-PersonalUtility|X-Personal|Calendar|ContactManagement) PER=$PER$NEW;;
*etup*|PackageManager) SET=$SET$NEW;;
*onitor|*ecurity|*ardware*|*ore|*ystem) SYS=$SYS$NEW;;
Utility|Viewer|Development|Building|Debugger|IDE|Profiling|Translation|GUIDesigner|Archiving|TerminalEmulator|Shell) UTL=$UTL$NEW;;
*nternet|*rowser|*mail|*ews|*essaging|*elephony|*lient|*ransfer|P2P) WEB=$WEB$NEW;;
*) MSC=$MSC$NEW;;
esac
done
DLG="<notebook page=\"0\" tab-pos=\"1\" enable-popup=\"true\" labels=\"Business|Desktop|Document|File|Fun|Graphics|Media|Network|Personal|Setup|System|Utility|Web|Miscellaneous\">
<frame Business>$BUS</frame>
<frame Desktop>$DSK</frame>
<frame Document>$DOC</frame>
<frame File>$FIL</frame>
<frame Fun>$FUN</frame>
<frame Graphics>$GFX</frame>
<frame Media>$MED</frame>
<frame Network>$NET</frame>
<frame Personal>$PER</frame>
<frame Setup>$SET</frame>
<frame System>$SYS</frame>
<frame Utility>$UTL</frame>
<frame Web>$WEB</frame>
<frame Misc>$MSC</frame>
</notebook>"
echo $DLG >/tmp/.pgtkmenu
$0