From 1671eb8f4f1ca145fbdde6054bb0bcf0b23c4fbe Mon Sep 17 00:00:00 2001 From: oga Date: Wed, 25 Jun 2008 22:44:42 +0000 Subject: Allow a mouse binding to hide a window, and add a default keybinding for CMS-M3, so it's hard to press by accident, but there if you need it. requested (in a way) and tested by johan and todd. --- calmwm.h | 3 ++- conf.c | 4 +++- cwm.1 | 4 +++- cwmrc.5 | 4 +++- mousefunc.c | 8 +++++++- 5 files changed, 18 insertions(+), 5 deletions(-) diff --git a/calmwm.h b/calmwm.h index 90c9ee2..fa73b58 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. * - * $Id: calmwm.h,v 1.56 2008/06/25 22:37:29 oga Exp $ + * $Id: calmwm.h,v 1.57 2008/06/25 22:44:42 oga Exp $ */ #ifndef _CALMWM_H_ @@ -457,6 +457,7 @@ void mousefunc_window_move(struct client_ctx *, void *); void mousefunc_window_grouptoggle(struct client_ctx *, void *); void mousefunc_window_lower(struct client_ctx *, void *); +void mousefunc_window_hide(struct client_ctx *, void *); void mousefunc_menu_group(struct client_ctx *, void *); void mousefunc_menu_unhide(struct client_ctx *, void *); void mousefunc_menu_cmd(struct client_ctx *, void *); diff --git a/conf.c b/conf.c index d259365..c10a182 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. * - * $Id: conf.c,v 1.45 2008/06/25 22:40:27 oga Exp $ + * $Id: conf.c,v 1.46 2008/06/25 22:44:42 oga Exp $ */ #include "headers.h" @@ -166,6 +166,7 @@ conf_init(struct conf *c) conf_mousebind(c, "CM-1", "window_grouptoggle"); conf_mousebind(c, "M-2", "window_resize"); conf_mousebind(c, "M-3", "window_lower"); + conf_mousebind(c, "CMS-3", "window_hide"); /* Default term/lock */ strlcpy(c->termpath, "xterm", sizeof(c->termpath)); @@ -406,6 +407,7 @@ struct { { "window_grouptoggle", mousefunc_window_grouptoggle, MOUSEBIND_CTX_WIN }, { "window_lower", mousefunc_window_lower, MOUSEBIND_CTX_WIN }, + { "window_hide", mousefunc_window_hide, MOUSEBIND_CTX_WIN }, { "menu_group", mousefunc_menu_group, MOUSEBIND_CTX_ROOT }, { "menu_unhide", mousefunc_menu_unhide, MOUSEBIND_CTX_ROOT }, { "menu_cmd", mousefunc_menu_cmd, MOUSEBIND_CTX_ROOT }, diff --git a/cwm.1 b/cwm.1 index 8b55380..7e13786 100644 --- a/cwm.1 +++ b/cwm.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: cwm.1,v 1.32 2008/06/25 01:09:09 oga Exp $ +.\" $OpenBSD: cwm.1,v 1.33 2008/06/25 22:44:42 oga Exp $ .\" .\" Copyright (c) 2004,2005 Marius Aamodt Eriksen .\" @@ -127,6 +127,8 @@ Toggle a window's membership in the current group. Resize a window/select a window. .It M-M3 Lower a window. +.It CMS-M3 +Hide a window. .El .Pp The options for diff --git a/cwmrc.5 b/cwmrc.5 index c2b5dd5..4fc2a0b 100644 --- a/cwmrc.5 +++ b/cwmrc.5 @@ -1,4 +1,4 @@ -.\" $OpenBSD: cwmrc.5,v 1.13 2008/06/25 22:40:27 oga Exp $ +.\" $OpenBSD: cwmrc.5,v 1.14 2008/06/25 22:44:42 oga Exp $ .\" .\" Copyright (c) 2004,2005 Marius Aamodt Eriksen .\" @@ -314,6 +314,8 @@ move a window resize a window .It window_lower lower a window +.It window_hide +hide a window .It window_grouptoggle toggle group membership of a window .It menu_group diff --git a/mousefunc.c b/mousefunc.c index d8619ac..e4e8e9b 100644 --- a/mousefunc.c +++ b/mousefunc.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. * - * $Id: mousefunc.c,v 1.1 2008/06/14 21:48:54 okan Exp $ + * $Id: mousefunc.c,v 1.2 2008/06/25 22:44:42 oga Exp $ */ #include "headers.h" @@ -48,6 +48,12 @@ mousefunc_window_lower(struct client_ctx *cc, void *arg) client_lower(cc); } +void +mousefunc_window_hide(struct client_ctx *cc, void *arg) +{ + client_hide(cc); +} + void mousefunc_menu_group(struct client_ctx *cc, void *arg) { -- cgit v1.2.3-2-gb3c3