The Fucking Manual

I will here provide documention for the sprinkles. But this may take some time...


The pertag2 patch is the heart of most modifications of sprinkles. Other than the old pertag Patch, this one allows to specify option by tag and by layout.

These settings are available by Layout:
  • Gap: width of gap between windows
  • arrange mode

These settings are available by Tag:
  • mfact: ratio between master area the rest
  • bar visibility
  • bar position: top or bottom
  • attachmode: mode of attaching new clients, eg first or last
  • num of clients in master area

It is possible to define different pertag sets for every screen. But this functionality is crap by now. Just define an array "moretags" resembling the tags array, but with number_of_tags * number_of_monitors entrys. The first number_of_tags entrys go on the first Monitor and so on.
Duh, i did say its crap ;)

These will change in the feature. Attachmode will go to per layout. With integration of flextile new options may arise.

The Bar

A lot of efford was put into the bar, it features quite a lot of new functionality.

But since most people like use dzen, sometime soon i will provide compile flags to use the old bar to reduce overhead.


Shows a list of all clients in this tag in the bar. These 'tabs' are clickable. The function focusonclick() needs to be bound to some click to do so. The default is left-click. This patch is based on fancybar.

I observed some bugs lately (sometimes clicking do not work)...


Status of colorbar in trunk:
This patch is based on the now discontinued colorbar patch. The original patch allowed to define up to 8 colors in config.h, and use them with ASCII 1-9 in the bartext.
This is now obsolet, but will remain for some time for compatibility.

It is gone in experimental branch...

Status of colorbar in experimental:
The experimental branch has some more features:

  • ^[fCOLOR; Set foreground color
  • ^[bCOLOR; Set background color
  • ^[hVAL; Display horizontal bar graph
  • ^[vVAL; Display vertical bar graph
  • ^[iNUM: Display Pixmap NUM
  • ^[gNUM,VAL: Display Pixmap NUM as horizontal bar graph
  • ^[GNUM,VAL: Display Pixmap NUM as vertical bar graph
  • ^[dNUM; Delimiter NUM

A COLOR is either given as six or three HEX values, or as 1 or 2 digit NUM. No COLOR sets back the last value.
A VAL is a value from 0-9.
A NUM is a number indicating an Element of an Array defined in config.h

Colors and Delimiters are defined in config.h (see examples), Pixmaps are set in bitmap.h. If you use dwmd, please note that the default pixmaps, colors and delimiters are expected by dwmd.

Other bar stuff

  • monobar: more clean layout, no inverse highlight
  • barline: single line below the bar
  • systray_enable: enable systray
  • systray_spacing: gap between systray icons


By default, dwm attaches a new Window on Top of the Window list, making it the new master. This might by the most wanted behaviour, but some choice might come handy.

  • AttAsFirst: The default
  • AttAsLast: Obvious the oposite
  • AttAbove: attaches the new client just above the selected one
  • AttBelow: again, the oposite
  • AttAside: attaches a client as second in list, making it first in stack

Note: The new Client will always get focus. Thats not intendet, i just had not found out how to change this. Yet.
Note: Note: AttAside only behaves good with 1 client in Master area. Will fix it sometimes.


I added some more Layouts.

  • ntile: like the standart tile, but with n clients in master area
  • bottomstack: like the standart tile, but the stack is below instead of aside the master area
  • grid: ordered grid. might leave blank cells
  • gaplessgrid: not-so-ordered grid. doesnt leave empty cells
  • bstackhoriz: like bstack, but aligns stack clients in full width
  • spiral, dwindle: order the stack in spiral. golden, 'y know?

Note: ntile, bottomstack and bstackhoriz will be swapped for flextile patch.


Transparency needs $file xcompmgr (which seems dead, use $file cairo-compmgr instead) to run. But theres no harm if it doesnt. The default transparency for inactive clients is set by 'shade'. In the rules, a opacity can set for the client even if active. A value higher than 1 defines the transparency for the inactive client. Thus, a value of 2 or higher disables transparency. Usefull for the gimp!


There are some other, small patches:

  • focustoggle: acts like alt-tab
  • togglemax: maximizes a client

total: 3.58ms (include: 0.43, request: 0.19, trace: 0.08, init: 0.63, load: 0, parse: 1.55, menu: 0.24, template: 0.44, minify: 0.02)