summaryrefslogtreecommitdiff
path: root/app/cwm/group.c
diff options
context:
space:
mode:
authorStuart Henderson <sthen@cvs.openbsd.org>2009-05-17 17:05:00 +0000
committerStuart Henderson <sthen@cvs.openbsd.org>2009-05-17 17:05:00 +0000
commit3359daf9731799fb956469ffedae049b5cc82e68 (patch)
tree009155efaa71b71a22831422016e2c272327b530 /app/cwm/group.c
parent198228bec553ab1e43e6ddf7950339f638844310 (diff)
add a "movetogroup" function, which hides the current window from
display and moves it to another group. useful with the recently added "grouponly" function, giving the ability to use groups as simple virtual desktops (similar to e.g. xmonad, dwm and scrotwm). this doesn't have default keyboard bindings; cwmrc(5) now shows how you could use these functions (use M-1...9 for grouponly1...9 and MS-1...9 for movetogroup1...9 to emulate the default dwm bindings). ok oga@
Diffstat (limited to 'app/cwm/group.c')
-rw-r--r--app/cwm/group.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/app/cwm/group.c b/app/cwm/group.c
index fb7b7b7b2..114b5eba8 100644
--- a/app/cwm/group.c
+++ b/app/cwm/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.24 2009/05/14 16:24:04 oga Exp $
+ * $Id: group.c,v 1.25 2009/05/17 17:04:59 sthen Exp $
*/
#include "headers.h"
@@ -143,7 +143,16 @@ group_init(void)
TAILQ_INSERT_TAIL(&Groupq, &Groups[i], entry);
}
- Group_active = &Groups[0];
+}
+
+void
+group_movetogroup(struct client_ctx *cc, int idx)
+{
+ if (idx < 0 || idx >= CALMWM_NGROUPS)
+ err(1, "group_movetogroup: index out of range (%d)", idx);
+
+ client_hide(cc);
+ _group_add(&Groups[idx], cc);
}
/*