mirror of
https://github.com/swaywm/sway.git
synced 2025-11-13 13:29:49 -05: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
|
|
@ -1,6 +1,8 @@
|
|||
#include <strings.h>
|
||||
#include <wlr/util/log.h>
|
||||
#include "sway/commands.h"
|
||||
#include "sway/desktop/transaction.h"
|
||||
#include "sway/tree/arrange.h"
|
||||
#include "sway/tree/layout.h"
|
||||
#include "sway/tree/view.h"
|
||||
#include "stringop.h"
|
||||
|
|
@ -76,5 +78,15 @@ struct cmd_results *cmd_swap(int argc, char **argv) {
|
|||
}
|
||||
|
||||
container_swap(current, other);
|
||||
|
||||
struct sway_transaction *txn = transaction_create();
|
||||
arrange_windows(current->parent, txn);
|
||||
|
||||
if (other->parent != current->parent) {
|
||||
arrange_windows(other->parent, txn);
|
||||
}
|
||||
|
||||
transaction_commit(txn);
|
||||
|
||||
return cmd_results_new(CMD_SUCCESS, NULL, NULL);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue