<<

Overview 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 ?

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 Getting Started Kit Restrictions

A Tiling Window Manager is not a full-blown

I No status bar, no 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 : 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

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 : 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

I

I

I

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 , 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 , 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 ’’ 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 by Christian Horea, CC BY

Tiling Window Managers 46 Aline Abler