pWidgets 2.5.8
GOT IT
Micko & Zigbert:
I attached the exec file that will click only on the clock surface (whereever it is on the screen)!
#!/bin/sh
#Trio Tjandradjaja
X_PIXELS=`xrandr -q | grep '*' | egrep "[0-9]+[ ]*x[ ]*[0-9]+" -o | cut -d "x" -f 1`
CLOCK_H_OFFSET=`grep offset-h= ~/.pwidgets/pwidgets-exec | sed 's/^.*offset-h= //' | awk '{print $4}' | cut -d "=" -f 2 `
CLOCK_Y_OFFSET=`grep offset-v= ~/.pwidgets/pwidgets-exec | sed 's/^.*offset-v= //' | awk '{print $3}' | cut -d "=" -f 2 `
WIDGETS_POSITION=`grep position= ~/.pwidgets/pwidgets-exec | sed 's/^.*position= //' | awk '{print $2}' | cut -d "=" -f 2`
if [ "$WIDGETS_POSITION" = "TOP-RIGHT" ] ; then
CLOCK_X_CENTER=$[$X_PIXELS+$CLOCK_H_OFFSET-65]
else
CLOCK_X_CENTER=$[$CLOCK_H_OFFSET+65]
fi
CLOCK_Y_CENTER=$[$CLOCK_Y_OFFSET+65]
#echo "$CLOCK_X_CENTER"
#the actual xevent
sleep 0.1 ; xevent -a $CLOCK_X_CENTER $CLOCK_Y_CENTER
sleep 0.2 ; xevent -b 1 2 #simulated left mouse click
sleep 0.1 ; xevent -a 500 385
I attached the exec file that will click only on the clock surface (whereever it is on the screen)!
#!/bin/sh
#Trio Tjandradjaja
X_PIXELS=`xrandr -q | grep '*' | egrep "[0-9]+[ ]*x[ ]*[0-9]+" -o | cut -d "x" -f 1`
CLOCK_H_OFFSET=`grep offset-h= ~/.pwidgets/pwidgets-exec | sed 's/^.*offset-h= //' | awk '{print $4}' | cut -d "=" -f 2 `
CLOCK_Y_OFFSET=`grep offset-v= ~/.pwidgets/pwidgets-exec | sed 's/^.*offset-v= //' | awk '{print $3}' | cut -d "=" -f 2 `
WIDGETS_POSITION=`grep position= ~/.pwidgets/pwidgets-exec | sed 's/^.*position= //' | awk '{print $2}' | cut -d "=" -f 2`
if [ "$WIDGETS_POSITION" = "TOP-RIGHT" ] ; then
CLOCK_X_CENTER=$[$X_PIXELS+$CLOCK_H_OFFSET-65]
else
CLOCK_X_CENTER=$[$CLOCK_H_OFFSET+65]
fi
CLOCK_Y_CENTER=$[$CLOCK_Y_OFFSET+65]
#echo "$CLOCK_X_CENTER"
#the actual xevent
sleep 0.1 ; xevent -a $CLOCK_X_CENTER $CLOCK_Y_CENTER
sleep 0.2 ; xevent -b 1 2 #simulated left mouse click
sleep 0.1 ; xevent -a 500 385
Last edited by trio on Mon 19 Jan 2009, 10:10, edited 1 time in total.
Excellent trio!
Now all we have to do is automatically find screen centre for the mouseclick. HairyWill suggested Barry's code further back in the thread. I'm busy making a new font for Pwidgets at the moment but heres a tip. It will have to be a separate script for xevent and that can be called from your script. Your script will end up in 'fixwidgets'.
Cheers
Mick
Now all we have to do is automatically find screen centre for the mouseclick. HairyWill suggested Barry's code further back in the thread. I'm busy making a new font for Pwidgets at the moment but heres a tip. It will have to be a separate script for xevent and that can be called from your script. Your script will end up in 'fixwidgets'.
Cheers
Mick
Puppy Linux Blog - contact me for access
Now, that's easy... here you go Micko:
#!/bin/sh
#Trio Tjandradjaja
sleep 2
X_PIXELS=`xrandr -q | grep '*' | egrep "[0-9]+[ ]*x[ ]*[0-9]+" -o | cut -d "x" -f 1`
Y_PIXELS=`xrandr -q | grep '*' | egrep "[0-9]+[ ]*x[ ]*[0-9]+" -o | cut -d "x" -f 2`
CLOCK_H_OFFSET=`grep offset-h= ~/.pwidgets/pwidgets-exec | sed 's/^.*offset-h= //' | awk '{print $4}' | cut -d "=" -f 2 `
CLOCK_Y_OFFSET=`grep offset-v= ~/.pwidgets/pwidgets-exec | sed 's/^.*offset-v= //' | awk '{print $3}' | cut -d "=" -f 2 `
WIDGETS_POSITION=`grep position= ~/.pwidgets/pwidgets-exec | sed 's/^.*position= //' | awk '{print $2}' | cut -d "=" -f 2`
if [ "$WIDGETS_POSITION" = "TOP-LEFT" ] ; then
CLOCK_X_CENTER=$[$CLOCK_H_OFFSET+65]
else
CLOCK_X_CENTER=$[$X_PIXELS+$CLOCK_H_OFFSET-65]
fi
CLOCK_Y_CENTER=$[$CLOCK_Y_OFFSET+65]
SCREEN_X_CENTER=$[X_PIXELS/2]
SCREEN_Y_CENTER=$[Y_PIXELS/2]
#the actual xevent
sleep 0.1 ; xevent -a $CLOCK_X_CENTER $CLOCK_Y_CENTER
sleep 0.2 ; xevent -b 1 2 #simulated left mouse click
sleep 0.1 ; xevent -a $SCREEN_X_CENTER $SCREEN_Y_CENTER
#!/bin/sh
#Trio Tjandradjaja
sleep 2
X_PIXELS=`xrandr -q | grep '*' | egrep "[0-9]+[ ]*x[ ]*[0-9]+" -o | cut -d "x" -f 1`
Y_PIXELS=`xrandr -q | grep '*' | egrep "[0-9]+[ ]*x[ ]*[0-9]+" -o | cut -d "x" -f 2`
CLOCK_H_OFFSET=`grep offset-h= ~/.pwidgets/pwidgets-exec | sed 's/^.*offset-h= //' | awk '{print $4}' | cut -d "=" -f 2 `
CLOCK_Y_OFFSET=`grep offset-v= ~/.pwidgets/pwidgets-exec | sed 's/^.*offset-v= //' | awk '{print $3}' | cut -d "=" -f 2 `
WIDGETS_POSITION=`grep position= ~/.pwidgets/pwidgets-exec | sed 's/^.*position= //' | awk '{print $2}' | cut -d "=" -f 2`
if [ "$WIDGETS_POSITION" = "TOP-LEFT" ] ; then
CLOCK_X_CENTER=$[$CLOCK_H_OFFSET+65]
else
CLOCK_X_CENTER=$[$X_PIXELS+$CLOCK_H_OFFSET-65]
fi
CLOCK_Y_CENTER=$[$CLOCK_Y_OFFSET+65]
SCREEN_X_CENTER=$[X_PIXELS/2]
SCREEN_Y_CENTER=$[Y_PIXELS/2]
#the actual xevent
sleep 0.1 ; xevent -a $CLOCK_X_CENTER $CLOCK_Y_CENTER
sleep 0.2 ; xevent -b 1 2 #simulated left mouse click
sleep 0.1 ; xevent -a $SCREEN_X_CENTER $SCREEN_Y_CENTER
Trio', <----- excellent!!!!
After some testing I'll pack up a new 'fixwidgets' file and send it to Warren, (Whodo) so he can include in the next puppy 4.2 alpha2. I might even make a .pet and upload here if it's ok with you, or you can make if you want. Do you know how? I'm sure Sigmund won't mind.
Mick
After some testing I'll pack up a new 'fixwidgets' file and send it to Warren, (Whodo) so he can include in the next puppy 4.2 alpha2. I might even make a .pet and upload here if it's ok with you, or you can make if you want. Do you know how? I'm sure Sigmund won't mind.
Mick
Puppy Linux Blog - contact me for access
trio, uploading fixwidgets.pet. Check it out. It will overwrite your existing 'fixwidgets' file. Your script is there in full.
Mick
Mick
- Attachments
-
- fixwidgets.pet
- (980 Bytes) Downloaded 664 times
Puppy Linux Blog - contact me for access
Micko:
thanks for the compliment & I'll be honored if you guys make the pet (I never try to make any pet yet ) I am thinking of another problem, the slideshow always triggers the scale2pics...I try to find something..no promise though....
thanks for the compliment & I'll be honored if you guys make the pet (I never try to make any pet yet ) I am thinking of another problem, the slideshow always triggers the scale2pics...I try to find something..no promise though....
Last edited by trio on Mon 19 Jan 2009, 12:42, edited 1 time in total.
I couldn't resist mate and made the pet anyway! Look above!
Puppy Linux Blog - contact me for access
- ttuuxxx
- Posts: 11171
- Joined: Sat 05 May 2007, 10:00
- Location: Ontario Canada,Sydney Australia
- Contact:
Hey mico I asked jebaJQ8 to make some weather fonts for puppy, I don't know if he will or not, but he's really good with SVG, I do well with raster graphics but could never get used to SVG. You can see some of his work at http://www.murga-linux.com/puppy/viewto ... 916#266916
ttuuxxx
ttuuxxx
http://audio.online-convert.com/ <-- excellent site
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)
Love that idea! I used his icons on the 486. Barry uses them in Woof. Nice work. I hope he has time. It would be good if he can use the 'Weather' font from the Pwidgets before 4.2 hit the streets as a template. He only need do lowercase. When Zigbert gets back he can give him his 'doggy' cartoons for the 'pet' option in Pwidgets. So therefore only 1 font is needed. Genius ttuuxxx!ttuuxxx wrote:Hey mico I asked jebaJQ8 to make some weather fonts for puppy, I don't know if he will or not, but he's really good with SVG, I do well with raster graphics but could never get used to SVG. You can see some of his work at http://www.murga-linux.com/puppy/viewto ... 916#266916
ttuuxxx
Puppy Linux Blog - contact me for access
- ttuuxxx
- Posts: 11171
- Joined: Sat 05 May 2007, 10:00
- Location: Ontario Canada,Sydney Australia
- Contact:
It might be technical for him also, Maybe you could export the fonts as SVG and then tar.gz them with the right names on each and see if he would take a look at what needs replacing with new images? And if he doesn't I'll put it on my todo list. it would save me a few steps also.01micko wrote:Love that idea! I used his icons on the 486. Barry uses them in Woof. Nice work. I hope he has time. It would be good if he can use the 'Weather' font from the Pwidgets before 4.2 hit the streets as a template. He only need do lowercase. When Zigbert gets back he can give him his 'doggy' cartoons for the 'pet' option in Pwidgets. So therefore only 1 font is needed. Genius ttuuxxx!ttuuxxx wrote:Hey mico I asked jebaJQ8 to make some weather fonts for puppy, I don't know if he will or not, but he's really good with SVG, I do well with raster graphics but could never get used to SVG. You can see some of his work at http://www.murga-linux.com/puppy/viewto ... 916#266916
ttuuxxx
ttuuxxx
http://audio.online-convert.com/ <-- excellent site
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)
@micko:
you might want to try this:
"Slideshow")
FILE=~/.pwidgets/misc/scaledimages/01.jpg
if [ -e $FILE ];
then
DUMMY_EXIST="YES"
else
DUMMY_EXIST="NO"
fi
. $HOME/.pwidgets/configs/Slideshow
#calculate X_POS when widgets are listed at right
if [ $WIDGETS_POSITION = right ]; then
X_PIXELS=`xrandr -q | grep '*' | egrep "[0-9]+[ ]*x[ ]*[0-9]+" -o | cut -d "x" -f 1`
X_POS=$[$X_PIXELS-$OFFSET_X-140] #frame
X_POS2=$[$X_PIXELS-$OFFSET_X-133] #picture
else
X_POS=$OFFSET_X #frame
X_POS2=$[$OFFSET_X+7] #picture
fi
SCALED_DIR=$HOME/.pwidgets/misc/scaledimages
mkdir $SCALED_DIR 2> /dev/null
rm -f $SCALED_DIR/* 2> /dev/null
touch $SCALED_DIR/01.jpg
#frame
echo "xli -geometry +$X_POS+$OFFSET_Y $HOME/.pwidgets/misc/frame.jpg &" >> $HOME/.pwidgets/tmp/pwidgets-exec
if [ "$DUMMY_EXIST" = "NO" ] ; then
#build scaled images in a temporary storage
echo "scale2pics \"$IMAGE_DIRECTORY\" $SCALED_DIR 126 95 85 jpg" >> $HOME/.pwidgets/tmp/pwidgets-exec
#The actual slideshow
TMP=$[$OFFSET_Y+7]
echo "xli -geometry +$X_POS2+$TMP -delay $DELAY -goto $SCALED_DIR/01.jpg $SCALED_DIR/*.jpg &" >> $HOME/.pwidgets/tmp/pwidgets-exec
;;
*)
echo "conky -a $POS_CONKY -x $OFFSET_X -y $OFFSET_Y --config=$HOME/.pwidgets/configs/$TREE_WIDGET &" >> $HOME/.pwidgets/tmp/pwidgets-exec
;;
esac
else
#The actual slideshow
TMP=$[$OFFSET_Y+7]
echo "xli -geometry +$X_POS2+$TMP -delay $DELAY -goto $SCALED_DIR/01.jpg $SCALED_DIR/*.jpg &" >> $HOME/.pwidgets/tmp/pwidgets-exec
;;
*)
echo "conky -a $POS_CONKY -x $OFFSET_X -y $OFFSET_Y --config=$HOME/.pwidgets/configs/$TREE_WIDGET &" >> $HOME/.pwidgets/tmp/pwidgets-exec
;;
esac
fi
replace the existing lines with this in /usr/pwidgets/func
you might want to try this:
"Slideshow")
FILE=~/.pwidgets/misc/scaledimages/01.jpg
if [ -e $FILE ];
then
DUMMY_EXIST="YES"
else
DUMMY_EXIST="NO"
fi
. $HOME/.pwidgets/configs/Slideshow
#calculate X_POS when widgets are listed at right
if [ $WIDGETS_POSITION = right ]; then
X_PIXELS=`xrandr -q | grep '*' | egrep "[0-9]+[ ]*x[ ]*[0-9]+" -o | cut -d "x" -f 1`
X_POS=$[$X_PIXELS-$OFFSET_X-140] #frame
X_POS2=$[$X_PIXELS-$OFFSET_X-133] #picture
else
X_POS=$OFFSET_X #frame
X_POS2=$[$OFFSET_X+7] #picture
fi
SCALED_DIR=$HOME/.pwidgets/misc/scaledimages
mkdir $SCALED_DIR 2> /dev/null
rm -f $SCALED_DIR/* 2> /dev/null
touch $SCALED_DIR/01.jpg
#frame
echo "xli -geometry +$X_POS+$OFFSET_Y $HOME/.pwidgets/misc/frame.jpg &" >> $HOME/.pwidgets/tmp/pwidgets-exec
if [ "$DUMMY_EXIST" = "NO" ] ; then
#build scaled images in a temporary storage
echo "scale2pics \"$IMAGE_DIRECTORY\" $SCALED_DIR 126 95 85 jpg" >> $HOME/.pwidgets/tmp/pwidgets-exec
#The actual slideshow
TMP=$[$OFFSET_Y+7]
echo "xli -geometry +$X_POS2+$TMP -delay $DELAY -goto $SCALED_DIR/01.jpg $SCALED_DIR/*.jpg &" >> $HOME/.pwidgets/tmp/pwidgets-exec
;;
*)
echo "conky -a $POS_CONKY -x $OFFSET_X -y $OFFSET_Y --config=$HOME/.pwidgets/configs/$TREE_WIDGET &" >> $HOME/.pwidgets/tmp/pwidgets-exec
;;
esac
else
#The actual slideshow
TMP=$[$OFFSET_Y+7]
echo "xli -geometry +$X_POS2+$TMP -delay $DELAY -goto $SCALED_DIR/01.jpg $SCALED_DIR/*.jpg &" >> $HOME/.pwidgets/tmp/pwidgets-exec
;;
*)
echo "conky -a $POS_CONKY -x $OFFSET_X -y $OFFSET_Y --config=$HOME/.pwidgets/configs/$TREE_WIDGET &" >> $HOME/.pwidgets/tmp/pwidgets-exec
;;
esac
fi
replace the existing lines with this in /usr/pwidgets/func
okttuuxxx wrote:It might be technical for him also, Maybe you could export the fonts as SVG and then tar.gz them with the right names on each and see if he would take a look at what needs replacing with new images? And if he doesn't I'll put it on my todo list. it would save me a few steps also.01micko wrote:Love that idea! I used his icons on the 486. Barry uses them in Woof. Nice work. I hope he has time. It would be good if he can use the 'Weather' font from the Pwidgets before 4.2 hit the streets as a template. He only need do lowercase. When Zigbert gets back he can give him his 'doggy' cartoons for the 'pet' option in Pwidgets. So therefore only 1 font is needed. Genius ttuuxxx!ttuuxxx wrote:Hey mico I asked jebaJQ8 to make some weather fonts for puppy, I don't know if he will or not, but he's really good with SVG, I do well with raster graphics but could never get used to SVG. You can see some of his work at http://www.murga-linux.com/puppy/viewto ... 916#266916
ttuuxxx
ttuuxxx
- Attachments
-
- fontorpup.tar.gz
- (8.89 KiB) Downloaded 647 times
Puppy Linux Blog - contact me for access
Trio,
seems to work just fine, but I am tired! Will check it out tomorrow. I knew the test and output was the key! Just haven't had time!
EDIT, No, it doesnt' work. I'll have a look.
Thankyou
Mick
seems to work just fine, but I am tired! Will check it out tomorrow. I knew the test and output was the key! Just haven't had time!
EDIT, No, it doesnt' work. I'll have a look.
Thankyou
Mick
Puppy Linux Blog - contact me for access
Hi all:
A gmail script just in case you don't have a better one:
Cheers
A gmail script just in case you don't have a better one:
Code: Select all
#!/bin/bash
#Use: In conkyrc, ${execpi 300 /name_of_the_script total GMuser GMpassword} for unread messages
#and ${execpi 300 /name_of_the_script title GMuser} for the titles
#Sintot
case "$1" in
total)
curl --silent -k -u $2:$3 https://mail.google.com/mail/feed/atom/>/tmp/gmail$2.tmp
UNREAD=`cat /tmp/gmail$2.tmp|head -5|tail -1|sed 's/<[a-zA-Z/]*>//g'`
NAMES=`cat /tmp/gmail$2.tmp|grep '<name>'|sed 's/<[a-zA-Z/]*>//g'`
echo -n "New Messages for $2: "
echo -n '${Color red}${font DejaVu Sans:size=15}'
echo -n $UNREAD
echo '${font}${Color}'
;;
title)
UNREAD=`cat /tmp/gmail$2.tmp|head -5|tail -1|sed 's/<[a-zA-Z/]*>//g'`
TITLES=`cat /tmp/gmail$2.tmp|grep '<title>'|grep -v 'Gmail - Inbox'|sed 's/<[a-zA-Z/]*>//g'`
if [ "$UNREAD" -gt "5" ]
then
UNREAD=5
OTHERS=`echo " ..."`
fi
for ((i=1;i<=$UNREAD;i++)); do
echo -n " -"
echo "$TITLES"|head -$i|tail -1
done
echo "$OTHERS"
;;
esac
@micko:
Don't bother to take a look again! It's useless when I come to think of it again. func is only executed when tree widgets is formed, that is when the user choose which widget/s he wants to use.....from GUI (start menu - desktop - pwidgets)
We have to think about how to make func create a certain command to be included in the pwidgets-exec file
I'll have a look there.....
Don't bother to take a look again! It's useless when I come to think of it again. func is only executed when tree widgets is formed, that is when the user choose which widget/s he wants to use.....from GUI (start menu - desktop - pwidgets)
We have to think about how to make func create a certain command to be included in the pwidgets-exec file
I'll have a look there.....
@micko:
Don't bother to take a look again! It's useless when I come to think of it again. func is only executed when tree widgets is formed, that is when the user choose which widget/s he wants to use.....from GUI (start menu - desktop - pwidgets)
We have to think about how to make func create a certain command to be included in the pwidgets-exec file
I'll have a look there.....
Don't bother to take a look again! It's useless when I come to think of it again. func is only executed when tree widgets is formed, that is when the user choose which widget/s he wants to use.....from GUI (start menu - desktop - pwidgets)
We have to think about how to make func create a certain command to be included in the pwidgets-exec file
I'll have a look there.....
I did not follow you completely, but I think the attached utility might help you.
Copy the file xmovewindowbyclassname to /usr/local/bin/.
Compile it by typing "make", if it does not run.
Usage:
xmovewindowbyclassname xonclock 100 200
This should move xonclock to the desired position.
Note: it does not check the title of an application, but the classname, as this is the only thing xonclock provides for identification.
The classname of a program can be found with "xprop".
Did not check it in JWM, but in icewm and emerald it works.
By the way: the newest xonclock can be moved with the mouse, I think older versions could not.
Mark
Copy the file xmovewindowbyclassname to /usr/local/bin/.
Compile it by typing "make", if it does not run.
Usage:
xmovewindowbyclassname xonclock 100 200
This should move xonclock to the desired position.
Note: it does not check the title of an application, but the classname, as this is the only thing xonclock provides for identification.
The classname of a program can be found with "xprop".
Did not check it in JWM, but in icewm and emerald it works.
By the way: the newest xonclock can be moved with the mouse, I think older versions could not.
Mark
- Attachments
-
- xmovewindowbyclassname.tar.gz
- (3.41 KiB) Downloaded 439 times
Last edited by MU on Tue 20 Jan 2009, 11:05, edited 1 time in total.
[url=http://murga-linux.com/puppy/viewtopic.php?p=173456#173456]my recommended links[/url]
@MU:
Actually what xonclock needs is raise its window to normal/desktop layer. But, I think we could use your script when the no-winredirect flag is true in xonclockrc, set the icewm winoptions, and put the xmovewindowbyclassname xonclock xpost ypost in the pwidgets-exec file.
This could be an alternative for my script of mouse clicking on the clock.
Thanks MU
Actually what xonclock needs is raise its window to normal/desktop layer. But, I think we could use your script when the no-winredirect flag is true in xonclockrc, set the icewm winoptions, and put the xmovewindowbyclassname xonclock xpost ypost in the pwidgets-exec file.
This could be an alternative for my script of mouse clicking on the clock.
Thanks MU
Hi MU & Micko & Zigbert:
I am right, this is an alternative way of xonclock wake up call. I tested in Icewm, haven't test in jwm below are what to do:
1. download and copy MU xmovewindowbyclassname to usr/local/bin and I also symlink to usr/sbin
2. in root/.xonclockrc: no-winredirect = true
3. in root/.icewm/winoptions:
#xonclock
xonclock.ignoreTaskBar: 1
xonclock.allWorkspaces: 1
xonclock.dTitleBar: 0
xonclock.dBorder: 0
xonclock.dSysMenu: 0
xonclock.dResize: 0
xonclock.dClose: 0
xonclock.dMinimize: 0
xonclock.dMaximize: 0
xonclock.ignoreNoFocusHint: 1
xonclock.layer: Normal
Note: please notice that I don't put xonclock.geometry
4. I edited usr/local/pwidgets/func
replace existing lines with this part just after . "$APPDIR"/box_splash &
X_PIXELS=`xrandr -q | grep '*' | egrep "[0-9]+[ ]*x[ ]*[0-9]+" -o | cut -d "x" -f 1`
#read config
. $HOME/.pwidgets/pwidgetsrc
[ ! "$OFFSET_Y" ] && export OFFSET_Y=30
[ ! "$WIDGETS_POSITION" ] && export WIDGETS_POSITION=right
if [ "$WIDGETS_POSITION" = "left" ]; then
POS_XONCLOCK=TOP-LEFT
POS_CONKY=top_left
X_WIDTH=0
OFFSET_X_A=`grep OFFSET_X= $HOME/.pwidgets/configs/$TREE_WIDGET | cut -d '=' -f 2`
OFFSET_X=$[$OFFSET_X_A+0]
else
POS_XONCLOCK=TOP-RIGHT
POS_CONKY=top_right
X_WIDTH=$[$X_PIXELS-140]
OFFSET_X_A=`grep OFFSET_X= $HOME/.pwidgets/configs/$TREE_WIDGET | cut -d '=' -f 2`
OFFSET_X=$[$OFFSET_X_A-40]
fi
#build exec-file
echo -e "\c" > $HOME/.pwidgets/tmp/pwidgets-exec
while read TREE_WIDGET; do
HEIGHT="`grep HEIGHT= $HOME/.pwidgets/configs/$TREE_WIDGET | cut -d '=' -f 2`"
case "$TREE_WIDGET" in
"Clock-analog")
IMAGE="`grep IMAGE= $HOME/.pwidgets/configs/$TREE_WIDGET | cut -d '=' -f 2`"
echo "xonclock --position=$POS_XONCLOCK --offset-v=$OFFSET_Y --offset-h=$OFFSET_X --use-background --skin=$IMAGE &" >> $HOME/.pwidgets/tmp/pwidgets-exec
echo "sleep 5 ; xmovewindowbyclassname xonclock $[$X_WIDTH+$OFFSET_X] $OFFSET_Y" >> $HOME/.pwidgets/tmp/pwidgets-exec
;;
"Slideshow")
. $HOME/.pwidgets/configs/Slideshow
#calculate X_POS when widgets are listed at right
if [ $WIDGETS_POSITION = right ]; then
X_PIXELS=`xrandr -q | grep '*' | egrep "[0-9]+[ ]*x[ ]*[0-9]+" -o | cut -d "x" -f 1`
X_POS=$[$X_PIXELS-$OFFSET_X-140] #frame
X_POS2=$[$X_PIXELS-$OFFSET_X-133] #picture
else
X_POS=$[$OFFSET_X-20] #frame
X_POS2=$[$OFFSET_X+7-20] #picture
fi
SCALED_DIR=$HOME/.pwidgets/misc/scaledimages
mkdir $SCALED_DIR 2> /dev/null
rm -f $SCALED_DIR/* 2> /dev/null
touch $SCALED_DIR/01.jpg
#frame
echo "xli -geometry +$X_POS+$OFFSET_Y $HOME/.pwidgets/misc/frame.jpg &" >> $HOME/.pwidgets/tmp/pwidgets-exec
#build scaled images in a temporary storage
echo "scale2pics \"$IMAGE_DIRECTORY\" $SCALED_DIR 126 95 85 jpg" >> $HOME/.pwidgets/tmp/pwidgets-exec
#The actual slideshow
TMP=$[$OFFSET_Y+7]
echo "xli -geometry +$X_POS2+$TMP -delay $DELAY -goto $SCALED_DIR/01.jpg $SCALED_DIR/*.jpg &" >> $HOME/.pwidgets/tmp/pwidgets-exec
;;
*)
OFFSET_X=`grep OFFSET_X= $HOME/.pwidgets/configs/$TREE_WIDGET | cut -d '=' -f 2`
echo "conky -a $POS_CONKY -x $OFFSET_X -y $OFFSET_Y --config=$HOME/.pwidgets/configs/$TREE_WIDGET &" >> $HOME/.pwidgets/tmp/pwidgets-exec
;;
ended before these lines:
esac
OFFSET_Y=$[$OFFSET_Y+$HEIGHT]
done < $HOME/.pwidgets/tmp/pwidgets_list
5. So func file will generate root/.pwidgets/pwidgets-exec file like below:
xonclock --position=TOP-LEFT --offset-v=40 --offset-h=40 --use-background --skin=/root/.pwidgets/misc/Clock-analog.png &
sleep 5 ; xmovewindowbyclassname xonclock 40 40
xli -geometry +40+195 /root/.pwidgets/misc/frame.jpg &
scale2pics "/usr/share/backgrounds" /root/.pwidgets/misc/scaledimages 126 95 85 jpg
xli -geometry +47+202 -delay 5 -goto /root/.pwidgets/misc/scaledimages/01.jpg /root/.pwidgets/misc/scaledimages/*.jpg &
conky -a top_left -x 40 -y 320 --config=/root/.pwidgets/configs/Calender &
IMPORTANT:- ONLY USE XONCLOCK SKIN OF 140x140 pixels
- ONLY USE WALLPAPER THAT IS THE CORRECT SIZE OF YOUR SREEN
Thank you all, now somebody please test in JWM, and also Zigbert now can consider 2 alternatives:
1. mouse clicking on the xonclock with xevent
2. xmovewindowbyclassname
Thank you
I am right, this is an alternative way of xonclock wake up call. I tested in Icewm, haven't test in jwm below are what to do:
1. download and copy MU xmovewindowbyclassname to usr/local/bin and I also symlink to usr/sbin
2. in root/.xonclockrc: no-winredirect = true
3. in root/.icewm/winoptions:
#xonclock
xonclock.ignoreTaskBar: 1
xonclock.allWorkspaces: 1
xonclock.dTitleBar: 0
xonclock.dBorder: 0
xonclock.dSysMenu: 0
xonclock.dResize: 0
xonclock.dClose: 0
xonclock.dMinimize: 0
xonclock.dMaximize: 0
xonclock.ignoreNoFocusHint: 1
xonclock.layer: Normal
Note: please notice that I don't put xonclock.geometry
4. I edited usr/local/pwidgets/func
replace existing lines with this part just after . "$APPDIR"/box_splash &
X_PIXELS=`xrandr -q | grep '*' | egrep "[0-9]+[ ]*x[ ]*[0-9]+" -o | cut -d "x" -f 1`
#read config
. $HOME/.pwidgets/pwidgetsrc
[ ! "$OFFSET_Y" ] && export OFFSET_Y=30
[ ! "$WIDGETS_POSITION" ] && export WIDGETS_POSITION=right
if [ "$WIDGETS_POSITION" = "left" ]; then
POS_XONCLOCK=TOP-LEFT
POS_CONKY=top_left
X_WIDTH=0
OFFSET_X_A=`grep OFFSET_X= $HOME/.pwidgets/configs/$TREE_WIDGET | cut -d '=' -f 2`
OFFSET_X=$[$OFFSET_X_A+0]
else
POS_XONCLOCK=TOP-RIGHT
POS_CONKY=top_right
X_WIDTH=$[$X_PIXELS-140]
OFFSET_X_A=`grep OFFSET_X= $HOME/.pwidgets/configs/$TREE_WIDGET | cut -d '=' -f 2`
OFFSET_X=$[$OFFSET_X_A-40]
fi
#build exec-file
echo -e "\c" > $HOME/.pwidgets/tmp/pwidgets-exec
while read TREE_WIDGET; do
HEIGHT="`grep HEIGHT= $HOME/.pwidgets/configs/$TREE_WIDGET | cut -d '=' -f 2`"
case "$TREE_WIDGET" in
"Clock-analog")
IMAGE="`grep IMAGE= $HOME/.pwidgets/configs/$TREE_WIDGET | cut -d '=' -f 2`"
echo "xonclock --position=$POS_XONCLOCK --offset-v=$OFFSET_Y --offset-h=$OFFSET_X --use-background --skin=$IMAGE &" >> $HOME/.pwidgets/tmp/pwidgets-exec
echo "sleep 5 ; xmovewindowbyclassname xonclock $[$X_WIDTH+$OFFSET_X] $OFFSET_Y" >> $HOME/.pwidgets/tmp/pwidgets-exec
;;
"Slideshow")
. $HOME/.pwidgets/configs/Slideshow
#calculate X_POS when widgets are listed at right
if [ $WIDGETS_POSITION = right ]; then
X_PIXELS=`xrandr -q | grep '*' | egrep "[0-9]+[ ]*x[ ]*[0-9]+" -o | cut -d "x" -f 1`
X_POS=$[$X_PIXELS-$OFFSET_X-140] #frame
X_POS2=$[$X_PIXELS-$OFFSET_X-133] #picture
else
X_POS=$[$OFFSET_X-20] #frame
X_POS2=$[$OFFSET_X+7-20] #picture
fi
SCALED_DIR=$HOME/.pwidgets/misc/scaledimages
mkdir $SCALED_DIR 2> /dev/null
rm -f $SCALED_DIR/* 2> /dev/null
touch $SCALED_DIR/01.jpg
#frame
echo "xli -geometry +$X_POS+$OFFSET_Y $HOME/.pwidgets/misc/frame.jpg &" >> $HOME/.pwidgets/tmp/pwidgets-exec
#build scaled images in a temporary storage
echo "scale2pics \"$IMAGE_DIRECTORY\" $SCALED_DIR 126 95 85 jpg" >> $HOME/.pwidgets/tmp/pwidgets-exec
#The actual slideshow
TMP=$[$OFFSET_Y+7]
echo "xli -geometry +$X_POS2+$TMP -delay $DELAY -goto $SCALED_DIR/01.jpg $SCALED_DIR/*.jpg &" >> $HOME/.pwidgets/tmp/pwidgets-exec
;;
*)
OFFSET_X=`grep OFFSET_X= $HOME/.pwidgets/configs/$TREE_WIDGET | cut -d '=' -f 2`
echo "conky -a $POS_CONKY -x $OFFSET_X -y $OFFSET_Y --config=$HOME/.pwidgets/configs/$TREE_WIDGET &" >> $HOME/.pwidgets/tmp/pwidgets-exec
;;
ended before these lines:
esac
OFFSET_Y=$[$OFFSET_Y+$HEIGHT]
done < $HOME/.pwidgets/tmp/pwidgets_list
5. So func file will generate root/.pwidgets/pwidgets-exec file like below:
xonclock --position=TOP-LEFT --offset-v=40 --offset-h=40 --use-background --skin=/root/.pwidgets/misc/Clock-analog.png &
sleep 5 ; xmovewindowbyclassname xonclock 40 40
xli -geometry +40+195 /root/.pwidgets/misc/frame.jpg &
scale2pics "/usr/share/backgrounds" /root/.pwidgets/misc/scaledimages 126 95 85 jpg
xli -geometry +47+202 -delay 5 -goto /root/.pwidgets/misc/scaledimages/01.jpg /root/.pwidgets/misc/scaledimages/*.jpg &
conky -a top_left -x 40 -y 320 --config=/root/.pwidgets/configs/Calender &
IMPORTANT:- ONLY USE XONCLOCK SKIN OF 140x140 pixels
- ONLY USE WALLPAPER THAT IS THE CORRECT SIZE OF YOUR SREEN
Thank you all, now somebody please test in JWM, and also Zigbert now can consider 2 alternatives:
1. mouse clicking on the xonclock with xevent
2. xmovewindowbyclassname
Thank you