]> Dogcows Code - chaz/openbox/commitdiff
save decor and functions per client for fullscreening!
authorDana Jansens <danakj@orodu.net>
Thu, 20 Mar 2003 21:52:49 +0000 (21:52 +0000)
committerDana Jansens <danakj@orodu.net>
Thu, 20 Mar 2003 21:52:49 +0000 (21:52 +0000)
openbox/client.c
openbox/client.h

index 479dc8602d9bd6a1896100753b00987d763f1aa2..6f4dd16a48fae1a3559ea6792eb62c3b91da3898 100644 (file)
@@ -1421,7 +1421,6 @@ void client_configure(Client *self, Corner anchor, int x, int y, int w, int h,
 
 void client_fullscreen(Client *self, gboolean fs, gboolean savearea)
 {
-    static int saved_func, saved_decor;
     int x, y, w, h;
 
     if (!(self->functions & Func_Fullscreen) || /* can't */
@@ -1432,11 +1431,11 @@ void client_fullscreen(Client *self, gboolean fs, gboolean savearea)
 
     if (fs) {
        /* save the functions and remove them */
-       saved_func = self->functions;
+       self->pre_fs_func = self->functions;
        self->functions &= (Func_Close | Func_Fullscreen |
                            Func_Iconify);
        /* save the decorations and remove them */
-       saved_decor = self->decorations;
+       self->pre_fs_decor = self->decorations;
        self->decorations = 0;
        if (savearea) {
            long dimensions[4];
@@ -1455,8 +1454,8 @@ void client_fullscreen(Client *self, gboolean fs, gboolean savearea)
     } else {
        long *dimensions;
 
-       self->functions = saved_func;
-       self->decorations = saved_decor;
+       self->functions = self->pre_fs_func;
+       self->decorations = self->pre_fs_decor;
          
        if (PROP_GET32A(self->window, openbox_premax, cardinal,
                        dimensions, 4)) {
index e575a35aa016ef72fd3619146206058336648ba9..c757332dd8a9266e39cc3732f89a1106bc2e24a5 100644 (file)
@@ -269,6 +269,12 @@ typedef struct Client {
     */
     int functions;
 
+    /*! Saved decorations from before becoming fullscreen */
+    int pre_fs_decor;
+
+    /*! Saved functions from before becoming fullscreen */
+    int pre_fs_func;
+
     /*! Icons for the client as specified on the client window */
     Icon *icons;
     /*! The number of icons in icons */
This page took 0.025602 seconds and 4 git commands to generate.