summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-04-13 07:27:21 +0000
committerDana Jansens <danakj@orodu.net>2003-04-13 07:27:21 +0000
commitd6ef215583e6293477f674bde75d9a22d0c91d26 (patch)
treed65eefe8ef1892e539e1fb9a5f16a04f53d1f4b4
parent159423ff17606a1e1ababec295da1e25d0c57793 (diff)
let specify theme in the rc3 file. rm the other old engine options
-rw-r--r--openbox/config.c73
-rw-r--r--openbox/config.h3
-rw-r--r--openbox/openbox.c2
3 files changed, 12 insertions, 66 deletions
diff --git a/openbox/config.c b/openbox/config.c
index 12255906..db8856e6 100644
--- a/openbox/config.c
+++ b/openbox/config.c
@@ -6,13 +6,7 @@ gboolean config_focus_follow;
gboolean config_focus_last;
gboolean config_focus_last_on_desktop;
-char *config_engine_name;
-char *config_engine_theme;
-char *config_engine_layout;
-char *config_engine_font;
-gboolean config_engine_shadow;
-int config_engine_shadow_offset;
-int config_engine_shadow_tint;
+char *config_theme;
int config_desktops_num;
GSList *config_desktops_names;
@@ -48,57 +42,14 @@ static void parse_focus(char *name, ParseToken *value)
parse_free_token(value);
}
-static void parse_engine(char *name, ParseToken *value)
+static void parse_theme(char *name, ParseToken *value)
{
- if (!g_ascii_strcasecmp(name, "engine")) {
+ if (!g_ascii_strcasecmp(name, "theme")) {
if (value->type != TOKEN_STRING)
yyerror("invalid value");
else {
- g_free(config_engine_name);
- config_engine_name = g_strdup(value->data.string);
- }
- } else if (!g_ascii_strcasecmp(name, "theme")) {
- if (value->type != TOKEN_STRING)
- yyerror("invalid value");
- else {
- g_free(config_engine_theme);
- config_engine_theme = g_strdup(value->data.string);
- }
- } else if (!g_ascii_strcasecmp(name, "titlebarlayout")) {
- if (value->type != TOKEN_STRING)
- yyerror("invalid value");
- else {
- g_free(config_engine_layout);
- config_engine_layout = g_strdup(value->data.string);
- }
- } else if (!g_ascii_strcasecmp(name, "font.title")) {
- if (value->type != TOKEN_STRING)
- yyerror("invalid value");
- else {
- g_free(config_engine_font);
- config_engine_font = g_strdup(value->data.string);
- }
- } else if (!g_ascii_strcasecmp(name, "font.title.shadow")) {
- if (value->type != TOKEN_BOOL)
- yyerror("invalid value");
- else {
- config_engine_shadow = value->data.bool;
- }
- } else if (!g_ascii_strcasecmp(name, "font.title.shadow.offset")) {
- if (value->type != TOKEN_INTEGER)
- yyerror("invalid value");
- else {
- config_engine_shadow_offset = value->data.integer;
- }
- } else if (!g_ascii_strcasecmp(name, "font.title.shadow.tint")) {
- if (value->type != TOKEN_INTEGER)
- yyerror("invalid value");
- else {
- config_engine_shadow_tint = value->data.integer;
- if (config_engine_shadow_tint < -100)
- config_engine_shadow_tint = -100;
- else if (config_engine_shadow_tint > 100)
- config_engine_shadow_tint = 100;
+ g_free(config_theme);
+ config_theme = g_strdup(value->data.string);
}
} else
yyerror("invalid option");
@@ -147,15 +98,9 @@ void config_startup()
parse_reg_section("focus", NULL, parse_focus);
- config_engine_name = g_strdup(DEFAULT_ENGINE);
- config_engine_theme = NULL;
- config_engine_layout = g_strdup("NLIMC");
- config_engine_font = g_strdup("Sans-7");
- config_engine_shadow = FALSE;
- config_engine_shadow_offset = 1;
- config_engine_shadow_tint = 25;
+ config_theme = NULL;
- parse_reg_section("engine", NULL, parse_engine);
+ parse_reg_section("theme", NULL, parse_theme);
config_desktops_num = 4;
config_desktops_names = NULL;
@@ -167,9 +112,7 @@ void config_shutdown()
{
GSList *it;
- g_free(config_engine_name);
- g_free(config_engine_layout);
- g_free(config_engine_font);
+ g_free(config_theme);
for (it = config_desktops_names; it; it = it->next)
g_free(it->data);
diff --git a/openbox/config.h b/openbox/config.h
index b69f74a1..27b00dd7 100644
--- a/openbox/config.h
+++ b/openbox/config.h
@@ -12,6 +12,9 @@ extern gboolean config_focus_last;
/*! Focus the last focused window as a fallback when switching desktops */
extern gboolean config_focus_last_on_desktop;
+/* The name of the theme */
+char *config_theme;
+
/*! The number of desktops */
extern int config_desktops_num;
/*! Names for the desktops */
diff --git a/openbox/openbox.c b/openbox/openbox.c
index afe43f27..134070ad 100644
--- a/openbox/openbox.c
+++ b/openbox/openbox.c
@@ -174,7 +174,7 @@ int main(int argc, char **argv)
parse_shutdown();
/* load the theme specified in the rc file */
- theme = theme_load("ebox"); /* woot i like this theme :) */
+ theme = theme_load(config_theme);
g_free(theme);
if (!theme) return 1;