X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fconfig.c;h=e25d99fe69ba5601d917860041b8f739bfa03400;hb=c6f2875d61ce038bcc3b28e28aa26a0648efd752;hp=48df2e799e0c6694586f53751492ad488d5e6949;hpb=828d06f271392abbef75bb37e2635b2085bdef90;p=chaz%2Fopenbox diff --git a/openbox/config.c b/openbox/config.c index 48df2e79..e25d99fe 100644 --- a/openbox/config.c +++ b/openbox/config.c @@ -39,6 +39,8 @@ gboolean config_focus_under_mouse; ObPlacePolicy config_place_policy; gboolean config_place_center; +StrutPartial config_margins; + gchar *config_theme; gboolean config_theme_keepborder; @@ -79,6 +81,7 @@ guint config_keyboard_reset_state; gint config_mouse_threshold; gint config_mouse_dclicktime; +gint config_mouse_screenedgetime; guint config_menu_hide_delay; gboolean config_menu_middle; @@ -422,6 +425,8 @@ static void parse_mouse(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, config_mouse_threshold = parse_int(doc, n); if ((n = parse_find_node("doubleClickTime", node))) config_mouse_dclicktime = parse_int(doc, n); + if ((n = parse_find_node("screenEdgeWarpTime", node))) + config_mouse_screenedgetime = parse_int(doc, n); n = parse_find_node("context", node); while (n) { @@ -496,6 +501,23 @@ static void parse_placement(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, config_place_center = parse_bool(doc, n); } +static void parse_margins(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, + gpointer d) +{ + xmlNodePtr n; + + node = node->children; + + if ((n = parse_find_node("top", node))) + config_margins.top = MAX(0, parse_int(doc, n)); + if ((n = parse_find_node("left", node))) + config_margins.left = MAX(0, parse_int(doc, n)); + if ((n = parse_find_node("right", node))) + config_margins.right = MAX(0, parse_int(doc, n)); + if ((n = parse_find_node("bottom", node))) + config_margins.bottom = MAX(0, parse_int(doc, n)); +} + static void parse_theme(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, gpointer d) { @@ -760,23 +782,6 @@ typedef struct const gchar *actname; } ObDefKeyBind; -static void bind_default_keyboard() -{ - ObDefKeyBind *it; - ObDefKeyBind binds[] = { - { "A-Tab", "NextWindow" }, - { "S-A-Tab", "PreviousWindow" }, - { "A-F4", "Close" }, - { NULL, NULL } - }; - - for (it = binds; it->key; ++it) { - GList *l = g_list_append(NULL, g_strdup(it->key)); - keyboard_bind(l, actions_parse_string(it->actname)); - g_list_free(l); - } -} - typedef struct { const gchar *button; @@ -821,7 +826,7 @@ static void bind_default_mouse() { "Left", "AllDesktops", OB_MOUSE_ACTION_CLICK, "Raise" }, { "Left", "Shade", OB_MOUSE_ACTION_CLICK, "Raise" }, { "Left", "Close", OB_MOUSE_ACTION_CLICK, "Close" }, - { "Left", "Maximize", OB_MOUSE_ACTION_CLICK, "ToggleMaximizeFull" }, + { "Left", "Maximize", OB_MOUSE_ACTION_CLICK, "ToggleMaximize" }, { "Left", "Iconify", OB_MOUSE_ACTION_CLICK, "Iconify" }, { "Left", "AllDesktops", OB_MOUSE_ACTION_CLICK, "ToggleOmnipresent" }, { "Left", "Shade", OB_MOUSE_ACTION_CLICK, "ToggleShade" }, @@ -829,6 +834,10 @@ static void bind_default_mouse() { "Left", "TRCorner", OB_MOUSE_ACTION_MOTION, "Resize" }, { "Left", "BLCorner", OB_MOUSE_ACTION_MOTION, "Resize" }, { "Left", "BRCorner", OB_MOUSE_ACTION_MOTION, "Resize" }, + { "Left", "Top", OB_MOUSE_ACTION_MOTION, "Resize" }, + { "Left", "Bottom", OB_MOUSE_ACTION_MOTION, "Resize" }, + { "Left", "Left", OB_MOUSE_ACTION_MOTION, "Resize" }, + { "Left", "Right", OB_MOUSE_ACTION_MOTION, "Resize" }, { "Left", "Titlebar", OB_MOUSE_ACTION_MOTION, "Move" }, { "A-Left", "Frame", OB_MOUSE_ACTION_MOTION, "Move" }, { "A-Middle", "Frame", OB_MOUSE_ACTION_MOTION, "Resize" }, @@ -856,6 +865,10 @@ void config_startup(ObParseInst *i) parse_register(i, "placement", parse_placement, NULL); + STRUT_PARTIAL_SET(config_margins, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + + parse_register(i, "margins", parse_margins, NULL); + config_theme = NULL; config_animate_iconify = TRUE; @@ -900,12 +913,11 @@ void config_startup(ObParseInst *i) translate_key("C-g", &config_keyboard_reset_state, &config_keyboard_reset_keycode); - bind_default_keyboard(); - parse_register(i, "keyboard", parse_keyboard, NULL); config_mouse_threshold = 8; config_mouse_dclicktime = 200; + config_mouse_screenedgetime = 400; bind_default_mouse();