Tiling Window Managers
Total Page:16
File Type:pdf, Size:1020Kb
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.