Commit Graph

931 Commits

Author SHA1 Message Date
okan
4957b62d80 Teach client_current() to use a screen to find the current client instead of
iterating over all (fallback if no screen provided for now). Initially convert
trivial uses of client_current().
2019-03-07 14:28:17 +00:00
okan
92b42c1713 check cc->gc directly 2019-03-07 13:24:44 +00:00
okan
42f2ef6661 zip extra lines 2019-03-07 13:24:10 +00:00
okan
723d64d135 gc clientq inside groups, instead use the better maintained one per-screen 2019-03-07 13:14:41 +00:00
okan
053c616a9b shuffle deck chairs: rename group actions to match intent for clarity 2019-03-07 12:54:21 +00:00
okan
af76851447 same thing as screen_find() 2019-03-06 13:32:19 +00:00
okan
8fa20d6f43 Separate out the menu window from the client resize/move geom window; in each
case, create and destroy on-demand. Isolate more menu specific code.
2019-03-04 19:28:17 +00:00
okan
9bf0bd42aa fix a few misplaced (and misnamed) ewmh root window functions 2019-03-04 14:48:59 +00:00
okan
edf7ed842c _NET_WORKAREA needs ngroups, so screen_update_geometry() needs to come after
conf_group().
2019-03-04 14:36:02 +00:00
okan
f18d19c6ef simplify xftcolor config 2019-03-04 13:33:39 +00:00
okan
a15d877277 Tie group number and name together during config. 2019-03-01 14:32:01 +00:00
okan
ef3d45ea45 Move the group index (desktop number) check to the only 2 callers that require
checking due to ewmh.
2019-02-28 23:26:12 +00:00
okan
5efe73bca2 Ensure we don't action on the last group when the requested one is not found. 2019-02-28 23:20:52 +00:00
okan
b08a193eaf Selectively hide and show clients based on state; merge client_unhide() and
client_show().
2019-02-28 13:11:53 +00:00
okan
7d83c3f6e3 Add a configtest flag (-n).
based on a diff from Sascha Paunovic.
2019-02-25 18:07:48 +00:00
okan
93ac77f595 Add 'group-close-[n]' action to close all windows within specified group.
heavily based on a diff from Nam Nguyen.
2019-02-25 16:40:49 +00:00
okan
24bbd9245a simplify screen 'area' usage for initial client placement 2019-02-23 19:17:17 +00:00
okan
54c6cee1ed restore order from before r1.248 (vtile/vtile containment changes). 2019-02-22 20:52:13 +00:00
okan
90189b3ce0 Rename internal functions to delinate between client remove, delete and xproto
delete; 'window-close' is now the proper action, but 'window-delete' as an
alias will remain until more interesting changes require breaking configs.
2019-02-22 19:40:32 +00:00
okan
aadf21edf2 Limit vtile/htile actions to clients fully within the screen of master client.
from Charles A Daniels.
2019-02-22 14:39:18 +00:00
okan
c684045919 fix missing includes 2019-02-13 15:43:24 +00:00
okan
7d9a5b3486 Stop asking for events (NoEventMask) from menu window once done with
the menu (we don't destroy it, only unmap).
2018-11-14 19:22:51 +00:00
okan
ee0ce74a2f Allow 'transientfor' clients to inherit group and bwidth either during init or
via property notify events. Previously only the flags were set but nothing was
in the path to apply said flags and/or bwidth. Required slight of re-orgnaization
of client_init.
2018-11-13 17:37:13 +00:00
okan
0a0e524477 merge from base, from sashan@:
> - odd condition/test in PF lexer
> (and other lexers too)
>
> This commit rectifies earlier change:
>
> in the lex... even inside quotes, a \ followed by space or tab should
> expand to space or tab, and a \ followed by newline should be ignored
> (as a line continuation).  compatible with the needs of hoststated
> (which has the most strict quoted string requirements), and ifstated
> (where one commonly does line continuations in strings).
>
> OK deraadt@, OK millert@
2018-11-09 16:00:54 +00:00
okan
2fda12947a Use the original client border width to adjust initial placement of clients
containing {P,US}Position requests where they are explicitly set to 'ignore' in
cwmrc(5); clients are unaware that their border will be altered (removed in
this case) when calcuating position and thus end up a factor of their original
border width off once mapped by cwm(1). cwm(1) will essentially shift the
client to the edge if the original request's position and border match.

Window offset noticed by at least Andre Stoebe via bugs@, and others since
(and likely before). Thanks!
2018-11-08 15:49:42 +00:00
okan
2f18ffa39d Remove unused prototype; from Ross L Richardson. 2018-07-16 14:19:23 +00:00
anton
0fee670a91 Do not print any parse errors when ~/.cwmrc is missing. Regression introduced in
revision 1.109 of calmwm.c.

ok okan@
2018-02-19 19:29:42 +00:00
okan
697099fca8 Store the screen's visual type and colormap. 2018-02-13 15:43:15 +00:00
okan
4943cc002d Consolidate region 'view' and 'area'. 2018-02-13 15:06:22 +00:00
okan
f1e693de1a limit scope of screen_apply_gap() 2018-02-09 20:08:07 +00:00
okan
088c402dd1 Clean up conf_file/homedir and conf_init() bits. 2018-02-09 19:54:54 +00:00
okan
96465e4cd4 Use screen's saved view instead of re-querying the server. 2018-02-06 15:05:20 +00:00
okan
5e4538db44 Slightly expand and expose verbose debugging. 2018-02-04 22:56:26 +00:00
okan
b5c7b4db44 add debugging for x events 2018-02-02 13:50:22 +00:00
okan
231107e041 Add a simple debug logging mechanism. 2018-02-02 13:40:55 +00:00
okan
17954eae66 Simplification; use asprintf where appropriate now. 2018-02-02 13:27:25 +00:00
okan
05e2523486 Use func attributes where appropriate. 2018-02-01 15:17:51 +00:00
okan
5a56fafb12 Fix wins comparison declaration since it's unsigned from XQueryTree(). 2018-01-23 16:18:59 +00:00
okan
ebf71bdff9 Generate name_to_func[] in a clean and readable fashion. 2018-01-23 16:00:21 +00:00
okan
a1afcb2881 Shrink tier[] by one after removing matchname in r1.55. 2018-01-23 13:51:39 +00:00
okan
0ddfd6d206 If the requested group number is invalid, bail but don't kill cwm. 2018-01-23 13:48:49 +00:00
okan
d6b2d66ae6 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
c0bbe24b5b 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
13cc53e0d8 Typo, from Julien Steinhauser. 2017-12-30 22:25:09 +00:00
okan
0bf4ad029c 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
cd4212fc60 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
73d422515c 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
ef78852268 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
832edccdc9 add helper function client_show to bring together like actions for unhide/raise 2017-12-29 12:54:54 +00:00
okan
9c1762c16f Add support for re-exec'ing with SIGHUP; equivalent to the already built-in
'restart' function.
2017-12-27 18:46:18 +00:00