feat: automatic window placement

With automatic placement, new top-level windows will be placed to
minimize overlap with other windows already on screen.
This commit is contained in:
Andrew J. Hesford 2023-12-24 13:57:46 -05:00 committed by Johan Malm
parent ef62d47ad1
commit 52aafcc054
7 changed files with 548 additions and 5 deletions

View file

@ -22,7 +22,8 @@ enum window_switcher_field_content {
enum view_placement_policy {
LAB_PLACE_CENTER = 0,
LAB_PLACE_CURSOR
LAB_PLACE_CURSOR,
LAB_PLACE_AUTOMATIC
};
struct usable_area_override {

10
include/placement.h Normal file
View file

@ -0,0 +1,10 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef LABWC_PLACEMENT_H
#define LABWC_PLACEMENT_H
#include <stdbool.h>
#include "view.h"
bool placement_find_best(struct view *view, int *x, int *y);
#endif /* LABWC_PLACEMENT_H */