/usr/local/jwmconfig2/taskbarPlace :
Code: Select all
##-----taskbarPlace----->>
GEO=`xwininfo -root | grep 'geometry'|awk '{print $2}' |cut -f 1 -d '+'`
GEO_X=`echo "$GEO" |cut -f 1 -d 'x'`
GEO_Y=`echo "$GEO" |cut -f 2 -d 'x'`
TMP="/tmp/JWMconfig/checklist.tmp.$$"
mkdir -p "${TMP%/*}"
TOP="0";TOPL=horizontal;TOPA=right;TOPH=28;TOPV=top;TOPW=$GEO_X
BTM="-1";BTML=horizontal;BTMA=left;BTMH=28;BTMV=bottom;BTMW=$GEO_X
RIG='1';RIGL=vertical;RIGA=right;RIGH=$((GEO_Y));RIGV=top;RIGW=48
LEF='2';LEFL=vertical;LEFA=left;LEFH=$((GEO_Y));LEFV=top;LEFW=48
CONFIG="/root/.jwmrc-tray"
CONFIG2="/root/.jwmrc-tray-bak"
CONF="/root/.jwmrc-tray-temp"
check_config(){
#------check new configuration----->>
jwm -p 2> $TMP
CHECKCONF=`cat $TMP | grep -vi 'DEBUG:'`
if [ "$CHECKCONF" ]; then
RESMSG="Current configuration not OK:\n$CHECKCONF\nLaunching Editor ..."
RESTOP="Refusing to continue."
defaulttexteditor "$CONFIG" &
sleep 3
Xdialog --title "$RESTOP" --msgbox "$RESMSG" 0 0 &
exit 1
fi
}
check_config
#---get value--->
SET_NOW=`grep -m 1 -E -e '^([[:blank:]]*)<Tray .* y="([-[:digit:]]*)"|^<Tray .* y="([-[:digit:]]*)"' $CONFIG | sed 's|\(.* y="\)\([-[:digit:]]*\)\(" .*\)|\2|'`
LAYOUT_NOW=`grep -m 1 -E -e '^([[:blank:]]*)<Tray .* layout="([[:alpha:]]*)"|^<Tray .* layout="([[:alpha:]]*)"' $CONFIG | sed 's|\(.* layout="\)\([[:alpha:]]*\)\(" .*\)|\2|'`
HALIGN_NOW=`grep -m 1 -E -e '^([[:blank:]]*)<Tray .* halign="([[:alpha:]]*)"|^<Tray .* halign="([[:alpha:]]*)"' $CONFIG | sed 's|\(.* halign="\)\([[:alpha:]]*\)\(" .*\)|\2|'`
HEIGHT_NOW=`grep -m 1 -E -e '^([[:blank:]]*)<Tray .* height="([[:digit:]]*)"|^<Tray .* height="([[:digit:]]*)"' $CONFIG | sed 's|\(.* height="\)\([[:digit:]]*\)\(" .*\)|\2|'`
VALIGN_NOW=`grep -m 1 -E -e '^([[:blank:]]*)<Tray .* valign="([[:alpha:]]*)"|^<Tray .* valign="([[:alpha:]]*)"' $CONFIG | sed 's|\(.* valign="\)\([[:alpha:]]*\)\(" .*\)|\2|'`
WIDTH_NOW=`grep -m 1 -E -e '^([[:blank:]]*)<Tray .* width="([[:digit:]]*)"|^<Tray .* width="([[:digit:]]*)"' $CONFIG | sed 's|\(.* width="\)\([[:digit:]]*\)\(" .*\)|\2|'`
echo SET_NOW=$SET_NOW
echo LAYOUT_NOW=$LAYOUT_NOW
echo HALIGN_NOW=$HALIGN_NOW
echo HEIGHT_NOW=$HEIGHT_NOW
echo VALIGN_NOW=$VALIGN_NOW
echo WIDTH_NOW=$WIDTH_NOW
if [ "$LAYOUT_NOW" = '' ] ; then
sed -i 's|^\([[:blank:]]*<Tray .*\)\(layout[^ ]*\)\(.*\)|\1\3|' $CONFIG
sed -i 's|^\([[:blank:]]*<Tray \)\(.*\)\( .*\)|\1\2 layout="vertical"\3|' $CONFIG
sleep 1
check_config
fi
if [ "$HALIGN_NOW" = '' ] ; then
sed -i 's|^\([[:blank:]]*<Tray .*\)\(halign[^ ]*\)\(.*\)|\1\3|' $CONFIG
sed -i 's|^\([[:blank:]]*<Tray .*\)\(.*\)\( .*\)|\1\2 halign="left"\3|' $CONFIG
sleep 1
check_config
fi
if [ "$HEIGHT_NOW" = '' ] ; then
sed -i 's|^\([[:blank:]]*<Tray .*\)\(height[^ ]*\)\(.*\)|\1\3|' $CONFIG
sed -i 's|^\([[:blank:]]*<Tray .*\)\(.*\)\( .*\)|\1\2 height="28"\2|' $CONFIG
sleep 1
check_config
fi
if [ "$VALIGN_NOW" = '' ] ; then
sed -i 's|^\([[:blank:]]*<Tray .*\)\(valign[^ ]*\)\(.*\)|\1\3|' $CONFIG
sed -i 's|^\([[:blank:]]*<Tray .*\)\(.*\)\( .*\)|\1\2 valign="bottom"\3|' $CONFIG
sleep 1
check_config
fi
if [ "$WIDTH_NOW" = '' ] ; then
sed -i 's|^\([[:blank:]]*<Tray .*\)\(width[^ ]*\)\(.*\)|\1\3|' $CONFIG
sed -i "s|^\([[:blank:]]*<Tray .*\)\(.*\)\( .*\)|\1\2 width=\"$GEO_X\"\3|" $CONFIG
sleep 1
check_config
fi
AT_TOP=off;AT_BTM=off;AT_RIG=off;AT_LEF=off
case $SET_NOW in
-1) AT_BTM=on;;
0) AT_TOP=on;;
1) AT_RIG=on;;
2) AT_LEF=on;;
esac
#-----Backup current settings----->>
cp $CONFIG $CONFIG2
#-------------gui----------->>
Xdialog --backtitle "JWM Taskbar Configuration" \
--title "Taskbar" \
--radiolist "Choose a tray placement option" 13 46 2 \
"BOTTOM" "Tray at Bottom of Screen." $AT_BTM \
"TOP" "Tray at Top of Screen" $AT_TOP \
"RIGHT" "Tray at Right Side of Screen" $AT_RIG \
"LEFT" "Tray at Left Side of Screen2" $AT_LEF 2>$TMP
retval=$?
#--------cancel pressed----->>
case $retval in
1 | 255) exit 0;;
esac
#---------save changes----->>
#---
SEDTOP=s!y=\"$SET_NOW\"!y=\"$TOP\"!
SEDTOQ=s!layout=\"$LAYOUT_NOW\"!layout=\"$TOPL\"!
SEDTOR=s!halign=\"$HALIGN_NOW\"!halign=\"$TOPA\"!
SEDTOS=s!height=\"$HEIGHT_NOW\"!height=\"$TOPH\"!
SEDTOT=s!valign=\"$VALIGN_NOW\"!valign=\"$TOPV\"!
SEDTOU=s!width=\"$WIDTH_NOW\"!width=\"$TOPW\"!
SEDBTM=s!y=\"$SET_NOW\"!y=\"$BTM\"!
SEDBTQ=s!layout=\"$LAYOUT_NOW\"!layout=\"$BTML\"!
SEDBTR=s!halign=\"$HALIGN_NOW\"!halign=\"$BTMA\"!
SEDBTS=s!height=\"$HEIGHT_NOW\"!height=\"$BTMH\"!
SEDBTT=s!valign=\"$VALIGN_NOW\"!valign=\"$BTMV\"!
SEDBTU=s!width=\"$WIDTH_NOW\"!width=\"$BTMW\"!
SEDRIG=s!y=\"$SET_NOW*\"!y=\"$RIG\"!
SEDRIH=s!layout=\"$LAYOUT_NOW\"!layout=\"$RIGL\"!
SEDRII=s!halign=\"$HALIGN_NOW\"!halign=\"$RIGA\"!
SEDRIJ=s!height=\"$HEIGHT_NOW\"!height=\"$RIGH\"!
SEDRIK=s!valign=\"$VALIGN_NOW\"!valign=\"$RIGV\"!
SEDRIL=s!width=\"$WIDTH_NOW\"!width=\"$RIGW\"!
SEDLEF=s!y=\"$SET_NOW*\"!y=\"$LEF\"!
SEDLEH=s!layout=\"$LAYOUT_NOW\"!layout=\"$LEFL\"!
SEDLEI=s!halign=\"$HALIGN_NOW\"!halign=\"$LEFA\"!
SEDLEJ=s!height=\"$HEIGHT_NOW\"!height=\"$LEFH\"!
SEDLEK=s!valign=\"$VALIGN_NOW\"!valign=\"$LEFV\"!
SEDLEL=s!width=\"$WIDTH_NOW\"!width=\"$LEFW\"!
POSN=`cat $TMP`
echo "POSN='$POSN'"
#-----If there new settings chosen then make the changes----->>
case $POSN in
TOP) sed -e "$SEDTOP" $CONFIG > $CONF
sed -e "$SEDTOQ" $CONF > $CONFIG
sed -e "$SEDTOR" $CONFIG > $CONF
sed -e "$SEDTOS" $CONF > $CONFIG
sed -e "$SEDTOT" $CONFIG > $CONF
sed -e "$SEDTOU" $CONF > $CONFIG
;;
RIGHT) sed -e "$SEDRIG" $CONFIG > $CONF
sed -e "$SEDRIH" $CONF > $CONFIG
sed -e "$SEDRII" $CONFIG > $CONF
sed -e "$SEDRIJ" $CONF > $CONFIG
sed -e "$SEDRIK" $CONFIG > $CONF
sed -e "$SEDRIL" $CONF > $CONFIG
;;
LEFT) sed -e "$SEDLEF" $CONFIG > $CONF
sed -e "$SEDLEH" $CONF > $CONFIG
sed -e "$SEDLEI" $CONFIG > $CONF
sed -e "$SEDLEJ" $CONF > $CONFIG
sed -e "$SEDLEK" $CONFIG > $CONF
sed -e "$SEDLEL" $CONF > $CONFIG
;;
BOTTOM) sed -e "$SEDBTM" $CONFIG > $CONF
sed -e "$SEDBTQ" $CONF > $CONFIG
sed -e "$SEDBTR" $CONFIG > $CONF
sed -e "$SEDBTS" $CONF > $CONFIG
sed -e "$SEDBTT" $CONFIG > $CONF
sed -e "$SEDBTU" $CONF > $CONFIG
;;
esac
# mv $CONF $CONFIG
#------check new configuration----->>
jwm -p 2> $TMP
CHECKCONF=`cat $TMP | grep -vi 'DEBUG:'`
#----notify of result----->>
if [ "$CHECKCONF" ]; then
RESTOP="Change Reversed"
RESMSG="$CHECKCONF\nNew config corrupt. Keeping original"
mv $CONFIG2 $CONFIG
else
RESTOP="Change applied"
RESMSG="Restart jwm to apply change"
fi
Xdialog --title "$RESTOP" --msgbox "$RESMSG" 0 0
#--------clean exit------->>
rm -f $TMP
exit 0
Pic of jwm-492 on Puppy-Lupu-5.1.1 with ~/.jwmrc-tray main line :
Code: Select all
<Tray autohide="false" insert="left" x="0" y="1" border="1" height="1024" valign="top" halign="right" layout="vertical" width="48" >