From e016b801f0ccc9330781afa05a8f8d22f48a4727 Mon Sep 17 00:00:00 2001 From: Bastien Dejean Date: Wed, 26 Dec 2012 22:48:07 +0100 Subject: [PATCH] Relieve tree.c from non tree related functions --- tree.c | 41 ----------------------------------------- tree.h | 3 --- types.c | 42 ++++++++++++++++++++++++++++++++++++++++++ types.h | 3 +++ 4 files changed, 45 insertions(+), 44 deletions(-) diff --git a/tree.c b/tree.c index b9a0088..3090c5b 100644 --- a/tree.c +++ b/tree.c @@ -786,44 +786,3 @@ void update_vacant_state(node_t *n) p = p->parent; } } - -monitor_t *find_monitor(char *name) -{ - for (monitor_t *m = mon_head; m != NULL; m = m->next) - if (strcmp(m->name, name) == 0) - return m; - return NULL; -} - -void add_desktop(monitor_t *m, char *name) -{ - desktop_t *d = make_desktop(name); - if (m->desk == NULL) { - m->desk = d; - m->desk_head = d; - m->desk_tail = d; - } else { - m->desk_tail->next = d; - d->prev = m->desk_tail; - m->desk_tail = d; - } - num_desktops++; - ewmh_update_number_of_desktops(); - ewmh_update_desktop_names(); - put_status(); -} - -void add_monitor(xcb_rectangle_t *rect) -{ - monitor_t *m = make_monitor(rect); - if (mon == NULL) { - mon = m; - mon_head = m; - mon_tail = m; - } else { - mon_tail->next = m; - m->prev = mon_tail; - mon_tail = m; - } - num_monitors++; -} diff --git a/tree.h b/tree.h index 4a5c524..6ec2282 100644 --- a/tree.h +++ b/tree.h @@ -40,8 +40,5 @@ void cycle_leaf(monitor_t *, desktop_t *, node_t *, cycle_dir_t, skip_client_t); void nearest_leaf(monitor_t *, desktop_t *, node_t *, nearest_arg_t, skip_client_t); void circulate_leaves(monitor_t *, desktop_t *, circulate_dir_t); void update_vacant_state(node_t *); -void add_desktop(monitor_t *, char *); -void add_monitor(xcb_rectangle_t *); -monitor_t *find_monitor(char *); #endif diff --git a/types.c b/types.c index 24ef84c..f236d95 100644 --- a/types.c +++ b/types.c @@ -3,6 +3,7 @@ #include #include #include "bspwm.h" +#include "ewmh.h" #include "settings.h" #include "types.h" #include "tree.h" @@ -32,6 +33,29 @@ monitor_t *make_monitor(xcb_rectangle_t *rect) return m; } +monitor_t *find_monitor(char *name) +{ + for (monitor_t *m = mon_head; m != NULL; m = m->next) + if (strcmp(m->name, name) == 0) + return m; + return NULL; +} + +void add_monitor(xcb_rectangle_t *rect) +{ + monitor_t *m = make_monitor(rect); + if (mon == NULL) { + mon = m; + mon_head = m; + mon_tail = m; + } else { + mon_tail->next = m; + m->prev = mon_tail; + mon_tail = m; + } + num_monitors++; +} + void remove_monitor(monitor_t *m) { while (m->desk_head != NULL) @@ -62,6 +86,24 @@ desktop_t *make_desktop(const char *name) return d; } +void add_desktop(monitor_t *m, char *name) +{ + desktop_t *d = make_desktop(name); + if (m->desk == NULL) { + m->desk = d; + m->desk_head = d; + m->desk_tail = d; + } else { + m->desk_tail->next = d; + d->prev = m->desk_tail; + m->desk_tail = d; + } + num_desktops++; + ewmh_update_number_of_desktops(); + ewmh_update_desktop_names(); + put_status(); +} + void remove_desktop(monitor_t *m, desktop_t *d) { while (d->root != NULL) diff --git a/types.h b/types.h index 4ecb9c6..bc204e4 100644 --- a/types.h +++ b/types.h @@ -191,8 +191,11 @@ typedef struct { node_t *make_node(void); monitor_t *make_monitor(xcb_rectangle_t *); +monitor_t *find_monitor(char *); +void add_monitor(xcb_rectangle_t *); void remove_monitor(monitor_t *); desktop_t *make_desktop(const char *); +void add_desktop(monitor_t *, char *); void remove_desktop(monitor_t *, desktop_t *); client_t *make_client(xcb_window_t); rule_t *make_rule(void);