aboutsummaryrefslogtreecommitdiff
path: root/include/sway
diff options
context:
space:
mode:
Diffstat (limited to 'include/sway')
-rw-r--r--include/sway/config.h6
-rw-r--r--include/sway/container.h5
-rw-r--r--include/sway/layout.h8
-rw-r--r--include/sway/output.h2
4 files changed, 16 insertions, 5 deletions
diff --git a/include/sway/config.h b/include/sway/config.h
index 9bfda259..777fb5a8 100644
--- a/include/sway/config.h
+++ b/include/sway/config.h
@@ -102,8 +102,11 @@ struct output_config {
char *name;
int enabled;
int width, height;
+ float refresh_rate;
int x, y;
int scale;
+ int32_t transform;
+
char *background;
char *background_option;
};
@@ -391,9 +394,8 @@ struct seat_attachment_config *seat_config_get_attachment(
struct seat_config *seat_config, char *identifier);
int output_name_cmp(const void *item, const void *data);
+struct output_config *new_output_config();
void merge_output_config(struct output_config *dst, struct output_config *src);
-/** Sets up a WLC output handle based on a given output_config.
- */
void apply_output_config(struct output_config *oc, swayc_t *output);
void free_output_config(struct output_config *oc);
diff --git a/include/sway/container.h b/include/sway/container.h
index f13745ee..9a5e312b 100644
--- a/include/sway/container.h
+++ b/include/sway/container.h
@@ -58,9 +58,9 @@ enum swayc_border_types {
B_NORMAL, /**< Normal border with title bar */
};
+struct sway_root;
struct sway_output;
struct sway_view;
-struct wlr_output_layout;
/**
* Stores information about a container.
@@ -70,7 +70,7 @@ struct wlr_output_layout;
struct sway_container {
union {
// TODO: Encapsulate state for other node types as well like C_CONTAINER
- struct wlr_output_layout *output_layout; // C_ROOT
+ struct sway_root *sway_root; // C_ROOT
struct sway_output *sway_output; // C_OUTPUT
struct sway_view *sway_view; // C_VIEW
};
@@ -137,6 +137,7 @@ swayc_t *new_output(struct sway_output *sway_output);
swayc_t *new_workspace(swayc_t *output, const char *name);
swayc_t *new_view(swayc_t *sibling, struct sway_view *sway_view);
+swayc_t *destroy_output(swayc_t *output);
swayc_t *destroy_view(swayc_t *view);
swayc_t *swayc_parent_by_type(swayc_t *container, enum swayc_types type);
diff --git a/include/sway/layout.h b/include/sway/layout.h
index f3b62b05..bfd96a02 100644
--- a/include/sway/layout.h
+++ b/include/sway/layout.h
@@ -1,8 +1,16 @@
#ifndef _SWAY_LAYOUT_H
#define _SWAY_LAYOUT_H
+#include <wlr/types/wlr_output_layout.h>
+
struct sway_container;
+struct sway_root {
+ struct wlr_output_layout *output_layout;
+
+ struct wl_listener output_layout_change;
+};
+
void init_layout(void);
void add_child(struct sway_container *parent, struct sway_container *child);
struct sway_container *remove_child(struct sway_container *child);
diff --git a/include/sway/output.h b/include/sway/output.h
index 895cb07d..7ca02d7b 100644
--- a/include/sway/output.h
+++ b/include/sway/output.h
@@ -12,8 +12,8 @@ struct sway_output {
struct sway_container *swayc;
struct sway_server *server;
struct timespec last_frame;
+
struct wl_listener frame;
- struct wl_listener resolution;
};
#endif