mirror of
https://github.com/swaywm/sway.git
synced 2025-11-14 06:59:47 -05:00
Move bar config into its own file
This commit is contained in:
parent
bf7a4cd0eb
commit
569b2bfd5d
5 changed files with 151 additions and 148 deletions
127
sway/config.c
127
sway/config.c
|
|
@ -110,48 +110,6 @@ void free_config(struct sway_config *config) {
|
|||
free(config);
|
||||
}
|
||||
|
||||
static void free_bar(struct bar_config *bar) {
|
||||
if (!bar) {
|
||||
return;
|
||||
}
|
||||
free(bar->mode);
|
||||
free(bar->position);
|
||||
free(bar->hidden_state);
|
||||
free(bar->status_command);
|
||||
free(bar->font);
|
||||
free(bar->separator_symbol);
|
||||
// TODO: Free mouse bindings
|
||||
list_free(bar->bindings);
|
||||
if (bar->outputs) {
|
||||
free_flat_list(bar->outputs);
|
||||
}
|
||||
if (bar->pid != 0) {
|
||||
// TODO terminate_swaybar(bar->pid);
|
||||
}
|
||||
free(bar->colors.background);
|
||||
free(bar->colors.statusline);
|
||||
free(bar->colors.separator);
|
||||
free(bar->colors.focused_background);
|
||||
free(bar->colors.focused_statusline);
|
||||
free(bar->colors.focused_separator);
|
||||
free(bar->colors.focused_workspace_border);
|
||||
free(bar->colors.focused_workspace_bg);
|
||||
free(bar->colors.focused_workspace_text);
|
||||
free(bar->colors.active_workspace_border);
|
||||
free(bar->colors.active_workspace_bg);
|
||||
free(bar->colors.active_workspace_text);
|
||||
free(bar->colors.inactive_workspace_border);
|
||||
free(bar->colors.inactive_workspace_bg);
|
||||
free(bar->colors.inactive_workspace_text);
|
||||
free(bar->colors.urgent_workspace_border);
|
||||
free(bar->colors.urgent_workspace_bg);
|
||||
free(bar->colors.urgent_workspace_text);
|
||||
free(bar->colors.binding_mode_border);
|
||||
free(bar->colors.binding_mode_bg);
|
||||
free(bar->colors.binding_mode_text);
|
||||
free(bar);
|
||||
}
|
||||
|
||||
static void destroy_removed_seats(struct sway_config *old_config,
|
||||
struct sway_config *new_config) {
|
||||
struct seat_config *seat_config;
|
||||
|
|
@ -281,91 +239,6 @@ cleanup:
|
|||
sway_abort("Unable to allocate config structures");
|
||||
}
|
||||
|
||||
struct bar_config *default_bar_config(void) {
|
||||
struct bar_config *bar = NULL;
|
||||
bar = malloc(sizeof(struct bar_config));
|
||||
if (!bar) {
|
||||
return NULL;
|
||||
}
|
||||
if (!(bar->mode = strdup("dock"))) goto cleanup;
|
||||
if (!(bar->hidden_state = strdup("hide"))) goto cleanup;
|
||||
bar->outputs = NULL;
|
||||
bar->position = strdup("bottom");
|
||||
if (!(bar->bindings = create_list())) goto cleanup;
|
||||
if (!(bar->status_command = strdup("while :; do date +'%Y-%m-%d %l:%M:%S %p'; sleep 1; done"))) goto cleanup;
|
||||
bar->pango_markup = false;
|
||||
bar->swaybar_command = NULL;
|
||||
bar->font = NULL;
|
||||
bar->height = -1;
|
||||
bar->workspace_buttons = true;
|
||||
bar->wrap_scroll = false;
|
||||
bar->separator_symbol = NULL;
|
||||
bar->strip_workspace_numbers = false;
|
||||
bar->binding_mode_indicator = true;
|
||||
bar->verbose = false;
|
||||
bar->pid = 0;
|
||||
// set default colors
|
||||
if (!(bar->colors.background = strndup("#000000ff", 9))) {
|
||||
goto cleanup;
|
||||
}
|
||||
if (!(bar->colors.statusline = strndup("#ffffffff", 9))) {
|
||||
goto cleanup;
|
||||
}
|
||||
if (!(bar->colors.separator = strndup("#666666ff", 9))) {
|
||||
goto cleanup;
|
||||
}
|
||||
if (!(bar->colors.focused_workspace_border = strndup("#4c7899ff", 9))) {
|
||||
goto cleanup;
|
||||
}
|
||||
if (!(bar->colors.focused_workspace_bg = strndup("#285577ff", 9))) {
|
||||
goto cleanup;
|
||||
}
|
||||
if (!(bar->colors.focused_workspace_text = strndup("#ffffffff", 9))) {
|
||||
goto cleanup;
|
||||
}
|
||||
if (!(bar->colors.active_workspace_border = strndup("#333333ff", 9))) {
|
||||
goto cleanup;
|
||||
}
|
||||
if (!(bar->colors.active_workspace_bg = strndup("#5f676aff", 9))) {
|
||||
goto cleanup;
|
||||
}
|
||||
if (!(bar->colors.active_workspace_text = strndup("#ffffffff", 9))) {
|
||||
goto cleanup;
|
||||
}
|
||||
if (!(bar->colors.inactive_workspace_border = strndup("#333333ff", 9))) {
|
||||
goto cleanup;
|
||||
}
|
||||
if (!(bar->colors.inactive_workspace_bg = strndup("#222222ff", 9))) {
|
||||
goto cleanup;
|
||||
}
|
||||
if (!(bar->colors.inactive_workspace_text = strndup("#888888ff", 9))) {
|
||||
goto cleanup;
|
||||
}
|
||||
if (!(bar->colors.urgent_workspace_border = strndup("#2f343aff", 9))) {
|
||||
goto cleanup;
|
||||
}
|
||||
if (!(bar->colors.urgent_workspace_bg = strndup("#900000ff", 9))) {
|
||||
goto cleanup;
|
||||
}
|
||||
if (!(bar->colors.urgent_workspace_text = strndup("#ffffffff", 9))) {
|
||||
goto cleanup;
|
||||
}
|
||||
// if the following colors stay undefined, they fall back to background,
|
||||
// statusline, separator and urgent_workspace_*.
|
||||
bar->colors.focused_background = NULL;
|
||||
bar->colors.focused_statusline = NULL;
|
||||
bar->colors.focused_separator = NULL;
|
||||
bar->colors.binding_mode_border = NULL;
|
||||
bar->colors.binding_mode_bg = NULL;
|
||||
bar->colors.binding_mode_text = NULL;
|
||||
|
||||
list_add(config->bars, bar);
|
||||
return bar;
|
||||
cleanup:
|
||||
free_bar(bar);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static bool file_exists(const char *path) {
|
||||
return path && access(path, R_OK) != -1;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue