Merge pull request #3423 from RyanDwyer/fullscreen-global

Implement fullscreen global
This commit is contained in:
Drew DeVault 2019-01-27 18:06:50 -05:00 committed by GitHub
commit 783fadab28
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
22 changed files with 331 additions and 131 deletions

View file

@ -25,6 +25,12 @@ enum sway_container_border {
B_CSD,
};
enum sway_fullscreen_mode {
FULLSCREEN_NONE,
FULLSCREEN_WORKSPACE,
FULLSCREEN_GLOBAL,
};
struct sway_root;
struct sway_output;
struct sway_workspace;
@ -38,7 +44,7 @@ struct sway_container_state {
double x, y;
double width, height;
bool is_fullscreen;
enum sway_fullscreen_mode fullscreen_mode;
struct sway_workspace *workspace;
struct sway_container *parent;
@ -85,7 +91,7 @@ struct sway_container {
double content_x, content_y;
int content_width, content_height;
bool is_fullscreen;
enum sway_fullscreen_mode fullscreen_mode;
enum sway_container_border border;
@ -249,7 +255,13 @@ bool container_has_urgent_child(struct sway_container *container);
*/
void container_end_mouse_operation(struct sway_container *container);
void container_set_fullscreen(struct sway_container *container, bool enable);
void container_set_fullscreen(struct sway_container *con,
enum sway_fullscreen_mode mode);
/**
* Convenience function.
*/
void container_fullscreen_disable(struct sway_container *con);
/**
* Return true if the container is floating, or a child of a floating split

View file

@ -35,6 +35,8 @@ struct sway_root {
// For when there's no connected outputs
struct sway_output *noop_output;
struct sway_container *fullscreen_global;
struct {
struct wl_signal new_node;
} events;