Commit Graph

761 Commits

Author SHA1 Message Date
okan
afa59e563a Only when mapping clients from an initial wm start or restart, query the
pointer and if it matches the child window, activate it; new clients
will not need to make this roundtrip to the server.

Based on a patch from Preben Guldberg.
2015-09-23 14:09:40 +00:00
okan
c10cac3b1e 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
ae8386de40 Lost fix from r1.112; add comment.
Reported (again!) by Peter Kane.
2015-08-28 12:07:28 +00:00
okan
cc66816c13 Mechanical change: group->gc 2015-08-27 18:53:14 +00:00
okan
72c4ff3268 Add consistent checks against NULL. 2015-08-27 18:42:56 +00:00
okan
db9c5cf159 Move client cycle grab/ungrab into a more relevant place; while here,
update comments about why we need to grab/ungrab the keyboard.
2015-08-27 18:40:09 +00:00
okan
87e21816fb Re-add lost chunk in group_cycle from r1.113. 2015-08-27 17:43:44 +00:00
okan
b4a6817d50 Further simplify _NET_WM_DESKTOP handling using new group_assign(). 2015-08-25 20:35:49 +00:00
okan
ef6308a4d7 oops; remove left over debug print 2015-08-25 19:52:02 +00:00
okan
5c680bccef Allowing sending a valid 'nogroup' (0) group_ctx to group_assign()
(since we init all groups), though assigning the client's group to NULL
for 'sticky'; use this simplification in a few places (others to
follow).
2015-08-25 19:49:19 +00:00
okan
66a2bc1f37 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
ee0c4ddc88 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
555cb59fca Don't allow freeze operations on fullscreen (consistent with what
fullscreen does).
2015-08-24 14:57:19 +00:00
okan
6752f43126 Sort _NET_WM_STATE Atoms like the spec. 2015-08-24 14:56:10 +00:00
okan
a0e868af33 Move CLIENT_STICKY logic from client hide/unhide to group hide/unhide;
rationale being that clients should be able to hide/unhide independently
of group switching.
2015-08-23 17:31:20 +00:00
okan
b4a045b8c6 Add Xkb modifier to ignore mask; from Alexander Polakov. 2015-08-21 16:53:48 +00:00
okan
ba02c63913 Fix whitespace. 2015-08-21 16:52:37 +00:00
okan
1e8d4a7d04 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
d01e312b01 _NET_WM_STATE_STICKY implies only sticky at the group/desktop level, not
position and size; based on discussion with a few.
2015-08-21 16:14:39 +00:00
okan
8809c816d0 Instead of special casing the 'term' and 'lock' commands, go back to
keeping them hidden; showing them has apparently caused confusion/angst.
2015-08-21 16:05:55 +00:00
okan
d24e89a34a Leave command list order from .cwmrc alone; remove sort. 2015-08-21 15:55:39 +00:00
okan
5640e2e0a3 Bring group and client cycle closer together. 2015-08-21 15:52:49 +00:00
okan
1a1e8c47e8 Alter big move and resize bindings to match what's in cwm(1);
functionally the same, but re-binding should be based on default
bindings. Matches other similiar bindings.

Discovered by a portable user.
2015-08-20 14:45:15 +00:00
okan
8529d9a1c6 introduce 'groupsearch' for group menu search; matches on either group
number/shortcut and/or name.
2015-07-12 14:31:47 +00:00
okan
7dc8db6316 simplify menu print text 2015-07-12 14:21:09 +00:00
okan
0cbfba6ca3 revert previous; seems search_match_text() needs mi->text pre-populated.
(only used in one place, application menu searching); re-visit later.

broken application menu searching reported by Peter Kane.
2015-07-03 17:11:16 +00:00
okan
56fb99c70c style 2015-07-01 14:36:42 +00:00
okan
ee0e8d6843 only special case label matches (and still list); get rid of the rest - matchname is complete enough 2015-07-01 14:29:36 +00:00
okan
cfb0bdf8f5 no longer need to pass down format strings after introducing search_print_cmd 2015-06-30 19:02:24 +00:00
okan
6e095b76d0 Introduce a callback for cmd menu printing, special-casing 'lock' and
'term'.
2015-06-30 18:54:12 +00:00
okan
ccd054aba7 keep cmdq sorted 2015-06-30 18:44:29 +00:00
okan
5fede6d784 style and spacing nits 2015-06-30 18:42:50 +00:00
okan
eb3dae29d1 Re-implement XClientMessage handling so that we can feed screen_find and
client_find valid resources as needed, relieving the need for
screen_find to ungracefully handle invalid root windows. Removes a long
standing XXX.  Should theoretically allow XClientMessage handling on
more than one X screen.  Alter callers of screen_find to handle
failures.
2015-06-30 14:01:43 +00:00
okan
89eefd254e Shuffle code in kbfunc_ssh so that a missing known_hosts file still
allows a (now blank) menu to appear, as opposed to nothing at all.

Behavior reported by Alex Greif.
2015-06-29 14:24:40 +00:00
okan
b7512d9dd0 move client_find down 2015-06-28 19:54:37 +00:00
okan
a585206d81 replace assert usage 2015-06-28 19:50:46 +00:00
okan
0eb3c16128 region is a _ctx, so name it so 2015-06-26 18:54:25 +00:00
okan
933ce723de Mechanical change from xinerama to region backed areas. 2015-06-26 17:17:46 +00:00
okan
44693cc984 collect 'gap' applications 2015-06-26 16:11:21 +00:00
okan
9660be8b0b 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
6aef9ae536 typo in comment; from jsteinha [at] iutbayonne.univ-pau.fr 2015-06-09 13:02:15 +00:00
okan
c049f12cd4 just populating the ctx is enough since the menu uses a callback and ignores anything else 2015-06-08 15:43:13 +00:00
okan
fb854e1538 switch to search_print_client() as the print callback since it will now display labels as well 2015-06-08 15:41:27 +00:00
okan
0a2c4b1939 add client label 2015-06-08 15:34:03 +00:00
okan
5a1ff2b250 stash window dimensions 2015-06-08 15:11:29 +00:00
okan
d7a3230790 clean up 2015-06-08 15:08:44 +00:00
okan
a4ce9f9682 even if the menuq is empty, at least show an empty menu instead of just
bailing making it look like the binding isn't working.
2015-06-07 19:10:00 +00:00
okan
ee2e58a8b1 use the same geometry struct in menus as everywhere else 2015-06-05 18:43:36 +00:00
okan
055ed363c8 add a flag to indicate a menu list instead of overloading 'prompt' 2015-06-05 15:01:51 +00:00
okan
3f1203de8a redundant check for 'list' 2015-06-05 14:54:04 +00:00