Merge branch 'backport' into 3.4-working
authorMikael Magnusson <mikachu@comhem.se>
Sat, 22 Dec 2007 18:26:26 +0000 (19:26 +0100)
committerMikael Magnusson <mikachu@comhem.se>
Sat, 22 Dec 2007 18:26:57 +0000 (19:26 +0100)
14 files changed:
1  2 
openbox/actions/addremovedesktop.c
openbox/actions/all.c
openbox/actions/cyclewindows.c
openbox/actions/desktop.c
openbox/actions/directionalwindows.c
openbox/actions/focus.c
openbox/actions/growtoedge.c
openbox/actions/layer.c
openbox/actions/maximize.c
openbox/actions/moveresizeto.c
openbox/actions/movetoedge.c
openbox/config.c
po/en@boldquot.po
po/en@quot.po

Simple merge
Simple merge
Simple merge
index 7ff75afe0b5055e36747035ffee7a3a5be521721,69275252e1c7770db17cc6f38c9b31af9b92d2aa..31073895394e8264d89d05bad03868f7e509031e
@@@ -26,138 -26,73 +26,138 @@@ typedef struct 
      gboolean follow;
  } Options;
  
 -static gpointer setup_go_func(ObParseInst *i, xmlDocPtr doc,
 -                                  xmlNodePtr node);
 -static gpointer setup_send_func(ObParseInst *i, xmlDocPtr doc,
 -                                xmlNodePtr node);
 +static gpointer setup_go_last_func(ObParseInst *i, xmlDocPtr doc,
 +                                   xmlNodePtr node);
 +static gpointer setup_send_last_func(ObParseInst *i, xmlDocPtr doc,
 +                                     xmlNodePtr node);
 +static gpointer setup_go_abs_func(ObParseInst *i, xmlDocPtr doc,
 +                                   xmlNodePtr node);
 +static gpointer setup_send_abs_func(ObParseInst *i, xmlDocPtr doc,
 +                                     xmlNodePtr node);
 +static gpointer setup_go_next_func(ObParseInst *i, xmlDocPtr doc,
 +                                   xmlNodePtr node);
 +static gpointer setup_send_next_func(ObParseInst *i, xmlDocPtr doc,
 +                                     xmlNodePtr node);
 +static gpointer setup_go_prev_func(ObParseInst *i, xmlDocPtr doc,
 +                                   xmlNodePtr node);
 +static gpointer setup_send_prev_func(ObParseInst *i, xmlDocPtr doc,
 +                                     xmlNodePtr node);
 +static gpointer setup_go_left_func(ObParseInst *i, xmlDocPtr doc,
 +                                   xmlNodePtr node);
 +static gpointer setup_send_left_func(ObParseInst *i, xmlDocPtr doc,
 +                                     xmlNodePtr node);
 +static gpointer setup_go_right_func(ObParseInst *i, xmlDocPtr doc,
 +                                   xmlNodePtr node);
 +static gpointer setup_send_right_func(ObParseInst *i, xmlDocPtr doc,
 +                                     xmlNodePtr node);
 +static gpointer setup_go_up_func(ObParseInst *i, xmlDocPtr doc,
 +                                   xmlNodePtr node);
 +static gpointer setup_send_up_func(ObParseInst *i, xmlDocPtr doc,
 +                                     xmlNodePtr node);
 +static gpointer setup_go_down_func(ObParseInst *i, xmlDocPtr doc,
 +                                   xmlNodePtr node);
 +static gpointer setup_send_down_func(ObParseInst *i, xmlDocPtr doc,
 +                                     xmlNodePtr node);
  static gboolean run_func(ObActionsData *data, gpointer options);
  
