summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorsten Wißmann <edu@thorsten-wissmann.de>2013-01-06 19:03:19 +0100
committerThorsten Wißmann <edu@thorsten-wissmann.de>2013-02-17 12:24:01 +0100
commitf016dfc9b2698e705ecd18f92aa83aff9545e66d (patch)
tree83a4b7f2b9ff80d67bddd053a8023304d2f3eac6
parent4502662d2ba5c40fce676d81184536ea7bc468dd (diff)
Use create/destroy for g_monitor_object
-rw-r--r--src/monitor.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/monitor.c b/src/monitor.c
index 1638e4cc..ace4e22c 100644
--- a/src/monitor.c
+++ b/src/monitor.c
@@ -31,7 +31,7 @@ int* g_smart_frame_surroundings;
int* g_mouse_recenter_gap;
HSStack* g_monitor_stack;
GArray* g_monitors; // Array of HSMonitor*
-HSObject g_monitor_object;
+HSObject* g_monitor_object;
typedef struct RectList {
XRectangle rect;
@@ -48,8 +48,7 @@ void monitor_init() {
g_smart_frame_surroundings = &(settings_find("smart_frame_surroundings")->value.i);
g_mouse_recenter_gap = &(settings_find("mouse_recenter_gap")->value.i);
g_monitor_stack = stack_create();
- hsobject_init(&g_monitor_object);
- hsobject_link(hsobject_root(), &g_monitor_object, "monitors");
+ g_monitor_object = hsobject_create_and_link(hsobject_root(), "monitors");
}
void monitor_destroy() {
@@ -63,7 +62,7 @@ void monitor_destroy() {
}
g_free(m);
}
- hsobject_free(&g_monitor_object);
+ hsobject_unlink_and_destroy(hsobject_root(), g_monitor_object);
stack_destroy(g_monitor_stack);
g_array_free(g_monitors, true);
}
@@ -385,7 +384,7 @@ HSMonitor* add_monitor(XRectangle rect, HSTag* tag, char* name) {
HSMonitor* m = g_new0(HSMonitor, 1);
hsobject_init(&m->object);
if (name) {
- hsobject_link(&g_monitor_object, &m->object, name);
+ hsobject_link(g_monitor_object, &m->object, name);
}
m->rect = rect;
m->tag = tag;
@@ -507,7 +506,7 @@ int remove_monitor(int index) {
stack_remove_slice(g_monitor_stack, monitor->slice);
slice_destroy(monitor->slice);
XDestroyWindow(g_display, monitor->stacking_window);
- hsobject_unlink(&g_monitor_object, &monitor->object);
+ hsobject_unlink(g_monitor_object, &monitor->object);
hsobject_free(&monitor->object);
// and remove monitor completely
if (monitor->name) {
@@ -571,7 +570,7 @@ int rename_monitor_command(int argc, char** argv, GString* output) {
} else if (!strcmp("", argv[2])) {
// empty name -> clear name
if (mon->name != NULL) {
- hsobject_unlink_by_name(&g_monitor_object, mon->name->str);
+ hsobject_unlink_by_name(g_monitor_object, mon->name->str);
g_string_free(mon->name, true);
mon->name = NULL;
}
@@ -587,11 +586,11 @@ int rename_monitor_command(int argc, char** argv, GString* output) {
GString* name = g_string_new(argv[2]);
mon->name = name;
} else {
- hsobject_unlink_by_name(&g_monitor_object, mon->name->str);
+ hsobject_unlink_by_name(g_monitor_object, mon->name->str);
// already named
g_string_assign(mon->name, argv[2]);
}
- hsobject_link(&g_monitor_object, &mon->object, mon->name->str);
+ hsobject_link(g_monitor_object, &mon->object, mon->name->str);
return 0;
}