diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2019-05-23 15:40:52 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2019-05-23 15:40:52 +0200 |
commit | 1e7e4dc65d89fe5f05d07d07dd64b5e5612a7013 (patch) | |
tree | fe0fa5fb5e0e3d397268cec133811dd7b295a36b /gterm.c | |
parent | 68c16b238fa604775c4ea315081af9ab9153b01d (diff) | |
download | gterm-1e7e4dc65d89fe5f05d07d07dd64b5e5612a7013.tar.gz |
implement profiles
Diffstat (limited to 'gterm.c')
-rw-r--r-- | gterm.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -26,6 +26,7 @@ #define GTERM_CFG_KEY_CURSOR_COLOR "cursorColor" #define GTERM_CFG_KEY_FOREGROUND "foreground" #define GTERM_CFG_KEY_BACKGROUND "background" +#define GTERM_CFG_KEY_PROFILE "profile" typedef struct gterm_opt { char *opt; @@ -48,6 +49,8 @@ static const gterm_opt gterm_opts[] = { { .opt = "cr", .key = GTERM_CFG_KEY_CURSOR_COLOR }, { .opt = "fg", .key = GTERM_CFG_KEY_FOREGROUND }, { .opt = "bg", .key = GTERM_CFG_KEY_BACKGROUND }, + { .opt = "name", .key = GTERM_CFG_KEY_PROFILE }, + { .opt = "class", .key = GTERM_CFG_KEY_PROFILE }, { .opt = "bc", .key = GTERM_CFG_KEY_CURSOR_BLINK, .is_bool = true }, }; @@ -79,12 +82,22 @@ static void gterm_cfg_set(GKeyFile *cfg, char *key, char *value) static char *gterm_cfg_get(GKeyFile *cfg, char *key) { + char *profile; char *value; + profile = g_key_file_get_string(cfg, GTERM_CFG_GROUP_CMDLINE, + GTERM_CFG_KEY_PROFILE, NULL); + value = g_key_file_get_string(cfg, GTERM_CFG_GROUP_CMDLINE, key, NULL); if (value) return value; + if (profile) { + value = g_key_file_get_string(cfg, profile, key, NULL); + if (value) + return value; + } + value = g_key_file_get_string(cfg, GTERM_CFG_GROUP_DEFAULT, key, NULL); if (value) return value; |