/* -*- 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"
/*! The event mask to grab on client windows */
#define CLIENT_EVENTMASK (PropertyChangeMask | FocusChangeMask | \
- StructureNotifyMask)
+ StructureNotifyMask)
#define CLIENT_NOPROPAGATEMASK (ButtonPressMask | ButtonReleaseMask | \
- ButtonMotionMask)
+ ButtonMotionMask)
typedef struct
{
/* dont let mwm hints kill the close button
if (! (self->mwmhints.functions & MwmFunc_Close))
self->functions &= ~OB_CLIENT_FUNC_CLOSE; */
- }
+ }
}
if (!(self->functions & OB_CLIENT_FUNC_SHADE))
/* 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))
if (!PROP_GETS(self->window, net_wm_name, utf8, &data))
/* try old x stuff */
if (!PROP_GETS(self->window, wm_name, locale, &data))
- data = g_strdup("Unnamed Window");
+ // http://developer.gnome.org/projects/gup/hig/draft_hig_new/windows-alert.html
+ if (self->transient)
+ data = g_strdup("");
+ else
+ data = g_strdup("Unnamed Window");
/* did the title change? then reset the title_count */
if (old_title && 0 != strncmp(old_title, data, strlen(data)))
data = vdata;
}
- // http://developer.gnome.org/projects/gup/hig/draft_hig_new/windows-alert.html
- if (self->transient)
- data = '\0';
- else
- data = g_strdup("Unnamed Window");
-
PROP_SETS(self->window, net_wm_visible_icon_name, data);
self->icon_title = data;