On Mon, Sep 03, 2018 at 03:49:46PM +0200, Sebastien Marie wrote: > ping I like it, OK claudio@ but I'm not really a X person. > On Tue, Aug 14, 2018 at 06:15:08AM +0200, Sebastien Marie wrote: > > ping > > > > On Wed, Jul 25, 2018 at 02:13:49PM +0200, Sebastien Marie wrote: > > > On Wed, Jul 25, 2018 at 12:55:48PM +0200, Claudio Jeker wrote: > > > > On Wed, Jul 25, 2018 at 12:27:29PM +0200, Sebastien Marie wrote: > > > > > On Mon, Jul 16, 2018 at 11:37:41AM +0200, Sebastien Marie wrote: > > > > > > > > > > > xidle(1) seems great for such purpose. But I didn't found a way to > > > > > > just > > > > > > use timeout and not also an active area (a corner where the program > > > > > > is > > > > > > launched if pointer stays inside few seconds). > > > > > > > > > > > > The following diff tries to implement a way to disable the active > > > > > > area > > > > > > without being too intrusive. > > > > > > > > > > > > For that, I used the `delay' parameter ("Specify the number of > > > > > > seconds > > > > > > the pointer has to be in the given position before running the > > > > > > program."), to allow value -1, and make it to discard the event. > > > > > > > > > > > > Does it make sens ? Or any proposition to more straighfull approch ? > > > > > > > > > > > > > > I would love to be able to use xidle without active area but I have to > > > > say > > > > that your approach with -1 as delay seems a bit like a hack. Wouldn't it > > > > be better to add a -no option to disable the corners all together? Maybe > > > > even make that the default instead of -nw? > > > > > > > > > > the "-delay -1" approch was taken to avoid too instrusive change that > > > would clash with upstream (but are we upstream ? I didn't found xidle > > > under > > > www.x.org). Anyway, the approch with -no option seems to not be too > > > intrusive neither and it is better for user point of vue. > > > > > > So below a new diff with -no option. > > > > > > When used, the -no flag that sets `position' variable to `none'. The > > > active area window is still created (its avoid to manage a new case > > > where `xi->win' could be NULL), but the window isn't mapper and no > > > event asked for EnterWindow. > > > > > > Sending USR1 still work as intented. > > > > > > I didn't change the default value for the position, but it could be > > > easily done (one line change in xidle.c and xidle.1). > > > > > > -- > > > Sebastien Marie > > > > > > Index: xidle.1 > > > =================================================================== > > > RCS file: /cvs/xenocara/app/xidle/xidle.1,v > > > retrieving revision 1.4 > > > diff -u -p -r1.4 xidle.1 > > > --- xidle.1 9 Nov 2017 19:13:03 -0000 1.4 > > > +++ xidle.1 25 Jul 2018 11:54:13 -0000 > > > @@ -35,7 +35,7 @@ > > > .Op Fl area Ar pixels > > > .Op Fl delay Ar secs > > > .Op Fl display Ar display > > > -.Op Fl nw | ne | sw | se > > > +.Op Fl no | nw | ne | sw | se > > > .Op Fl program Ar path > > > .Op Fl timeout Ar secs > > > .Ek > > > @@ -66,8 +66,8 @@ The default is 2 seconds. > > > .It Fl display Ar display > > > This argument allows you to specify the server to connect to; see > > > .Xr X 7 . > > > -.It Fl nw | ne | sw | se > > > -Set the position to one of northwest, northeast, southwest, or southeast, > > > +.It Fl no | nw | ne | sw | se > > > +Set the position to one of none, northwest, northeast, southwest, or > > > southeast, > > > respectively. > > > If no position is specified, > > > the default is northwest. > > > @@ -100,7 +100,9 @@ Specify the number of seconds to wait be > > > .Fl delay > > > option. > > > .It Sy position No (class Sy Position ) > > > -Set the position to one of: "nw", "ne", "sw", or "se"; see descriptions > > > of the > > > +Set the position to one of: "no", "nw", "ne", "sw", or "se"; see > > > descriptions > > > +of the > > > +.Fl no , > > > .Fl nw , > > > .Fl ne , > > > .Fl sw , > > > Index: xidle.c > > > =================================================================== > > > RCS file: /cvs/xenocara/app/xidle/xidle.c,v > > > retrieving revision 1.5 > > > diff -u -p -r1.5 xidle.c > > > --- xidle.c 20 Aug 2017 16:43:25 -0000 1.5 > > > +++ xidle.c 25 Jul 2018 11:59:40 -0000 > > > @@ -53,7 +53,8 @@ enum { > > > north = 0x01, > > > south = 0x02, > > > east = 0x04, > > > - west = 0x08 > > > + west = 0x08, > > > + none = 0x10, > > > }; > > > > > > enum { XIDLE_LOCK = 1, XIDLE_DIE = 2 }; > > > @@ -84,6 +85,7 @@ static XrmOptionDescRec opts[] = { > > > { "-program", ".program", XrmoptionSepArg, (caddr_t)NULL }, > > > { "-timeout", ".timeout", XrmoptionSepArg, (caddr_t)NULL }, > > > > > > + { "-no", ".position", XrmoptionNoArg, (caddr_t)"no" }, > > > { "-ne", ".position", XrmoptionNoArg, (caddr_t)"ne" }, > > > { "-nw", ".position", XrmoptionNoArg, (caddr_t)"nw" }, > > > { "-se", ".position", XrmoptionNoArg, (caddr_t)"se" }, > > > @@ -108,7 +110,7 @@ usage() > > > { > > > fprintf(stderr, "Usage:\n%s %s\n", __progname, > > > "[-area pixels] [-delay secs] [-display host:dpy] " > > > - "[-ne | -nw | -se | -sw]\n [-program path] [-timeout secs]"); > > > + "[-no | -ne | -nw | -se | -sw]\n [-program path] [-timeout > > > secs]"); > > > exit(1); > > > } > > > > > > @@ -133,12 +135,14 @@ init_x(struct xinfo *xi, int position, i > > > xi->coord_x, xi->coord_y, area, area, 0, 0, InputOnly, > > > CopyFromParent, CWOverrideRedirect, &attr); > > > > > > - XSelectInput(dpy, xi->win, EnterWindowMask|StructureNotifyMask > > > + if (position != none) { > > > + XSelectInput(dpy, xi->win, EnterWindowMask|StructureNotifyMask > > > #if 0 > > > |VisibilityChangeMask > > > #endif > > > - ); > > > - XMapWindow(dpy, xi->win); > > > + ); > > > + XMapWindow(dpy, xi->win); > > > + } > > > > > > /* > > > * AFAICT, we need the event number for ScreenSaverNotify > > > @@ -228,6 +232,7 @@ str2pos(const char *src) > > > { "nw", north|west }, > > > { "se", south|east }, > > > { "sw", south|west }, > > > + { "no", none }, > > > { NULL, 0 } > > > }, *s; > > > > > > > -- > > Sebastien Marie > > -- > Sebastien Marie >
-- :wq Claudio