Get out of my way, Window Manager!
C Other Other
Latest commit 25c9a12 May 17, 2015 @seanpringle seanpringle Merge pull request #30 from TomNomNom/master
Guard box_hide call on client_close
Permalink
Failed to load latest commit information.
.gitignore version reporting Jul 26, 2012
LICENSE license file name Aug 27, 2012
Makefile add -appkeys option to swap tag/app key sets Oct 4, 2012
Makefile.freebsd Add a FreeBSD Makefile Jul 25, 2012
PKGBUILD PKGBUILD template Aug 10, 2012
PKGBUILD-git PKGBUILDs Jul 22, 2012
README.md misc, non-code changes Jun 29, 2012
box.c remove excess code Aug 29, 2012
cli.c adjust cli wait-time Jul 30, 2012
client.c Guard box_hide call on client_close May 16, 2015
ewmh.c housekeeping, keep mem usage down Jul 21, 2012
goomwwm.1 Parameter "warpmode": Add option "follow" Jul 8, 2013
goomwwm.c simple box window handler Aug 24, 2012
goomwwm.desktop desktop session Jul 18, 2012
goomwwm.h Parameter "warpmode": Add option "follow" Jul 8, 2013
goomwwm.md add -appkeys option to swap tag/app key sets Oct 4, 2012
grab.c make key binding more flexible allowing custom modifiers Jul 17, 2012
handle.c Parameter "warpmode": Add option "follow" Jul 8, 2013
menu.c pass correct timestamp in ClientMessage-es Aug 24, 2012
monitor.c limit struts to 1/3 of screen Aug 8, 2012
proto.h remove excess code Aug 29, 2012
rule.c configurable prompt> for menu() calls Jul 25, 2012
screenshot-thumb.jpg updated screenshot Jul 20, 2012
screenshot.jpg updated screenshot Jul 20, 2012
tag.c dock handling regression Aug 9, 2012
textbox.c implement simple textbox to handle titles, menu, prompt Aug 19, 2012
util.c remove excess code Aug 29, 2012
version.h version reporting Jul 26, 2012
window.c pass correct timestamp in ClientMessage-es Aug 24, 2012
winlist.c simplify to handle a single X screen/root. simpler to start another p… Jul 15, 2012
wm.c Parameter "warpmode": Add option "follow" Jul 8, 2013

README.md

goomwwm

Get out of my way, Window Manager!

goomwwm is an X11 window manager implemented in C as a cleanroom software project. It manages windows in a minimal floating layout, while providing flexible keyboard-driven controls for window switching, sizing, moving, tagging, and tiling. It is also fast, lightweight, modeless, Xinerama-aware, and EWMH compatible wherever possible.

Keyboard window movement occurs on a 3x3 fullscreen grid. For example, a top-left aligned window moved to the right would reappear top-center, and if moved again, top-right.

Keyboard window sizing moves windows through four basic sizes that tile well: 1/9th of screen (1/3 width, 1/3 height), 1/4th, 4/9th, and fullscreen. Combined with EWMH horizontal and vertical maxmimization, plus some snap-to-edge and expand-to-fill-space controls, manual tiling is easy.

Windows are grouped by tags. Activating a tag raises all windows in the tag. A window may have multiple tags. EWMH panels, pagers, and taskbars see tags as desktops.

For more detail, see this tutorial and the included man page.

Alt text

Alt text

Alt text

Alt text