Ideal keybindings

Similar to my question regarding the Kinesis keyboard… I’m reviewing my fvwm keybindings and am curious what others have found works for them? I like to manipulate menus and move/resize windows with the keyboard in addition to the other basic window manager things you do with the keyboard.

Anyone have a favourite setup that they would like to share.

Thanks.

Let’s see. . .

Ctrl-Alt-Arrow - moves between screens

Left Windows key - opens up main menu

Left Windows key - opens “alt-tab” equivalent

Alt-space opens up a window menu with resize & sticky options.

And all menu items have the first letter as a ‘hot key’ so WinKey + X = xterm, for instance. . .

Then there’s all the ‘extra’ keys at the top for controlling volume & the like. . .

That’s pretty much all it takes for me to be able to skip using the mouse, should I so desire. . .

Uhhh!! Keybindings! I’m your man.

$ grep ^Key ~/.fvwm/config | wc -l
95

plus around 30 that get generated by some PipeReads. I can work for hours without even touching the mouse.

I admit I need some filtering. However here are the ones I cannot live without:

Super+[0-9]: Jump to a window (specified before with control+super+[0-9]

Super-[F1-F3]: 3 types of maximizing

Super-X: open terminal

Super-R: “run dialog”

Super-KPdirections: Resize window to [upper,lower, left, right] [half,quarter] of the screen

Super-Q: Close window

I have a more or less complete list in my homepage [www-i6.informatik.rwth-aachen.de ... /fvwm.html](http://www-i6.informatik.rwth-aachen.de/~vilar/fvwm.html) together with a config file (old file without some keybindings, I plan to update it soon).

And of course I am eagerly awaiting new suggestions for keybindings that come up in the thread.

95 key bindings! I thought my 37 were excessive…

I like Alt+hjkl to switch pages of the desk. Other than that, these are the ones I use daily:
[Win/Apple]+Esc for root menu
[Win/Apple]+H/L for previous, next window
[Win/Apple]+Alt+H/L for previous, next icon
[Win/Apple]+M Toggle between normal and Maximize, Remove Title
[Win/Apple]+K Begin Move on current window (then I use hjkl to position it followed by enter to place)
[Win/Apple]+X Close current window
[Win/Apple]+Backspace Destroy current window
[Win/Apple]+Tab Modified alt+tab menu with icons and thumbnails (which I then navigate with k and j for up and down

Alt + M - Minimize(Iconify) – I don’t know why, but I typically reach for the mouse when I want to iconify (middle click) instead of using the kb.

I have a microsoft natural (ergonic split-keyboard thing) for work and home, do you find the the kinesis to be significantly better? The only effects of my keyboard are that I don’t get sore wrists on it and when I’m forced to switch to a normal flat keyboard on someone elses system my typing is like lightning on the flat keyboard.

I’ve had the Kinesis for one week + a day now. My main issue with it is I’m missing the Windows key, which is what I used for most fvwm commands.

It does have a Windows key, but its basically the right side alt mapped to the Windows key, and due to the layout of the Kinesis, you really do need to alt keys, especially if you spend any amount of time in (x)emacs.

So for the time being I’ve mapped delete to the window key as I never really used delete before, but now that delete is in an ideal location, I find myself wanting it for delete, so other than function keys, there isn’t really any other key to remap to the windows key - perhaps home or end, 2 other keys I don’t really use.

The keyboard really good have used one extra modifier key as the windows key instead of overriding the ride side of the alt.

I looooove keybindings!

At the moment I’m trying this:

[code]#Ignore if NumLock is pressed
IgnoreModifiers L25

#Familiar alt-tabbing
Key Tab A M Prev (AcceptsFocus CurrentDesk !Iconic) SelectWindow

#Change desktops with C + Tab
Key Tab A C GotoDesk 1 1 0 3

#Access to root menu and WindowList:
Key Return A CM Menu MenuFvwmRoot
Key Space A SCM WindowList NoGeometryWithInfo SelectOnRelease
MaxLabelWidth 25
Key Space A CM WindowList NoGeometryWithInfo CurrentDesk SelectOnRelease
MaxLabelWidth 25

#Quickly launch some applications when in root window:
Key A R A Exec exec aterm -sr
Key E R A Exec exec emacs
Key M R A Exec exec mozilla
Key F R A Exec exec firefox
Key U R A Exec exec ~/unicore/unicore_client5.6/bin/unicore

Key X A CM Exec exec xlock -mode blank

#Move mouse around:
Key Left A CM CursorMove -1 0
Key Right A CM CursorMove +1 +0
Key Up A CM CursorMove +0 -1
Key Down A CM CursorMove +0 +1
Key Left A SCM CursorMove -10 +0
Key Right A SCM CursorMove +10 +0
Key Up A SCM CursorMove +0 -10
Key Down A SCM CursorMove +0 +10

#Some window functions:
Key W WTSF CM Menu MenuFvwmWindow
Key Q WTSF CM Close
Key I WTSF CM Iconify
Key R WTSF CM Resize
Key M WTSF CM Move
Key G WTSF CM FuncFvwmGrow
Key V WTSF CM FuncFvwmMaximizeV
Key H WTSF CM FuncFvwmMaximizeH
Key 0 WTSF CM MoveToDesk 0 0
Key 1 WTSF CM MoveToDesk 0 1
Key 2 WTSF CM MoveToDesk 0 2
Key 3 WTSF CM MoveToDesk 0 3[/code]

If only all programs were so customizable!

Well:

Key X   A 3   Function FvwmTitleRxvt
Key S   A 3   Stick
Key Tab A 3   SendToModule FvwmProxy ShowToggle
Key R   A CM  Exec exec gmrun
Key I   A CM  All (CurrentPage, Iconic) PlaceAgain Icon Anim
Key R   A CM  Module FvwmForm FvwmForm-Run
Key Menu A N  Popup FvwmMenuRoot
Key Tab		A	M	-

I have a whole load more – but they’re very tedious, and ultimately
probably fall outside the actual question you’re asking: “What programs
can I bind to which keys” :P :P

– Thomas Adam

A few comments:

That command does more than just disable Numlock per se – it goes as far
as to disable the CapsLock, Numlock, and ScrollLock keys respectively.

You should be separating out those conditions with commas.

– Thomas Adam

I got into EMACS last summer, and decided I liked the multiple key bindings (e.g. C-x C-c) so much that my config had to have them. So I looked around and saw that people did it by binding a menu to a key and using the menu accellerators for the second key. Example:

DestroyMenu LaunchApps
AddToMenu LaunchApps
+ "&Terminal"           StartTerminal
+ "&Root Terminal"      StartRootTerminal
+ "Web Br&owser"        StartBrowser
+ "FVWM &Console"       StartConsole
+ "Text &Editor"        StartEditor
+ "&Image Editor"       StartImageEditor
+ "Image &Viewer"       StartImageViewer
+ "&File Manager"       StartFileManager
+ "&Package Manager"    StartPackageManager
+ "&Game"               StartPysol
+ "System &Monitor"     StartTop

Key     S       A       4       Menu LaunchApps root c c

So “super-s t” brings up a terminal. It makes it so much easier to remember what keys do what.

Key     S       A       4       Menu LaunchApps root c c 

What does ‘root c c’ do?

Puts the menu in the middle of the screen.

– Thomas Adam

This is probably the one Fvwm feature I like the most - being able to define keybindings for everything. A couple of bindings I use:

Desktop handling
I use 5*2 virtual desktops, arranged with 5 horizontal times 2 vertical.

  • Ctrl-Alt + 1-5: Switch between the horizontal desktops
  • Ctrl-Alt + up/down: Switch to the upper/lower vertical desktops

Window handling

  • Ctrl-Alt + v: Maximize a window vertically

  • Ctrl-Alt + h: Maximize a window horizontally

  • Ctrl-Alt + m: Maximize a window both vertically and horizontally

  • Ctrl-Alt + z: Iconify a window. The iconified windows only end up in the FvwmIconMan module.

  • Ctrl-Alt + x: Deiconify one of the windows in FvwmIconMan. I use these two to move windows between desks and to temporarily cleanup the desks.

  • Ctrl-Alt + t: Retile the windows on the current desk.

Apart from these, I have the regular Alt-tab, closing windows etc.

// Simon