From e72e46b0d681747a7c2632c6a2f76c77ff8e05e4 Mon Sep 17 00:00:00 2001 From: okan Date: Wed, 8 Oct 2014 12:48:51 +0000 Subject: make group_init work like other *_init's --- calmwm.h | 6 +++--- group.c | 29 ++++++++++++++--------------- screen.c | 6 ++++-- 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/calmwm.h b/calmwm.h index 694a744..67b336c 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. * - * $OpenBSD: calmwm.h,v 1.282 2014/09/27 19:04:32 okan Exp $ + * $OpenBSD: calmwm.h,v 1.283 2014/10/08 12:48:51 okan Exp $ */ #ifndef _CALMWM_H_ @@ -202,9 +202,9 @@ TAILQ_HEAD(client_ctx_q, client_ctx); struct group_ctx { TAILQ_ENTRY(group_ctx) entry; struct screen_ctx *sc; - struct client_ctx_q clientq; char *name; int num; + struct client_ctx_q clientq; }; TAILQ_HEAD(group_ctx_q, group_ctx); @@ -410,7 +410,7 @@ void group_hide(struct group_ctx *); void group_hidetoggle(struct screen_ctx *, int); int group_holds_only_hidden(struct group_ctx *); int group_holds_only_sticky(struct group_ctx *); -void group_init(struct screen_ctx *); +void group_init(struct screen_ctx *, int); void group_movetogroup(struct client_ctx *, int); void group_only(struct screen_ctx *, int); void group_show(struct group_ctx *); diff --git a/group.c b/group.c index bbc3f39..87c307d 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. * - * $OpenBSD: group.c,v 1.108 2014/09/27 19:04:32 okan Exp $ + * $OpenBSD: group.c,v 1.109 2014/10/08 12:48:51 okan Exp $ */ #include @@ -114,24 +114,23 @@ group_restack(struct group_ctx *gc) } void -group_init(struct screen_ctx *sc) +group_init(struct screen_ctx *sc, int num) { struct group_ctx *gc; - int i; - - for (i = 0; i < CALMWM_NGROUPS; i++) { - gc = xcalloc(1, sizeof(*gc)); - gc->sc = sc; - TAILQ_INIT(&gc->clientq); - gc->name = xstrdup(num_to_name[i]); - gc->num = i; - TAILQ_INSERT_TAIL(&sc->groupq, gc, entry); - if (i == 1) - group_setactive(gc); - } + + gc = xmalloc(sizeof(*gc)); + gc->sc = sc; + gc->name = xstrdup(num_to_name[num]); + gc->num = num; + TAILQ_INIT(&gc->clientq); + + TAILQ_INSERT_TAIL(&sc->groupq, gc, entry); + + if (num == 1) + group_setactive(gc); } -static void +void group_setactive(struct group_ctx *gc) { struct screen_ctx *sc = gc->sc; diff --git a/screen.c b/screen.c index 9fc01d3..42aa572 100644 --- a/screen.c +++ b/screen.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. * - * $OpenBSD: screen.c,v 1.68 2014/09/23 13:45:48 okan Exp $ + * $OpenBSD: screen.c,v 1.69 2014/10/08 12:48:51 okan Exp $ */ #include @@ -54,7 +54,9 @@ screen_init(int which) xu_ewmh_net_supported_wm_check(sc); screen_update_geometry(sc); - group_init(sc); + + for (i = 0; i < CALMWM_NGROUPS; i++) + group_init(sc, i); xu_ewmh_net_desktop_names(sc); xu_ewmh_net_wm_desktop_viewport(sc); -- cgit v1.2.3-2-gb3c3