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 youI They always take up the entire screenI 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 listI Arrangement is based on their positions in the listI 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 layoutI 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 treeI Think of nested containersI 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 flexibleI 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 EnvironmentI 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 managerI Terminal emulatorI Text editorI Document viewer, Image viewer, Media playerI 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, KupferI Status bar: lemonbar, dzen, Tint2I System tray: stalonetrayI Notification service: dunst, statnot, twmnI Lock screen: i3lock, slockI 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. treeI Features: feature-rich vs. minimalI 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 bspwmI dwmI xmonadI i3I awesomeI 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 treeI Features: so minimal it doesn’t even handle keyboard shortcuts by itselfI Multihead: Each monitor has a separate set of workspacesI Workspaces: Created staticallyI Configuration: in Bash, easy to useI 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: ListI Features: minimalI Multihead: Each tag is used on each monitorI Workspaces: Fixed amount of tags, windows can be assigned multiple tagsI Configuration: in C, need to recompileI 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: ListI Features: minimal, but ready-to-use extensions availableI Multihead: Workspaces independent of monitorsI Workspaces: created dynamicallyI 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’ optionsI Features: feature-richI Multihead: Workspaces belong to monitors but are still independentI Workspaces: Created dynamicallyI Configuration: in custom syntax which is easy enough and well documentedI 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: ListI Features: extremely feature-richI Multihead: Each tag is used on each monitorI Workspaces: Fixed amount of tags, windows can be assigned multiple tagsI 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 layoutsI Features: minimalI Multihead: Workspaces independent of monitorsI Workspaces: Created staticallyI Configuration: in Bash, easy to useI 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 roundin 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 slidesI Configuration files I’ve used for the demoI Can all be found online:
http://thealternative.ch/index.php?view=knowhow
I License: CC BY-SA 3.0I Theme by Christian Horea, CC BY
Tiling Window Managers 46
Aline Abler