mirror of
https://github.com/leahneukirchen/cwm.git
synced 2023-08-10 21:13:12 +03:00
Add a new command (currently no default keybindings for it), grouponly[1-9].
This works like the group select binding, but hides all other groups. So, the people who've been complaining that they don't get "virtual desktops" in cwm may want to try this out in cwmrc (from memory, untested): --- #cwmrc # add new windows to the current group set sticky # automatically sticky windows. xclock for now. # to make more windows sticky use group_toggle to unset their group autogroup 0 xclock # make the group selection keys hide other groups, emulate virtual desktops bind CM-1 grouponly1 bind CM-2 grouponly2 bind CM-3 grouponly3 bind CM-4 grouponly4 bind CM-5 grouponly5 bind CM-6 grouponly6 bind CM-7 grouponly7 bind CM-8 grouponly8 bind CM-9 grouponly9 --- mostly by sthen, tweaks from me. ok todd@, "if it works i'm ok with it" okan@, ok sthen@
This commit is contained in:
parent
fbb1edf2b3
commit
3de90d44fc
2
calmwm.h
2
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 *,
|
||||
|
9
conf.c
9
conf.c
@ -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} },
|
||||
|
4
cwmrc.5
4
cwmrc.5
@ -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
|
||||
|
17
group.c
17
group.c
@ -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.
|
||||
*/
|
||||
|
6
kbfunc.c
6
kbfunc.c
@ -438,6 +438,12 @@ kbfunc_client_group(struct client_ctx *cc, union arg *arg)
|
||||
group_hidetoggle(KBTOGROUP(arg->i));
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user