mirror of
https://github.com/leahneukirchen/cwm.git
synced 2023-08-10 21:13:12 +03:00
Tie group number and name together during config.
This commit is contained in:
parent
ae231f67d0
commit
9d25218458
3
calmwm.h
3
calmwm.h
@ -447,7 +447,7 @@ void group_hide(struct group_ctx *);
|
|||||||
void group_hidetoggle(struct screen_ctx *, int);
|
void group_hidetoggle(struct screen_ctx *, int);
|
||||||
int group_holds_only_hidden(struct group_ctx *);
|
int group_holds_only_hidden(struct group_ctx *);
|
||||||
int group_holds_only_sticky(struct group_ctx *);
|
int group_holds_only_sticky(struct group_ctx *);
|
||||||
void group_init(struct screen_ctx *, int);
|
void group_init(struct screen_ctx *, int, const char *);
|
||||||
void group_movetogroup(struct client_ctx *, int);
|
void group_movetogroup(struct client_ctx *, int);
|
||||||
void group_only(struct screen_ctx *, int);
|
void group_only(struct screen_ctx *, int);
|
||||||
void group_close(struct screen_ctx *, int);
|
void group_close(struct screen_ctx *, int);
|
||||||
@ -555,6 +555,7 @@ void conf_grab_mouse(Window);
|
|||||||
void conf_init(struct conf *);
|
void conf_init(struct conf *);
|
||||||
void conf_ignore(struct conf *, const char *);
|
void conf_ignore(struct conf *, const char *);
|
||||||
void conf_screen(struct screen_ctx *);
|
void conf_screen(struct screen_ctx *);
|
||||||
|
void conf_group(struct screen_ctx *);
|
||||||
|
|
||||||
void xev_process(void);
|
void xev_process(void);
|
||||||
|
|
||||||
|
28
conf.c
28
conf.c
@ -36,6 +36,21 @@ static const char *conf_bind_getmask(const char *, unsigned int *);
|
|||||||
static void conf_unbind_key(struct conf *, struct bind_ctx *);
|
static void conf_unbind_key(struct conf *, struct bind_ctx *);
|
||||||
static void conf_unbind_mouse(struct conf *, struct bind_ctx *);
|
static void conf_unbind_mouse(struct conf *, struct bind_ctx *);
|
||||||
|
|
||||||
|
static const struct {
|
||||||
|
int num;
|
||||||
|
const char *name;
|
||||||
|
} group_binds[] = {
|
||||||
|
{ 0, "nogroup" },
|
||||||
|
{ 1, "one" },
|
||||||
|
{ 2, "two" },
|
||||||
|
{ 3, "three" },
|
||||||
|
{ 4, "four" },
|
||||||
|
{ 5, "five" },
|
||||||
|
{ 6, "six" },
|
||||||
|
{ 7, "seven" },
|
||||||
|
{ 8, "eight" },
|
||||||
|
{ 9, "nine" },
|
||||||
|
};
|
||||||
static int cursor_binds[] = {
|
static int cursor_binds[] = {
|
||||||
XC_left_ptr, /* CF_NORMAL */
|
XC_left_ptr, /* CF_NORMAL */
|
||||||
XC_fleur, /* CF_MOVE */
|
XC_fleur, /* CF_MOVE */
|
||||||
@ -266,7 +281,7 @@ conf_init(struct conf *c)
|
|||||||
c->bwidth = 1;
|
c->bwidth = 1;
|
||||||
c->mamount = 1;
|
c->mamount = 1;
|
||||||
c->snapdist = 0;
|
c->snapdist = 0;
|
||||||
c->ngroups = 10;
|
c->ngroups = 0;
|
||||||
c->nameqlen = 5;
|
c->nameqlen = 5;
|
||||||
|
|
||||||
TAILQ_INIT(&c->ignoreq);
|
TAILQ_INIT(&c->ignoreq);
|
||||||
@ -502,6 +517,17 @@ conf_screen(struct screen_ctx *sc)
|
|||||||
conf_grab_kbd(sc->rootwin);
|
conf_grab_kbd(sc->rootwin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
conf_group(struct screen_ctx *sc)
|
||||||
|
{
|
||||||
|
unsigned int i;
|
||||||
|
|
||||||
|
for (i = 0; i < nitems(group_binds); i++) {
|
||||||
|
group_init(sc, group_binds[i].num, group_binds[i].name);
|
||||||
|
Conf.ngroups++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static const char *
|
static const char *
|
||||||
conf_bind_getmask(const char *name, unsigned int *mask)
|
conf_bind_getmask(const char *name, unsigned int *mask)
|
||||||
{
|
{
|
||||||
|
9
group.c
9
group.c
@ -37,11 +37,6 @@ static struct group_ctx *group_prev(struct group_ctx *);
|
|||||||
static void group_restack(struct group_ctx *);
|
static void group_restack(struct group_ctx *);
|
||||||
static void group_setactive(struct group_ctx *);
|
static void group_setactive(struct group_ctx *);
|
||||||
|
|
||||||
const char *num_to_name[] = {
|
|
||||||
"nogroup", "one", "two", "three", "four", "five", "six",
|
|
||||||
"seven", "eight", "nine"
|
|
||||||
};
|
|
||||||
|
|
||||||
void
|
void
|
||||||
group_assign(struct group_ctx *gc, struct client_ctx *cc)
|
group_assign(struct group_ctx *gc, struct client_ctx *cc)
|
||||||
{
|
{
|
||||||
@ -124,13 +119,13 @@ group_restack(struct group_ctx *gc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
group_init(struct screen_ctx *sc, int num)
|
group_init(struct screen_ctx *sc, int num, const char *name)
|
||||||
{
|
{
|
||||||
struct group_ctx *gc;
|
struct group_ctx *gc;
|
||||||
|
|
||||||
gc = xmalloc(sizeof(*gc));
|
gc = xmalloc(sizeof(*gc));
|
||||||
gc->sc = sc;
|
gc->sc = sc;
|
||||||
gc->name = xstrdup(num_to_name[num]);
|
gc->name = xstrdup(name);
|
||||||
gc->num = num;
|
gc->num = num;
|
||||||
TAILQ_INIT(&gc->clientq);
|
TAILQ_INIT(&gc->clientq);
|
||||||
|
|
||||||
|
5
screen.c
5
screen.c
@ -40,7 +40,6 @@ screen_init(int which)
|
|||||||
Window *wins, w0, w1, active = None;
|
Window *wins, w0, w1, active = None;
|
||||||
XSetWindowAttributes rootattr;
|
XSetWindowAttributes rootattr;
|
||||||
unsigned int nwins, w;
|
unsigned int nwins, w;
|
||||||
int i;
|
|
||||||
|
|
||||||
sc = xmalloc(sizeof(*sc));
|
sc = xmalloc(sizeof(*sc));
|
||||||
|
|
||||||
@ -61,9 +60,7 @@ screen_init(int which)
|
|||||||
xu_ewmh_net_supported_wm_check(sc);
|
xu_ewmh_net_supported_wm_check(sc);
|
||||||
|
|
||||||
screen_update_geometry(sc);
|
screen_update_geometry(sc);
|
||||||
|
conf_group(sc);
|
||||||
for (i = 0; i < Conf.ngroups; i++)
|
|
||||||
group_init(sc, i);
|
|
||||||
|
|
||||||
xu_ewmh_net_desktop_names(sc);
|
xu_ewmh_net_desktop_names(sc);
|
||||||
xu_ewmh_net_wm_desktop_viewport(sc);
|
xu_ewmh_net_wm_desktop_viewport(sc);
|
||||||
|
Loading…
Reference in New Issue
Block a user