Change 'menu-window' to display all windows; then add 'menu-window-hidden' for

the previous behaviour of 'menu-window'.  'menu-window' becomes the default
binding; use 'bind-mouse "1" menu-window-hidden' to restore old behaviour for
those who prefer.

OK sthen@ (long long time ago on a different version)
This commit is contained in:
okan 2016-12-01 18:17:52 +00:00
parent 58b2eb545f
commit 5a905031f4
5 changed files with 18 additions and 10 deletions

View File

@ -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;

View File

@ -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,

View File

@ -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.

View File

@ -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

View File

@ -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