mirror of
https://github.com/swaywm/sway.git
synced 2024-11-22 16:01:27 +00:00
Move default bar config to bar creation.
Get rid of `config->bar` and define the default bar config options when a bar is initialized.
This commit is contained in:
parent
0b5c695d8e
commit
0513322c03
|
@ -125,7 +125,6 @@ struct sway_config {
|
||||||
list_t *output_configs;
|
list_t *output_configs;
|
||||||
list_t *criteria;
|
list_t *criteria;
|
||||||
struct sway_mode *current_mode;
|
struct sway_mode *current_mode;
|
||||||
struct bar_config bar;
|
|
||||||
struct bar_config *current_bar;
|
struct bar_config *current_bar;
|
||||||
uint32_t floating_mod;
|
uint32_t floating_mod;
|
||||||
uint32_t dragging_key;
|
uint32_t dragging_key;
|
||||||
|
@ -176,6 +175,11 @@ int sway_mouse_binding_cmp(const void *a, const void *b);
|
||||||
int sway_mouse_binding_cmp_buttons(const void *a, const void *b);
|
int sway_mouse_binding_cmp_buttons(const void *a, const void *b);
|
||||||
void free_sway_mouse_binding(struct sway_mouse_binding *smb);
|
void free_sway_mouse_binding(struct sway_mouse_binding *smb);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allocate and initialize default bar configuration.
|
||||||
|
*/
|
||||||
|
struct bar_config *default_bar_config(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Global config singleton.
|
* Global config singleton.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1126,22 +1126,8 @@ static struct cmd_results *cmd_bar(int argc, char **argv) {
|
||||||
return cmd_results_new(CMD_FAILURE, "bar", "Can only be used in config file.");
|
return cmd_results_new(CMD_FAILURE, "bar", "Can only be used in config file.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create new bar from default bar config
|
// Create new bar with default values
|
||||||
struct bar_config *bar = NULL;
|
struct bar_config *bar = default_bar_config();
|
||||||
bar = malloc(sizeof*bar);
|
|
||||||
bar->mode = strdup(config->bar.mode);
|
|
||||||
bar->hidden_state = strdup(config->bar.hidden_state);
|
|
||||||
bar->modifier = config->bar.modifier;
|
|
||||||
bar->position = config->bar.position;
|
|
||||||
bar->bindings = create_list();
|
|
||||||
bar->status_command = strdup(config->bar.status_command);
|
|
||||||
bar->font = strdup(config->bar.font);
|
|
||||||
bar->bar_height = config->bar.bar_height;
|
|
||||||
bar->workspace_buttons = config->bar.workspace_buttons;
|
|
||||||
bar->strip_workspace_numbers = config->bar.strip_workspace_numbers;
|
|
||||||
bar->binding_mode_indicator = config->bar.binding_mode_indicator;
|
|
||||||
bar->tray_padding = config->bar.tray_padding;
|
|
||||||
list_add(config->bars, bar);
|
|
||||||
|
|
||||||
// set bar id
|
// set bar id
|
||||||
int i;
|
int i;
|
||||||
|
|
|
@ -132,19 +132,6 @@ static void config_defaults(struct sway_config *config) {
|
||||||
config->edge_gaps = true;
|
config->edge_gaps = true;
|
||||||
config->gaps_inner = 0;
|
config->gaps_inner = 0;
|
||||||
config->gaps_outer = 0;
|
config->gaps_outer = 0;
|
||||||
|
|
||||||
// Bar
|
|
||||||
config->bar.mode = "dock";
|
|
||||||
config->bar.hidden_state = "hide";
|
|
||||||
config->bar.modifier = 0;
|
|
||||||
config->bar.position = DESKTOP_SHELL_PANEL_POSITION_BOTTOM;
|
|
||||||
config->bar.status_command = "while :; do date +'%Y-%m-%d %l:%M:%S %p' && sleep 1; done";
|
|
||||||
config->bar.font = "monospace 10";
|
|
||||||
config->bar.bar_height = -1;
|
|
||||||
config->bar.workspace_buttons = true;
|
|
||||||
config->bar.strip_workspace_numbers = false;
|
|
||||||
config->bar.binding_mode_indicator = true;
|
|
||||||
config->bar.tray_padding = 2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *get_config_path(void) {
|
static char *get_config_path(void) {
|
||||||
|
@ -546,3 +533,23 @@ void free_sway_mouse_binding(struct sway_mouse_binding *binding) {
|
||||||
}
|
}
|
||||||
free(binding);
|
free(binding);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct bar_config *default_bar_config(void) {
|
||||||
|
struct bar_config *bar = NULL;
|
||||||
|
bar = malloc(sizeof(struct bar_config));
|
||||||
|
bar->mode = strdup("dock");
|
||||||
|
bar->hidden_state = strdup("hide");
|
||||||
|
bar->modifier = 0;
|
||||||
|
bar->position = DESKTOP_SHELL_PANEL_POSITION_BOTTOM;
|
||||||
|
bar->bindings = create_list();
|
||||||
|
bar->status_command = strdup("while :; do date +'%Y-%m-%d %l:%M:%S %p' && sleep 1; done");
|
||||||
|
bar->font = strdup("monospace 10");
|
||||||
|
bar->bar_height = -1;
|
||||||
|
bar->workspace_buttons = true;
|
||||||
|
bar->strip_workspace_numbers = false;
|
||||||
|
bar->binding_mode_indicator = true;
|
||||||
|
bar->tray_padding = 2;
|
||||||
|
list_add(config->bars, bar);
|
||||||
|
|
||||||
|
return bar;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue