X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient.c;h=ce1c417fd0f8f73303f4b243de8cb8c93123901b;hb=de1559a09497ae4ead44a6e70b556123a5bab35c;hp=e7af04b85270e97d115683a6c3b1f3bbd71fe338;hpb=f80ab241f31676d8ae5377d62986ee793dc27ca7;p=chaz%2Fopenbox diff --git a/openbox/client.c b/openbox/client.c index e7af04b8..ce1c417f 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -40,7 +40,6 @@ #include "keyboard.h" #include "mouse.h" #include "render/render.h" -#include "per_app_settings.h" #include #include @@ -205,6 +204,26 @@ void client_manage_all() XFree(children); } +/* This should possibly do something more interesting than just match + * against WM_CLASS literally. */ +static ObAppSetting *get_settings(ObClient *client) +{ + GSList *a = config_per_app_settings; + + while (a) { + ObAppSetting *app = (ObAppSetting *) a->data; + + if (!strcmp(app->name, client->name)) { + ob_debug("Window matching: %s\n", app->name); + + return (ObAppSetting *) a->data; + } + + a = a->next; + } + return NULL; +} + void client_manage(Window window) { ObClient *self; @@ -295,8 +314,7 @@ void client_manage(Window window) client_apply_startup_state(self); /* get and set application level settings */ - /* XXX move that function here */ - settings = (ObAppSetting *) get_client_settings(self); + settings = get_settings(self); if (settings) { if (settings->shade && !settings->decor) @@ -362,11 +380,7 @@ void client_manage(Window window) gint x = self->area.x, ox = x; gint y = self->area.y, oy = y; - if (settings) - /* XXX put this in place.c */ - place_window_from_settings(settings, self, &x, &y); - else - place_client(self, &x, &y); + place_client(self, &x, &y, settings); /* make sure the window is visible. */ client_find_onscreen(self, &x, &y,