For 2 reasons, I'd like to change M1 (mouse-button1) menu from
displaying only hidden windows to showing all windows.
- this is the only menu that differs between mouse and keyboard
invocations (kbd one shows all)
- allows using this menu to switch to unhidden/showing windows
that happen to be on another screen (but still visable)
Of course, search_print_client() will anotate each client's state, such
as done in other menus.
Minimal diff below, leaving out the renaming and related stuff so it's
not referenced only as 'unhide'.
Objections?
Thanks,
Okan
Index: cwm.1
===================================================================
RCS file: /home/open/cvs/xenocara/app/cwm/cwm.1,v
retrieving revision 1.53
diff -u -p -r1.53 cwm.1
--- cwm.1 21 Aug 2015 16:52:37 -0000 1.53
+++ cwm.1 6 Nov 2015 17:39:33 -0000
@@ -224,8 +224,8 @@ Menus are recalled by clicking the mouse
.Pp
.Bl -tag -width Ds -offset indent -compact
.It Ic M1
-Show list of currently hidden windows.
-Selecting an item will unhide that window.
+Show the list of windows.
+Selecting an item will unhide, if nessecary, and warp to that window.
.It Ic M2
Show list of currently defined groups.
Selecting an item will hide/unhide that group.
Index: mousefunc.c
===================================================================
RCS file: /home/open/cvs/xenocara/app/cwm/mousefunc.c,v
retrieving revision 1.98
diff -u -p -r1.98 mousefunc.c
--- mousefunc.c 21 Aug 2015 16:14:39 -0000 1.98
+++ mousefunc.c 6 Nov 2015 17:21:08 -0000
@@ -207,15 +207,14 @@ mousefunc_menu_unhide(struct client_ctx
TAILQ_INIT(&menuq);
TAILQ_FOREACH(cc, &sc->clientq, entry) {
- if (cc->flags & CLIENT_HIDDEN) {
- menuq_add(&menuq, cc, NULL);
- }
+ menuq_add(&menuq, cc, NULL);
}
if ((mi = menu_filter(sc, &menuq, NULL, NULL, CWM_MENU_LIST,
NULL, search_print_client)) != NULL) {
cc = (struct client_ctx *)mi->ctx;
- client_unhide(cc);
+ if (cc->flags & CLIENT_HIDDEN)
+ client_unhide(cc);
if (old_cc != NULL)
client_ptrsave(old_cc);
client_ptrwarp(cc);