diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-09-01 02:02:40 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-09-01 02:02:40 +0000 |
| commit | 9d42df6ab4099c9365d3631ea86348a8f21752a0 (patch) | |
| tree | 23137c07f0db03e7904475b6b1c2d26e3df1bb84 /openbox/config.c | |
| parent | a1fdeedbf20de74df8cf438f702a7a3e0de03064 (diff) | |
add urgent actions
add some macros for moving/resizing clients
add 'vibrate' action
Diffstat (limited to 'openbox/config.c')
| -rw-r--r-- | openbox/config.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/openbox/config.c b/openbox/config.c index 21f03d3e..20950603 100644 --- a/openbox/config.c +++ b/openbox/config.c @@ -40,6 +40,8 @@ GSList *config_menu_files; gint config_resist_win; gint config_resist_edge; +GSList *config_urgent_actions; + /* <keybind key="C-x"> @@ -352,6 +354,33 @@ static void parse_resistance(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, config_resist_edge = parse_int(doc, n); } +static void parse_urgent(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, + void *d) +{ + ObAction *action; + xmlNodePtr nact; + + nact = parse_find_node("action", node->xmlChildrenNode); + while (nact) { + if ((action = action_parse(i, doc, nact))) { + /* validate that its okay for an urgent binding */ + if (action->func == action_moveresize && + action->data.moveresize.corner != + prop_atoms.net_wm_moveresize_move_keyboard && + action->data.moveresize.corner != + prop_atoms.net_wm_moveresize_size_keyboard) { + action_free(action); + action = NULL; + } + + if (action) + config_urgent_actions = g_slist_append(config_urgent_actions, + action); + } + nact = parse_find_node("action", nact->next); + } +} + void config_startup(ObParseInst *i) { config_focus_new = TRUE; @@ -405,6 +434,8 @@ void config_startup(ObParseInst *i) config_menu_files = NULL; parse_register(i, "menu", parse_menu, NULL); + + parse_register(i, "urgent", parse_urgent, NULL); } void config_shutdown() |
