summaryrefslogtreecommitdiff
path: root/openbox/actions
diff options
context:
space:
mode:
authorMikael Magnusson <mikachu@comhem.se>2008-02-07 15:28:18 +0100
committerMikael Magnusson <mikachu@comhem.se>2008-02-07 15:28:18 +0100
commitf6193ad9e048c5824142d3e7feeb109f91054052 (patch)
tree2afdebe7db3494a5c30330d198a3051076fda8c6 /openbox/actions
parenta3babc4a995d31e44a626448e28d607be3c33197 (diff)
parentde85e4f1d96c911c7c9dc7c2a9b514b13b028aec (diff)
Merge branch 'wip/alttab'
Diffstat (limited to 'openbox/actions')
-rw-r--r--openbox/actions/cyclewindows.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/openbox/actions/cyclewindows.c b/openbox/actions/cyclewindows.c
index 36dd66ee..44d87cf6 100644
--- a/openbox/actions/cyclewindows.c
+++ b/openbox/actions/cyclewindows.c
@@ -8,13 +8,13 @@
typedef struct {
gboolean linear;
- gboolean dialog;
gboolean dock_windows;
gboolean desktop_windows;
gboolean all_desktops;
gboolean forward;
gboolean bar;
gboolean raise;
+ ObFocusCyclePopupMode dialog_mode;
GSList *actions;
} Options;
@@ -47,13 +47,17 @@ static gpointer setup_func(xmlNodePtr node)
Options *o;
o = g_new0(Options, 1);
- o->dialog = TRUE;
o->bar = TRUE;
+ o->dialog_mode = OB_FOCUS_CYCLE_POPUP_MODE_LIST;
if ((n = obt_parse_find_node(node, "linear")))
o->linear = obt_parse_node_bool(n);
- if ((n = obt_parse_find_node(node, "dialog")))
- o->dialog = obt_parse_node_bool(n);
+ if ((n = obt_parse_find_node(node, "dialog"))) {
+ if (obt_parse_node_contains(n, "none"))
+ o->dialog_mode = OB_FOCUS_CYCLE_POPUP_MODE_NONE;
+ else if (obt_parse_node_contains(n, "icons"))
+ o->dialog_mode = OB_FOCUS_CYCLE_POPUP_MODE_ICONS;
+ }
if ((n = obt_parse_find_node(node, "bar")))
o->bar = obt_parse_node_bool(n);
if ((n = obt_parse_find_node(node, "raise")))
@@ -125,7 +129,7 @@ static gboolean run_func(ObActionsData *data, gpointer options)
o->linear,
TRUE,
o->bar,
- o->dialog,
+ o->dialog_mode,
FALSE, FALSE);
cycling = TRUE;
@@ -185,7 +189,7 @@ static void end_cycle(gboolean cancel, guint state, Options *o)
o->linear,
TRUE,
o->bar,
- o->dialog,
+ o->dialog_mode,
TRUE, cancel);
cycling = FALSE;