mirror of
https://github.com/swaywm/sway.git
synced 2025-11-01 22:58:41 -04:00
Refactor everything that needs to arrange windows
* The arrange_foo functions are now replaced with arrange_and_commit, or with manually created transactions and arrange_windows x2. * The arrange functions are now only called from the highest level functions rather than from both high level and low level functions. * Due to the previous point, view_set_fullscreen_raw and view_set_fullscreen are both merged into one function again. * Floating and fullscreen are now working with transactions.
This commit is contained in:
parent
f9e6d703d2
commit
bb66e6d578
24 changed files with 192 additions and 171 deletions
|
|
@ -16,12 +16,7 @@
|
|||
* the updates all at the same time.
|
||||
*/
|
||||
|
||||
struct sway_transaction {
|
||||
struct wl_event_source *timer;
|
||||
list_t *instructions; // struct sway_transaction_instruction *
|
||||
list_t *damage; // struct wlr_box *
|
||||
size_t num_waiting;
|
||||
};
|
||||
struct sway_transaction;
|
||||
|
||||
/**
|
||||
* Create a new transaction.
|
||||
|
|
|
|||
|
|
@ -23,11 +23,4 @@ void arrange_windows(struct sway_container *container,
|
|||
*/
|
||||
void arrange_and_commit(struct sway_container *container);
|
||||
|
||||
// These functions are temporary and are only here to make everything compile.
|
||||
// They are wrappers around arrange_and_commit.
|
||||
void arrange_root(void);
|
||||
void arrange_output(struct sway_container *container);
|
||||
void arrange_workspace(struct sway_container *container);
|
||||
void arrange_children_of(struct sway_container *container);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -214,6 +214,11 @@ const char *view_get_shell(struct sway_view *view);
|
|||
uint32_t view_configure(struct sway_view *view, double lx, double ly, int width,
|
||||
int height);
|
||||
|
||||
/**
|
||||
* Center the view in its workspace and build the swayc decorations around it.
|
||||
*/
|
||||
void view_init_floating(struct sway_view *view);
|
||||
|
||||
/**
|
||||
* Configure the view's position and size based on the swayc's position and
|
||||
* size, taking borders into consideration.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue