sowm (~~Simple~~ Shitty Opinionated Window Manager)

October 21, 2020 ยท View on GitHub

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

comboaction
Mousefocus under cursor
MOD4 + Left Mousemove window
MOD4 + Right Mouseresize window
MOD4 + fmaximize toggle
MOD4 + ccenter window
MOD4 + qkill window
MOD4 + 1-6desktop swap
MOD4 + Shift +1-6send window to desktop
MOD1 + TAB (alt-tab)focus cycle

Programs

comboactionprogram
MOD4 + Returnterminalst
MOD4 + ddmenudmenu_run
MOD4 + pscrotscr
MOD4 + wwallpaper cyclerbud
XF86_AudioLowerVolumevolume downamixer
XF86_AudioRaiseVolumevolume upamixer
XF86_AudioMutevolume toggleamixer
XF86_MonBrightnessUpbrightness upbri
XF86_MonBrightnessDownbrightness downbri

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