aboutsummaryrefslogtreecommitdiffstats
path: root/gterm.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2019-05-23 15:40:52 +0200
committerGerd Hoffmann <kraxel@redhat.com>2019-05-23 15:40:52 +0200
commit1e7e4dc65d89fe5f05d07d07dd64b5e5612a7013 (patch)
treefe0fa5fb5e0e3d397268cec133811dd7b295a36b /gterm.c
parent68c16b238fa604775c4ea315081af9ab9153b01d (diff)
downloadgterm-1e7e4dc65d89fe5f05d07d07dd64b5e5612a7013.tar.gz
implement profiles
Diffstat (limited to 'gterm.c')
-rw-r--r--gterm.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gterm.c b/gterm.c
index f0e16cb..f1272f5 100644
--- a/gterm.c
+++ b/gterm.c
@@ -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;