diff options
-rw-r--r-- | gterm.1 | 5 | ||||
-rw-r--r-- | gterm.c | 9 |
2 files changed, 14 insertions, 0 deletions
@@ -33,6 +33,11 @@ Config file key: faceName. The font size to use. .br Config file key: faceSize. +.TP +.BI -geometry " WxH" +The width and height of the terminal window (in columns/rows, not pixels). +.br +Config file key: geometry. \# \# .SH "CONFIG FILE" @@ -20,6 +20,7 @@ #define GTERM_CFG_KEY_FONT_FACE "faceName" #define GTERM_CFG_KEY_FONT_SIZE "faceSize" +#define GTERM_CFG_KEY_GEOMETRY "geometry" typedef struct gterm_opt { char *opt; @@ -30,6 +31,7 @@ typedef struct gterm_opt { static const gterm_opt gterm_opts[] = { { .opt = "fa", .key = GTERM_CFG_KEY_FONT_FACE }, { .opt = "fs", .key = GTERM_CFG_KEY_FONT_SIZE }, + { .opt = "geometry", .key = GTERM_CFG_KEY_GEOMETRY }, }; static const gterm_opt *gterm_opt_find(char *arg) @@ -142,6 +144,8 @@ static void gterm_vte_configure(gterm *gt) char *fontdesc; char *fontname; char *fontsize; + char *str; + unsigned int cols, rows; fontname = gterm_cfg_get(gt->cfg, GTERM_CFG_KEY_FONT_FACE); fontsize = gterm_cfg_get(gt->cfg, GTERM_CFG_KEY_FONT_SIZE); @@ -160,6 +164,11 @@ static void gterm_vte_configure(gterm *gt) vte_terminal_set_font(VTE_TERMINAL(gt->terminal), font); g_free(fontdesc); } + + str = gterm_cfg_get(gt->cfg, GTERM_CFG_KEY_GEOMETRY); + if (str && sscanf(str, "%dx%d", &cols, &rows) == 2) { + vte_terminal_set_size(VTE_TERMINAL(gt->terminal), cols, rows); + } } static void gterm_window_destroy(GtkWidget *widget, gpointer data) |