- void action_desktop_startup()
+ void action_desktop_startup(void)
  {
 -    actions_register("GoToDesktop", setup_go_func, g_free, run_func,
 -                     NULL, NULL);
 -    actions_register("SendToDesktop", setup_send_func, g_free, run_func,
 -                     NULL, NULL);
 +    actions_register("DesktopLast", setup_go_last_func, g_free,
 +                     run_func, NULL, NULL);
 +    actions_register("SendToDesktopLast", setup_send_last_func, g_free,
 +                     run_func, NULL, NULL);
 +    actions_register("Desktop", setup_go_abs_func, g_free,
 +                     run_func, NULL, NULL);
 +    actions_register("SendToDesktop", setup_send_abs_func, g_free,
 +                     run_func, NULL, NULL);
 +    actions_register("DesktopNext", setup_go_next_func, g_free,
 +                     run_func, NULL, NULL);
 +    actions_register("SendToDesktopNext", setup_send_next_func, g_free,
 +                     run_func, NULL, NULL);
 +    actions_register("DesktopPrevious", setup_go_prev_func, g_free,
 +                     run_func, NULL, NULL);
 +    actions_register("SendToDesktopPrevious", setup_send_prev_func, g_free,
 +                     run_func, NULL, NULL);
 +    actions_register("DesktopLeft", setup_go_left_func, g_free,
 +                     run_func, NULL, NULL);
 +    actions_register("SendToDesktopLeft", setup_send_left_func, g_free,
 +                     run_func, NULL, NULL);
 +    actions_register("DesktopRight", setup_go_right_func, g_free,
 +                     run_func, NULL, NULL);
 +    actions_register("SendToDesktopRight", setup_send_right_func, g_free,
 +                     run_func, NULL, NULL);
 +    actions_register("DesktopUp", setup_go_up_func, g_free,
 +                     run_func, NULL, NULL);
 +    actions_register("SendToDesktopUp", setup_send_up_func, g_free,
 +                     run_func, NULL, NULL);
 +    actions_register("DesktopDown", setup_go_down_func, g_free,
 +                     run_func, NULL, NULL);
 +    actions_register("SendToDesktopDown", setup_send_down_func, g_free,
 +                     run_func, NULL, NULL);
  }
  
 -static gpointer setup_go_func(ObParseInst *i, xmlDocPtr doc,
 -                                  xmlNodePtr node)
 +static gpointer setup_follow(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node)
  {
      xmlNodePtr n;
 -    Options *o;
 +    Options *o = g_new0(Options, 1);
 +    o->send = TRUE;
 +    o->follow = TRUE;
 +    if ((n = parse_find_node("follow", node)))
 +        o->follow = parse_bool(doc, n);
 +    return o;
 +}
  
 -    o = g_new0(Options, 1);
 -    /* don't go anywhere if theres no options given */
 +static gpointer setup_go_last_func(ObParseInst *i, xmlDocPtr doc,
 +                                   xmlNodePtr node)
 +{
 +    Options *o = g_new0(Options, 1);
 +    o->type = LAST;
 +    return o;
 +}
 +
 +static gpointer setup_send_last_func(ObParseInst *i, xmlDocPtr doc,
 +                                     xmlNodePtr node)
 +{
 +    Options *o = setup_follow(i, doc, node);
 +    o->type = LAST;
 +    return o;
 +}
 +
 +static gpointer setup_go_abs_func(ObParseInst *i, xmlDocPtr doc,
 +                                   xmlNodePtr node)
 +{
 +    xmlNodePtr n;
 +    Options *o = g_new0(Options, 1);
      o->type = ABSOLUTE;
 -    o->abs.desktop = screen_desktop;
 -    /* wrap by default - it's handy! */
 -    o->rel.wrap = TRUE;
 +    if ((n = parse_find_node("desktop", node)))
 +        o->abs.desktop = parse_int(doc, n) - 1;
 +    else
 +        o->abs.desktop = screen_desktop;
 +    return o;
 +}
  
 -    if ((n = parse_find_node("to", node))) {
 -        gchar *s = parse_string(doc, n);
 -        if (!g_ascii_strcasecmp(s, "last"))
 -            o->type = LAST;
 -        else if (!g_ascii_strcasecmp(s, "next")) {
 -            o->type = RELATIVE;
 -            o->rel.linear = TRUE;
 -            o->rel.dir = OB_DIRECTION_EAST;
 -        }
 -        else if (!g_ascii_strcasecmp(s, "previous")) {
 -            o->type = RELATIVE;
 -            o->rel.linear = TRUE;
 -            o->rel.dir = OB_DIRECTION_WEST;
 -        }
 -        else if (!g_ascii_strcasecmp(s, "north") ||
 -                 !g_ascii_strcasecmp(s, "up")) {
 -            o->type = RELATIVE;
 -            o->rel.dir = OB_DIRECTION_NORTH;
 -        }
 -        else if (!g_ascii_strcasecmp(s, "south") ||
 -                 !g_ascii_strcasecmp(s, "down")) {
 -            o->type = RELATIVE;
 -            o->rel.dir = OB_DIRECTION_SOUTH;
 -        }
 -        else if (!g_ascii_strcasecmp(s, "west") ||
 -                 !g_ascii_strcasecmp(s, "left")) {
 -            o->type = RELATIVE;
 -            o->rel.dir = OB_DIRECTION_WEST;
 -        }
 -        else if (!g_ascii_strcasecmp(s, "east") ||
 -                 !g_ascii_strcasecmp(s, "right")) {
 -            o->type = RELATIVE;
 -            o->rel.dir = OB_DIRECTION_EAST;
 -        }
 -        else {
 -            o->type = ABSOLUTE;
 -            o->abs.desktop = parse_int(doc, n) - 1;
 -        }
 -        g_free(s);
 -    }
 +static gpointer setup_send_abs_func(ObParseInst *i, xmlDocPtr doc,
 +                                     xmlNodePtr node)
 +{
 +    xmlNodePtr n;
 +    Options *o = setup_follow(i, doc, node);
 +    o->type = ABSOLUTE;
 +    if ((n = parse_find_node("desktop", node)))
 +        o->abs.desktop = parse_int(doc, n) - 1;
 +    else
 +        o->abs.desktop = screen_desktop;
 +    return o;
 +}
 +
 +static void setup_rel(Options *o, ObParseInst *i, xmlDocPtr doc,
 +                      xmlNodePtr node, gboolean lin, ObDirection dir)
 +{
 +    xmlNodePtr n;
 +
 +    o->type = RELATIVE;
 +    o->rel.linear = lin;
 +    o->rel.dir = dir;
 +    o->rel.wrap = TRUE;
  
      if ((n = parse_find_node("wrap", node)))
          o->rel.wrap = parse_bool(doc, n);
index fa8757ae09f9a14b13035921a29b2b0bbcd781f7,707659ebac5af57ae47ab7155a387327ae89984d..71c0d37da6069c8a915ef0ec8df635ddde1a7d41
@@@ -60,40 -31,12 +60,40 @@@ static void     i_cancel_func(gpointer 
  
  static void     end_cycle(gboolean cancel, guint state, Options *o);
  
- void action_directionalwindows_startup()
+ void action_directionalwindows_startup(void)
  {
 -    actions_register("DirectionalCycleWindows", setup_cycle_func, free_func,
 -                     run_func, i_input_func, i_cancel_func);
 -    actions_register("DirectionalTargetWindow", setup_target_func, free_func,
 -                     run_func, NULL, NULL);
 +    actions_register("DirectionalFocusNorth", setup_north_cycle_func,
 +                     free_func, run_func, i_input_func, i_cancel_func);
 +    actions_register("DirectionalFocusSouth", setup_south_cycle_func,
 +                     free_func, run_func, i_input_func, i_cancel_func);
 +    actions_register("DirectionalFocusWest", setup_west_cycle_func,
 +                     free_func, run_func, i_input_func, i_cancel_func);
 +    actions_register("DirectionalFocusEast", setup_east_cycle_func,
 +                     free_func, run_func, i_input_func, i_cancel_func);
 +    actions_register("DirectionalFocusNorthWest", setup_northwest_cycle_func,
 +                     free_func, run_func, i_input_func, i_cancel_func);
 +    actions_register("DirectionalFocusNorthEast", setup_northeast_cycle_func,
 +                     free_func, run_func, i_input_func, i_cancel_func);
 +    actions_register("DirectionalFocusSouthWest", setup_southwest_cycle_func,
 +                     free_func, run_func, i_input_func, i_cancel_func);
 +    actions_register("DirectionalFocusSouthEast", setup_southeast_cycle_func,
 +                     free_func, run_func, i_input_func, i_cancel_func);
 +    actions_register("DirectionalTargetNorth", setup_north_target_func,
 +                     free_func, run_func, i_input_func, i_cancel_func);
 +    actions_register("DirectionalTargetSouth", setup_south_target_func,
 +                     free_func, run_func, i_input_func, i_cancel_func);
 +    actions_register("DirectionalTargetWest", setup_west_target_func,
 +                     free_func, run_func, i_input_func, i_cancel_func);
 +    actions_register("DirectionalTargetEast", setup_east_target_func,
 +                     free_func, run_func, i_input_func, i_cancel_func);
 +    actions_register("DirectionalTargetNorthWest", setup_northwest_target_func,
 +                     free_func, run_func, i_input_func, i_cancel_func);
 +    actions_register("DirectionalTargetNorthEast", setup_northeast_target_func,
 +                     free_func, run_func, i_input_func, i_cancel_func);
 +    actions_register("DirectionalTargetSouthWest", setup_southwest_target_func,
 +                     free_func, run_func, i_input_func, i_cancel_func);
 +    actions_register("DirectionalTargetSouthEast", setup_southeast_target_func,
 +                     free_func, run_func, i_input_func, i_cancel_func);
  }
  
  static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node)
Simple merge
index 11ea2fa815b35e529a0aa599b3bc413f6684fcc8,69b8ef77b33ce4db0621992c08ceafe9b26e7a15..a18390df998d0e93f76c6c4b0f9f66bdf4b6d316
@@@ -9,25 -9,16 +9,25 @@@ typedef struct 
      ObDirection dir;
  } Options;
  
 -static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node);
 -static void     free_func(gpointer options);
 +static gpointer setup_north_func(ObParseInst *i,
 +                                 xmlDocPtr doc, xmlNodePtr node);
 +static gpointer setup_south_func(ObParseInst *i,
 +                                 xmlDocPtr doc, xmlNodePtr node);
 +static gpointer setup_east_func(ObParseInst *i,
 +                                xmlDocPtr doc, xmlNodePtr node);
 +static gpointer setup_west_func(ObParseInst *i,
 +                                xmlDocPtr doc, xmlNodePtr node);
  static gboolean run_func(ObActionsData *data, gpointer options);
  
