]> git.lizzy.rs Git - bspwm.git/blobdiff - bspwm.c
Add new contributor
[bspwm.git] / bspwm.c
diff --git a/bspwm.c b/bspwm.c
index 024ba8bab4ec515b2fbe1bf08ccec92ca5177872..249a7d8d35c477be920e68424690091ada8b6b6e 100644 (file)
--- a/bspwm.c
+++ b/bspwm.c
@@ -92,7 +92,7 @@ bool import_monitors(void)
                     strncpy(mm->name, name, name_len);
                     mm->name[name_len] = '\0';
                     mm->id = outputs[i];
-                    add_desktop(mm, NULL);
+                    add_desktop(mm, make_desktop(NULL));
                     PRINTF("add monitor %s (0x%X)\n", mm->name, mm->id);
                 }
                 num++;
@@ -107,13 +107,14 @@ bool import_monitors(void)
         monitor_t *next = m->next;
         if (!m->wired) {
             PRINTF("remove monitor %s (0x%X)\n", m->name, m->id);
-            transfer_desktops(mm, m);
+            merge_monitors(m, mm);
+            remove_monitor(m);
         }
         m = next;
     }
 
     free(sres);
-    put_status();
+    update_motion_recorder();
     return (num_monitors > 0);
 }
 
@@ -123,8 +124,8 @@ void init(void)
     monitor_uid = desktop_uid = client_uid = rule_uid = 0;
     mon = last_mon = mon_head = mon_tail = NULL;
     rule_head = rule_tail = NULL;
+    status_fifo = NULL;
     randr_base = 0;
-    split_mode = MODE_AUTOMATIC;
     visible = true;
     exit_status = 0;
 }
@@ -176,13 +177,15 @@ void setup(void)
 
     const xcb_query_extension_reply_t *qep = xcb_get_extension_data(dpy, &xcb_randr_id);
     if (qep->present && import_monitors()) {
+        randr = true;
         randr_base = qep->first_event;
         xcb_randr_select_input(dpy, root, XCB_RANDR_NOTIFY_MASK_SCREEN_CHANGE);
     } else {
+        randr = false;
         warn("Couldn't retrieve monitors via RandR.\n");
         xcb_rectangle_t rect = (xcb_rectangle_t) {0, 0, screen_width, screen_height};
         monitor_t *m = add_monitor(&rect);
-        add_desktop(m, NULL);
+        add_desktop(m, make_desktop(NULL));
     }
 
     ewmh_update_number_of_desktops();