Always auto center on 'scratchpad show' if window hasn't been repositioned by the user

This change ensures a scratchpad window is still centered on the screen
if it has first been shown on another screen of a different
resolution. Moving or resizing the scratchpad manually disables this
behavior.
This commit is contained in:
Sebastian Ullrich
2012-09-24 21:14:40 +02:00
committed by Michael Stapelberg
parent 7f0065e1b1
commit 49979c9d15
5 changed files with 46 additions and 5 deletions

View File

@ -592,6 +592,10 @@ static void cmd_resize_floating(I3_CMD, char *way, char *direction, Con *floatin
} else if (strcmp(direction, "left") == 0) {
floating_con->rect.x -= (floating_con->rect.width - old_rect.width);
}
/* If this is a scratchpad window, don't auto center it from now on. */
if (floating_con->scratchpad_state == SCRATCHPAD_FRESH)
floating_con->scratchpad_state = SCRATCHPAD_CHANGED;
}
static bool cmd_resize_tiling_direction(I3_CMD, Con *current, char *way, char *direction, int ppt) {