2018-04-28 11:26:14 +10:00
|
|
|
#ifndef _SWAY_ARRANGE_H
|
|
|
|
#define _SWAY_ARRANGE_H
|
2018-06-03 16:35:06 +10:00
|
|
|
#include "sway/desktop/transaction.h"
|
2018-04-28 11:26:14 +10:00
|
|
|
|
|
|
|
struct sway_container;
|
|
|
|
|
2018-06-03 16:35:06 +10:00
|
|
|
/**
|
|
|
|
* Arrange layout for all the children of the given container, and add them to
|
|
|
|
* the given transaction.
|
|
|
|
*
|
|
|
|
* Use this function if you need to arrange multiple sections of the tree in one
|
|
|
|
* transaction.
|
|
|
|
*/
|
|
|
|
void arrange_windows(struct sway_container *container,
|
|
|
|
struct sway_transaction *transaction);
|
2018-04-28 11:26:14 +10:00
|
|
|
|
2018-06-03 16:35:06 +10:00
|
|
|
/**
|
|
|
|
* Arrange layout for the given container and commit the transaction.
|
|
|
|
*
|
|
|
|
* This function is a wrapper around arrange_windows, and handles creating and
|
|
|
|
* committing the transaction for you. Use this function if you're only doing
|
|
|
|
* one arrange operation.
|
|
|
|
*/
|
|
|
|
void arrange_and_commit(struct sway_container *container);
|
2018-04-28 11:26:14 +10:00
|
|
|
|
2018-06-03 16:35:06 +10:00
|
|
|
// 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);
|
2018-04-28 11:26:14 +10:00
|
|
|
|
|
|
|
#endif
|