]> git.mdlowis.com Git - proto/labwc.git/commitdiff
src/xwayland.c: keep SSD state on unmap/map cycle
authorConsolatis <35009135+Consolatis@users.noreply.github.com>
Tue, 17 May 2022 12:33:12 +0000 (14:33 +0200)
committerJohan Malm <johanmalm@users.noreply.github.com>
Tue, 17 May 2022 16:34:26 +0000 (17:34 +0100)
Move SSD related map() work into the !view->been_mapped branch,
similar to src/xdg.c.

Without this patch following series of events restores the initial
state of the SSD when activating the view:
- spawn xcalc
- observe it shows the SSD
- toggleDecorations to hide the SSD (via keybinding or window menu)
- minimize xcalc (via some panel or A-Space)
- activate xcalc (via some panel or A-Tab)
- observe the SSD is back visible

src/xwayland.c

index 3d20e4f8f950fa25932d2dcf6853cb582fad0093..5662f58cbec82958622055782e431e4da068dfd4 100644 (file)
@@ -308,13 +308,13 @@ map(struct view *view)
                }
        }
 
-       view->ssd.enabled = want_deco(view);
+       if (!view->been_mapped) {
 
-       if (view->ssd.enabled) {
-               view->margin = ssd_thickness(view);
-       }
+               view->ssd.enabled = want_deco(view);
+               if (view->ssd.enabled) {
+                       view->margin = ssd_thickness(view);
+               }
 
-       if (!view->been_mapped) {
                foreign_toplevel_handle_create(view);
 
                if (!view->maximized && !view->fullscreen) {
@@ -326,12 +326,12 @@ map(struct view *view)
                }
 
                view_discover_output(view);
-               view->been_mapped = true;
-       }
 
-       if (view->ssd.enabled) {
-               /* Create ssd after view_disover_output() had been called */
-               ssd_create(view);
+               if (view->ssd.enabled) {
+                       /* Create ssd after view_disover_output() had been called */
+                       ssd_create(view);
+               }
+               view->been_mapped = true;
        }
 
        if (view->ssd.enabled && !view->fullscreen && !view->maximized) {