summaryrefslogtreecommitdiff
path: root/plugins/mouse
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-03-26 12:33:09 +0000
committerDana Jansens <danakj@orodu.net>2003-03-26 12:33:09 +0000
commita6d5d8bcd83e575c12ba6c01a99c4a6b54fc5b65 (patch)
tree4bde1beb191b1b3538f7cef44e1c1f6aa36b3a86 /plugins/mouse
parent68fdcde19b3b1b1ae4c503bd082bb149549f13ea (diff)
use the action_from_string helper
Diffstat (limited to 'plugins/mouse')
-rw-r--r--plugins/mouse/mouserc_parse.l114
1 files changed, 12 insertions, 102 deletions
diff --git a/plugins/mouse/mouserc_parse.l b/plugins/mouse/mouserc_parse.l
index 47cfd74b..bc6c857f 100644
--- a/plugins/mouse/mouserc_parse.l
+++ b/plugins/mouse/mouserc_parse.l
@@ -82,110 +82,20 @@ static void addbinding()
return;
}
+ a = action_from_string(action);
+
if (mact == MouseAction_Motion) {
- if (!g_ascii_strcasecmp(action, "move") &&
- mact == MouseAction_Motion) {
- a = action_new(action_move);
- } else if (!g_ascii_strcasecmp(action, "resize") &&
- mact == MouseAction_Motion) {
- a = action_new(action_resize);
- }
- } else {
- if (!g_ascii_strcasecmp(action, "focus")) {
- a = action_new(action_focus);
- } else if (!g_ascii_strcasecmp(action, "unfocus")) {
- a = action_new(action_unfocus);
- } else if (!g_ascii_strcasecmp(action, "iconify")) {
- a = action_new(action_iconify);
- } else if (!g_ascii_strcasecmp(action, "raise")) {
- a = action_new(action_raise);
- } else if (!g_ascii_strcasecmp(action, "lower")) {
- a = action_new(action_lower);
- } else if (!g_ascii_strcasecmp(action, "focusraise")) {
- a = action_new(action_focusraise);
- } else if (!g_ascii_strcasecmp(action, "close")) {
- a = action_new(action_close);
- } else if (!g_ascii_strcasecmp(action, "kill")) {
- a = action_new(action_kill);
- } else if (!g_ascii_strcasecmp(action, "shade")) {
- a = action_new(action_shade);
- } else if (!g_ascii_strcasecmp(action, "unshade")) {
- a = action_new(action_unshade);
- } else if (!g_ascii_strcasecmp(action, "toggleshade")) {
- a = action_new(action_toggle_shade);
- } else if (!g_ascii_strcasecmp(action, "toggleomnipresent")) {
- a = action_new(action_toggle_omnipresent);
- } else if (!g_ascii_strcasecmp(action, "maximizefull")) {
- a = action_new(action_maximize_full);
- } else if (!g_ascii_strcasecmp(action, "unmaximizefull")) {
- a = action_new(action_unmaximize_full);
- } else if (!g_ascii_strcasecmp(action, "togglemaximizefull")) {
- a = action_new(action_toggle_maximize_full);
- } else if (!g_ascii_strcasecmp(action, "maximizehorz")) {
- a = action_new(action_maximize_horz);
- } else if (!g_ascii_strcasecmp(action, "unmaximizehorz")) {
- a = action_new(action_unmaximize_horz);
- } else if (!g_ascii_strcasecmp(action, "togglemaximizehorz")) {
- a = action_new(action_toggle_maximize_horz);
- } else if (!g_ascii_strcasecmp(action, "maximizevert")) {
- a = action_new(action_maximize_vert);
- } else if (!g_ascii_strcasecmp(action, "unmaximizevert")) {
- a = action_new(action_unmaximize_vert);
- } else if (!g_ascii_strcasecmp(action, "togglemaximizevert")) {
- a = action_new(action_toggle_maximize_vert);
- } else if (!g_ascii_strcasecmp(action, "sendtonextdesktop")) {
- a = action_new(action_send_to_next_desktop);
- a->data.sendtonextprev.wrap = FALSE;
- a->data.sendtonextprev.follow = TRUE;
- } else if (!g_ascii_strcasecmp(action, "sendtonextdesktopwrap")) {
- a = action_new(action_send_to_next_desktop);
- a->data.sendtonextprev.wrap = TRUE;
- a->data.sendtonextprev.follow = TRUE;
- } else if (!g_ascii_strcasecmp(action, "sendtopreviousdesktop")) {
- a = action_new(action_send_to_previous_desktop);
- a->data.sendtonextprev.wrap = FALSE;
- a->data.sendtonextprev.follow = TRUE;
- } else if (!g_ascii_strcasecmp(action, "sendtopreviousdesktopwrap")) {
- a = action_new(action_send_to_previous_desktop);
- a->data.sendtonextprev.wrap = TRUE;
- a->data.sendtonextprev.follow = TRUE;
- } else if (!g_ascii_strcasecmp(action, "nextdesktop")) {
- a = action_new(action_next_desktop);
- a->data.nextprevdesktop.wrap = FALSE;
- } else if (!g_ascii_strcasecmp(action, "nextdesktopwrap")) {
- a = action_new(action_next_desktop);
- a->data.nextprevdesktop.wrap = TRUE;
- } else if (!g_ascii_strcasecmp(action, "previousdesktop")) {
- a = action_new(action_previous_desktop);
- a->data.nextprevdesktop.wrap = FALSE;
- } else if (!g_ascii_strcasecmp(action, "previousdesktopwrap")) {
- a = action_new(action_previous_desktop);
- a->data.nextprevdesktop.wrap = TRUE;
- } else if (!g_ascii_strcasecmp(action, "nextdesktopcolumn")) {
- a = action_new(action_next_desktop_column);
- a->data.nextprevdesktop.wrap = FALSE;
- } else if (!g_ascii_strcasecmp(action, "nextdesktopcolumnwrap")) {
- a = action_new(action_next_desktop_column);
- a->data.nextprevdesktop.wrap = TRUE;
- } else if (!g_ascii_strcasecmp(action, "previousdesktopcolumn")) {
- a = action_new(action_previous_desktop_column);
- a->data.nextprevdesktop.wrap = FALSE;
- } else if (!g_ascii_strcasecmp(action, "previousdesktopcolumnwrap")) {
- a = action_new(action_previous_desktop_column);
- a->data.nextprevdesktop.wrap = TRUE;
- } else if (!g_ascii_strcasecmp(action, "nextdesktoprow")) {
- a = action_new(action_next_desktop_row);
- a->data.nextprevdesktop.wrap = FALSE;
- } else if (!g_ascii_strcasecmp(action, "nextdesktoprowwrap")) {
- a = action_new(action_next_desktop_row);
- a->data.nextprevdesktop.wrap = TRUE;
- } else if (!g_ascii_strcasecmp(action, "previousdesktoprow")) {
- a = action_new(action_previous_desktop_row);
- a->data.nextprevdesktop.wrap = FALSE;
- } else if (!g_ascii_strcasecmp(action, "previousdesktoprowwrap")) {
- a = action_new(action_previous_desktop_row);
- a->data.nextprevdesktop.wrap = TRUE;
+ if (a && !(a->func == action_move || a->func == action_resize)) {
+ action_free(a);
+ a = NULL;
}
+ /* the below types cannot be used with !motion events, or at all with
+ mouse bindings */
+ } else if (a && (a->func == action_move || a->func == action_resize ||
+ a->func == action_move_relative ||
+ a->func == action_resize_relative)) {
+ action_free(a);
+ a = NULL;
}
if (a == NULL) {
g_warning("Invalid action '%s' in '%s' on line %d", action, path,