diff options
author | 2019-04-03 21:53:43 -0400 | |
---|---|---|
committer | 2019-04-04 20:08:21 +0300 | |
commit | 75e7bd24ccb9731065bb7f8313aa53ba11ddc420 (patch) | |
tree | 2522f31626a21b42c2496a32266eafd3b7d66f50 /include/sway | |
parent | idle_inhibit: fix crash during view destruction (diff) | |
download | sway-75e7bd24ccb9731065bb7f8313aa53ba11ddc420.tar.gz sway-75e7bd24ccb9731065bb7f8313aa53ba11ddc420.tar.zst sway-75e7bd24ccb9731065bb7f8313aa53ba11ddc420.zip |
swaybg: one instance for all outputs
This makes it so there will only be one swaybg instance running
instead of one per output. swaybg's cli has been changed to a xrandr
like interface, where you select an output and then change properties
for that output and then select another output and repeat. This also
makes it so swaybg is only killed and respawned when a background
changes or when reloading.
Diffstat (limited to 'include/sway')
-rw-r--r-- | include/sway/config.h | 10 | ||||
-rw-r--r-- | include/sway/output.h | 3 |
2 files changed, 7 insertions, 6 deletions
diff --git a/include/sway/config.h b/include/sway/config.h index d49120a0..fe06fb9d 100644 --- a/include/sway/config.h +++ b/include/sway/config.h | |||
@@ -424,7 +424,6 @@ struct sway_config { | |||
424 | list_t *active_bar_modifiers; | 424 | list_t *active_bar_modifiers; |
425 | struct sway_mode *current_mode; | 425 | struct sway_mode *current_mode; |
426 | struct bar_config *current_bar; | 426 | struct bar_config *current_bar; |
427 | char *swaybg_command; | ||
428 | uint32_t floating_mod; | 427 | uint32_t floating_mod; |
429 | bool floating_mod_inverse; | 428 | bool floating_mod_inverse; |
430 | uint32_t dragging_key; | 429 | uint32_t dragging_key; |
@@ -447,6 +446,11 @@ struct sway_config { | |||
447 | enum sway_popup_during_fullscreen popup_during_fullscreen; | 446 | enum sway_popup_during_fullscreen popup_during_fullscreen; |
448 | bool xwayland; | 447 | bool xwayland; |
449 | 448 | ||
449 | // swaybg | ||
450 | char *swaybg_command; | ||
451 | struct wl_client *swaybg_client; | ||
452 | struct wl_listener swaybg_client_destroy; | ||
453 | |||
450 | // Flags | 454 | // Flags |
451 | enum focus_follows_mouse_mode focus_follows_mouse; | 455 | enum focus_follows_mouse_mode focus_follows_mouse; |
452 | enum mouse_warping_mode mouse_warping; | 456 | enum mouse_warping_mode mouse_warping; |
@@ -607,6 +611,8 @@ void reset_outputs(void); | |||
607 | 611 | ||
608 | void free_output_config(struct output_config *oc); | 612 | void free_output_config(struct output_config *oc); |
609 | 613 | ||
614 | bool spawn_swaybg(void); | ||
615 | |||
610 | int workspace_output_cmp_workspace(const void *a, const void *b); | 616 | int workspace_output_cmp_workspace(const void *a, const void *b); |
611 | 617 | ||
612 | int sway_binding_cmp(const void *a, const void *b); | 618 | int sway_binding_cmp(const void *a, const void *b); |
@@ -625,8 +631,6 @@ void load_swaybar(struct bar_config *bar); | |||
625 | 631 | ||
626 | void load_swaybars(void); | 632 | void load_swaybars(void); |
627 | 633 | ||
628 | void terminate_swaybg(pid_t pid); | ||
629 | |||
630 | struct bar_config *default_bar_config(void); | 634 | struct bar_config *default_bar_config(void); |
631 | 635 | ||
632 | void free_bar_config(struct bar_config *bar); | 636 | void free_bar_config(struct bar_config *bar); |
diff --git a/include/sway/output.h b/include/sway/output.h index c336c559..cae77e2e 100644 --- a/include/sway/output.h +++ b/include/sway/output.h | |||
@@ -38,8 +38,6 @@ struct sway_output { | |||
38 | 38 | ||
39 | struct sway_output_state current; | 39 | struct sway_output_state current; |
40 | 40 | ||
41 | struct wl_client *swaybg_client; | ||
42 | |||
43 | struct wl_listener destroy; | 41 | struct wl_listener destroy; |
44 | struct wl_listener mode; | 42 | struct wl_listener mode; |
45 | struct wl_listener transform; | 43 | struct wl_listener transform; |
@@ -47,7 +45,6 @@ struct sway_output { | |||
47 | struct wl_listener present; | 45 | struct wl_listener present; |
48 | struct wl_listener damage_destroy; | 46 | struct wl_listener damage_destroy; |
49 | struct wl_listener damage_frame; | 47 | struct wl_listener damage_frame; |
50 | struct wl_listener swaybg_client_destroy; | ||
51 | 48 | ||
52 | struct { | 49 | struct { |
53 | struct wl_signal destroy; | 50 | struct wl_signal destroy; |