mikshaw
Group: Members
Posts: 4856
Joined: July 2004 |
|
Posted: Jan. 15 2006,20:15 |
|
Today I built icewm 1.2.23 to run in /opt for a uci package. It seems to be working without trouble so far. The only issue i see at this time is that it has no menu....maybe a fluxbox-to-icewm conversion script could be added.
I refuse to make it plug-and-play (overwriting .xinitrc or any other files), so the user will need to make the standard .xinitrc edits himself, plus changing the .desktop file in dsl2.x. Although it's noticeably slower than fluxbox or jwm, it looks nice...i don't remember icewm being pretty =o)
EDIT: I found a flux-to-icewm perl script here in the forums, but apparently it still needs some work. Besides, I know nothing about Perl. So I made one in Bash. The code could be cleaner than it is, but it works...i'm just not a master of regexp. I still have to make it check to see if it can write the menu file (won't work if the .icewm directory hasn't been made yet)
Code Sample | #!/bin/bash
# flux2icewm.bash # convert fluxbox menu to icewm menu # mikshaw 2006
INPOOT="$HOME/.fluxbox/menu" OUTPOOT="$HOME/.icewm/menu"
echo "Writing menu to $OUTPOOT"
cat $INPOOT | egrep -v "#|^ *$" | while read LINE; do TYPE=`echo $LINE | sed 's/(.*$//;s/^[ \t]//;s/[ \t]$//;s/^\[//;s/\]$//'` LABEL=`echo $LINE | sed 's/^.*]//;s/{.*$//;s/^[ \t]//;s/[ \t]$//;s/^(//;s/)$//'` COMMAND=`echo $LINE | sed 's/^.*)//;s/^[ \t]//;s/[ \t]$//'|grep {*}|sed 's/^\{//;s/\}$//'` ICON=`echo $COMMAND | awk '{print $1}'` case $TYPE in begin) SUBS=0 echo "prog \"Rebuild menu\" - xterm -e /opt/icewm/bin/flux2icewm" > $OUTPOOT ;; submenu) SUBS=$(($SUBS+1)) echo "menu \"$LABEL\" folder {" >> $OUTPOOT ;; separator) echo "separator" >> $OUTPOOT ;; exec) echo "prog \"$LABEL\" $ICON $COMMAND" >> $OUTPOOT echo -n "." ;; restart) echo "restart \"$LABEL\" $ICON $COMMAND" >> $OUTPOOT ;; end*) if [ $SUBS -gt 0 ]; then SUBS=$(($SUBS-1)) echo "}" >> $OUTPOOT else echo " done." fi ;; esac done |
-------------- http://www.tldp.org/LDP/intro-linux/html/index.html
|