aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/sway/config.h12
-rw-r--r--include/sway/tree/container.h2
-rw-r--r--include/sway/tree/view.h13
3 files changed, 20 insertions, 7 deletions
diff --git a/include/sway/config.h b/include/sway/config.h
index 87123289..a0113e98 100644
--- a/include/sway/config.h
+++ b/include/sway/config.h
@@ -204,11 +204,11 @@ struct bar_config {
};
struct border_colors {
- uint32_t border;
- uint32_t background;
- uint32_t text;
- uint32_t indicator;
- uint32_t child_border;
+ float border[4];
+ float background[4];
+ float text[4];
+ float indicator[4];
+ float child_border[4];
};
enum edge_border_types {
@@ -338,7 +338,7 @@ struct sway_config {
struct border_colors unfocused;
struct border_colors urgent;
struct border_colors placeholder;
- uint32_t background;
+ float background[4];
} border_colors;
// floating view
diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h
index 9c921fc4..d092af49 100644
--- a/include/sway/tree/container.h
+++ b/include/sway/tree/container.h
@@ -72,8 +72,8 @@ struct sway_container {
// For C_ROOT, this has no meaning
// For C_OUTPUT, this is the output position in layout coordinates
// For other types, this is the position in output-local coordinates
+ // Includes borders
double x, y;
- // does not include borders or gaps.
double width, height;
double saved_width, saved_height;
diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h
index a4ad9971..21127ab1 100644
--- a/include/sway/tree/view.h
+++ b/include/sway/tree/view.h
@@ -41,9 +41,16 @@ struct sway_view {
struct sway_container *swayc; // NULL for unmapped views
struct wlr_surface *surface; // NULL for unmapped views
+
+ // Geometry of the view itself (excludes borders)
+ double x, y;
int width, height;
+
bool is_fullscreen;
+ enum sway_container_border border;
+ int border_thickness;
+
union {
struct wlr_xdg_surface_v6 *wlr_xdg_surface_v6;
struct wlr_xwayland_surface *wlr_xwayland_surface;
@@ -160,6 +167,12 @@ const char *view_get_instance(struct sway_view *view);
void view_configure(struct sway_view *view, double ox, double oy, int width,
int height);
+/**
+ * Configure the view's position and size based on the swayc's position and
+ * size, taking borders into consideration.
+ */
+void view_autoconfigure(struct sway_view *view);
+
void view_set_activated(struct sway_view *view, bool activated);
void view_set_fullscreen_raw(struct sway_view *view, bool fullscreen);