aboutsummaryrefslogtreecommitdiff
path: root/sway
diff options
context:
space:
mode:
authorDaniel Otero <otero.o.daniel@gmail.com>2021-03-19 18:02:46 +0100
committerSimon Ser <contact@emersion.fr>2021-06-03 14:18:23 +0200
commitb997147284b9d5632f1f929f02a17936a77cd7ec (patch)
tree6a2e93690d0dbd3c4eb032ce3d2bbf7e9671af27 /sway
parentcad6e59b932e082d4e9c4d13b4210df9e4ac7cf3 (diff)
config: Fix swaybar pango_markup inconsistency
Until now, swaybar did not have pango markup enabled by default, even if the sway config had it on. This patch aims to mimic the i3 behavior, but maintaining the functionality of the "pango_markup" sway config command.
Diffstat (limited to 'sway')
-rw-r--r--sway/commands/bar/font.c15
-rw-r--r--sway/config/bar.c2
-rw-r--r--sway/ipc-json.c4
3 files changed, 18 insertions, 3 deletions
diff --git a/sway/commands/bar/font.c b/sway/commands/bar/font.c
index 62987f3e..891c87af 100644
--- a/sway/commands/bar/font.c
+++ b/sway/commands/bar/font.c
@@ -11,7 +11,20 @@ struct cmd_results *bar_cmd_font(int argc, char **argv) {
}
char *font = join_args(argv, argc);
free(config->current_bar->font);
- config->current_bar->font = font;
+
+ if (strncmp(font, "pango:", 6) == 0) {
+ if (config->current_bar->pango_markup == PANGO_MARKUP_DEFAULT) {
+ config->current_bar->pango_markup = true;
+ }
+ config->current_bar->font = strdup(font + 6);
+ } else {
+ if (config->current_bar->pango_markup == PANGO_MARKUP_DEFAULT) {
+ config->current_bar->pango_markup = false;
+ }
+ config->current_bar->font = strdup(font);
+ }
+
+ free(font);
sway_log(SWAY_DEBUG, "Settings font '%s' for bar: %s",
config->current_bar->font, config->current_bar->id);
return cmd_results_new(CMD_SUCCESS, NULL);
diff --git a/sway/config/bar.c b/sway/config/bar.c
index 767534a6..8970f3fd 100644
--- a/sway/config/bar.c
+++ b/sway/config/bar.c
@@ -91,7 +91,7 @@ struct bar_config *default_bar_config(void) {
}
bar->outputs = NULL;
bar->position = strdup("bottom");
- bar->pango_markup = false;
+ bar->pango_markup = PANGO_MARKUP_DEFAULT;
bar->swaybar_command = NULL;
bar->font = NULL;
bar->height = 0;
diff --git a/sway/ipc-json.c b/sway/ipc-json.c
index 34adfc74..6c438424 100644
--- a/sway/ipc-json.c
+++ b/sway/ipc-json.c
@@ -1127,7 +1127,9 @@ json_object *ipc_json_describe_bar_config(struct bar_config *bar) {
json_object_object_add(json, "verbose",
json_object_new_boolean(bar->verbose));
json_object_object_add(json, "pango_markup",
- json_object_new_boolean(bar->pango_markup));
+ json_object_new_boolean(bar->pango_markup == PANGO_MARKUP_DEFAULT
+ ? config->pango_markup
+ : bar->pango_markup));
json_object *colors = json_object_new_object();
json_object_object_add(colors, "background",