Commit Graph

1137 Commits

Author SHA1 Message Date
okan 14c17b5f9b Slightly expand and expose verbose debugging. 2018-02-04 22:56:26 +00:00
okan 8623c7add7 add debugging for x events 2018-02-02 13:50:22 +00:00
okan 34e15dbd7a Add a simple debug logging mechanism. 2018-02-02 13:40:55 +00:00
okan 9bf750b054 Simplification; use asprintf where appropriate now. 2018-02-02 13:27:25 +00:00
okan 174537f29e Use func attributes where appropriate. 2018-02-01 15:17:51 +00:00
okan f34e659ca7 Fix wins comparison declaration since it's unsigned from XQueryTree(). 2018-01-23 16:18:59 +00:00
okan 03a2e9cf05 Generate name_to_func[] in a clean and readable fashion. 2018-01-23 16:00:21 +00:00
okan 5324f9a4e3 Shrink tier[] by one after removing matchname in r1.55. 2018-01-23 13:51:39 +00:00
okan 8675b5e158 If the requested group number is invalid, bail but don't kill cwm. 2018-01-23 13:48:49 +00:00
okan e99f1d4683 Quick fix: exit after a failed execvp in u_spawn instead; previously we did in
u_exec, but the introduction of re-exec'ing the previous invocation of cwm if
'exec_wm' failed missed the 'exec' failing path. Will likely split out as a
proper fix.

Odd behaviour reported by Ve Telko.
2018-01-08 16:21:54 +00:00
okan 50c0a4eef6 Only exec the fallback when in CWM_EXEC_WM state.
Broken quit noticed by Ve Telko.
2018-01-02 14:04:58 +00:00
okan 5672d5d203 Typo, from Julien Steinhauser. 2017-12-30 22:25:09 +00:00
okan 15ca9c03ba If the replacement window manager fails to start, restart the fallback (the
original invocation of cwm).
2017-12-29 20:09:19 +00:00
okan 6e7dbf5bb7 Convert menu-exec-wm from an abritrary exec menu, into a config-based menu from
which one may configure (wm <name> <path_and_args>) (and choose) specific
window managers to replace the running one. 'wm cwm cwm' is included by
default.

No objections and seems sensible to sthen.
2017-12-29 20:03:46 +00:00
okan 43db5b55ea As done for buttonrelease, work specific un-cycling and un-highlighting actions
into the keyrelease event, only performing what's actually needed for each;
should result in much fewer events against keyreleases. No intended behaviour
change.

Additionally, like we do for group membership, grab the keyboard only when
required for cycling.
2017-12-29 18:50:43 +00:00
okan ba75c13953 Merge group_toggle_membership_leave into the buttonrelease event and only do
border work for a group/ungroup action.
2017-12-29 16:55:50 +00:00
okan 5ddaed415c add helper function client_show to bring together like actions for unhide/raise 2017-12-29 12:54:54 +00:00
okan 156681f0a5 Add support for re-exec'ing with SIGHUP; equivalent to the already built-in
'restart' function.
2017-12-27 18:46:18 +00:00
okan 3d7c82936e Use poll and XNextEvent to replace XNextEvent blocking inside the x11 event
handler.
2017-12-27 17:04:35 +00:00
okan 03e5d86952 zap stray that snuck in 2017-12-22 21:30:01 +00:00
okan dfaf44c0ac Return the connection number for the display. 2017-12-22 21:27:45 +00:00
okan c5d03b0853 Fix a few comments and while here, wrap some long lines. 2017-12-22 21:21:44 +00:00
okan 18a53717ae Use a variable to keep track of flags for menu_filter(). 2017-12-19 19:38:43 +00:00
okan bc5215f41a Add support for _NET_WM_STATE_SKIP_PAGER and _NET_WM_STATE_SKIP_TASKBAR; eerily
close to cwm's 'ignore'.

Roughly based on an initial diff from Walter Alejandro Iglesias, but with
support for both Atoms and without cwm-based bindings.
2017-12-19 14:30:53 +00:00
okan 5e5d06f063 remove duplicate ExposureMask 2017-12-15 13:13:17 +00:00
okan 64ff5f399a move variable declarations up, to match everything else 2017-12-13 15:10:17 +00:00
okan add109c006 clean up after previous (noprompt removal) 2017-12-12 15:37:16 +00:00
okan 888f6c5319 Unconditionally show prompt on menus, regardless of invocation. 2017-12-11 20:58:18 +00:00
okan a0774f4777 cvsimport
* refs/heads/master:
  Original idea from Dimitris Papastamos to move windows to corners a while ago; re-proposed by Julien Steinhauser with an updated diff. Apparently this was in the original calmnwm.
  give command and group menus their own match callbacks
  stash dir into conf since it'll be of use
  organize this a bit better
  spacing
