I have a script which runs daily via anacron. I want the script to launch
a zenity window to notify the user, so I issue the command wmctrl -k on
before zenity and wmctrl - off after. This is supposed to minimize all
open windows to ensure that the zenity window will be visible. I have a
test script to show that it works. Both scripts are owned by root, but
editable by me. I have run the test script from a command line login
using sudo, as well as from a Gnome terminal. The test script behaves as
intended--the desktop is cleared of all open windows. I inserted a test
zenity window at the beginning of the real script to verity that when
launched by anacron it would behave the same way. It does not! It does
not minimize open windows, but the zenity window does appear on top of the
open windows.
What is different about the anacron launch? I have been monkeying with
this thing for quite a while. I tried wmctrl -R but that did not behave as
I had hoped. wmctrl -k does what I want except when anacron is doing the
launching.
Ideas?
-Denis
Test script:
#!/bin/bash
# test to get zenity to work when script is not called from an X window
# change to a non-X login (^ alt F2), call this w/sudo, then go back to X
(^ alt F7)
# to see if a zenity window shows up.
# feb 5 2018 the above worked--all open windows minimized.
Notification () {
# pass title, text of notice, and timeout as 3 parameters
TITLE=$1; MSG=$2; TIMOUT=$3
wmctrl -k on
sudo -u household zenity --question --title="$TITLE" --text="$MSG"
--timeout="$TIMOUT"
RETRNCODE=$?
wmctrl -k off
return $RETRNCODE # return codes: 0 = YES, 1 = cancel, 5 = timeout
}
sleep 30
export DISPLAY=:0
# test of launch of zenity
Notification "Test of zenity (backup_checksh)" "This should minimize all
open windows." 20
# remove when satisfied that launch works.
Top of real script:
#!/bin/bash
Notification () {
# pass title, text of notice, and timeout as 3 parameters
TITLE=$1; MSG=$2; TIMOUT=$3
wmctrl -k on
sudo -u household zenity --question --title="$TITLE" --text="$MSG"
--timeout="$TIMOUT"
RETRNCODE=$?
wmctrl -k off
return $RETRNCODE # return codes: 0 = YES, 1 = cancel, 5 = timeout
}
export DISPLAY=:0
# test of launch of zenity
Notification "Test of zenity (backup_checksh)" "This should minimize all
open windows." 5
# remove when satisfied that launch works.
MAX_TIME=$((7 * 24 * 3600))
_______________________________________________
PLUG mailing list
[email protected]
http://lists.pdxlinux.org/mailman/listinfo/plug