Simple Shitty Opinionated Window Manager)
sowm (
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-6 |
desktop swap |
MOD4 + Shift +1-6 |
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
(usuallylibX11
).
Installation
- Copy
config.def.h
toconfig.h
and modify it to suit your needs. - Run
make
to buildsowm
. - Copy it to your path or run
make install
.DESTDIR
andPREFIX
are supported.
- (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