personal fork of daraps' sowm
Add borders
Merge branch 'master' of https://github.com/dylanaraps/sowm
6ca1ff91 — Dylan Araps 1 year, 11 days ago
docs: update


browse  log 



You can also use your local clone with git send-email.

#sowm (Simple Shitty Opinionated Window Manager)

An itsy bitsy floating window manager (220~ sloc!).

  • Floating only.
  • Fullscreen toggle.
  • Window centering.
  • Mix of mouse and keyboard workflow.
  • Focus with cursor.
  • Rounded corners (through patch)
  • Titlebars (through patch)

  • Alt-Tab window focusing.
  • All windows die on exit.
  • No window borders.
  • No ICCCM.
  • No EWMH.
  • etc etc etc

Patches available here: https://github.com/dylanaraps/sowm/pulls

#Default Keybindings

Window Management

combo action
Mouse focus under cursor
MOD4 + Left Mouse move window
MOD4 + Right Mouse resize window
MOD4 + f maximize toggle
MOD4 + c center window
MOD4 + q kill window
MOD4 + 1-9 desktop swap
MOD4 + Shift +1-9 send window to desktop
MOD1 + TAB (alt-tab) focus cycle


combo action program
MOD4 + Return terminal st
MOD4 + d dmenu dmenu_run
MOD4 + p scrot scr
MOD4 + w wallpaper cycler bud
XF86_AudioLowerVolume volume down amixer
XF86_AudioRaiseVolume volume up amixer
XF86_AudioMute volume toggle amixer
XF86_MonBrightnessUp brightness up bri
XF86_MonBrightnessDown brightness down bri


  • xlib (usually libX11).


  1. Copy config.def.h to config.h and modify it to suit your needs.
  2. Run make to build sowm.
  3. Copy it to your path or run make install.
    • DESTDIR and PREFIX are supported.
  4. (Optional) Apply patch with git apply patches/patch-name
    • In case of applying multiple patches, it has to be done manually.

If you are using GDM, save the following to /usr/share/xsessions/sowm.desktop. It is still recommended to start sowm from .xinitrc or through your own xinit implementation.

[Desktop Entry]
Comment=This session runs sowm as desktop manager


  • 2bwm
  • SmallWM
  • berry
  • catwm
  • dminiwm
  • dwm
  • monsterwm
  • openbox
  • possumwm
  • swm
  • tinywm