Move view border properties to container struct

This will be needed to implement layout saving and restoring, as we need
to be able to configure borders on a placeholder container which has no
view.
This commit is contained in:
Ryan Dwyer 2018-10-31 20:28:36 +10:00
parent e21a23348b
commit 528c7495bb
7 changed files with 98 additions and 98 deletions

View file

@ -53,16 +53,16 @@ struct sway_container_state {
struct sway_container *focused_inactive_child;
bool focused;
// View properties
double view_x, view_y;
double view_width, view_height;
enum sway_container_border border;
int border_thickness;
bool border_top;
bool border_bottom;
bool border_left;
bool border_right;
// View properties
double view_x, view_y;
double view_width, view_height;
};
struct sway_container {
@ -91,6 +91,18 @@ struct sway_container {
bool is_fullscreen;
enum sway_container_border border;
// Used when the view changes to CSD unexpectedly. This will be a non-B_CSD
// border which we use to restore when the view returns to SSD.
enum sway_container_border saved_border;
int border_thickness;
bool border_top;
bool border_bottom;
bool border_left;
bool border_right;
// The gaps currently applied to the container.
double current_gaps;

View file

@ -80,24 +80,8 @@ struct sway_view {
char *title_format;
// Our border types are B_NONE, B_PIXEL, B_NORMAL and B_CSD. We normally
// just assign this to the border property and ignore the other two.
// However, when a view using CSD is tiled, we want to render our own
// borders as well. So in this case the border property becomes one of the
// first three, and using_csd is true.
// Lastly, views can change their decoration mode at any time. When an SSD
// view becomes CSD without our approval, we save the SSD border type so it
// can be restored if/when the view returns from CSD to SSD.
enum sway_container_border border;
enum sway_container_border saved_border;
bool using_csd;
int border_thickness;
bool border_top;
bool border_bottom;
bool border_left;
bool border_right;
struct timespec urgent;
bool allow_request_urgent;
struct wl_event_source *urgent_timer;