X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=openbox%2Fconfig.c;h=e25d99fe69ba5601d917860041b8f739bfa03400;hb=cfa96390e88eae67e8e5b29598f597303849002c;hp=51e169e8ba29275b61472a199484d3f64ed0269b;hpb=8228e90450c147c647465d281fa16caeca07fd10;p=chaz%2Fopenbox diff --git a/openbox/config.c b/openbox/config.c index 51e169e8..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) { @@ -804,14 +826,18 @@ 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, "Maximize" }, + { "Left", "Maximize", OB_MOUSE_ACTION_CLICK, "ToggleMaximize" }, { "Left", "Iconify", OB_MOUSE_ACTION_CLICK, "Iconify" }, - { "Left", "AllDesktops", OB_MOUSE_ACTION_CLICK, "Omnipresent" }, - { "Left", "Shade", OB_MOUSE_ACTION_CLICK, "Shade" }, + { "Left", "AllDesktops", OB_MOUSE_ACTION_CLICK, "ToggleOmnipresent" }, + { "Left", "Shade", OB_MOUSE_ACTION_CLICK, "ToggleShade" }, { "Left", "TLCorner", OB_MOUSE_ACTION_MOTION, "Resize" }, { "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" }, @@ -839,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; @@ -887,6 +917,7 @@ void config_startup(ObParseInst *i) config_mouse_threshold = 8; config_mouse_dclicktime = 200; + config_mouse_screenedgetime = 400; bind_default_mouse();