okan
d40820d3f3
Stash wmname into conf.
2016-10-05 13:10:59 +00:00
okan
a37606c63f
When removing xrandr regions, ensure clients are within the bounds of
...
the screen; adapted from an ancient diff from Sviatoslav Chagaev. Things
in this area will likely change, but put this in so it works now and
serves as a reminder.
2016-10-04 20:15:55 +00:00
okan
5c13775d31
Calculate client nameqlen in client_setname(), the only place it's
...
needed/used.
2016-10-04 15:52:32 +00:00
okan
9306c1fbd3
Turn CALMWM_NGROUPS define into variable, ngroups.
2016-10-04 15:18:20 +00:00
okan
8aa5033d12
Start simplifying menu code; and in turn, remove a cursor no longer
...
needed.
2016-10-03 18:43:49 +00:00
okan
03f5dc219e
Defaults are split between defines and conf_init(); normalize these, as
...
well as give 'sticky' groups its own variable.
2016-10-03 14:42:34 +00:00
okan
1d3a6905f1
remove unused proto
2016-09-30 21:44:51 +00:00
okan
2d8f621b8d
Use instinsic X11 functions for key/btn/ptr grab/ungrab/regrab requests;
...
the one line wrappers provided no value and limited altering calls where
needed; additionally, most of them had but one caller.
2016-09-30 18:28:06 +00:00
okan
8b26a43bf1
Replace mousefunc_sweep_draw() with a generic menu_windraw() using va
...
lists; use it appropriately for both window dimension and position in
the respective mousefunc calls.
ok bryent@
2016-09-30 15:12:19 +00:00
okan
0e8c706633
Mechanical change: move screen menu bits to their own struct.
2016-09-29 00:21:55 +00:00
okan
92b81d3df5
Inline Xft draw and extents wrappers; too much abstraction.
2016-09-28 17:06:33 +00:00
okan
57b2a6cf79
Continue merging kb and mouse functions: fold
...
mousefunc_menu_{client,cmd,group} into the respective
kbfunc_menu_{client,cmd,group} functions; simply pass a flag down from
config denoting mouse action behaviour.
2016-09-22 14:36:03 +00:00
okan
08631748fd
de-static client_inbound()
2016-09-20 19:11:19 +00:00
okan
6a53e3a859
During init, query screen for _NET_ACTIVE_WINDOW and set that client as
...
active; while we already look at what's under the pointer, use this
information first, then look under the pointer (saving that round-trip).
This restores the active state to a client after restart even if the
pointer is not above it (and of course the pointer is not above another
client).
2016-09-16 14:32:02 +00:00
okan
323672ace7
more client vs screen context differences
2015-11-12 21:28:03 +00:00
okan
9a48836ceb
Move kb pointer movement out of the kbfunc_client_moveresize since it's
...
got nothing to do with clients, thus doing flags work causes lots of
waste and almost useless jumpy pointer movements; while here, split out
move and resize since they share almost no code, just like mouse client
move/resize; factor out amount and factor. Still wonder why this is
here, but it works now.
2015-11-12 18:26:41 +00:00
okan
00bdd48b1d
Partial revert of replacing screen_area() with region_find(); until a
...
fix for a regression is found; this bug has been around for a long time
it seems, but this change exposed it. Likely need to track clients in to
and out of regions.
2015-11-11 14:22:01 +00:00
okan
e20110f344
Start cleaning up name vs function differences; replace magic numbers.
2015-11-10 20:05:33 +00:00
okan
31c74e9157
Clean up unused defines.
2015-11-09 20:15:23 +00:00
okan
d7bd299819
Extend region to include both view and work areas; switch to
...
region_find() which no longer needs to recalculate gap each time
a client (or menu) is created or altered. If no RandR, fall back
to display dimensions while building regions instead of during
execution.
2015-11-09 20:03:29 +00:00
okan
0fdcf3f3df
On execwm, we should properly release resources before exec'ing into a
...
new window manager; so allow CWM_EXEC_WM to assign new wm to wm_argv and
pass through cwm_status (now EXECWM) so that x_teardown() gets called
before exec'ing the new window manager. Removes the need for a separate
x_restart() now, using new wm_argv; and consolidates errno for execvp.
2015-09-16 17:58:25 +00:00
okan
28d4001eca
Mechanical change: group->gc
2015-08-27 18:53:14 +00:00
okan
96262a6b0c
Split out sticky mode checks and the restoring of a client's group and
...
_NET_WM_DESKTOP from the config-based auto-grouping; no (intentional)
behavior changes. Needed for further work in cleaning up this area.
2015-08-25 18:29:10 +00:00
okan
dcfbc9e809
Implement _NET_CLIENT_LIST_STACKING (from Thomas Admin), but
...
bottom-to-top order, as per spec (notified Thomas as well).
2015-08-24 15:42:57 +00:00
okan
4269ea0463
Sort _NET_WM_STATE Atoms like the spec.
2015-08-24 14:56:10 +00:00
okan
ae9306748b
Add Xkb modifier to ignore mask; from Alexander Polakov.
2015-08-21 16:53:48 +00:00
okan
cd3bbb1c9c
Fix whitespace.
2015-08-21 16:52:37 +00:00
okan
1d31f9000c
Add client freeze extension to _NET_WM_STATE Atom, allowing flag to
...
persist. As usual with new Atoms, requires X restart.
2015-08-21 16:30:02 +00:00
okan
0d13b7c220
introduce 'groupsearch' for group menu search; matches on either group
...
number/shortcut and/or name.
2015-07-12 14:31:47 +00:00
okan
5d8027b75d
Introduce a callback for cmd menu printing, special-casing 'lock' and
...
'term'.
2015-06-30 18:54:12 +00:00
okan
66bc416217
Mechanical change from xinerama to region backed areas.
2015-06-26 17:17:46 +00:00
okan
90288e2fc3
collect 'gap' applications
2015-06-26 16:11:21 +00:00
okan
8aa40078d1
Replace screen region info gathering with XRandR equivalent of Xinerama
...
queries (currently act on XRandR events anyway). Fall-back mode without
XRandR is still what X provides. This removes -lXinerama.
2015-06-26 15:21:58 +00:00
okan
ee400b08a8
typo in comment; from jsteinha [at] iutbayonne.univ-pau.fr
2015-06-09 13:02:15 +00:00
okan
9180bb1a06
stash window dimensions
2015-06-08 15:11:29 +00:00
okan
a4cba7e113
add a flag to indicate a menu list instead of overloading 'prompt'
2015-06-05 15:01:51 +00:00
okan
b1c2046efd
merge kbd and mouse grouptoggle
2015-05-21 00:37:04 +00:00
okan
31d4fe9f33
fill in mwm defines
2015-05-20 23:54:39 +00:00
kspillner
d328f63c7d
Make window name and window class separate parameters to conf_autogroup.
...
No functional change, but will be used shortly.
ok okan@
2015-05-17 04:34:01 +00:00
okan
a4a414b68b
Introduce a xreallocarray and convert a few xcalloc instances that do
...
not require zero'ing.
2015-03-28 23:12:47 +00:00
okan
bad97699f9
Simplify key/mb binding moving argtype into flags and dropping another
...
variable; removes the need to zero out struct binding, leaving a simple
malloc.
2015-03-26 21:41:43 +00:00
okan
7936b9b2a7
Switch to limits.h; replace MAXPATHLEN and MAXHOSTNAMELEN with PATH_MAX
...
and HOST_NAME_MAX+1, respectively.
ok doug@
2015-01-19 14:54:16 +00:00
okan
836c9f49d6
make group_init work like other *_init's
2014-10-08 12:48:51 +00:00
okan
e9dbd150ea
these have nothing to do with 'sticky', but rather group membership; rename.
2014-09-27 19:04:32 +00:00
okan
845e82015c
Update _NET_CURRENT_DESKTOP with the screen's group_active->num.
2014-09-23 14:25:08 +00:00
okan
cb65869d7a
Move stuff that doesn't belong in group_init; while here, explicitly
...
initialize hideall and cycling.
2014-09-23 13:45:48 +00:00
okan
8fd0f43ec2
these client actions are just toggles; less confusing with better names
2014-09-17 18:41:44 +00:00
okan
736d973f46
Use a similarly named check as sticky for hidden check in a group.
2014-09-17 16:32:53 +00:00
okan
a61812d52d
Implement EWMH _NET_WM_STATE_HIDDEN.
2014-09-17 16:00:44 +00:00
okan
74f4a1bad9
Introduce a check to see if a group holds only 'sticky' clients and use
...
this check to decide if a group is virtually empty. Rationale: if a
group contains *only* 'sticky' clients, it should be skipped while
cycling through groups. Apply similar logic to the group menu.
Based on an idea from phessler@, who also tested another version.
2014-09-17 14:31:37 +00:00