summaryrefslogtreecommitdiff
path: root/openbox/focus.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-04-05 20:47:16 +0000
committerDana Jansens <danakj@orodu.net>2003-04-05 20:47:16 +0000
commitbd12517c615d661fa2823f85bbbcb48555f7c3db (patch)
treef42faa3fed75a2dea76bc95577e5c27922f609f4 /openbox/focus.c
parentcbbf90a718ecc6836ef7a77b9040aebb9da348b8 (diff)
add focus options to the new rc file
Diffstat (limited to 'openbox/focus.c')
-rw-r--r--openbox/focus.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/openbox/focus.c b/openbox/focus.c
index b676c127..39894046 100644
--- a/openbox/focus.c
+++ b/openbox/focus.c
@@ -6,6 +6,7 @@
#include "prop.h"
#include "dispatch.h"
#include "focus.h"
+#include "parse.h"
#include <X11/Xlib.h>
#include <glib.h>
@@ -18,6 +19,25 @@ Window focus_backup = None;
gboolean focus_new = TRUE;
gboolean focus_follow = TRUE;
+static void parse_assign(char *name, ParseToken *value)
+{
+ if (!g_ascii_strcasecmp(name, "focusnew")) {
+ if (value->type != TOKEN_BOOL)
+ yyerror("invalid value");
+ else {
+ focus_new = value->data.bool;
+ }
+ } else if (!g_ascii_strcasecmp(name, "followmouse")) {
+ if (value->type != TOKEN_BOOL)
+ yyerror("invalid value");
+ else {
+ focus_follow = value->data.bool;
+ }
+ } else
+ yyerror("invalid option");
+ parse_free_token(value);
+}
+
void focus_startup()
{
/* create the window which gets focus when no clients get it. Have to
@@ -38,6 +58,8 @@ void focus_startup()
/* start with nothing focused */
focus_set_client(NULL);
+
+ parse_reg_section("focus", NULL, parse_assign);
}
void focus_shutdown()