Here’s a branch which revamps the fluxbox tiling code and adds a new padding feature for tiled windows (aka ‘useless gaps’).
All of the old tiling mechanisms (ArrangeWindows, ArrangeWindowsVertical, ArrangeWindowsStackedLeft, etc,… ) were handled by one single monster function which became harder and harder to extend.
The solution I implemented is to have a separate command class for each tiling mechanism, which inherit a base class that takes care of most of the code shared by all tiling mechanisms.
You can configure the padding using
session.screen0.tiling.padding: 20
in your ~/.fluxbox/init file (The default is 10) (units are pixels)
Screenshot:
Branch can be found here: https://github.com/jnse/fluxbox/tree/feature/tiling_redone
New files:
Slightly changed files:
The commands are slightly renamed (they were kind of long), ~/.fluxbox/keys example:
Mod4 a :TileGrid (name!=tint2) (class!=Pidgin)
Mod4 Left :TileStackedLeft (name!=tint2) (class!=Pidgin)
Mod4 h :TileHorizontal (name!=tint2) (class!=Pidgin)
Mod4 v :TileVertical (name!=tint2) (class!=Pidgin)
Mod4 Right :TileStackedRight (name!=tint2) (class!=Pidgin)
Mod4 Up :TileStackedTop (name!=tint2) (class!=Pidgin)
Mod4 Down :TileStackedBottom (name!=tint2) (class!=Pidgin)