[openbox] Move all windows to other desktop – reopened

Anthony Thyssen a.thyssen at griffith.edu.au
Tue Mar 7 00:41:38 EST 2017


You must remember the key down... or up... are Xwindows event sent to
window managers and X window clients. How X windows generates or keeps
track of these is up to how it reads what comes from the keyboard driver.
The Keyboard driver itself is NOT directly involved, except maybe whether
it implements key repeat, or the X window server implements key repeat (or
even the client)

It also tracks the 'state' of modifier keys, such as shift, ctrl, alt,
numlock, super (windows), which his also passed to the client as a state.
some clients will treat a numlock key very differently to the key without
numlock.  But that is up to the client.   Especially with regards to the
Super modifier .   Something I know due to my DIY programming of keyboard
macros (from the window manager) using Super-Function-Keys.

Similarly whether a client acts on the key on a 'down' press, or a 'up'
press is also up to it.  Most client program act on the down press only
which is why if you press 'a' an "a" appears on screen even before you
released the key.  similar pressing 'a' and holding it, before pressing 'b'
still shows up both "a" and "b" on screen, ignoring the 'up' events of
those keys. Typically the only programs that care a lot about 'up' events
are drawing or game programs.

NOTE: mouse keys are just another event, which also have up and down states.

You can see the events using the program "xev"

See  X Windows Event handling & Keyboard Macros
http://www.ict.griffith.edu.au/anthony/info/X/event_handling.txt


On Tue, Mar 7, 2017 at 1:14 AM, Mathias Dufresne <mathias.dufresne at gmail.com
> wrote:

> Regarding key-up and key-down behavior I believe that just not possible
> under Linux because there is no such states about keyboard's keys. In Linux
> a key is unpressed or pressed, a key is repeated not by the software
> currently having the focus but by keyboard's driver which starts repeating
> the key after some time.
>
> I really wish to be mistaken about that...
>
> 2017-02-15 13:22 GMT+01:00 Martin Jiřička <mjiricka at gmail.com>:
>
>> Thank you Mikael. This moves all windows in current desktop to the last
>> desktop:
>>
>>   <keybind key="W-C-S-j">
>>     <action name="ForEach">
>>       <omnipresent>no</omnipresent>
>>       <then>
>>         <action name="if">
>>           <desktop>current</desktop>
>>           <then>
>>             <action name="SendToDesktop">
>>               <to>last</to>
>>               <follow>no</follow>
>>             </action>
>>           </then>
>>         </action>
>>       </then>
>>     </action>
>>   </keybind>
>>
>> Different approach, but it is usable. And better suited for swapping
>> which did not even came to my mind.
>>
>> Anyway I was looking into source code to see how hard would be to
>> implement MoveDesktop action. I did not give it enough time but am I
>> right that biggest problem would be to remember all windows in
>> selection? It looks like every action is triggered by one key and not
>> like "key down: select windows, some actions, key up: release the
>> selection".
>> _______________________________________________
>> openbox mailing list
>> openbox at icculus.org
>> http://icculus.org/mailman/listinfo/openbox
>>
>
>
> _______________________________________________
> openbox mailing list
> openbox at icculus.org
> http://icculus.org/mailman/listinfo/openbox
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://icculus.org/pipermail/openbox/attachments/20170307/b2090419/attachment.html>


More information about the openbox mailing list