main: add font options

This adds two options --font-size and --font-name that can be used to
configure which font is used.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
This commit is contained in:
David Herrmann 2012-08-14 16:29:55 +02:00
parent 572bc3e195
commit 4a034895c8
3 changed files with 17 additions and 2 deletions

View File

@ -431,7 +431,12 @@ static void print_help()
"\t --xkb-options <options> [-] Set XkbOptions for input devices\n"
"\n"
"Font Options:\n"
"\t --font-engine <engine> [pango] Font engine\n",
"\t --font-engine <engine> [pango]\n"
"\t Font engine\n"
"\t --font-size <points> [10]\n"
"\t Font size in points\n"
"\t --font-name <name> [monospace]\n"
"\t Font name\n",
"kmscon");
/*
* 80 char line:
@ -517,6 +522,8 @@ struct conf_option options[] = {
CONF_OPTION_STRING(0, "xkb-variant", NULL, &kmscon_conf.xkb_variant, ""),
CONF_OPTION_STRING(0, "xkb-options", NULL, &kmscon_conf.xkb_options, ""),
CONF_OPTION_STRING(0, "font-engine", NULL, &kmscon_conf.font_engine, "pango"),
CONF_OPTION_UINT(0, "font-size", NULL, &kmscon_conf.font_size, 10),
CONF_OPTION_STRING(0, "font-name", NULL, &kmscon_conf.font_name, "monospace"),
CONF_OPTION_STRING_LIST(0, "seats", aftercheck_seats, &kmscon_conf.seats, def_seats),
};

View File

@ -68,6 +68,10 @@ struct kmscon_conf_t {
/* font engine */
char *font_engine;
/* font size */
unsigned int font_size;
/* font name */
char *font_name;
/* color palette */
char *palette;

View File

@ -149,9 +149,13 @@ static int add_display(struct kmscon_terminal *term, struct uterm_display *disp)
struct screen *scr;
int ret;
unsigned int cols, rows;
const struct kmscon_font_attr attr = { "", 0, 20, false, false, 0, 0 };
struct kmscon_font_attr attr = { "", 0, 20, false, false, 0, 0 };
const char *be;
attr.points = kmscon_conf.font_size;
strncpy(attr.name, kmscon_conf.font_name, KMSCON_FONT_MAX_NAME - 1);
attr.name[KMSCON_FONT_MAX_NAME - 1] = 0;
kmscon_dlist_for_each(iter, &term->screens) {
scr = kmscon_dlist_entry(iter, struct screen, list);
if (scr->disp == disp)