How can I activate a Panel-icon via a script (or get its screen co-ordinates; to click it)?
- by fred.bear
This question is in the context of Lucid 10.04 desktop (ie. no Unity).
I do most screen navigation via the keyboard (not the mouse), so I'm looking for a script solution to re-activating an app which has been "minimized" to the Panel's Notification Area.
I'll use Skype as an example.
wmctrl allows me enough access to normally-minimized windows, but when Skype is "minimized" to the Notification Area, it simply goes "off the radar" as far as wmctrl is concerned.
Bearing in mind that icon positions in the Notification Area can vary, is there some way to determine the screen co-ordinates of Skype's Panel icon, so I can "click" it using xdotool (or a similar utility)?
...or maybe there is a more direct way to activate the "dormant" Skype? ... (and I don't mean the mouse ;)
Here is the script, so far. Hopefully it will make clear what I'm trying to do:
#!/bin/bash
procname="skype-wrapper"
windmask="Skype™"
if [[ $(pgrep -x -n -c "$procname") == 1 ]] ; then
wintitle="$(wmctrl -l |grep "$windmask" |head -n 1 |sed -n "s/^.\+${HOSTNAME} \(.*\)/\1/p")"
if [ "$wintitle" = "" ] ; then
echo "Click on Skype's Panel-icon to show the main window"
###############################################################
# How can I find the screen co-ordinates of Skype's Panel Icon
###############################################################
else
# Skype is running, and has (at least) one visible window which matches $windmask. Activate it.
wmctrl -a "$wintitle"
fi
else
# The process is not currently running. Start it.
("$procname" &)
fi