X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Factions%2Fmoveresizeto.c;h=3c135c8995e5bc60c9bf5be2d4c23dc2b7757748;hb=501943b53d68821a752ceda3fbd9b64bbcae4a4c;hp=1d9e52f1f8ca244187fc5cb18085f5b266f603f4;hpb=a170ad7c85b5f23fafe64d28a3f183a7ce42ce53;p=chaz%2Fopenbox diff --git a/openbox/actions/moveresizeto.c b/openbox/actions/moveresizeto.c index 1d9e52f1..3c135c89 100644 --- a/openbox/actions/moveresizeto.c +++ b/openbox/actions/moveresizeto.c @@ -30,10 +30,9 @@ static gpointer setup_center_func(xmlNodePtr node); void action_moveresizeto_startup(void) { - actions_register("MoveResizeTo", setup_func, g_free, run_func, NULL, NULL); -/* 3.4-compatibility */ - actions_register("MoveToCenter", setup_center_func, g_free, run_func, - NULL, NULL); + actions_register("MoveResizeTo", setup_func, g_free, run_func); + /* 3.4-compatibility */ + actions_register("MoveToCenter", setup_center_func, g_free, run_func); } static void parse_coord(xmlNodePtr n, gint *pos, @@ -112,16 +111,24 @@ static gboolean run_func(ObActionsData *data, gpointer options) if (data->client) { Rect *area, *carea; ObClient *c; - gint mon, cmon; + guint mon, cmon; gint x, y, lw, lh, w, h; c = data->client; mon = o->monitor; cmon = client_monitor(c); - if (mon == CURRENT_MONITOR) mon = cmon; - else if (mon == ALL_MONITORS) mon = SCREEN_AREA_ALL_MONITORS; - else if (mon == NEXT_MONITOR) mon = (cmon + 1 > screen_num_monitors - 1) ? 0 : (cmon + 1); - else if (mon == PREV_MONITOR) mon = (cmon == 0) ? (screen_num_monitors - 1) : (cmon - 1); + switch (mon) { + case CURRENT_MONITOR: + mon = cmon; break; + case ALL_MONITORS: + mon = SCREEN_AREA_ALL_MONITORS; break; + case NEXT_MONITOR: + mon = (cmon + 1 > screen_num_monitors - 1) ? 0 : (cmon + 1); break; + case PREV_MONITOR: + mon = (cmon == 0) ? (screen_num_monitors - 1) : (cmon - 1); break; + default: + g_assert_not_reached(); + } area = screen_area(c->desktop, mon, NULL); carea = screen_area(c->desktop, cmon, NULL);