]> Dogcows Code - chaz/openbox/blobdiff - openbox/client.c
okay, so obviously i was a bit confused when i added this. the file posted to the...
[chaz/openbox] / openbox / client.c
index cd58df968b572ad4b9f7dabbffa5e5b83be40537..b7ed57b5b086e06182320f048250c78a00d6e115 100644 (file)
@@ -1,19 +1,20 @@
 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
-
-client.c for the Openbox window manager
-Copyright (c) 2003        Ben Jansens
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-See the COPYING file for a copy of the GNU General Public License.
+   
+   client.c for the Openbox window manager
+   Copyright (c) 2004        Mikael Magnusson
+   Copyright (c) 2003        Ben Jansens
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   See the COPYING file for a copy of the GNU General Public License.
 */
 
 #include "client.h"
@@ -1256,8 +1257,12 @@ void client_setup_decor_and_functions(ObClient *self)
 
     /* finally, the user can have requested no decorations, which overrides
        everything (but doesnt give it a border if it doesnt have one) */
-    if (self->undecorated)
-        self->decorations = 0; //&= OB_FRAME_DECOR_BORDER;
+    if (self->undecorated) {
+        if (config_theme_keepborder)
+            self->decorations &= OB_FRAME_DECOR_BORDER;
+        else
+            self->decorations = 0;
+    }
 
     /* if we don't have a titlebar, then we cannot shade! */
     if (!(self->decorations & OB_FRAME_DECOR_TITLEBAR))
@@ -1445,9 +1450,10 @@ void client_update_title(ObClient *self)
         /* try old x stuff */
         if (!PROP_GETS(self->window, wm_name, locale, &data))
             // http://developer.gnome.org/projects/gup/hig/draft_hig_new/windows-alert.html
-            if (self->transient)
-                data = '\0';
-            else
+            if (self->transient) {
+                data = g_strdup("");
+                goto no_number;
+            } else
                 data = g_strdup("Unnamed Window");
 
     /* did the title change? then reset the title_count */
@@ -1478,7 +1484,7 @@ void client_update_title(ObClient *self)
     }
 
     PROP_SETS(self->window, net_wm_visible_name, data);
-
+no_number:
     self->title = data;
 
     if (self->frame)
@@ -2891,7 +2897,10 @@ ObClient *client_find_directional(ObClient *c, ObDirection dir)
             continue;
         if (!client_normal(cur))
             continue;
-        if(c->desktop != cur->desktop && cur->desktop != DESKTOP_ALL)
+        /* using c->desktop instead of screen_desktop doesn't work if the
+         * current window was omnipresent, hope this doesn't have any other
+         * side effects */
+        if(screen_desktop != cur->desktop && cur->desktop != DESKTOP_ALL)
             continue;
         if(cur->iconic)
             continue;
@@ -3138,7 +3147,7 @@ gint client_directional_edge_search(ObClient *c, ObDirection dir)
                 continue;
             if(!client_normal(cur))
                 continue;
-            if(c->desktop != cur->desktop && cur->desktop != DESKTOP_ALL)
+            if(screen_desktop != cur->desktop && cur->desktop != DESKTOP_ALL)
                 continue;
             if(cur->iconic)
                 continue;
@@ -3179,7 +3188,7 @@ gint client_directional_edge_search(ObClient *c, ObDirection dir)
                 continue;
             if(!client_normal(cur))
                 continue;
-            if(c->desktop != cur->desktop && cur->desktop != DESKTOP_ALL)
+            if(screen_desktop != cur->desktop && cur->desktop != DESKTOP_ALL)
                 continue;
             if(cur->iconic)
                 continue;
@@ -3221,7 +3230,7 @@ gint client_directional_edge_search(ObClient *c, ObDirection dir)
                 continue;
             if(!client_normal(cur))
                 continue;
-            if(c->desktop != cur->desktop && cur->desktop != DESKTOP_ALL)
+            if(screen_desktop != cur->desktop && cur->desktop != DESKTOP_ALL)
                 continue;
             if(cur->iconic)
                 continue;
@@ -3263,7 +3272,7 @@ gint client_directional_edge_search(ObClient *c, ObDirection dir)
                 continue;
             if(!client_normal(cur))
                 continue;
-            if(c->desktop != cur->desktop && cur->desktop != DESKTOP_ALL)
+            if(screen_desktop != cur->desktop && cur->desktop != DESKTOP_ALL)
                 continue;
             if(cur->iconic)
                 continue;
This page took 0.028272 seconds and 4 git commands to generate.