mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-03-18 05:34:02 -04:00
config: add line-height, letter-spacing, {horizontal,vertical}-letter-offset
This commit is contained in:
parent
2177bacd6f
commit
f9c9dd2432
2 changed files with 56 additions and 0 deletions
48
config.c
48
config.c
|
|
@ -555,6 +555,50 @@ parse_section_main(const char *key, const char *value, struct config *conf,
|
||||||
free(copy);
|
free(copy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if (strcmp(key, "line-height") == 0) {
|
||||||
|
unsigned long height;
|
||||||
|
if (!str_to_ulong(value, 10, &height)) {
|
||||||
|
LOG_AND_NOTIFY_ERR(
|
||||||
|
"%s:%d: [default]: line-height: expected an integer, got '%s'",
|
||||||
|
path, lineno, value);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
conf->line_height = height;
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (strcmp(key, "letter-spacing") == 0) {
|
||||||
|
unsigned long spacing;
|
||||||
|
if (!str_to_ulong(value, 10, &spacing)) {
|
||||||
|
LOG_AND_NOTIFY_ERR(
|
||||||
|
"%s:%d: [default]: letter-spacing: expected an integer, got '%s'",
|
||||||
|
path, lineno, value);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
conf->letter_spacing = spacing;
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (strcmp(key, "horizontal-letter-offset") == 0) {
|
||||||
|
unsigned long offset;
|
||||||
|
if (!str_to_ulong(value, 10, &offset)) {
|
||||||
|
LOG_AND_NOTIFY_ERR(
|
||||||
|
"%s:%d: [default]: horizontal-letter-offset: "
|
||||||
|
"expected an integer, got '%s'", path, lineno, value);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
conf->horizontal_letter_offset = offset;
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (strcmp(key, "vertical-letter-offset") == 0) {
|
||||||
|
unsigned long offset;
|
||||||
|
if (!str_to_ulong(value, 10, &offset)) {
|
||||||
|
LOG_AND_NOTIFY_ERR(
|
||||||
|
"%s:%d: [default]: horizontal-letter-offset: "
|
||||||
|
"expected an integer, got '%s'", path, lineno, value);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
conf->vertical_letter_offset = offset;
|
||||||
|
}
|
||||||
|
|
||||||
else if (strcmp(key, "dpi-aware") == 0) {
|
else if (strcmp(key, "dpi-aware") == 0) {
|
||||||
if (strcmp(value, "auto") == 0)
|
if (strcmp(value, "auto") == 0)
|
||||||
conf->dpi_aware = DPI_AWARE_AUTO;
|
conf->dpi_aware = DPI_AWARE_AUTO;
|
||||||
|
|
@ -1979,6 +2023,10 @@ config_load(struct config *conf, const char *conf_path,
|
||||||
.bell_action = BELL_ACTION_NONE,
|
.bell_action = BELL_ACTION_NONE,
|
||||||
.startup_mode = STARTUP_WINDOWED,
|
.startup_mode = STARTUP_WINDOWED,
|
||||||
.fonts = {tll_init(), tll_init(), tll_init(), tll_init()},
|
.fonts = {tll_init(), tll_init(), tll_init(), tll_init()},
|
||||||
|
.line_height = -1,
|
||||||
|
.letter_spacing = -1,
|
||||||
|
.horizontal_letter_offset = 0,
|
||||||
|
.vertical_letter_offset = 0,
|
||||||
.dpi_aware = DPI_AWARE_AUTO, /* DPI-aware when scaling-factor == 1 */
|
.dpi_aware = DPI_AWARE_AUTO, /* DPI-aware when scaling-factor == 1 */
|
||||||
.scrollback = {
|
.scrollback = {
|
||||||
.lines = 1000,
|
.lines = 1000,
|
||||||
|
|
|
||||||
8
config.h
8
config.h
|
|
@ -84,6 +84,14 @@ struct config {
|
||||||
enum {DPI_AWARE_AUTO, DPI_AWARE_YES, DPI_AWARE_NO} dpi_aware;
|
enum {DPI_AWARE_AUTO, DPI_AWARE_YES, DPI_AWARE_NO} dpi_aware;
|
||||||
config_font_list_t fonts[4];
|
config_font_list_t fonts[4];
|
||||||
|
|
||||||
|
/* Custom font metrics (-1 = use real font metrics) */
|
||||||
|
int16_t line_height;
|
||||||
|
int16_t letter_spacing;
|
||||||
|
|
||||||
|
/* Adjusted letter x/y offsets */
|
||||||
|
int16_t horizontal_letter_offset;
|
||||||
|
int16_t vertical_letter_offset;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
int lines;
|
int lines;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue