mirror of
https://github.com/swaywm/sway.git
synced 2025-11-06 13:29:50 -05:00
Refactor arrange_windows()
Replaces arrange_windows() with arrange_root(), arrange_output(), arrange_workspace() and arrange_children_of(). Also makes fullscreen views save and restore their dimensions, which allows it to preserve any custom resize and is also a requirement for floating views once they are implemented.
This commit is contained in:
parent
85ec700206
commit
167c2e1aa9
17 changed files with 328 additions and 283 deletions
20
include/sway/tree/arrange.h
Normal file
20
include/sway/tree/arrange.h
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
#ifndef _SWAY_ARRANGE_H
|
||||
#define _SWAY_ARRANGE_H
|
||||
|
||||
struct sway_container;
|
||||
|
||||
void arrange_windows(struct sway_container *container);
|
||||
|
||||
// Determine the root container's geometry, then iterate to everything below
|
||||
void arrange_root(void);
|
||||
|
||||
// Determine the output's geometry, then iterate to everything below
|
||||
void arrange_output(struct sway_container *output);
|
||||
|
||||
// Determine the workspace's geometry, then iterate to everything below
|
||||
void arrange_workspace(struct sway_container *workspace);
|
||||
|
||||
// Arrange layout for all the children of the given workspace/container
|
||||
void arrange_children_of(struct sway_container *parent);
|
||||
|
||||
#endif
|
||||
|
|
@ -75,6 +75,7 @@ struct sway_container {
|
|||
double x, y;
|
||||
// does not include borders or gaps.
|
||||
double width, height;
|
||||
double saved_width, saved_height;
|
||||
|
||||
list_t *children;
|
||||
|
||||
|
|
|
|||
|
|
@ -60,9 +60,6 @@ enum sway_container_layout container_get_default_layout(
|
|||
|
||||
void container_sort_workspaces(struct sway_container *output);
|
||||
|
||||
void arrange_windows(struct sway_container *container,
|
||||
double width, double height);
|
||||
|
||||
struct sway_container *container_get_in_direction(struct sway_container
|
||||
*container, struct sway_seat *seat, enum movement_direction dir);
|
||||
|
||||
|
|
|
|||
|
|
@ -162,6 +162,8 @@ void view_configure(struct sway_view *view, double ox, double oy, int width,
|
|||
|
||||
void view_set_activated(struct sway_view *view, bool activated);
|
||||
|
||||
void view_set_fullscreen_raw(struct sway_view *view, bool fullscreen);
|
||||
|
||||
void view_set_fullscreen(struct sway_view *view, bool fullscreen);
|
||||
|
||||
void view_close(struct sway_view *view);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue