#include "mouse.h"
#include "actions.h"
#include "translate.h"
-#include "hooks.h"
#include "client.h"
#include "screen.h"
#include "openbox.h"
gboolean config_place_center;
ObPlaceMonitor config_place_monitor;
+guint config_primary_monitor_index;
+ObPlaceMonitor config_primary_monitor;
+
StrutPartial config_margins;
gchar *config_theme;
gboolean config_theme_keepborder;
+guint config_theme_window_list_icon_size;
gchar *config_title_layout;
copy_if(type, (ObClientType)-1);
copy_if(decor, -1);
copy_if(shade, -1);
+ copy_if(monitor, -1);
copy_if(focus, -1);
copy_if(desktop, 0);
copy_if(layer, -2);
gboolean x_pos_given;
while (app) {
- name_set = class_set = type_set = x_pos_given = FALSE;
+ x_pos_given = FALSE;
class_set = obt_parse_attr_string(app, "class", &class);
name_set = obt_parse_attr_string(app, "name", &name);
if (!g_ascii_strcasecmp(s, "mouse"))
settings->monitor = 0;
else
- settings->monitor = obt_parse_node_int(c) + 1;
+ settings->monitor = obt_parse_node_int(c);
g_free(s);
}
}
}
-static void parse_hook(xmlNodePtr node, gpointer d)
-{
- gchar *name;
- ObHook hook;
- xmlNodePtr n;
-
-
- if (!obt_parse_attr_string(node, "name", &name)) {
- g_message(_("Hook in config file is missing a name"));
- return;
- }
-
- hook = hooks_hook_from_name(name);
- if (!hook)
- g_message(_("Unknown hook \"%s\" in config file"), name);
- else {
- if ((n = obt_parse_find_node(node->children, "action")))
- while (n) {
- ObActionsAct *action;
-
- action = actions_parse(n);
- if (action)
- hooks_add(hook, action);
- n = obt_parse_find_node(n->next, "action");
- }
- }
-
- g_free(name);
-}
-
-static void parse_hooks(xmlNodePtr node, gpointer d)
-{
- xmlNodePtr n;
-
- if ((n = obt_parse_find_node(node->children, "hook")))
- while (n) {
- parse_hook(n, NULL);
- n = obt_parse_find_node(n->next, "hook");
- }
-}
-
/*
<keybind key="C-x">
config_mouse_threshold = obt_parse_node_int(n);
if ((n = obt_parse_find_node(node, "doubleClickTime")))
config_mouse_dclicktime = obt_parse_node_int(n);
- if ((n = obt_parse_find_node(node, "screenEdgeWarpTime")))
+ if ((n = obt_parse_find_node(node, "screenEdgeWarpTime"))) {
config_mouse_screenedgetime = obt_parse_node_int(n);
+ /* minimum value of 25 for this property, when it is 1 and you hit the
+ edge it basically never stops */
+ if (config_mouse_screenedgetime && config_mouse_screenedgetime < 25)
+ config_mouse_screenedgetime = 25;
+ }
n = obt_parse_find_node(node, "context");
while (n) {
else if (obt_parse_node_contains(n, "mouse"))
config_place_monitor = OB_PLACE_MONITOR_MOUSE;
}
+ if ((n = obt_parse_find_node(node, "primaryMonitor"))) {
+ config_primary_monitor_index = obt_parse_node_int(n);
+ if (!config_primary_monitor_index) {
+ if (obt_parse_node_contains(n, "mouse"))
+ config_primary_monitor = OB_PLACE_MONITOR_MOUSE;
+ }
+ }
}
static void parse_margins(xmlNodePtr node, gpointer d)
config_theme_keepborder = obt_parse_node_bool(n);
if ((n = obt_parse_find_node(node, "animateIconify")))
config_animate_iconify = obt_parse_node_bool(n);
+ if ((n = obt_parse_find_node(node, "windowListIconSize"))) {
+ config_theme_window_list_icon_size = obt_parse_node_int(n);
+ if (config_theme_window_list_icon_size < 16)
+ config_theme_window_list_icon_size = 16;
+ else if (config_theme_window_list_icon_size > 96)
+ config_theme_window_list_icon_size = 96;
+ }
n = obt_parse_find_node(node, "font");
while (n) {
static void parse_menu(xmlNodePtr node, gpointer d)
{
xmlNodePtr n;
- for (node = node->children; node; node = node->next) {
- if (!xmlStrcasecmp(node->name, (const xmlChar*) "file")) {
- gchar *c;
+ node = node->children;
- c = obt_parse_node_string(node);
+ if ((n = obt_parse_find_node(node, "hideDelay")))
+ config_menu_hide_delay = obt_parse_node_int(n);
+ if ((n = obt_parse_find_node(node, "middle")))
+ config_menu_middle = obt_parse_node_bool(n);
+ if ((n = obt_parse_find_node(node, "submenuShowDelay")))
+ config_submenu_show_delay = obt_parse_node_int(n);
+ if ((n = obt_parse_find_node(node, "applicationIcons")))
+ config_menu_client_list_icons = obt_parse_node_bool(n);
+ if ((n = obt_parse_find_node(node, "manageDesktops")))
+ config_menu_manage_desktops = obt_parse_node_bool(n);
+
+ while ((node = obt_parse_find_node(node, "file"))) {
+ gchar *c = obt_parse_node_string(node);
config_menu_files = g_slist_append(config_menu_files,
obt_paths_expand_tilde(c));
g_free(c);
- }
- if ((n = obt_parse_find_node(node, "hideDelay")))
- config_menu_hide_delay = obt_parse_node_int(n);
- if ((n = obt_parse_find_node(node, "middle")))
- config_menu_middle = obt_parse_node_bool(n);
- if ((n = obt_parse_find_node(node, "submenuShowDelay")))
- config_submenu_show_delay = obt_parse_node_int(n);
- if ((n = obt_parse_find_node(node, "applicationIcons")))
- config_menu_client_list_icons = obt_parse_node_bool(n);
- if ((n = obt_parse_find_node(node, "manageDesktops")))
- config_menu_manage_desktops = obt_parse_node_bool(n);
+ node = node->next;
}
}
config_place_center = TRUE;
config_place_monitor = OB_PLACE_MONITOR_ANY;
+ config_primary_monitor_index = 1;
+ config_primary_monitor = OB_PLACE_MONITOR_ACTIVE;
+
obt_parse_register(i, "placement", parse_placement, NULL);
STRUT_PARTIAL_SET(config_margins, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
config_animate_iconify = TRUE;
config_title_layout = g_strdup("NLIMC");
config_theme_keepborder = TRUE;
+ config_theme_window_list_icon_size = 36;
config_font_activewindow = NULL;
config_font_inactivewindow = NULL;
obt_parse_register(i, "menu", parse_menu, NULL);
- obt_parse_register(i, "hooks", parse_hooks, NULL);
-
config_per_app_settings = NULL;
obt_parse_register(i, "applications", parse_per_app_settings, NULL);