workspaces

Description

This patch adds support for workspaces. Each monitor now has N independently-named workspaces (defined via the new workspaces array in config.h, like tags). Every client belongs to exactly one workspace; switching workspaces hides all clients from the previous workspace and shows only those from the new one.

Each workspace maintains its own tag view, layout, and layout history independently of all others. Switching workspaces carries the current tag selection over so the viewed tag does not change.

Default keybinds (where F<n> represents function keys):

The bar shows workspace buttons leftmost, styled identically to tag buttons (SchemeSel for active, SchemeNorm for others). Clicking a workspace button switches to it.

Download

Authors