- void action_growtoedge_startup()
+ void action_growtoedge_startup(void)
  {
 -    actions_register("GrowToEdge",
 -                     setup_func,
 -                     free_func,
 -                     run_func,
 +    actions_register("GrowToEdgeNorth", setup_north_func, g_free, run_func,
 +                     NULL, NULL);
 +    actions_register("GrowToEdgeSouth", setup_south_func, g_free, run_func,
 +                     NULL, NULL);
 +    actions_register("GrowToEdgeEast", setup_east_func, g_free, run_func,
 +                     NULL, NULL);
 +    actions_register("GrowToEdgeWest", setup_west_func, g_free, run_func,
                       NULL, NULL);
  }
  
index 28a69d833c5a83c4647e1878410951b6deb60893,92fa4806ebd36990d934117c7711d3beed2ab855..6a8e69871fbc88cef0117ab45128d4c64d21fb9a
@@@ -9,15 -9,11 +9,15 @@@ typedef struct 
  static gpointer setup_func_top(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node);
  static gpointer setup_func_bottom(ObParseInst *i, xmlDocPtr doc,
                                    xmlNodePtr node);
 -static gpointer setup_func_send(ObParseInst *i, xmlDocPtr doc,
 -                                xmlNodePtr node);
 +static gpointer setup_sendtop_func(ObParseInst *i,
 +                                     xmlDocPtr doc, xmlNodePtr node);
 +static gpointer setup_sendbottom_func(ObParseInst *i,
 +                                        xmlDocPtr doc, xmlNodePtr node);
 +static gpointer setup_sendnormal_func(ObParseInst *i,
 +                                      xmlDocPtr doc, xmlNodePtr node);
  static gboolean run_func(ObActionsData *data, gpointer options);
  
- void action_layer_startup()
+ void action_layer_startup(void)
  {
      actions_register("ToggleAlwaysOnTop", setup_func_top, g_free,
                       run_func, NULL, NULL);
index 4ab6dd7f6c4e5bb54b83e53f62faaeea833848b4,bb6f470ac557ab54084e2d67f12a1fa7be2c6141..fa896ede2e6d895e6fd4a706377820cfc6bfcefd
@@@ -22,46 -17,35 +22,46 @@@ static gboolean run_func_on(ObActionsDa
  static gboolean run_func_off(ObActionsData *data, gpointer options);
  static gboolean run_func_toggle(ObActionsData *data, gpointer options);
  
- void action_maximize_startup()
+ void action_maximize_startup(void)
  {
 -    actions_register("Maximize", setup_func, g_free, run_func_on,
 -                     NULL, NULL);
 -    actions_register("Unmaximize", setup_func, g_free, run_func_off,
 -                     NULL, NULL);
 -    actions_register("ToggleMaximize", setup_func, g_free, run_func_toggle,
 -                     NULL, NULL);
 +    actions_register("MaximizeFull", setup_both_func, g_free,
 +                     run_func_on, NULL, NULL);
 +    actions_register("UnmaximizeFull", setup_both_func, g_free,
 +                     run_func_off, NULL, NULL);
 +    actions_register("ToggleMaximizeFull", setup_both_func, g_free,
 +                     run_func_toggle, NULL, NULL);
 +    actions_register("MaximizeHorz", setup_horz_func, g_free,
 +                     run_func_on, NULL, NULL);
 +    actions_register("UnmaximizeHorz", setup_horz_func, g_free,
 +                     run_func_off, NULL, NULL);
 +    actions_register("ToggleMaximizeHorz", setup_horz_func, g_free,
 +                     run_func_toggle, NULL, NULL);
 +    actions_register("MaximizeVert", setup_vert_func, g_free,
 +                     run_func_on, NULL, NULL);
 +    actions_register("UnmaximizeVert", setup_vert_func, g_free,
 +                     run_func_off, NULL, NULL);
 +    actions_register("ToggleMaximizeVert", setup_vert_func, g_free,
 +                     run_func_toggle, NULL, NULL);
  }
  
 -static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node)
 +static gpointer setup_both_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node)
  {
 -    xmlNodePtr n;
 -    Options *o;
 -
 -    o = g_new0(Options, 1);
 +    Options *o = g_new0(Options, 1);
      o->dir = BOTH;
 +    return o;
 +}
  
 -    if ((n = parse_find_node("direction", node))) {
 -        gchar *s = parse_string(doc, n);
 -        if (!g_ascii_strcasecmp(s, "vertical") ||
 -            !g_ascii_strcasecmp(s, "vert"))
 -            o->dir = VERT;
 -        else if (!g_ascii_strcasecmp(s, "horizontal") ||
 -                 !g_ascii_strcasecmp(s, "horz"))
 -            o->dir = HORZ;
 -        g_free(s);
 -    }
 +static gpointer setup_horz_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node)
 +{
 +    Options *o = g_new0(Options, 1);
 +    o->dir = HORZ;
 +    return o;
 +}
  
 +static gpointer setup_vert_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node)
 +{
 +    Options *o = g_new0(Options, 1);
 +    o->dir = VERT;
      return o;
  }
  
