Only send modifier event once for active modifiers

This makes sure that a modifier event is only sent for active bar
modifiers, and that it is only sent once for each of those modifiers.

An active bar modifier is a modifier defined for a bar with `mode hide`
and `hidden_state hide`.
This commit is contained in:
Mikkel Oscar Lyderik 2016-01-05 23:18:59 +01:00
parent a8402035e9
commit 843e2ad2c1
4 changed files with 54 additions and 12 deletions

View file

@ -135,6 +135,7 @@ struct sway_config {
list_t *workspace_outputs;
list_t *output_configs;
list_t *criteria;
list_t *active_bar_modifiers;
struct sway_mode *current_mode;
struct bar_config *current_bar;
uint32_t floating_mod;
@ -176,6 +177,11 @@ void merge_output_config(struct output_config *dst, struct output_config *src);
void apply_output_config(struct output_config *oc, swayc_t *output);
void free_output_config(struct output_config *oc);
/**
* Updates the list of active bar modifiers
*/
void update_active_bar_modifiers(void);
int workspace_output_cmp_workspace(const void *a, const void *b);
int sway_binding_cmp(const void *a, const void *b);