diff options
Diffstat (limited to 'include/sway')
-rw-r--r-- | include/sway/commands.h | 4 | ||||
-rw-r--r-- | include/sway/config.h | 24 | ||||
-rw-r--r-- | include/sway/debug.h | 2 | ||||
-rw-r--r-- | include/sway/ipc-json.h | 2 | ||||
-rw-r--r-- | include/sway/tree/container.h | 3 | ||||
-rw-r--r-- | include/sway/tree/view.h | 7 | ||||
-rw-r--r-- | include/sway/tree/workspace.h | 9 |
7 files changed, 31 insertions, 20 deletions
diff --git a/include/sway/commands.h b/include/sway/commands.h index 1654eb48..64f707f4 100644 --- a/include/sway/commands.h +++ b/include/sway/commands.h @@ -95,7 +95,7 @@ struct cmd_results *add_color(const char *name, /** * TODO: Move this function and its dependent functions to container.c. */ -void container_resize_tiled(struct sway_container *parent, enum wlr_edges edge, +bool container_resize_tiled(struct sway_container *parent, enum wlr_edges edge, int amount); sway_cmd cmd_assign; @@ -160,6 +160,7 @@ sway_cmd cmd_scratchpad; sway_cmd cmd_seamless_mouse; sway_cmd cmd_set; sway_cmd cmd_show_marks; +sway_cmd cmd_smart_borders; sway_cmd cmd_smart_gaps; sway_cmd cmd_split; sway_cmd cmd_splith; @@ -217,6 +218,7 @@ sway_cmd bar_colors_cmd_urgent_workspace; sway_cmd input_cmd_seat; sway_cmd input_cmd_accel_profile; sway_cmd input_cmd_click_method; +sway_cmd input_cmd_drag; sway_cmd input_cmd_drag_lock; sway_cmd input_cmd_dwt; sway_cmd input_cmd_events; diff --git a/include/sway/config.h b/include/sway/config.h index 35f0e708..98a18b76 100644 --- a/include/sway/config.h +++ b/include/sway/config.h @@ -93,6 +93,7 @@ struct input_config { int accel_profile; int click_method; + int drag; int drag_lock; int dwt; int left_handed; @@ -167,13 +168,14 @@ struct output_config { }; /** - * Maps a workspace name to an output name. - * - * Set via `workspace <x> output <y>` + * Stores configuration for a workspace, regardless of whether the workspace + * exists. */ -struct workspace_output { - char *output; +struct workspace_config { char *workspace; + char *output; + int gaps_inner; + int gaps_outer; }; struct bar_config { @@ -251,7 +253,8 @@ enum edge_border_types { E_VERTICAL, /**< hide vertical edge borders */ E_HORIZONTAL, /**< hide horizontal edge borders */ E_BOTH, /**< hide vertical and horizontal edge borders */ - E_SMART /**< hide both if precisely one window is present in workspace */ + E_SMART, /**< hide both if precisely one window is present in workspace */ + E_SMART_NO_GAPS, /**< hide both if one window and gaps to edge is zero */ }; enum command_context { @@ -327,7 +330,7 @@ struct sway_config { list_t *modes; list_t *bars; list_t *cmd_queue; - list_t *workspace_outputs; + list_t *workspace_configs; list_t *output_configs; list_t *input_configs; list_t *seat_configs; @@ -381,6 +384,7 @@ struct sway_config { int border_thickness; int floating_border_thickness; enum edge_border_types hide_edge_borders; + enum edge_border_types saved_edge_borders; // border colors struct { @@ -450,8 +454,6 @@ void free_sway_variable(struct sway_variable *var); */ char *do_var_replacement(char *str); -struct cmd_results *check_security_config(); - int input_identifier_cmp(const void *item, const void *data); struct input_config *new_input_config(const char* identifier); @@ -472,7 +474,7 @@ struct seat_config *copy_seat_config(struct seat_config *seat); void free_seat_config(struct seat_config *ic); -struct seat_attachment_config *seat_attachment_config_new(); +struct seat_attachment_config *seat_attachment_config_new(void); struct seat_attachment_config *seat_config_get_attachment( struct seat_config *seat_config, char *identifier); @@ -518,6 +520,8 @@ struct bar_config *default_bar_config(void); void free_bar_config(struct bar_config *bar); +void free_workspace_config(struct workspace_config *wsc); + /** * Updates the value of config->font_height based on the max title height * reported by each container. If recalculate is true, the containers will diff --git a/include/sway/debug.h b/include/sway/debug.h index bf3a5f6d..0e9bb056 100644 --- a/include/sway/debug.h +++ b/include/sway/debug.h @@ -17,6 +17,6 @@ struct sway_debug { extern struct sway_debug debug; -void update_debug_tree(); +void update_debug_tree(void); #endif diff --git a/include/sway/ipc-json.h b/include/sway/ipc-json.h index fef243e3..1cbfd15d 100644 --- a/include/sway/ipc-json.h +++ b/include/sway/ipc-json.h @@ -4,7 +4,7 @@ #include "sway/tree/container.h" #include "sway/input/input-manager.h" -json_object *ipc_json_get_version(); +json_object *ipc_json_get_version(void); json_object *ipc_json_describe_disabled_output(struct sway_output *o); json_object *ipc_json_describe_node(struct sway_node *node); diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h index 6019602c..da6592b4 100644 --- a/include/sway/tree/container.h +++ b/include/sway/tree/container.h @@ -94,9 +94,6 @@ struct sway_container { // The gaps currently applied to the container. double current_gaps; - bool has_gaps; - double gaps_inner; - double gaps_outer; struct sway_workspace *workspace; // NULL when hidden in the scratchpad struct sway_container *parent; // NULL if container in root of workspace diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h index 2c7b4c2b..028be536 100644 --- a/include/sway/tree/view.h +++ b/include/sway/tree/view.h @@ -265,6 +265,13 @@ uint32_t view_configure(struct sway_view *view, double lx, double ly, int width, int height); /** + * Whether or not the view is the only visible view in its tree. If the view + * is tiling, there may be floating views. If the view is floating, there may + * be tiling views or views in a different floating container. + */ +bool view_is_only_visible(struct sway_view *view); + +/** * Configure the view's position and size based on the container's position and * size, taking borders into consideration. */ diff --git a/include/sway/tree/workspace.h b/include/sway/tree/workspace.h index e4b616d1..efdae5a1 100644 --- a/include/sway/tree/workspace.h +++ b/include/sway/tree/workspace.h @@ -32,10 +32,9 @@ struct sway_workspace { enum sway_container_layout layout; enum sway_container_layout prev_split_layout; - double current_gaps; - bool has_gaps; - double gaps_inner; - double gaps_outer; + int current_gaps; + int gaps_inner; + int gaps_outer; struct sway_output *output; // NULL if no outputs are connected list_t *floating; // struct sway_container @@ -48,6 +47,8 @@ struct sway_workspace { extern char *prev_workspace_name; +struct workspace_config *workspace_find_config(const char *ws_name); + struct sway_output *workspace_get_initial_output(const char *name); struct sway_workspace *workspace_create(struct sway_output *output, |