summaryrefslogtreecommitdiff
path: root/plugins/placement
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-03-23 22:39:06 +0000
committerDana Jansens <danakj@orodu.net>2003-03-23 22:39:06 +0000
commit22f38541c5af082805bf08bff1e04aff8fa430dd (patch)
tree60d70d67761745c9f7d2044e1d91250e9a5ee725 /plugins/placement
parentcd32e79e35652d76a50384100f47cf1508bf6ac0 (diff)
make history placement optional
Diffstat (limited to 'plugins/placement')
-rw-r--r--plugins/placement/placement.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/plugins/placement/placement.c b/plugins/placement/placement.c
index 2307db2f..6d025567 100644
--- a/plugins/placement/placement.c
+++ b/plugins/placement/placement.c
@@ -3,6 +3,7 @@
#include "../../kernel/frame.h"
#include "../../kernel/screen.h"
#include "../../kernel/openbox.h"
+#include "../../kernel/config.h"
#include "history.h"
#include <glib.h>
@@ -10,6 +11,14 @@ gboolean history = TRUE;
void plugin_setup_config()
{
+ ConfigValue val;
+
+ config_def_set(config_def_new("placement.remember", Config_Bool,
+ "Remember Window Positions",
+ "Place windows where they last were "
+ "positioned."));
+ val.bool = TRUE;
+ config_set("placement.remember", Config_Bool, val);
}
static void place_random(Client *c)
@@ -39,12 +48,18 @@ static void place_random(Client *c)
static void event(ObEvent *e, void *foo)
{
+ ConfigValue remember;
+ gboolean r;
+
g_assert(e->type == Event_Client_New);
/* requested a position */
if (e->data.c.client->positioned) return;
- if (!place_history(e->data.c.client))
+ r = config_get("placement.remember", Config_Bool, &remember);
+ g_assert(r);
+
+ if (!remember.bool || !place_history(e->data.c.client))
place_random(e->data.c.client);
}