* Stephen Dennison <stephe...@gmail.com> [2019-08-29 09:25 -0400]:
On Thu, Aug 29, 2019 at 8:43 AM Dave Weller-Fahy <l.f...@dave.caterva.org> 
wrote:
On Thu, Aug 29, 2019 at 2:16 AM Martin Cermak <marti...@gmail.com> wrote:
> On  Wed  2019-08-28  13:03 , Dave Weller-Fahy wrote:
> > My goal is to have the following rules followed.
> >
> > Rules about keys being pressed and (possibly) held.
> > - If Ctrl-Alt are pressed ...
> >   - and if no other keys are pressed within some period of time ...
> >     - then pop up the pager
> >   - and if other keys (such as arrow keys) are pressed ...
> >     - then execute some other action
> >
> > Rules about keys being released.
> > - If Ctrl-Alt are released ...
> >     - and if the pager is displayed ...
> >       - then remove the pager
> >
> > The use case is to have Ctrl-Alt-(up|down|left|right) change desks,
>
> I have this setup too (as an option).  But primarily I use
> Ctrl-Alt-(<keypad key 1..9>).  This gives me a clear idea which
> of my 9 desks (arranged as a 3x3 matrix) I am switching to.
> Nothing visual involved.

I was reaching the conclusion that what I wanted was not possible
with fvwm (at least, not possible without an external utility), but
figured I would check with the mailing list before giving up and
looking for an external utility to help. I may also try fvwm3 to see
if what I want is possible there.


You can bind a key to a modifier and set the unbound one as your
modifier (Key Control_L A M Exec exec executable.name    or  Key Alt_L
A C Exec exec executable.name   or ...) And that can still be used for
some other action (Key T A CM Exec exec other-executable.name would
still work, for example) but it will cause your executable to be
executed even when you're just using the alt and control as modifiers.

Hrm... I'd tried to do that, and completely forgot about _L/_R, instead
I focused on Alt. That's an interesting thought on your part, and I'll
have to play with that tomorrow (tonight is for bed). The key here is
that the pager coming up should be brief... and I'm beginning to
rethink the "must come up before the direction key is pressed".

You could make a wrapper script that uses xlib and does a
`display.query_keymap()` to see if the keys are still being held down.
Then if after a set time the key isn't still held, you might decide
that the wrapper was invoked intentionally and should then call a
function in fvwm to toggle your pager.  It would take a little getting
used to, as you'd train yourself to hold modifier keys for a brief
pause when executing stuff other than toggling the pager, but it's not
impossible.

Another interesting idea - although I think I'm starting to lean toward
having the pager pop up when the desk change is initiated, and then the
only problem is how to allow multiple desk changes without releasing the
Ctrl-Alt keys, and how to make sure the pager closes after releasing the
keys.

I had experimented with using the windows key to do something on its
own when not being used as a modifier key, but I eventually discarded
it.  I posted about it to the fvwm forums, which can be found here:
https://fvwmforums.org/phpBB3/viewtopic.php?f=6&t=2832#p14222

Hrm... I get all kinds of warnings when I access that page, and no
information in any of the three posts. Is there another place to access
the information?

Regardless, thanks for all the good idea fodder... now I'll go dream
about this, and play with it tomorrow.

Regards,
 -dave

Attachment: signature.asc
Description: PGP signature

Reply via email to