/sowm

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

Primary LanguageCMIT LicenseMIT

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

Programs

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

Dependencies

  • xlib (usually libX11).

Installation

  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]
Name=sowm
Comment=This session runs sowm as desktop manager
Exec=sowm
Type=Application

Thanks