[clfswm-devel] Questions / Feature requests regarding the focus policy

Philippe Brochard pbrochard at common-lisp.net
Mon Jun 3 20:55:52 UTC 2013


Renaud Casenave-Péré a écrit :

> Hi,
>
> On Wed, May 08 2013, Philippe Brochard wrote:
>
>>> Regarding the sloppy-select-window focus policy, I noticed a strange behavior:
>>> If you move the mouse to select a window, it will focus the window as expected,
>>> but if you then use run-or-raise to focus another window, the focus will quickly
>>> return to where the mouse is. After it has returned, you can use run-or-raise
>>> again without problem but it doesn't work the first time, every time you use
>>> the mouse to focus a window.
>>>
>> I have added a test to take care of *steal-focus* variable in
>> run-or-raise (you have to set it to nil).
>
> That's not really what I meant. I think the problem is not with *steal-focus*
> but with the sloppy-select-window. In fact, the problem persists even when
> *steal-focus* is t. You can reproduce it this way:
>
> Set the sloppy-select-window focus policy.
> Create two frames within the root.
> Have a window you can run-or-raise with a shortcut in one frame.
> Put the mouse on the other frame.
>
> At this point, the focus is on the empty frame, where the mouse is.
>
> Use the keyboard shortcut to focus the window in the first frame.
>
> Now, the focus go to the window, but only for a second, before it returns to the
> frame where the mouse is.
>
> If now you use the run-or-raise shortcut once again, the focus go to the window
> and stays there, as it should.
>
> I can reproduce this problem every time I move the mouse.
>
Ok, I got it (I hope). This one is pretty vicious since the use of mouse
coordinates to not focus a child is not adequate.

Please, can you try the commit d5e80bb to see if the problem is solved.

>
> And actually, I think your last change introduced another problem... If you have
> a frame in fullscreen and you want to run-or-raise a window in another frame, it
> doesn't work if *steal-focus* is nil...
>
Yes, I've removed it. Sorry for the git noise...

>
> Sorry for being that annoying :/
>
No problem, I think we really want all bugs fixed in clfswm and your
request is very helpful!

Regards,

Philippe



More information about the clfswm-devel mailing list