mirror of
https://github.com/swaywm/sway.git
synced 2025-11-18 06:59:48 -05:00
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.
This commit is contained in:
parent
0ad905f23c
commit
75e7bd24cc
8 changed files with 497 additions and 251 deletions
|
|
@ -424,7 +424,6 @@ struct sway_config {
|
|||
list_t *active_bar_modifiers;
|
||||
struct sway_mode *current_mode;
|
||||
struct bar_config *current_bar;
|
||||
char *swaybg_command;
|
||||
uint32_t floating_mod;
|
||||
bool floating_mod_inverse;
|
||||
uint32_t dragging_key;
|
||||
|
|
@ -447,6 +446,11 @@ struct sway_config {
|
|||
enum sway_popup_during_fullscreen popup_during_fullscreen;
|
||||
bool xwayland;
|
||||
|
||||
// swaybg
|
||||
char *swaybg_command;
|
||||
struct wl_client *swaybg_client;
|
||||
struct wl_listener swaybg_client_destroy;
|
||||
|
||||
// Flags
|
||||
enum focus_follows_mouse_mode focus_follows_mouse;
|
||||
enum mouse_warping_mode mouse_warping;
|
||||
|
|
@ -607,6 +611,8 @@ void reset_outputs(void);
|
|||
|
||||
void free_output_config(struct output_config *oc);
|
||||
|
||||
bool spawn_swaybg(void);
|
||||
|
||||
int workspace_output_cmp_workspace(const void *a, const void *b);
|
||||
|
||||
int sway_binding_cmp(const void *a, const void *b);
|
||||
|
|
@ -625,8 +631,6 @@ void load_swaybar(struct bar_config *bar);
|
|||
|
||||
void load_swaybars(void);
|
||||
|
||||
void terminate_swaybg(pid_t pid);
|
||||
|
||||
struct bar_config *default_bar_config(void);
|
||||
|
||||
void free_bar_config(struct bar_config *bar);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue