[Xfce4-commits] <xfwm4:master> Get rif of legacy fullscreen emulation, if your app breaks it's time to move on and adopt the extended window manager protocol...

Olivier Fourdan noreply at xfce.org
Tue Oct 11 23:02:01 CEST 2011


Updating branch refs/heads/master
         to 9982c00b3b7f6423faf9fe4a18cb92e85ce11c8f (commit)
       from 081869d56c7d1210288a9f320e1c1fe25fbc4f02 (commit)

commit 9982c00b3b7f6423faf9fe4a18cb92e85ce11c8f
Author: Olivier Fourdan <fourdan at xfce.org>
Date:   Tue Oct 11 15:54:27 2011 +0200

    Get rif of legacy fullscreen emulation, if your app breaks  it's
    time to move on and adopt the extended window manager protocol...

 src/client.c    |   21 ---------------------
 src/client.h    |   11 ++++-------
 src/placement.c |    1 -
 src/stacking.c  |    9 +--------
 4 files changed, 5 insertions(+), 37 deletions(-)

diff --git a/src/client.c b/src/client.c
index 879ca02..6cf7206 100644
--- a/src/client.c
+++ b/src/client.c
@@ -979,14 +979,6 @@ clientGetMWMHints (Client * c, gboolean update)
 
     if (update)
     {
-        if (FLAG_TEST_ALL(c->xfwm_flags, XFWM_FLAG_HAS_BORDER | XFWM_FLAG_LEGACY_FULLSCREEN)
-            && !FLAG_TEST(c->flags, CLIENT_FLAG_FULLSCREEN))
-        {
-            /* legacy app changed its decoration, put it back on regular layer */
-            TRACE ("Legacy app changed its decoration \"%s\" (0x%lx)", c->name, c->window);
-            FLAG_UNSET (c->xfwm_flags, XFWM_FLAG_LEGACY_FULLSCREEN);
-            clientSetLayer (c, WIN_LAYER_NORMAL);
-        }
         wc.x = c->x;
         wc.y = c->y;
         wc.width = c->width;
@@ -1826,19 +1818,6 @@ clientFrame (DisplayInfo *display_info, Window w, gboolean recapture)
     /* workarea will be updated when shown, no need to worry here */
     clientGetNetStruts (c);
 
-    /* Fullscreen for older legacy apps */
-    if ((c->x <= 0) && (c->y <= 0) &&
-        (c->width >= screen_info->width) &&
-        (c->height >= screen_info->height) &&
-        !FLAG_TEST(c->xfwm_flags, XFWM_FLAG_HAS_BORDER) &&
-        !FLAG_TEST (c->flags, CLIENT_FLAG_BELOW | CLIENT_FLAG_ABOVE | CLIENT_FLAG_FULLSCREEN) &&
-        (c->win_layer == WIN_LAYER_NORMAL) &&
-        (c->type == WINDOW_NORMAL))
-    {
-        TRACE ("Fullscreen for old apps \"%s\" (0x%lx)", c->name, c->window);
-        FLAG_SET (c->xfwm_flags, XFWM_FLAG_LEGACY_FULLSCREEN);
-    }
-
     /* Once we know the type of window, we can initialize window position */
     if (!FLAG_TEST (c->xfwm_flags, XFWM_FLAG_SESSION_MANAGED))
     {
diff --git a/src/client.h b/src/client.h
index 10137f7..58963ae 100644
--- a/src/client.h
+++ b/src/client.h
@@ -135,7 +135,7 @@
 #define XFWM_FLAG_DRAW_ACTIVE           (1L<<17)
 #define XFWM_FLAG_SEEN_ACTIVE           (1L<<18)
 #define XFWM_FLAG_FIRST_MAP             (1L<<19)
-#define XFWM_FLAG_LEGACY_FULLSCREEN     (1L<<20)
+/* Unused slot                          ........ */
 #define XFWM_FLAG_MOVING_RESIZING       (1L<<21)
 #define XFWM_FLAG_NEEDS_REDRAW          (1L<<22)
 #define XFWM_FLAG_OPACITY_LOCKED        (1L<<23)
@@ -183,8 +183,7 @@
 #define ALL_WORKSPACES                  (int) 0xFFFFFFFF
 
 #define CONSTRAINED_WINDOW(c)           ((c->win_layer > WIN_LAYER_DESKTOP) && \
-                                        !(c->type & (WINDOW_DESKTOP | WINDOW_DOCK)) && \
-                                        !FLAG_TEST(c->xfwm_flags, XFWM_FLAG_LEGACY_FULLSCREEN))
+                                        !(c->type & (WINDOW_DESKTOP | WINDOW_DOCK)))
 
 #define WINDOW_TYPE_DIALOG              (WINDOW_DIALOG | \
                                          WINDOW_MODAL_DIALOG)
