diff options
Diffstat (limited to 'gterm.c')
-rw-r--r-- | gterm.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -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) |