diff options
Diffstat (limited to 'sway/commands/font.c')
-rw-r--r-- | sway/commands/font.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/sway/commands/font.c b/sway/commands/font.c new file mode 100644 index 00000000..1ee06396 --- /dev/null +++ b/sway/commands/font.c | |||
@@ -0,0 +1,26 @@ | |||
1 | #include <string.h> | ||
2 | #include "sway/border.h" | ||
3 | #include "sway/commands.h" | ||
4 | #include "log.h" | ||
5 | #include "stringop.h" | ||
6 | |||
7 | struct cmd_results *cmd_font(int argc, char **argv) { | ||
8 | struct cmd_results *error = NULL; | ||
9 | if ((error = checkarg(argc, "font", EXPECTED_AT_LEAST, 1))) { | ||
10 | return error; | ||
11 | } | ||
12 | |||
13 | char *font = join_args(argv, argc); | ||
14 | free(config->font); | ||
15 | if (strlen(font) > 6 && strncmp("pango:", font, 6) == 0) { | ||
16 | config->font = strdup(font + 6); | ||
17 | free(font); | ||
18 | } else { | ||
19 | config->font = font; | ||
20 | } | ||
21 | |||
22 | config->font_height = get_font_text_height(config->font); | ||
23 | |||
24 | sway_log(L_DEBUG, "Settings font %s", config->font); | ||
25 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); | ||
26 | } | ||