@@ -216,12 +215,10 @@
                                          !FLAG_TEST(c->flags, CLIENT_FLAG_SKIP_TASKBAR))
 #define CLIENT_CAN_MAXIMIZE_WINDOW(c)   (FLAG_TEST_AND_NOT(c->xfwm_flags, XFWM_FLAG_HAS_MAXIMIZE | \
                                                                           XFWM_FLAG_HAS_RESIZE | \
-                                                                          XFWM_FLAG_IS_RESIZABLE, \
-                                                                          XFWM_FLAG_LEGACY_FULLSCREEN) && \
+                                                                          XFWM_FLAG_IS_RESIZABLE) && \
                                          !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN))
 #define CLIENT_CAN_FILL_WINDOW(c)       (FLAG_TEST_AND_NOT(c->xfwm_flags, XFWM_FLAG_HAS_RESIZE | \
-                                                                          XFWM_FLAG_IS_RESIZABLE, \
-                                                                          XFWM_FLAG_LEGACY_FULLSCREEN) && \
+                                                                          XFWM_FLAG_IS_RESIZABLE) && \
                                          !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN | CLIENT_FLAG_MAXIMIZED))
 
 typedef enum
diff --git a/src/placement.c b/src/placement.c
index 0881f7d..248d339 100644
--- a/src/placement.c
+++ b/src/placement.c
@@ -503,7 +503,6 @@ static void
 clientAutoMaximize (Client * c, int full_w, int full_h)
 {
     if (FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN) ||
-        FLAG_TEST (c->xfwm_flags, XFWM_FLAG_LEGACY_FULLSCREEN) ||
         !FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_BORDER))
     {
         /*
diff --git a/src/stacking.c b/src/stacking.c
index 180ea61..4baed7e 100644
--- a/src/stacking.c
+++ b/src/stacking.c
@@ -549,8 +549,7 @@ clientAdjustFullscreenLayer (Client *c, gboolean set)
 
     if (set)
     {
-        if (FLAG_TEST(c->xfwm_flags, XFWM_FLAG_LEGACY_FULLSCREEN)
-            || FLAG_TEST(c->flags, CLIENT_FLAG_FULLSCREEN))
+        if (FLAG_TEST(c->flags, CLIENT_FLAG_FULLSCREEN))
         {
             clientSetLayer (c, WIN_LAYER_FULLSCREEN);
             return TRUE;
@@ -564,12 +563,6 @@ clientAdjustFullscreenLayer (Client *c, gboolean set)
             clientSetLayer (c, c->fullscreen_old_layer);
             return TRUE;
         }
-        if (FLAG_TEST(c->xfwm_flags, XFWM_FLAG_LEGACY_FULLSCREEN))
-        {
-            TRACE ("Moving \"%s\" (0x%lx) to layer %d", c->name, c->window, WIN_LAYER_FULLSCREEN);
-            clientSetLayer (c, WIN_LAYER_NORMAL);
-            return TRUE;
-        }
     }
     return FALSE;
 }


More information about the Xfce4-commits mailing list