Enable option for consecutive actions following the activation of FancyWM input
Is your feature request related to a problem? Please describe.
When I try to navigate between multiple stacked windows, it becomes tiring to switch between activated mode and non-activated mode. My fingers are tiring.
Describe the solution you'd like
I would like for an option to make the activation last until I press the exit-mode key (ESC for me). Therefore, I could press the activation key once, move around the windows with HJKL keys (my movement keys) and then exit the input mode with ESC to go back to my work.
Describe alternatives you've considered
Enduring pressing multiple times the activation key. There's really no way to go around this...
Additional context
It is self-explanatory I think.
I also want to upvote this one. This can be interpreted as a sort of "middle-ground" between "Activation hotkey + single operation" and "Direct hotkey".
The benefit of the activation hotkey - which is surprisingly rare in WMs I notice - is that it frees up my global and other hotkeys. Since Windows increasingly has taken over various hotkey combos (for sometimes reasonable and unreasonable features) without ability to change them, FancyWM's activation system is a breath of fresh air. On my Mac with Amethyst, I have to think triple-hard to ensure some code editor or terminal or application hotkey doesn't interfere with my WM hotkeys, even with a capslock-hyper-modifier app!
Of course the downside is tedious usage when I know exactly what I want to do, if it involves repetitive keypresses.
Where I desire an alternative to @sim590 's suggestion:
- They want activation hotkey to perform a "toggle" which requires an "exit" keypress to leave (not a bad idea at all)
- I'd prefer (if it was easy for @veselink1 to implement) instead an activation key that behaves like Tmux's one - since I do not know if you are familiar with tmux, example for FancyWM follows:
- User presses Activation Hotkey
- FancyWM is listening and waiting for user action (as it normally does today)
- User enters a specific type of key combo, including
direction+modifier + directionormodifier + size increase/decreaseetc - FancyWM performs a single operation associated with user's key combo press
- Then: FancyWM waits for a short timeout - if during this period, user enters another keypress, FancyWM executes the desired command, and then re-enters waiting timeout
- If user presses nothing during waiting timeout, or if user presses some "exit" key like
escape, FancyWM stops listening and returns to normal Windows operation.
In all honesty, I would rather prefer having a mode of direct keybinded actions instead of having the activation mode shenanigans, but if we can't, well, yeah I would at least appreciate this option greatly as a middle-ground just as @riotrah formulated it.
Also, the timeout addition would be preferable. I approve @riotrah's suggestion.
@sim590 just to make sure - have you tried the existing direct global hotkey toggles for your various operations of choice? It removes them (I think) from usage within the "activated" mode, but allows you to mash them as often as you want.
(It's the lightning icon next to each shortcut item in the settings for keybindings)
Thanks all for your engagement on this topic. I fully agree that using the keybindings without requiring an activation hotkey is more efficient. Unfortunately, Ctrl, Alt, Shift, and Win keys are used for keyboard shortcuts either by Windows itself or by third-party applications, so there isn't a modifier that is free to be used by FancyWM (without breaking application-specific shortcuts).
FancyWM support "Direct Hotkeys" which is an option that is toggled per-keybinding and which registers that keybinding as a native hotkey, so it can be used without the Activation Hotkey.
@sim590 As @riotrah suggested, try the Direct Hotkeys feature if you haven't already. In versions before 2.10, it is toggled by the lightning icon. In 2.10 and later it is simply a checkbox next to the keybinding. Make sure to configure a keybinding that includes a modifier key (Ctrl, Shift, Alt) and enable it.

I have been experimenting with an alternative, hopefully, better solution, and I would appreciate any thoughts you might have. The idea is to repurpose the Caps Lock button as a modifier and allow keybinding to be triggered by holding it.
Create Horizontal Panel then becomes Caps + H (instead of Activation, then H).
The Caps Lock can still be used outside of a keybinding, to toggle all caps.
I have tried the direct hotkey option and there are some issues...
First, LALT+CTRL and RALT keys are mingled as far as FancyWM can tell. It cannot distinguish both keys. So, if I set LALT+CTRL+* keys as direct keys such as LALT+CTRL+9 and that I try to press [ on my keyboard which is RALT+9, then it interprets it as LALT+CTRL+9. So I can't type [ anymore since it moves my focus to the 9th virtual desktop instead. Which is a bug as far as I'm concerned... And it makes the list of hotkeys I can use shorter.
If that could be fixed, may be that feature would suffice for me. I have not played enough with it due to this bug.
I will add that I tried also WIN+CTRL keys but I quickly ended up stuck since WIN+CTRL+SHIFT+L wouldn't map itself. It just gives WIN+CTRL+SHIFT in the resulting keybind square.

It seems like the direct keybind mode has some issues still.
I have tried the direct hotkey option and there are some issues...
First,
LALT+CTRLandRALTkeys are mingled as far as FancyWM can tell. It cannot distinguish both keys. So, if I setLALT+CTRL+*keys as direct keys such asLALT+CTRL+9and that I try to press[on my keyboard which isRALT+9, then it interprets it asLALT+CTRL+9. So I can't type[anymore since it moves my focus to the 9th virtual desktop instead. Which is a bug as far as I'm concerned... And it makes the list of hotkeys I can use shorter.If that could be fixed, may be that feature would suffice for me. I have not played enough with it due to this bug.
This seems to be an issue with an international keymap like the German one, which uses the RALT key to send some exclusive characters. FancyWM did differentiate between left and right modifiers, but that made it impossible to use the left-hand side modifiers in combination with numbers on the right side (like 6-0) and the right-hand side modifiers in combination with numbers on the left side of the keyboard—which is arguably much more comfortable. I'm not sure where a good solution for your issue might be, other than to avoid the combination of just "CTRL+ALT" in direct hotkeys. Or maybe @veselink1 could add a switch to toggle the differentiation between left and right modifiers, although that could also add to the complexity of the software.
@veselink1
That might be an option for sure!
However unfortunately for myself that wouldn't work as I already use the capslock key as a additional "hyper" modifier via AHK, eg for vim key navigation and a bunch of other stuff. I think that's also a somewhat popular modification that I've seen around GitHub. Still, might work for many others!
But either way, what do you think about my tmux-style suggestion above, where we combine the activation key method with multiple successive key presses?
This issue is stale because it has been open for 14 days with no activity.
This issue was closed because it has been inactive for 14 days since being marked as stale.