mirror of
https://github.com/leahneukirchen/cwm.git
synced 2023-08-10 21:13:12 +03:00
Since the flatting out of sc->group_names is only for setting
NET_DESKTOP_NAMES, merge the helper into xu_ewmh_net_desktop_names, where we actually set the property.
This commit is contained in:
parent
7314a3aefd
commit
3b99d53576
3
calmwm.h
3
calmwm.h
@ -545,8 +545,7 @@ void xu_ewmh_net_wm_number_of_desktops(struct screen_ctx *);
|
||||
void xu_ewmh_net_showing_desktop(struct screen_ctx *);
|
||||
void xu_ewmh_net_virtual_roots(struct screen_ctx *);
|
||||
void xu_ewmh_net_current_desktop(struct screen_ctx *, long);
|
||||
void xu_ewmh_net_desktop_names(struct screen_ctx *, char *,
|
||||
int);
|
||||
void xu_ewmh_net_desktop_names(struct screen_ctx *);
|
||||
|
||||
void xu_ewmh_net_wm_desktop(struct client_ctx *);
|
||||
Atom *xu_ewmh_get_net_wm_state(struct client_ctx *, int *);
|
||||
|
26
group.c
26
group.c
@ -38,7 +38,6 @@ static void group_show(struct screen_ctx *, struct group_ctx *);
|
||||
static void group_restack(struct screen_ctx *, struct group_ctx *);
|
||||
static int group_hidden_state(struct group_ctx *);
|
||||
static void group_setactive(struct screen_ctx *, long);
|
||||
static void group_set_names(struct screen_ctx *);
|
||||
|
||||
const char *num_to_name[] = {
|
||||
"nogroup", "one", "two", "three", "four", "five", "six",
|
||||
@ -427,28 +426,7 @@ group_update_names(struct screen_ctx *sc)
|
||||
|
||||
sc->group_names = strings;
|
||||
sc->group_nonames = n;
|
||||
|
||||
if (setnames)
|
||||
group_set_names(sc);
|
||||
}
|
||||
|
||||
static void
|
||||
group_set_names(struct screen_ctx *sc)
|
||||
{
|
||||
char *p, *q;
|
||||
size_t len = 0, tlen, slen;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < sc->group_nonames; i++)
|
||||
len += strlen(sc->group_names[i]) + 1;
|
||||
q = p = xcalloc(len, sizeof(*p));
|
||||
|
||||
tlen = len;
|
||||
for (i = 0; i < sc->group_nonames; i++) {
|
||||
slen = strlen(sc->group_names[i]) + 1;
|
||||
(void)strlcpy(q, sc->group_names[i], tlen);
|
||||
tlen -= slen;
|
||||
q += slen;
|
||||
}
|
||||
|
||||
xu_ewmh_net_desktop_names(sc, p, len);
|
||||
xu_ewmh_net_desktop_names(sc);
|
||||
}
|
||||
|
20
xutil.c
20
xutil.c
@ -281,10 +281,26 @@ xu_ewmh_net_current_desktop(struct screen_ctx *sc, long idx)
|
||||
}
|
||||
|
||||
void
|
||||
xu_ewmh_net_desktop_names(struct screen_ctx *sc, char *data, int n)
|
||||
xu_ewmh_net_desktop_names(struct screen_ctx *sc)
|
||||
{
|
||||
char *p, *q;
|
||||
size_t len = 0, tlen, slen;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < sc->group_nonames; i++)
|
||||
len += strlen(sc->group_names[i]) + 1;
|
||||
q = p = xcalloc(len, sizeof(*p));
|
||||
|
||||
tlen = len;
|
||||
for (i = 0; i < sc->group_nonames; i++) {
|
||||
slen = strlen(sc->group_names[i]) + 1;
|
||||
(void)strlcpy(q, sc->group_names[i], tlen);
|
||||
tlen -= slen;
|
||||
q += slen;
|
||||
}
|
||||
|
||||
XChangeProperty(X_Dpy, sc->rootwin, ewmh[_NET_DESKTOP_NAMES],
|
||||
cwmh[UTF8_STRING], 8, PropModeReplace, (unsigned char *)data, n);
|
||||
cwmh[UTF8_STRING], 8, PropModeReplace, (unsigned char *)p, len);
|
||||
}
|
||||
|
||||
/* Application Window Properties */
|
||||
|
Loading…
Reference in New Issue
Block a user