summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2011-10-15 20:07:57 -0400
committerDana Jansens <danakj@orodu.net>2011-10-16 18:51:51 -0400
commit8a975cb10051e8da0420275a43f1b49d3cce2678 (patch)
tree9dbfb01d45ecded7712d8ad8852234c73bfdbd56
parent4aade63604e9d29f01933b9bf0ac9228721411ef (diff)
respect the active/mouse options for monitor placement, and use ObMonitorPlace for per-app too
-rw-r--r--openbox/config.c10
-rw-r--r--openbox/config.h9
-rw-r--r--openbox/place.c10
3 files changed, 13 insertions, 16 deletions
diff --git a/openbox/config.c b/openbox/config.c
index 9067011a..0d9eb689 100644
--- a/openbox/config.c
+++ b/openbox/config.c
@@ -111,7 +111,7 @@ ObAppSettings* config_create_app_settings(void)
settings->type = -1;
settings->decor = -1;
settings->shade = -1;
- settings->monitor_type = 0;
+ settings->monitor_type = OB_PLACE_MONITOR_ANY;
settings->monitor = -1;
settings->focus = -1;
settings->desktop = 0;
@@ -136,7 +136,7 @@ void config_app_settings_copy_non_defaults(const ObAppSettings *src,
copy_if(type, (ObClientType)-1);
copy_if(decor, -1);
copy_if(shade, -1);
- copy_if(monitor_type, 0);
+ copy_if(monitor_type, OB_PLACE_MONITOR_ANY);
copy_if(monitor, -1);
copy_if(focus, -1);
copy_if(desktop, 0);
@@ -297,13 +297,13 @@ static void parse_per_app_settings(xmlNodePtr node, gpointer d)
gchar *s = obt_xml_node_string(c);
if (!g_ascii_strcasecmp(s, "mouse"))
settings->monitor_type =
- OB_APP_SETTINGS_MONITOR_MOUSE;
+ OB_PLACE_MONITOR_MOUSE;
else if (!g_ascii_strcasecmp(s, "active"))
settings->monitor_type =
- OB_APP_SETTINGS_MONITOR_ACTIVE;
+ OB_PLACE_MONITOR_ACTIVE;
else if (!g_ascii_strcasecmp(s, "primary"))
settings->monitor_type =
- OB_APP_SETTINGS_MONITOR_PRIMARY;
+ OB_PLACE_MONITOR_PRIMARY;
else
settings->monitor = obt_xml_node_int(c);
g_free(s);
diff --git a/openbox/config.h b/openbox/config.h
index 1802179d..730dc39a 100644
--- a/openbox/config.h
+++ b/openbox/config.h
@@ -33,13 +33,6 @@
typedef struct _ObAppSettings ObAppSettings;
-typedef enum {
- OB_APP_SETTINGS_MONITOR_FIXED,
- OB_APP_SETTINGS_MONITOR_PRIMARY,
- OB_APP_SETTINGS_MONITOR_ACTIVE,
- OB_APP_SETTINGS_MONITOR_MOUSE
-} ObAppSettingsMonitor;
-
struct _ObAppSettings
{
GPatternSpec *class;
@@ -56,7 +49,7 @@ struct _ObAppSettings
gint shade;
gint decor;
gint focus;
- ObAppSettingsMonitor monitor_type;
+ ObPlaceMonitor monitor_type;
gint monitor;
gint iconic;
gint skip_pager;
diff --git a/openbox/place.c b/openbox/place.c
index a73a8bfb..2cd21bb0 100644
--- a/openbox/place.c
+++ b/openbox/place.c
@@ -193,21 +193,25 @@ static Rect *pick_head(ObClient *c, gboolean foreground,
if (config_place_monitor == OB_PLACE_MONITOR_PRIMARY)
choice[i].flags |= HEAD_PLACED;
if (settings &&
- settings->monitor_type == OB_APP_SETTINGS_MONITOR_PRIMARY)
+ settings->monitor_type == OB_PLACE_MONITOR_PRIMARY)
choice[i].flags |= HEAD_PERAPP;
}
i = screen_monitor_active();
if (i < screen_num_monitors) {
+ if (config_place_monitor == OB_PLACE_MONITOR_ACTIVE)
+ choice[i].flags |= HEAD_PLACED;
if (settings &&
- settings->monitor_type == OB_APP_SETTINGS_MONITOR_ACTIVE)
+ settings->monitor_type == OB_PLACE_MONITOR_ACTIVE)
choice[i].flags |= HEAD_PERAPP;
}
i = screen_monitor_pointer();
if (i < screen_num_monitors) {
+ if (config_place_monitor == OB_PLACE_MONITOR_MOUSE)
+ choice[i].flags |= HEAD_PLACED;
if (settings &&
- settings->monitor_type == OB_APP_SETTINGS_MONITOR_MOUSE)
+ settings->monitor_type == OB_PLACE_MONITOR_MOUSE)
choice[i].flags |= HEAD_PERAPP;
}