diff options
Diffstat (limited to 'include')
-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 | ||||
-rw-r--r-- | include/swaybar/bar.h | 7 | ||||
-rw-r--r-- | include/swaybar/config.h | 2 | ||||
-rw-r--r-- | include/swaybar/i3bar.h | 34 | ||||
-rw-r--r-- | include/swaybar/ipc.h | 2 | ||||
-rw-r--r-- | include/swaybar/render.h | 4 | ||||
-rw-r--r-- | include/swaybar/status_line.h | 27 | ||||
-rw-r--r-- | include/swaybar/tray/dbus.h | 18 | ||||
-rw-r--r-- | include/swaybar/tray/sni_watcher.h | 10 | ||||
-rw-r--r-- | include/swaybar/tray/tray.h | 32 | ||||
-rw-r--r-- | include/swaylock/swaylock.h | 3 |
17 files changed, 75 insertions, 115 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, diff --git a/include/swaybar/bar.h b/include/swaybar/bar.h index 29e96159..de234111 100644 --- a/include/swaybar/bar.h +++ b/include/swaybar/bar.h @@ -54,7 +54,6 @@ struct swaybar { struct wl_seat *seat; struct swaybar_config *config; - struct swaybar_output *focused_output; struct swaybar_pointer pointer; struct status_line *status; @@ -84,6 +83,8 @@ struct swaybar_output { enum wl_output_subpixel subpixel; struct pool_buffer buffers[2]; struct pool_buffer *current_buffer; + bool dirty; + bool frame_scheduled; }; struct swaybar_workspace { @@ -95,9 +96,7 @@ struct swaybar_workspace { bool urgent; }; -void bar_setup(struct swaybar *bar, - const char *socket_path, - const char *bar_id); +bool bar_setup(struct swaybar *bar, const char *socket_path, const char *bar_id); void bar_run(struct swaybar *bar); void bar_teardown(struct swaybar *bar); diff --git a/include/swaybar/config.h b/include/swaybar/config.h index 6739c28a..5f5688cf 100644 --- a/include/swaybar/config.h +++ b/include/swaybar/config.h @@ -50,7 +50,7 @@ struct swaybar_config { } colors; }; -struct swaybar_config *init_config(); +struct swaybar_config *init_config(void); void free_config(struct swaybar_config *config); uint32_t parse_position(const char *position); diff --git a/include/swaybar/i3bar.h b/include/swaybar/i3bar.h new file mode 100644 index 00000000..12d9b317 --- /dev/null +++ b/include/swaybar/i3bar.h @@ -0,0 +1,34 @@ +#ifndef _SWAYBAR_I3BAR_H +#define _SWAYBAR_I3BAR_H + +#include "bar.h" +#include "status_line.h" + +struct i3bar_block { + struct wl_list link; + int ref_count; + char *full_text, *short_text, *align; + bool urgent; + uint32_t *color; + int min_width; + char *name, *instance; + bool separator; + int separator_block_width; + bool markup; + // Airblader features + uint32_t background; + uint32_t border; + int border_top; + int border_bottom; + int border_left; + int border_right; +}; + +void i3bar_block_unref(struct i3bar_block *block); +bool i3bar_handle_readable(struct status_line *status); +enum hotspot_event_handling i3bar_block_send_click(struct status_line *status, + struct i3bar_block *block, int x, int y, enum x11_button button); +enum x11_button wl_button_to_x11_button(uint32_t button); +enum x11_button wl_axis_to_x11_button(uint32_t axis, wl_fixed_t value); + +#endif diff --git a/include/swaybar/ipc.h b/include/swaybar/ipc.h index a1696bcf..81e48a6b 100644 --- a/include/swaybar/ipc.h +++ b/include/swaybar/ipc.h @@ -3,7 +3,7 @@ #include <stdbool.h> #include "swaybar/bar.h" -void ipc_initialize(struct swaybar *bar, const char *bar_id); +bool ipc_initialize(struct swaybar *bar, const char *bar_id); bool handle_ipc_readable(struct swaybar *bar); void ipc_get_workspaces(struct swaybar *bar); void ipc_send_workspace_command(struct swaybar *bar, const char *ws); diff --git a/include/swaybar/render.h b/include/swaybar/render.h index 071e2298..ebdc69e4 100644 --- a/include/swaybar/render.h +++ b/include/swaybar/render.h @@ -1,10 +1,8 @@ #ifndef _SWAYBAR_RENDER_H #define _SWAYBAR_RENDER_H -struct swaybar; struct swaybar_output; -struct swaybar_config; -void render_frame(struct swaybar *bar, struct swaybar_output *output); +void render_frame(struct swaybar_output *output); #endif diff --git a/include/swaybar/status_line.h b/include/swaybar/status_line.h index d3eabdf6..ca88b0c5 100644 --- a/include/swaybar/status_line.h +++ b/include/swaybar/status_line.h @@ -13,26 +13,6 @@ enum status_protocol { PROTOCOL_I3BAR, }; -struct i3bar_block { - struct wl_list link; - int ref_count; - char *full_text, *short_text, *align; - bool urgent; - uint32_t *color; - int min_width; - char *name, *instance; - bool separator; - int separator_block_width; - bool markup; - // Airblader features - uint32_t background; - uint32_t border; - int border_top; - int border_bottom; - int border_left; - int border_right; -}; - struct status_line { pid_t pid; int read_fd, write_fd; @@ -43,6 +23,7 @@ struct status_line { struct wl_list blocks; // i3bar_block::link bool click_events; + bool clicked; char *buffer; size_t buffer_size; size_t buffer_index; @@ -55,11 +36,5 @@ struct status_line *status_line_init(char *cmd); void status_error(struct status_line *status, const char *text); bool status_handle_readable(struct status_line *status); void status_line_free(struct status_line *status); -bool i3bar_handle_readable(struct status_line *status); -enum hotspot_event_handling i3bar_block_send_click(struct status_line *status, - struct i3bar_block *block, int x, int y, enum x11_button button); -void i3bar_block_unref(struct i3bar_block *block); -enum x11_button wl_button_to_x11_button(uint32_t button); -enum x11_button wl_axis_to_x11_button(uint32_t axis, wl_fixed_t value); #endif diff --git a/include/swaybar/tray/dbus.h b/include/swaybar/tray/dbus.h deleted file mode 100644 index eb9cfea7..00000000 --- a/include/swaybar/tray/dbus.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef _SWAYBAR_DBUS_H -#define _SWAYBAR_DBUS_H - -#include <stdbool.h> -#include <dbus/dbus.h> -extern DBusConnection *conn; - -/** - * Should be called in main loop to dispatch events - */ -void dispatch_dbus(); - -/** - * Initializes async dbus communication - */ -int dbus_init(); - -#endif /* _SWAYBAR_DBUS_H */ diff --git a/include/swaybar/tray/sni_watcher.h b/include/swaybar/tray/sni_watcher.h deleted file mode 100644 index 25ddfcd2..00000000 --- a/include/swaybar/tray/sni_watcher.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef _SWAYBAR_SNI_WATCHER_H -#define _SWAYBAR_SNI_WATCHER_H - -/** - * Starts the sni_watcher, the watcher is practically a black box and should - * only be accessed though functions described in its spec - */ -int init_sni_watcher(); - -#endif /* _SWAYBAR_SNI_WATCHER_H */ diff --git a/include/swaybar/tray/tray.h b/include/swaybar/tray/tray.h deleted file mode 100644 index 2d0662be..00000000 --- a/include/swaybar/tray/tray.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef _SWAYBAR_TRAY_H -#define _SWAYBAR_TRAY_H - -#include <stdint.h> -#include <stdbool.h> -#include "swaybar/tray/dbus.h" -#include "swaybar/tray/sni.h" -#include "swaybar/bar.h" -#include "list.h" - -extern struct tray *tray; - -struct tray { - list_t *items; -}; - -/** - * Processes a mouse event on the bar - */ -void tray_mouse_event(struct output *output, int x, int y, - uint32_t button, uint32_t state); - -uint32_t tray_render(struct output *output, struct config *config); - -void tray_upkeep(struct bar *bar); - -/** - * Initializes the tray with D-Bus - */ -void init_tray(struct bar *bar); - -#endif /* _SWAYBAR_TRAY_H */ diff --git a/include/swaylock/swaylock.h b/include/swaylock/swaylock.h index 2f0cd34d..970e3cc9 100644 --- a/include/swaylock/swaylock.h +++ b/include/swaylock/swaylock.h @@ -101,5 +101,8 @@ void render_frame(struct swaylock_surface *surface); void render_frames(struct swaylock_state *state); void damage_surface(struct swaylock_surface *surface); void damage_state(struct swaylock_state *state); +void initialize_pw_backend(void); +bool attempt_password(struct swaylock_password *pw); +void clear_password_buffer(struct swaylock_password *pw); #endif |