aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--calmwm.h4
-rw-r--r--conf.c11
-rw-r--r--cwmrc.58
-rw-r--r--group.c19
-rw-r--r--kbfunc.c8
5 files changed, 44 insertions, 6 deletions
diff --git a/calmwm.h b/calmwm.h
index f512ebc..3ea85c8 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.84 2009/04/15 14:01:45 okan Exp $
+ * $Id: calmwm.h,v 1.85 2009/05/14 16:24:04 oga Exp $
*/
#ifndef _CALMWM_H_
@@ -438,6 +438,8 @@ void kbfunc_cmdexec(struct client_ctx *, union arg *);
void kbfunc_client_label(struct client_ctx *, union arg *);
void kbfunc_client_delete(struct client_ctx *, union arg *);
void kbfunc_client_group(struct client_ctx *, union arg *);
+void kbfunc_client_grouponly(struct client_ctx *,
+ union arg *);
void kbfunc_client_cyclegroup(struct client_ctx *,
union arg *);
void kbfunc_client_nogroup(struct client_ctx *,
diff --git a/conf.c b/conf.c
index ac4097f..dd4b597 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.58 2009/05/04 19:13:33 okan Exp $
+ * $Id: conf.c,v 1.59 2009/05/14 16:24:04 oga Exp $
*/
#include "headers.h"
@@ -272,6 +272,15 @@ struct {
{ "group7", kbfunc_client_group, 0, {.i = 7} },
{ "group8", kbfunc_client_group, 0, {.i = 8} },
{ "group9", kbfunc_client_group, 0, {.i = 9} },
+ { "grouponly1", kbfunc_client_grouponly, 0, {.i = 1} },
+ { "grouponly2", kbfunc_client_grouponly, 0, {.i = 2} },
+ { "grouponly3", kbfunc_client_grouponly, 0, {.i = 3} },
+ { "grouponly4", kbfunc_client_grouponly, 0, {.i = 4} },
+ { "grouponly5", kbfunc_client_grouponly, 0, {.i = 5} },
+ { "grouponly6", kbfunc_client_grouponly, 0, {.i = 6} },
+ { "grouponly7", kbfunc_client_grouponly, 0, {.i = 7} },
+ { "grouponly8", kbfunc_client_grouponly, 0, {.i = 8} },
+ { "grouponly9", kbfunc_client_grouponly, 0, {.i = 9} },
{ "nogroup", kbfunc_client_nogroup, 0, {0} },
{ "cyclegroup", kbfunc_client_cyclegroup, 0, {.i = CWM_CYCLEGROUP} },
{ "rcyclegroup", kbfunc_client_cyclegroup, 0, {.i = CWM_RCYCLEGROUP} },
diff --git a/cwmrc.5 b/cwmrc.5
index 7b822a9..e6d3388 100644
--- a/cwmrc.5
+++ b/cwmrc.5
@@ -1,4 +1,4 @@
-.\" $OpenBSD: cwmrc.5,v 1.22 2009/05/04 22:01:35 okan Exp $
+.\" $OpenBSD: cwmrc.5,v 1.23 2009/05/14 16:24:04 oga 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: May 4 2009 $
+.Dd $Mdocdate: May 14 2009 $
.Dt CWMRC 5
.Os
.Sh NAME
@@ -242,6 +242,10 @@ Launch
menu.
.It group[n]
Select group n, where n is 1-9.
+.It grouponly[n]
+Like
+.Ar group[n]
+but also hides the other groups.
.It nogroup
Select all groups.
.It grouptoggle
diff --git a/group.c b/group.c
index ffe6b5f..fb7b7b7 100644
--- a/group.c
+++ b/group.c
@@ -16,7 +16,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $Id: group.c,v 1.23 2009/01/27 00:42:53 oga Exp $
+ * $Id: group.c,v 1.24 2009/05/14 16:24:04 oga Exp $
*/
#include "headers.h"
@@ -213,6 +213,23 @@ group_hidetoggle(int idx)
}
}
+void
+group_only(int idx)
+{
+ int i;
+
+ if (idx < 0 || idx >= CALMWM_NGROUPS)
+ err(1, "group_only: index out of range (%d)", idx);
+
+ for (i = 0; i < CALMWM_NGROUPS; i++) {
+ if (i == idx) {
+ _group_show(&Groups[i]);
+ } else {
+ _group_hide(&Groups[i]);
+ }
+ }
+}
+
/*
* Cycle through active groups. If none exist, then just stay put.
*/
diff --git a/kbfunc.c b/kbfunc.c
index 48eea82..04ee7f4 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.
*
- * $Id: kbfunc.c,v 1.36 2009/02/07 21:07:00 martynas Exp $
+ * $Id: kbfunc.c,v 1.37 2009/05/14 16:24:04 oga Exp $
*/
#include <paths.h>
@@ -439,6 +439,12 @@ kbfunc_client_group(struct client_ctx *cc, union arg *arg)
}
void
+kbfunc_client_grouponly(struct client_ctx *cc, union arg *arg)
+{
+ group_only(KBTOGROUP(arg->i));
+}
+
+void
kbfunc_client_cyclegroup(struct client_ctx *cc, union arg *arg)
{
group_cycle(arg->i);