[PLUG] bash; anacron; wmctrl question

Ali Corbin ali.corbin at gmail.com
Tue Feb 6 21:45:20 UTC 2018


Another thing to try is to use the full path, in case the cron environment
doesn't include $PATH

On Tue, Feb 6, 2018 at 1:39 PM, wes <plug at the-wes.com> wrote:

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



More information about the PLUG mailing list