]> Dogcows Code - chaz/openbox/blobdiff - openbox/client.c
rip out the VIDMODE extension stuff. this was only used to size fullscreen windows...
[chaz/openbox] / openbox / client.c
index 7a5311ea5d0bb8082760d7078ab0f5bd96bd3bcb..839bbae8489b2459f4d4039742bf92cc994c33c4 100644 (file)
@@ -213,7 +213,12 @@ static ObAppSettings *get_settings(ObClient *client)
     while (a) {
         ObAppSettings *app = (ObAppSettings *) a->data;
         
-        if (!strcmp(app->name, client->name)) {
+        if (
+            (app->name && !app->class && !strcmp(app->name, client->name))
+            || (app->class && !app->name && !strcmp(app->class, client->class))
+            || (app->class && app->name && !strcmp(app->class, client->class)
+                && !strcmp(app->name, client->name))
+            ) {
             ob_debug("Window matching: %s\n", app->name);
             /* Match if no role was specified in the per app setting, or if the string
              * matches the beginning of the role, since apps like to set the role to
@@ -328,10 +333,14 @@ void client_manage(Window window)
             client_set_undecorated(self, !settings->decor);
         if (settings->iconic != -1)
             client_iconify(self, settings->iconic, FALSE);
-        if (settings->skip_pager != -1)
+        if (settings->skip_pager != -1) {
             self->skip_pager = !!settings->skip_pager;
-        if (settings->skip_taskbar != -1)
+            client_change_state(self);
+        }
+        if (settings->skip_taskbar != -1) {
             self->skip_taskbar = !!settings->skip_taskbar;
+            client_change_state(self);
+        }
 
         /* 1 && -1 shouldn't be possible by the code in config.c */
         if (settings->max_vert == 1 && self->max_horz == 1)
@@ -2026,35 +2035,16 @@ void client_configure_full(ObClient *self, ObCorner anchor,
 
     /* set the size and position if fullscreen */
     if (self->fullscreen) {
-#ifdef VIDMODE
-        gint dot;
-        XF86VidModeModeLine mode;
-#endif
         Rect *a;
         guint i;
 
         i = client_monitor(self);
         a = screen_physical_area_monitor(i);
 
-#ifdef VIDMODE
-        if (i == 0 && /* primary head */
-            extensions_vidmode &&
-            XF86VidModeGetViewPort(ob_display, ob_screen, &x, &y) &&
-            /* get the mode last so the mode.privsize isnt freed incorrectly */
-            XF86VidModeGetModeLine(ob_display, ob_screen, &dot, &mode)) {
-            x += a->x;
-            y += a->y;
-            w = mode.hdisplay;
-            h = mode.vdisplay;
-            if (mode.privsize) XFree(mode.private);
-        } else
-#endif
-        {
-            x = a->x;
-            y = a->y;
-            w = a->width;
-            h = a->height;
-        }
+        x = a->x;
+        y = a->y;
+        w = a->width;
+        h = a->height;
 
         user = FALSE; /* ignore that increment etc shit when in fullscreen */
     } else {
@@ -2338,12 +2328,6 @@ static void client_iconify_recursive(ObClient *self,
             focus_order_remove(self);
             focus_order_add_new(self);
 
-            /* this is here cuz with the VIDMODE extension, the viewport can
-               change while a fullscreen window is iconic, and when it
-               uniconifies, it would be nice if it did so to the new position
-               of the viewport */
-            client_reconfigure(self);
-
             changed = TRUE;
         }
     }
This page took 0.027761 seconds and 4 git commands to generate.