2017-12-07 16:25:33 +00:00
okan 0fc9d47fb4 Original idea from Dimitris Papastamos to move windows to corners a while ago;
re-proposed by Julien Steinhauser with an updated diff. Apparently this was in
the original calmnwm.

However, expand the original idea and let clients 'snap' to edges instead,
neatly allowing key bindings that snap to adjacent edges (i.e. corners) as
well. No default bindings assigned.
2017-12-07 16:25:33 +00:00
okan f0524fe07a give command and group menus their own match callbacks 2017-12-07 16:03:10 +00:00
okan b06ddae624 stash dir into conf since it'll be of use 2017-12-07 15:47:14 +00:00
okan 0d76265e23 organize this a bit better 2017-12-07 15:40:54 +00:00
okan 592e8efaee spacing 2017-12-07 15:39:47 +00:00
okan dd5f951205 cvsimport
* refs/heads/master:
  Revert r1.109 (Switch to XWindowEvent() pulling out events that match the mask *and* window.) of mousefunc.c. When a client destroys itself while we are moving or resizing it, XWindowEvent() blocks. Found the hard way by Anton Lazarov, and Lea°hNeukirchen found the right bit to revert - thanks! Reverting since the reason to switch from XMaskEvent was unclear.
2017-11-30 18:18:51 +00:00
okan d9d6b4f88f Revert r1.109 (Switch to XWindowEvent() pulling out events that match the mask
*and* window.) of mousefunc.c. When a client destroys itself while we are
moving or resizing it, XWindowEvent() blocks. Found the hard way by Anton
Lazarov, and Lea°hNeukirchen found the right bit to revert - thanks! Reverting
since the reason to switch from XMaskEvent was unclear.
2017-11-30 18:18:51 +00:00
Leah Neukirchen c36c5063e8 README: update 2017-10-17 19:01:20 +02:00
okan 7d7e256396 Case matters for menu matching on executables; from ben@lloyd.im. 2017-09-06 14:15:13 +00:00
okan 087b803b45 cvsimport
* refs/heads/master:
  Case matters for menu matching on executables; from ben@lloyd.im.
2017-09-06 14:15:13 +00:00
Leah Neukirchen 5a46349ec7 cvsimport
* refs/heads/master:
  Use the key names from keysymdef.h in the default key bindings list for clarification.
  remove extra parentheses
  Pull over the remaining re-implemented window move/resize functions and create a wrapper so that the key and mouse based move/resize callbacks can be unified. This has already been done with other window operations and menus.
  rename one function, matching others, to help upcoming change
2017-07-27 15:07:12 +02:00
okan 8dee1182a2 Use the key names from keysymdef.h in the default key bindings list for
clarification.

from Michael Reed.
2017-07-21 15:55:37 +00:00
okan 60ed85c50f remove extra parentheses 2017-07-14 18:01:46 +00:00
okan c039e7fb8c Pull over the remaining re-implemented window move/resize functions and create
a wrapper so that the key and mouse based move/resize callbacks can be unified.
This has already been done with other window operations and menus.
2017-07-14 17:23:38 +00:00
okan aefc0bf0fb rename one function, matching others, to help upcoming change 2017-07-12 16:56:26 +00:00
Leah Neukirchen 8908e5ec42 drop fgetln.c 2017-07-11 13:17:45 +02:00
Leah Neukirchen 1ceb2dd795 cvsimport
* refs/heads/master:
  Replace fgetln(3) with POSIX getline(3); inspired by brynet and Ingo.
  fix a few WARNINGS (new sentence, new line and extraneous Pp macro) found with mandoc -Tlint
  from src, by espie@: no need to generate y.tab.h if nothing uses it, set YFLAGS to nothing
2017-07-11 13:15:08 +02:00
okan d179dfdeb9 Replace fgetln(3) with POSIX getline(3); inspired by brynet and Ingo.
feedback and ok brynet@
2017-07-10 13:36:58 +00:00
okan f94fde51fb fix a few WARNINGS (new sentence, new line and extraneous Pp macro) found with
mandoc -Tlint
2017-07-06 17:09:17 +00:00
okan eb79ce65c9 from src, by espie@:
no need to generate y.tab.h if nothing uses it, set YFLAGS to nothing
2017-07-06 17:01:10 +00:00
okan 4040f112e1 cvsimport
* refs/heads/master:
  drop obsolete comment
  Alter callbacks to take a struct instead of a growing number of arguments; greatly simplifies upcoming work.
  Ensure clients stay within the viewable bounds on placement, even with empty borders; based on a patch from Vadim Vygonets.
  Clean up, unify and accurately calculate edge distance with client move/resize actions, so as to not lose windows off the edge.
  Switch bwidth type; unfortunately X11 is inconsistent.
2017-05-09 18:43:40 +00:00