From ArchWiki
Revision as of 21:33, 15 June 2011 by Spo11 (Talk | contribs)

Jump to: navigation, search


Subtle is a manual tiling window manager with a rather uncommon approach of tiling: Per default there is no typical layout enforcement, windows are placed on a position (gravity) in a custom grid. The user can change the gravity of each window either directly per grabs or with rules defined by tags in the config.


Currently there are two different packages available:

The stable version is in community and can be installed with pacman, the developer snapshot is in AUR and needs either a special tool like yaourt, clyde or packer or can be installed manually.


On start subtle will check if a config file is available in the typical XDG paths and use it. A local config is preferred over a system wide. (See Template:Codeline)

Then it will have a look for sublets in the XDG paths too and load them accordingly. (See Template:Codeline)

No system wide sublets will be loaded per default.

  • To create a user config just create $XDG_CONFIG_HOME/subtle and copy the latest config from the dist folder into it. To do this, type the following command into the console:


  • To enable sublets create $XDG_DATA_HOME/subtle/sublets and create symlinks to the sublets. (Load order is alphabetically)

Always compare your existing config with the one of the repository/tarball to get the latest options.

This and more info can be found on the subtle website.

Note: The default keybindings use the numeric keypad for selecting window size-positions ("gravities") which is awkward on a laptop where NumLock will be required, so laptop users will want to rebind these functions - the default config contains an alternate methods for this.

Checking the Configuration Syntax

If an error is in the subtle config, subtle may not start.

To check if your config contains errors, simply type in the command: Template:Cli.


The appearance of subtle, that is, the colors of the panels, subtlets and other such elements are configured according to what is set in the *Colors* section (in subtle stable) and in the *Styles* section (in subtle-hg). Note that theme configurations for subtle stable and subtle-hg are different.

In the Template:Filename for subtle stable, look for lines that look similar to what is shown below to change the appearance of the panels, etc.:

color :title_fg,          "#fecf35"
color :title_bg,          "#202020"
color :title_border,      "#303030"

color :focus_bg,          "#202020"
color :focus_border,      "#303030"
color :focus_fg,          "#fecf35"

color :urgent_fg,         "#FF9800"
color :urgent_bg,         "#202020"
color :urgent_border,     "#303030"

color :occupied_fg,       "#b8b8b8"
color :occupied_border,   "#303030"
color :occupied_bg,       "#202020"

color :views_border,      "#303030"
color :views_bg,          "#202020"
color :views_fg,          "#757575"

color :sublets_bg,        "#202020"
color :sublets_border,    "#303030"
color :sublets_fg,        "#757575"

color :client_inactive,   "#202020"
color :client_active,     "#303030"

color :panel,             "#202020"

color :background,        "#3d3d3d"

color :stipple,           "#757575"

color :separator,         "#757575"

In the Template:Filename of the subtle-hg build, look for the lines below:

style :title do
  padding     2, 10, 0, 10
  border_bottom "#303030", 2
  foreground  "#ffffff"
  background  "#1b1b1b"

style :focus do
  padding     2, 8, 0, 8
  border_bottom "#606060", 2
  foreground  "#fff"
  background  "#3b3b3b"

style :urgent do
  padding     2, 8, 0, 8
  #border      "#303030", 0
  foreground  "#ffffff"
  background  "#519f50"

style :occupied do
  padding     2, 8, 0, 8
  border_bottom "#424242", 2
  foreground  "#606060"
  background  "#2E2E2E"

style :views do
  padding     2, 8, 0, 8
  foreground  "#3A3A3A"
  background  "#222222"

style :sublets do
  padding     2, 10, 0
  border_bottom "#303030", 2
  foreground  "#b0b0b0"
  background  "#222222"

style :separator do
  padding     1, 0, 0
  border_bottom "#090909", 2
  background  "#222222"
  foreground  "#505050"

style :clients do
  active      "#000000", 1
  inactive    "#202020", 1
  margin    0  

style :subtle do
  padding     0
  panel       "#222222"
  stipple     "#757575"


Sublets are tiny apps that appear in the subtle panels. They can be used to show the battery state, the volume, control mpd, among other purposes.

Installing Sublets

To install a sublet, open a terminal window and type the following command: Template:Cli

Example: Template:Cli This will install the mpd sublet.

For a list of sublets, go to the sur website.

Note: If you install a sublet as root, you will not be able to invoke the sublet as a regular user. Sublets used by non-root accounts must be installed under the user.

Sublet Configuration

After you have installed a sublet, you must invoke it in the ~subtle.rb~ configuration.

Look for a series of lines similar to the one below:

screen 1 do
  top [ :title, :spacer, :views ]
  bottom [ :mpd, :wifi, :battery ]

What is inside the brackets is shown on the respective panel.

Sublet Appearance

The appearance of a sublet is determined through the Template:Filename configuration. Information as to how to format the sublet is usually provided in the terminal output when installing the sublet.

Here is an example, using the clock sublet:

sublet :clock do
  interval    30
  foreground  "#ccc"
  background  "#000"
  format_string "%I:%M %p"

Note that you can change the colors of the sublet and also what information it shows in the panel.

Here is another example, using the ~weather~ sublet:

sublet :wifi do
  interval   10
  locale     "en"
  location   "90210"

Each sublet has its own parameters and formatting options you can change to your taste.


If you have problems, suggestions or just want to talk about subtle feel free to join #subtle on or drop a mail to _unexist_ at _dorfelite_ dot _net_.