portable version of OpenBSD's cwm(1) window manager
Go to file
oga fa87ef4a9e Finally fix the really annoying race where if you rapidly switch groups several
times you'd end up losing clients (thinking they had gone away).

From the ICCCM (which should not be read without a stiff drink in hand,
I made this mistake so you don't have to): to request a window to be
withdrawn one should send a synthetic UnmapRequest event when iconified.
To request iconification one should just unmap the window. The ICCM
further recommends that the synthetic event should just be taken as a
cue to withdraw, to deal with legacy clients. Taking a hint from this,
rework xev_handle_unmaprequest to correctly detect these situations.  A
Withdrawn window may come back anywhere, even as a subwindow of
something else, so the correct way to handle this state is to forget it
ever existed.

While i'm here, kill a dumb attempt to notice this in client_delete, and
nuke the very unnecessary arguments.

Todd confirmed this fixes the `race'.

ok todd@, ok ok okan@
2009-01-17 18:41:50 +00:00
calmwm.c remove pwin, bringing us to one client, one window. we no longer have 2009-01-16 15:24:14 +00:00
calmwm.h Finally fix the really annoying race where if you rapidly switch groups several 2009-01-17 18:41:50 +00:00
client.c Finally fix the really annoying race where if you rapidly switch groups several 2009-01-17 18:41:50 +00:00
conf.c remove pwin, bringing us to one client, one window. we no longer have 2009-01-16 15:24:14 +00:00
cwm.1 .Bl needs a matching .El. From Martin Toft a while ago, thanks! 2008-09-22 14:37:12 +00:00
cwmrc.5 Improve wording of the ``ignore'' directive. From Martin Toft a while 2008-09-22 14:35:16 +00:00
font.c better cast; noticed by ray@ 2009-01-13 15:25:43 +00:00
group.c remove pwin, bringing us to one client, one window. we no longer have 2009-01-16 15:24:14 +00:00
headers.h remove pwin, bringing us to one client, one window. we no longer have 2009-01-16 15:24:14 +00:00
input.c spacing, declaration lineup to be consistent throughout cwm, 2008-07-11 14:21:28 +00:00
kbfunc.c remove pwin, bringing us to one client, one window. we no longer have 2009-01-16 15:24:14 +00:00
LICENSE All of the 9wm code in cwm has been removed or re-written. Edit LICENSE 2008-01-16 16:14:55 +00:00
Makefile Add -Wall to CFLAGS, it's helped find a few dodgy constructs. 2009-01-11 21:48:27 +00:00
menu.c spacing, declaration lineup to be consistent throughout cwm, 2008-07-11 14:21:28 +00:00
mousefunc.c remove pwin, bringing us to one client, one window. we no longer have 2009-01-16 15:24:14 +00:00
parse.y shortcut_to_name should not be defined as static in a header file. Put 2009-01-11 21:46:48 +00:00
README hit it with the knf stick. 2008-04-15 20:24:41 +00:00
screen.c - add missing prototypes. 2009-01-15 00:32:35 +00:00
search.c Display the current window title not a previous one in the case of 2008-09-22 14:15:03 +00:00
TODO remove "search should ignore the current window" from list, for the 2009-01-06 00:41:09 +00:00
util.c spacing, declaration lineup to be consistent throughout cwm, 2008-07-11 14:21:28 +00:00
xevents.c Finally fix the really annoying race where if you rapidly switch groups several 2009-01-17 18:41:50 +00:00
xmalloc.c spacing, declaration lineup to be consistent throughout cwm, 2008-07-11 14:21:28 +00:00
xutil.c Add xu_key_ungrab() and a mirror to xu_key_ungrab(). a couple of changes 2008-07-22 20:26:12 +00:00

--------------------------------------------------------------------------------
cwm release three
--------------------------------------------------------------------------------
   by Marius Aamodt Eriksen <marius@monkey.org>
   contributions by Andy Adamson <dros@monkey.org>,
                    Niels Provos <provos@monkey.org>,
                    Martin Murray <mmurray@monkey.org>,
                    Dimitris Economou <dimeco@stanford.edu> &
                    Antti Nykänen <aon@iki.fi>.

   http://monkey.org/~marius/cwm

DESCRIPTION

   cwm is a window manager initially inspired by evilwm[1].  It
   developed out of modifications to evilwm, but eventually the code
   base of evilwm did not accomodate well for the new features added.
   So calmwm was written from scratch.

   Its main goal is to be as efficient as possible, while providing
   a very clean, simple & attractive aesthetic.

   cwm has several novel features, including the ability to search
   for windows.

HIGHLIGHTS IN RELEASE TWO

   * Improved alt-tabbing, including the ability to reverse cycle.
   * Display of a context menu when alt-tabbing, showing the previous,
     current and next window in the cycle order.
   * Much improved ranking in search.
   * In search-menus, the ability to list every item.

HIGHLIGHTS IN RELEASE THREE

   * More search ranking improvements
   * Many contributions by Antti Nykänen: keyboard binding "i18n",
     show window labels in minimized window menu, automatic window
     grouping, MWM hints support & some bug fixes.
   * Xft support & the addition of the -f flag (see manpage).

INSTALL

   ./configure
   make
   su
   make install

DOCUMENTATION

   See the manpage cwm(1).

LICENSE

   cwm is distributed under a BSD like license. Please see the LICENSE
   file or the top of any source file for more information.

[1] http://evilwm.sourceforge.net/