Simple merge
index f09bfd83bdff15aa0501973813075382f7117669,5941bde97fa73979e0d8c2c89d2340d41152fc25..91c95adacab80198982123d086e321ce0a3fed5e
@@@ -9,25 -9,16 +9,25 @@@ typedef struct 
      ObDirection dir;
  } Options;
  
 -static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node);
 -static void     free_func(gpointer options);
 +static gpointer setup_north_func(ObParseInst *i, xmlDocPtr doc,
 +                                 xmlNodePtr node);
 +static gpointer setup_south_func(ObParseInst *i, xmlDocPtr doc,
 +                                 xmlNodePtr node);
 +static gpointer setup_east_func(ObParseInst *i, xmlDocPtr doc,
 +                                xmlNodePtr node);
 +static gpointer setup_west_func(ObParseInst *i, xmlDocPtr doc,
 +                                xmlNodePtr node);
  static gboolean run_func(ObActionsData *data, gpointer options);
  
- void action_movetoedge_startup()
+ void action_movetoedge_startup(void)
  {
 -    actions_register("MoveToEdge",
 -                     setup_func,
 -                     free_func,
 -                     run_func,
 +    actions_register("MoveToEdgeNorth", setup_north_func, g_free, run_func,
 +                     NULL, NULL);
 +    actions_register("MoveToEdgeSouth", setup_south_func, g_free, run_func,
 +                     NULL, NULL);
 +    actions_register("MoveToEdgeEast", setup_east_func, g_free, run_func,
 +                     NULL, NULL);
 +    actions_register("MoveToEdgeWest", setup_west_func, g_free, run_func,
                       NULL, NULL);
  }
  
Simple merge
index 97edf5605495e98ea614c9fd08fe45ef34099b69,1bf3d1ea58231e1c6f371ba281f94adab16aa745..2ad26d89dbc74196e72781c00598488d3e47ebcb
  #
  msgid ""
  msgstr ""
 -"Project-Id-Version: openbox 3.999.0\n"
 +"Project-Id-Version: openbox 3.4.3\n"
  "Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
- "POT-Creation-Date: 2007-07-22 08:25-0400\n"
- "PO-Revision-Date: 2007-07-22 08:25-0400\n"
+ "POT-Creation-Date: 2007-11-12 19:12+0100\n"
+ "PO-Revision-Date: 2007-11-12 19:12+0100\n"
  "Last-Translator: Automatically generated\n"
  "Language-Team: none\n"
  "MIME-Version: 1.0\n"
diff --cc po/en@quot.po
index e47f7c3bb29f79a1b1cad7705d01cc0b9e263a9f,acc49c07cedf9e6bedc8800a927868300fd48499..b5eae9559795f9f23c95729a39306204e428331a
  #
  msgid ""
  msgstr ""
 -"Project-Id-Version: openbox 3.999.0\n"
 +"Project-Id-Version: openbox 3.4.3\n"
  "Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
- "POT-Creation-Date: 2007-07-22 08:25-0400\n"
- "PO-Revision-Date: 2007-07-22 08:25-0400\n"
+ "POT-Creation-Date: 2007-11-12 19:12+0100\n"
+ "PO-Revision-Date: 2007-11-12 19:12+0100\n"
  "Last-Translator: Automatically generated\n"
  "Language-Team: none\n"
  "MIME-Version: 1.0\n"