summaryrefslogtreecommitdiffstats
path: root/include/sway/tree/arrange.h
blob: 23cd66dcfdc807e3fd56718b1f1e32785b628bb9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef _SWAY_ARRANGE_H
#define _SWAY_ARRANGE_H
#include "sway/desktop/transaction.h"

struct sway_container;

/**
 * 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);

/**
 * 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);

// 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