aboutsummaryrefslogtreecommitdiff
path: root/include/sway
diff options
context:
space:
mode:
Diffstat (limited to 'include/sway')
-rw-r--r--include/sway/commands.h12
-rw-r--r--include/sway/config.h28
-rw-r--r--include/sway/debug.h2
-rw-r--r--include/sway/ipc-json.h2
-rw-r--r--include/sway/tree/container.h3
-rw-r--r--include/sway/tree/workspace.h9
6 files changed, 30 insertions, 26 deletions
diff --git a/include/sway/commands.h b/include/sway/commands.h
index 226cf932..afa65340 100644
--- a/include/sway/commands.h
+++ b/include/sway/commands.h
@@ -4,6 +4,8 @@
#include <wlr/util/edges.h>
#include "config.h"
+struct sway_container;
+
typedef struct cmd_results *sway_cmd(int argc, char **argv);
struct cmd_handler {
@@ -50,8 +52,13 @@ struct cmd_handler *find_handler(char *line, struct cmd_handler *cmd_handlers,
int handlers_size);
/**
* Parse and executes a command.
+ *
+ * If the command string contains criteria then the command will be executed on
+ * all matching containers. Otherwise, it'll run on the `con` container. If
+ * `con` is NULL then it'll run on the currently focused container.
*/
-struct cmd_results *execute_command(char *command, struct sway_seat *seat);
+struct cmd_results *execute_command(char *command, struct sway_seat *seat,
+ struct sway_container *con);
/**
* Parse and handles a command during config file loading.
*
@@ -88,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;
@@ -210,6 +217,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 b53c1f1f..eab48aed 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 {
@@ -327,7 +329,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;
@@ -450,20 +452,16 @@ 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);
void merge_input_config(struct input_config *dst, struct input_config *src);
-struct input_config *copy_input_config(struct input_config *ic);
+struct input_config *store_input_config(struct input_config *ic);
void free_input_config(struct input_config *ic);
-void apply_input_config(struct input_config *input);
-
int seat_name_cmp(const void *item, const void *data);
struct seat_config *new_seat_config(const char* name);
@@ -474,7 +472,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);
@@ -512,9 +510,7 @@ void free_sway_binding(struct sway_binding *sb);
void seat_execute_command(struct sway_seat *seat, struct sway_binding *binding);
-void load_swaybars();
-
-void invoke_swaybar(struct bar_config *bar);
+void load_swaybars(void);
void terminate_swaybg(pid_t pid);
@@ -522,6 +518,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 5e281a2f..b865a0f2 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/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,