Hello, 

alexan...@beard.se (Alexander Hall), 2018.11.28 (Wed) 23:24 (CET):
> On Wed, Nov 28, 2018 at 10:56:13AM +0100, Marcus MERIGHI wrote:
> > j...@openbsd.org (joshua stein), 2018.11.27 (Tue) 18:12 (CET):
> > > On Tue, 27 Nov 2018 at 14:32:50 +0100, Marcus Merighi wrote:
> > > > does 'xset(1) dpms 20' activate xidle(1) after 20 seconds?
> > > > How to repeat:
> > > > $ xset dpms 20
> > > > $ xidle -timeout 180 &
> > > > With this I am locked out after 20 seconds, not 180.
> > > 
> > > The DPMS event activates the X screensaver which generates an X 
> > > event that xidle is listening for.  xidle then runs its specified 
> > > program (or defaults to xlock).
> > 
> > Thanks for confirming and the explanation of the cause!
> > 
> > I know you are having piles of experience with OpenBSD on all sorts of
> > fancy hardware... what do you do for dimming the display and locking?
> 
> This is what I use to give myself a three second grace period between the 
> screen going blank and the lock kicking in. The scroll lock led was for 
> fun and cosmetics.
> $ egrep '^xidle|^xlock' .Xresources  
> xidle.*.timeout: 300
> xidle.*.delay: 99999
> xlock.*.lockdelay: 3
> xlock.*.startCmd: xset dpms 3; sleep 3; xset led named "Scroll Lock"
> xlock.*.endCmd: xset -dpms; xset -led named "Scroll Lock"
> I start xidle in my ~.xsession

especially "startCmd" with "xset dpms" was a precious hint!
xlock(1) always woke up my DPMS dimmed display, and it remained lit. 
Not anymore, thank you!

But I had to return to xautolock(1), since xidle(1) does not play well
with my "xset dpms 20", as stated in the Subject:.

I dug through the code of xidle(1), but see no way of telling if it is
"xset dpms" running or the XScreenSaver(3) doing its thing.

But I found the reason why some DEBUG printf()s did not show up, below.

Thanks!

Marcus

Index: xidle.c
===================================================================
RCS file: /cvs/xenocara/app/xidle/xidle.c,v
retrieving revision 1.6
diff -u -p -u -r1.6 xidle.c
--- xidle.c     6 Sep 2018 07:21:34 -0000       1.6
+++ xidle.c     29 Nov 2018 11:10:03 -0000
@@ -366,7 +366,9 @@ main(int argc, char **argv)
        if (fd < 0)
                err(1, _PATH_DEVNULL);
        dup2(fd, STDIN_FILENO);
+#ifndef DEBUG
        dup2(fd, STDOUT_FILENO);
+#endif
        dup2(fd, STDERR_FILENO);
        if (fd > 2)
                close(fd);

Reply via email to