ACTION_TYPE_LOWER,
ACTION_TYPE_RESIZE,
ACTION_TYPE_MOVETO,
+ ACTION_TYPE_MOVE_RELATIVE,
ACTION_TYPE_GO_TO_DESKTOP,
ACTION_TYPE_SEND_TO_DESKTOP,
ACTION_TYPE_SNAP_TO_REGION,
"Lower",
"Resize",
"MoveTo",
+ "MoveRelative",
"GoToDesktop",
"SendToDesktop",
"SnapToRegion",
}
break;
case ACTION_TYPE_MOVETO:
+ case ACTION_TYPE_MOVE_RELATIVE:
if (!strcmp(argument, "x") || !strcmp(argument, "y")) {
action_arg_add_int(action, argument, atoi(content));
goto cleanup;
view_move(view, x, y);
}
break;
+ case ACTION_TYPE_MOVE_RELATIVE:
+ if (view) {
+ int x = get_arg_value_int(action, "x", 0);
+ int y = get_arg_value_int(action, "y", 0);
+ view_move(view, view->current.x + x, view->current.y + y);
+ }
+ break;
case ACTION_TYPE_GO_TO_DESKTOP: {
const char *to = get_arg_value_str(action, "to", NULL);
if (!to) {