aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/sway/commands.h1
-rw-r--r--include/sway/config.h7
-rw-r--r--include/sway/tree/container.h3
-rw-r--r--include/sway/tree/view.h4
4 files changed, 15 insertions, 0 deletions
diff --git a/include/sway/commands.h b/include/sway/commands.h
index 21b8b87a..48228a98 100644
--- a/include/sway/commands.h
+++ b/include/sway/commands.h
@@ -154,6 +154,7 @@ sway_cmd cmd_new_window;
sway_cmd cmd_no_focus;
sway_cmd cmd_output;
sway_cmd cmd_permit;
+sway_cmd cmd_popup_during_fullscreen;
sway_cmd cmd_reject;
sway_cmd cmd_reload;
sway_cmd cmd_rename;
diff --git a/include/sway/config.h b/include/sway/config.h
index 0e51fbfb..00b5f25b 100644
--- a/include/sway/config.h
+++ b/include/sway/config.h
@@ -256,6 +256,12 @@ enum edge_border_types {
E_SMART_NO_GAPS, /**< hide both if one window and gaps to edge is zero */
};
+enum sway_popup_during_fullscreen {
+ POPUP_SMART,
+ POPUP_IGNORE,
+ POPUP_LEAVE,
+};
+
enum command_context {
CONTEXT_CONFIG = 1,
CONTEXT_BINDING = 2,
@@ -355,6 +361,7 @@ struct sway_config {
bool pango_markup;
size_t urgent_timeout;
enum sway_fowa focus_on_window_activation;
+ enum sway_popup_during_fullscreen popup_during_fullscreen;
// Flags
bool focus_follows_mouse;
diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h
index da6592b4..920ef038 100644
--- a/include/sway/tree/container.h
+++ b/include/sway/tree/container.h
@@ -292,4 +292,7 @@ bool sway_dir_to_wlr(enum movement_direction dir, enum wlr_direction *out);
struct sway_container *container_split(struct sway_container *child,
enum sway_container_layout layout);
+bool container_is_transient_for(struct sway_container *child,
+ struct sway_container *ancestor);
+
#endif
diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h
index 028be536..eb1e98e1 100644
--- a/include/sway/tree/view.h
+++ b/include/sway/tree/view.h
@@ -49,6 +49,8 @@ struct sway_view_impl {
wlr_surface_iterator_func_t iterator, void *user_data);
void (*for_each_popup)(struct sway_view *view,
wlr_surface_iterator_func_t iterator, void *user_data);
+ bool (*is_transient_for)(struct sway_view *child,
+ struct sway_view *ancestor);
void (*close)(struct sway_view *view);
void (*close_popups)(struct sway_view *view);
void (*destroy)(struct sway_view *view);
@@ -396,4 +398,6 @@ void view_remove_saved_buffer(struct sway_view *view);
void view_save_buffer(struct sway_view *view);
+bool view_is_transient_for(struct sway_view *child, struct sway_view *ancestor);
+
#endif