#include "prop.h"
#include "translate.h"
#include "client.h"
+#include "screen.h"
#include "parser/parse.h"
#include "openbox.h"
gboolean config_theme_keepborder;
gboolean config_theme_hidedisabled;
-gchar *config_title_layout;
+gchar *config_title_layout;
+gboolean config_title_number;
gint config_desktops_num;
GSList *config_desktops_names;
gboolean config_menu_warppointer;
gboolean config_menu_xorstyle;
guint config_menu_hide_delay;
+gboolean config_menu_middle;
guint config_submenu_show_delay;
gboolean config_menu_client_list_icons;
GSList *config_menu_files;
-gint config_resist_win;
-gint config_resist_edge;
-
+gint config_resist_win;
+gint config_resist_edge;
gboolean config_resist_layers_below;
GSList *config_per_app_settings;
xmlNodePtr node, gpointer d)
{
xmlNodePtr app = parse_find_node("application", node->children);
- gchar *name;
+ gchar *name, *class;
+ gboolean name_set, class_set;
+ gboolean x_pos_given;
while (app) {
- gboolean x_pos_given = FALSE;
- if (parse_attr_string("name", app, &name)) {
+ name_set = class_set = x_pos_given = FALSE;
+
+ class_set = parse_attr_string("class", app, &class);
+ name_set = parse_attr_string("name", app, &name);
+ if (class_set || name_set) {
xmlNodePtr n, c;
ObAppSettings *settings = g_new0(ObAppSettings, 1);
- settings->name = name;
+
+ if (name_set)
+ settings->name = name;
+ else
+ settings->name = NULL;
+ if (class_set)
+ settings->class = class;
+ else
+ settings->class = NULL;
+
if (!parse_attr_string("role", app, &settings->role))
settings->role = NULL;
g_free(config_title_layout);
config_title_layout = parse_string(doc, n);
}
+ if ((n = parse_find_node("titleNumber", node)))
+ config_theme_hidedisabled = parse_bool(doc, n);
if ((n = parse_find_node("keepBorder", node)))
config_theme_keepborder = parse_bool(doc, n);
if ((n = parse_find_node("hideDisabled", node)))
config_menu_xorstyle = parse_bool(doc, n);
if ((n = parse_find_node("hideDelay", node)))
config_menu_hide_delay = parse_int(doc, n);
+ if ((n = parse_find_node("middle", node)))
+ config_menu_middle = parse_bool(doc, n);
if ((n = parse_find_node("submenuShowDelay", node)))
config_submenu_show_delay = parse_int(doc, n);
if ((n = parse_find_node("desktopMenuIcons", node)))
config_theme = NULL;
config_title_layout = g_strdup("NLIMC");
+ config_title_number = TRUE;
config_theme_keepborder = TRUE;
config_theme_hidedisabled = FALSE;
config_menu_warppointer = TRUE;
config_menu_xorstyle = TRUE;
config_menu_hide_delay = 250;
+ config_menu_middle = FALSE;
config_submenu_show_delay = 0;
config_menu_client_list_icons = TRUE;
config_menu_files = NULL;
ObAppSettings *itd = (ObAppSettings *)it->data;
g_free(itd->name);
g_free(itd->role);
+ g_free(itd->class);
g_free(it->data);
}
g_slist_free(config_per_app_settings);