Overview Window Managers Tiling Algorithms Getting Started Demos Meta
Tiling Window Managers
Aline Abler
April 4, 2016
Tiling Window Managers 1 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
Table of Contents What will we learn today?
I What is a window manager?
I What makes it tiling?
I Why is tiling cool?
I How does it work?
I How do I put it on my system?
I Which one should I use?
Tiling Window Managers 2 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
Functionality of Window Managers Well, it manages windows
You already have one
Tiling Window Managers 3 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
Functionality of Window Managers Stacking Window Managers
Each window is freely draggable and resizable
Tiling Window Managers 4 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
Functionality of Window Managers When do we call it tiling?
I Windows are arranged for you
I They always take up the entire screen
I You always see all of them How is that better?
Tiling Window Managers 5 Aline Abler
Overview Window Managers Tiling Algorithms Getting Started Demos Meta
How to tile windows Tiling approaches
List vs. Tree
Tiling Window Managers 9 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
How to tile windows List based tiling
I Windows are internally represented as ordered list
I Arrangement is based on their positions in the list
I Numerous ways to do this
Tiling Window Managers 10 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
How to tile windows Stack
Tiling Window Managers 11 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
How to tile windows nStack
Tiling Window Managers 12 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
How to tile windows hStack
Tiling Window Managers 13 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
How to tile windows Max / Full / Monocle
Tiling Window Managers 14 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
How to tile windows Spiral
Tiling Window Managers 15 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
How to tile windows Dwindle
Tiling Window Managers 16 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
How to tile windows hGrid
Tiling Window Managers 17 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
How to tile windows vGrid
Tiling Window Managers 18 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
How to tile windows List based tiling
I Easy to change layout
I Rather unflexible
Tiling Window Managers 19 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
How to tile windows Tree based tiling
I Windows are internally represented as leaves of a tree
I Think of nested containers
I Each internal node can have its own layout
Tiling Window Managers 20 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
How to tile windows Tree
Tiling Window Managers 21 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
How to tile windows Tree
Tiling Window Managers 22 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
How to tile windows Tree
Tiling Window Managers 23 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
How to tile windows Tree
Tiling Window Managers 24 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
How to tile windows Tree
Tiling Window Managers 25 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
How to tile windows Tree
Tiling Window Managers 26 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
How to tile windows Tree based tiling
I A lot more flexible
I More complicated to modify layout
Tiling Window Managers 27 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
The Tiling Window Manager Getting Started Kit Restrictions
A Tiling Window Manager is not a full-blown Desktop Environment
I No status bar, no workspace overview...
I You will need additional software for this
Tiling Window Managers 28 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
The Tiling Window Manager Getting Started Kit What you already have
I File manager
I Terminal emulator
I Text editor
I Document viewer, Image viewer, Media player
I Login manager
Tiling Window Managers 29 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
The Tiling Window Manager Getting Started Kit What you need
I Launcher: dmenu, Kupfer
I Status bar: lemonbar, dzen, Tint2
I System tray: stalonetray
I Notification service: dunst, statnot, twmn
I Lock screen: i3lock, slock
I Something to set your wallpaper: feh, nitrogen
Tiling Window Managers 30 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
The Tiling Window Manager Getting Started Kit But wait . . .
Some Window Managers already include some of these features. feature-rich vs. minimal
Tiling Window Managers 31 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
The Tiling Window Manager Getting Started Kit Installation and Setup
Use your favorite package manager
Tiling Window Managers 32 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
Which Window Manager to use? What distinguishes Window Managers?
I Tiling algorithm: list vs. tree
I Features: feature-rich vs. minimal
I Multihead: What happens when I connect a second monitor?
I Workspaces: Created dynamically or statically? Tags?
I Configuration: What language?
I Other: scriptability, restoring layout
Tiling Window Managers 33 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
Which Window Manager to use? Window Manager Demo
I bspwm
I dwm
I xmonad
I i3
I awesome
I herbstluftwm
Tiling Window Managers 34 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
Which Window Manager to use? bspwm
I Tiling algorithm: Binary tree
I Features: so minimal it doesn’t even handle keyboard shortcuts by itself
I Multihead: Each monitor has a separate set of workspaces
I Workspaces: Created statically
I Configuration: in Bash, easy to use
I Other: scriptable through bspc, pretty
Tiling Window Managers 35 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
Which Window Manager to use? dwm
I Tiling algorithm: List
I Features: minimal
I Multihead: Each tag is used on each monitor
I Workspaces: Fixed amount of tags, windows can be assigned multiple tags
I Configuration: in C, need to recompile
I Other: abundance of patches to suit any need; takes some time and skill to set up right
Tiling Window Managers 36 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
Which Window Manager to use? xmonad
I Tiling algorithm: List
I Features: minimal, but ready-to-use extensions available
I Multihead: Workspaces independent of monitors
I Workspaces: created dynamically
I Configuration: in Haskell, which can be confusing but is very powerful
Tiling Window Managers 37 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
Which Window Manager to use? i3
I Tiling algorithm: Tree with additional ’tab’ and ’stack’ options
I Features: feature-rich
I Multihead: Workspaces belong to monitors but are still independent
I Workspaces: Created dynamically
I Configuration: in custom syntax which is easy enough and well documented
I Other: scriptable through i3-msg, can save and restore layouts
Tiling Window Managers 38 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
Which Window Manager to use? awesome
I Tiling algorithm: List
I Features: extremely feature-rich
I Multihead: Each tag is used on each monitor
I Workspaces: Fixed amount of tags, windows can be assigned multiple tags
I Configuration: in Lua, programming experience is handy
Tiling Window Managers 39 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
Which Window Manager to use? herbstluftwm
I Tiling algorithm: Tree-based frames which contain list-based layouts
I Features: minimal
I Multihead: Workspaces independent of monitors
I Workspaces: Created statically
I Configuration: in Bash, easy to use
I Other: scriptable through herbstclient
Tiling Window Managers 40 Aline Abler
Overview Window Managers Tiling Algorithms Getting Started Demos Meta
About this presentation What now?
I Q&A round in a few seconds
I Join the next “Stammtisch”: 18:00 Thu, April 7 - learning spaces above the Green Floor, ETH CHN
Tiling Window Managers 45 Aline Abler Overview Window Managers Tiling Algorithms Getting Started Demos Meta
About this presentation Course material
I These slides
I Configuration files I’ve used for the demo
I Can all be found online: http://thealternative.ch/index.php?view=knowhow
I License: CC BY-SA 3.0
I Theme by Christian Horea, CC BY
Tiling Window Managers 46 Aline Abler