Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add secondary mappings for those used to other tiling window managers #196

Closed
minego opened this issue Oct 31, 2019 · 3 comments
Closed

Comments

@minego
Copy link

minego commented Oct 31, 2019

I have recently switched to using gnome shell with PaperWM from using dwm. I used dwm for many years and I am very used to the keystrokes it uses. I was able to add most of the keystrokes I expect to PaperWM in the configuration page, and I am very happy with the results, but I suspect that more users of other tiling window managers would be more willing to try PaperWM if the keystrokes they use every day worked out of the box.

The ones that were the most important to me are the use of hjkl instead of arrow keys.

@olejorgenb
Copy link
Member

Yeah, a system for alternate mappings would be nice.

I doubt we'll add the hjkl alternates by default since both SuperH and SuperL collide with built-in gnome bindings.

It's easy to export and import complete keymaps though. A wiki of such maps could be a start - although ideally we'd have system for "enable hjkl navigation" with checks for collisions.

Export: dconf dump /org/gnome/shell/extensions/paperwm/keybindings/ > dwm-bindings
Import: cat dwm-bindings | dconf load /org/gnome/shell/extensions/paperwm/keybindings/

I have some code lying around to generate markdown of the active keybindings (similar to the one in the readme). The wiki entries could include that table (maybe reduced to the changes from the default bindings)

If you post the output of dconf dump /org/gnome/shell/extensions/paperwm/keybindings/ we have a starting point.

@minego
Copy link
Author

minego commented Oct 31, 2019

That sounds like a great way to handle it. I would have tried PaperWM much sooner if this had already been available. One nice thing about having a dump of the bindings on the wiki is that those files are reasonably easy to edit by hand in any text editor, and most people coming from a tiling window manager will be pretty comfortable with that.

I'd personally still prefer to just default to dwm style mappings, but the conflict with built-in bindings is an issue so I completely understand not doing that.

I've mapped j (down) and k (up) to switch-next and switch-previous instead of move-down and move-up because that lets them wrap, which is more like the dwm behavior. Others may prefer something else.

I've also added bindings for hjkl and arrow keys because dwm uses shift instead of control for that purpose.

I'm really rather amazed at just how usable PaperWM has been with these bindings. I expected to have a big learning curve and spend a long time getting used to it, but it hasn't been bad. The hardest thing for me at this point is I and O. A different binding may help, but I'm not sure what would feel more natural.

dwm-ish-bindings.txt

@olejorgenb
Copy link
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants