]> git.lizzy.rs Git - bspwm.git/blobdiff - src/desktop.c
Reflect single_monocle layout in report
[bspwm.git] / src / desktop.c
index a2c040877a7fb27995c1107bfaa40575c376aa67..098c97a3dafe0d5aef4208c4efcd2735160602d2 100644 (file)
@@ -137,6 +137,9 @@ bool find_any_desktop(coordinates_t *ref, coordinates_t *dst, desktop_select_t *
 
 bool set_layout(monitor_t *m, desktop_t *d, layout_t l)
 {
+       layout_t actual_layout = IS_SINGLE_MONOCLE(d) ? LAYOUT_MONOCLE : l;
+       bool actual_layout_changed = (d->layout != actual_layout);
+
        if (d->layout == l) {
                return false;
        }
@@ -145,9 +148,13 @@ bool set_layout(monitor_t *m, desktop_t *d, layout_t l)
 
        handle_presel_feedbacks(m, d);
 
+       if (!actual_layout_changed) {
+               return true;
+       }
+
        arrange(m, d);
 
-       put_status(SBSC_MASK_DESKTOP_LAYOUT, "desktop_layout 0x%08X 0x%08X %s\n", m->id, d->id, LAYOUT_STR(l));
+       put_status(SBSC_MASK_DESKTOP_LAYOUT, "desktop_layout 0x%08X 0x%08X %s\n", m->id, d->id, LAYOUT_STR(actual_layout));
 
        if (d == m->desk) {
                put_status(SBSC_MASK_REPORT);