Borax Mans Pad
  • About
  • Blog
  • Articles
  • Levels
  • My Computing Setup
  • Programs
  • Links

Fvwm Basic Tiling setup

Below is a basic configuration for “tiling”. This is not to turn FVWM into a tiling Window Manager, but only to allow basic tiling, to resize and move a window so it fills either half or a quarter of the screen. I tried a tiling WM briefly, but found that tiling wasn’t optimal for my workflow, where I use, most of the time, arbitrarily sized screen. However, there are times I want to arrange windows in a 1x2, 2x1 or 2x2 configuration. Better to just add a means to move windows into position, than completely dedicate to tiling.

Just include the below config in your FVWM config file. The keybindings are set as follows (Super key is the windows key on most keyboards). They can, of course, be changed.

Super + Up Window on top half of screen. Super + Down Window on bottom half of screen. Super + Left Window on left hand half of screen. Super + Right Window on right hand half of screen.

Super + Shift + Left Window on bottom left corner of screen. Super + Shift + Up Window on top left corner of screen. Super + Shift + Right Window on top right corner of screen. Super + Shift + Down Window on bottom right corner of screen.

Key Left	A	4 	TileLeft
Key Right	A	4	TileRight
Key Up		A	4	TileTop
Key Down	A   4	TileBottom

Key Left	A	4S 	TileBottomLeft
Key Right	A	4S	TileTopRight
Key Up		A	4S	TileTopLeft
Key Down	A   4S	TileBottomRight

DestroyFunc TileLeft
AddToFunc TileLeft
    + I ThisWindow (!Shaded, !Iconic) ResizeMove frame 50wa 100wa 0 0 Warp

DestroyFunc TileRight
AddToFunc TileRight
    + I ThisWindow (!Shaded, !Iconic) ResizeMove frame 50wa 100wa -0 0 Warp

DestroyFunc TileTop
AddToFunc TileTop
    + I ThisWindow (!Shaded, !Iconic) ResizeMove frame 100wa 50wa 0 0 Warp

DestroyFunc TileBottom
AddToFunc TileBottom
    + I ThisWindow (!Shaded, !Iconic) ResizeMove frame 100wa 50wa 0 -0 Warp

DestroyFunc TileTopRight
AddToFunc TileTopRight
    + I ThisWindow (!Shaded, !Iconic) ResizeMove frame 50 50wa -0 0 Warp
    
DestroyFunc TileTopLeft
AddToFunc TileTopLeft
    + I ThisWindow (!Shaded, !Iconic) ResizeMove frame 50wa 50wa 0 0 Warp

DestroyFunc TileBottomLeft
AddToFunc TileBottomLeft
    + I ThisWindow (!Shaded, !Iconic) ResizeMove frame 50wa 50wa 0 -0 Warp

DestroyFunc TileBottomRight
AddToFunc TileBottomRight
    + I ThisWindow (!Shaded, !Iconic) ResizeMove frame 50wa 50wa -0 -0 Warp

Back to Home


© Dennis Katsonis 2025

GitGud