aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calmwm.h4
-rw-r--r--conf.c7
-rw-r--r--cwm.18
-rw-r--r--cwmrc.54
-rw-r--r--kbfunc.c5
5 files changed, 18 insertions, 10 deletions
diff --git a/calmwm.h b/calmwm.h
index 8861a34..c6e0246 100644
--- a/calmwm.h
+++ b/calmwm.h
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $OpenBSD: calmwm.h,v 1.333 2016/11/15 00:22:02 okan Exp $
+ * $OpenBSD: calmwm.h,v 1.334 2016/12/01 18:17:52 okan Exp $
*/
#ifndef _CALMWM_H_
@@ -261,6 +261,8 @@ enum menu_exec {
#define CWM_MENU_DUMMY 0x0001
#define CWM_MENU_FILE 0x0002
#define CWM_MENU_LIST 0x0004
+#define CWM_MENU_WINDOW_ALL 0x0008
+#define CWM_MENU_WINDOW_HIDDEN 0x0010
struct menu {
TAILQ_ENTRY(menu) entry;
diff --git a/conf.c b/conf.c
index a8473a7..522c239 100644
--- a/conf.c
+++ b/conf.c
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $OpenBSD: conf.c,v 1.225 2016/12/01 17:17:27 okan Exp $
+ * $OpenBSD: conf.c,v 1.226 2016/12/01 18:17:52 okan Exp $
*/
#include <sys/types.h>
@@ -174,7 +174,10 @@ static const struct {
{ "menu-cmd", kbfunc_menu_cmd, CWM_CONTEXT_SC, {0} },
{ "menu-group", kbfunc_menu_group, CWM_CONTEXT_SC, {0} },
{ "menu-ssh", kbfunc_menu_ssh, CWM_CONTEXT_SC, {0} },
- { "menu-window", kbfunc_menu_client, CWM_CONTEXT_SC, {0} },
+ { "menu-window", kbfunc_menu_client, CWM_CONTEXT_SC,
+ {.i = CWM_MENU_WINDOW_ALL} },
+ { "menu-window-hidden", kbfunc_menu_client, CWM_CONTEXT_SC,
+ {.i = CWM_MENU_WINDOW_HIDDEN} },
{ "menu-exec", kbfunc_menu_exec, CWM_CONTEXT_SC,
{.i = CWM_MENU_EXEC_EXEC} },
{ "menu-exec-wm", kbfunc_menu_exec, CWM_CONTEXT_SC,
diff --git a/cwm.1 b/cwm.1
index 23350b8..2fc12e4 100644
--- a/cwm.1
+++ b/cwm.1
@@ -1,4 +1,4 @@
-.\" $OpenBSD: cwm.1,v 1.56 2016/11/14 13:52:33 okan Exp $
+.\" $OpenBSD: cwm.1,v 1.57 2016/12/01 18:17:52 okan Exp $
.\"
.\" Copyright (c) 2004,2005 Marius Aamodt Eriksen <marius@monkey.org>
.\"
@@ -14,7 +14,7 @@
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd $Mdocdate: November 14 2016 $
+.Dd $Mdocdate: December 1 2016 $
.Dt CWM 1
.Os
.Sh NAME
@@ -219,8 +219,8 @@ Menus are recalled by clicking the mouse on the root window:
.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 list of currently defined windows.
+Selecting an item will warp to that window, unhiding it if necessary.
.It Ic M2
Show list of currently defined groups.
Selecting an item will hide/unhide that group.
diff --git a/cwmrc.5 b/cwmrc.5
index df0c08e..70de6ed 100644
--- a/cwmrc.5
+++ b/cwmrc.5
@@ -1,4 +1,4 @@
-.\" $OpenBSD: cwmrc.5,v 1.64 2016/12/01 17:17:27 okan Exp $
+.\" $OpenBSD: cwmrc.5,v 1.65 2016/12/01 18:17:52 okan Exp $
.\"
.\" Copyright (c) 2004,2005 Marius Aamodt Eriksen <marius@monkey.org>
.\"
@@ -261,6 +261,8 @@ Spawn a new terminal.
Lock the screen.
.It menu-window
Launch window search menu.
+.It menu-window-hidden
+Launch hidden window search menu.
.It menu-cmd
Launch application search menu.
.It menu-group
diff --git a/kbfunc.c b/kbfunc.c
index 6c4aa9a..2a9cc4b 100644
--- a/kbfunc.c
+++ b/kbfunc.c
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $OpenBSD: kbfunc.c,v 1.137 2016/11/15 18:43:09 okan Exp $
+ * $OpenBSD: kbfunc.c,v 1.138 2016/12/01 18:17:52 okan Exp $
*/
#include <sys/types.h>
@@ -298,12 +298,13 @@ kbfunc_menu_client(void *ctx, union arg *arg, enum xev xev)
struct menu *mi;
struct menu_q menuq;
int m = (xev == CWM_XEV_BTN);
+ int all = (arg->i & CWM_MENU_WINDOW_ALL);
old_cc = client_current();
TAILQ_INIT(&menuq);
TAILQ_FOREACH(cc, &sc->clientq, entry) {
- if (m) {
+ if (!all) {
if (cc->flags & CLIENT_HIDDEN)
menuq_add(&menuq, cc, NULL);
} else