try sudo wmctrl, the same way you're doing sudo zenity. -wes
On Tue, Feb 6, 2018 at 1:27 PM, Denis Heidtmann <denis.heidtm...@gmail.com> wrote: > 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 > PLUG@pdxlinux.org > http://lists.pdxlinux.org/mailman/listinfo/plug > _______________________________________________ PLUG mailing list PLUG@pdxlinux.org http://lists.pdxlinux.org/mailman/listinfo/plug