diff options
author | Olivier Fourdan <fourdan@xfce.org> | 2010-12-14 08:55:47 +0100 |
---|---|---|
committer | Olivier Fourdan <fourdan@xfce.org> | 2010-12-15 14:57:19 +0100 |
commit | d4007b56100503fcc341e98fa5cb75c5d73cdd5e (patch) | |
tree | 6397d77c711cb58ffdddd78dd7b727c80743e779 | |
parent | ca19b741c68ce7d0cde68e77d8c4fddcd67b9a13 (diff) | |
download | xfwm4-d4007b56100503fcc341e98fa5cb75c5d73cdd5e.tar.gz |
Fix bug 6989
Add an xfconf key to enable/disable rollup with mouse wheel.
-rw-r--r-- | defaults/defaults | 1 | ||||
-rw-r--r-- | src/events.c | 10 | ||||
-rw-r--r-- | src/settings.c | 45 | ||||
-rw-r--r-- | src/settings.h | 1 |
4 files changed, 36 insertions, 21 deletions
diff --git a/defaults/defaults b/defaults/defaults index bb428c789..1d7c97d88 100644 --- a/defaults/defaults +++ b/defaults/defaults @@ -26,6 +26,7 @@ move_opacity=100 placement_mode=center placement_ratio=20 popup_opacity=100 +mousewheel_rollup=true prevent_focus_stealing=false raise_delay=250 raise_on_click=true diff --git a/src/events.c b/src/events.c index e6209493b..8fdd86757 100644 --- a/src/events.c +++ b/src/events.c @@ -789,7 +789,10 @@ titleButton (Client * c, guint state, XButtonEvent * ev) } else if (!FLAG_TEST (c->flags, CLIENT_FLAG_SHADED)) { - clientShade (c); + if (screen_info->params->mousewheel_rollup) + { + clientShade (c); + } } } else if (ev->button == Button5) @@ -801,7 +804,10 @@ titleButton (Client * c, guint state, XButtonEvent * ev) } else if (FLAG_TEST (c->flags, CLIENT_FLAG_SHADED)) { - clientUnshade (c); + if (screen_info->params->mousewheel_rollup) + { + clientUnshade (c); + } } } else if (ev->button == Button6) diff --git a/src/settings.c b/src/settings.c index b9d57bfa7..543859202 100644 --- a/src/settings.c +++ b/src/settings.c @@ -697,6 +697,7 @@ loadSettings (ScreenInfo *screen_info) {"placement_ratio", NULL, G_TYPE_INT, TRUE}, {"placement_mode", NULL, G_TYPE_STRING, TRUE}, {"popup_opacity", NULL, G_TYPE_INT, TRUE}, + {"mousewheel_rollup", NULL, G_TYPE_BOOLEAN, TRUE}, {"prevent_focus_stealing", NULL, G_TYPE_BOOLEAN, TRUE}, {"raise_delay", NULL, G_TYPE_INT, TRUE}, {"raise_on_click", NULL, G_TYPE_BOOLEAN, TRUE}, @@ -771,12 +772,14 @@ loadSettings (ScreenInfo *screen_info) getBoolValue ("focus_hint", rc); screen_info->params->focus_new = getBoolValue ("focus_new", rc); - screen_info->params->raise_on_focus = - getBoolValue ("raise_on_focus", rc); + screen_info->params->mousewheel_rollup = + getBoolValue ("mousewheel_rollup", rc); screen_info->params->prevent_focus_stealing = getBoolValue ("prevent_focus_stealing", rc); screen_info->params->raise_delay = getIntValue ("raise_delay", rc); + screen_info->params->raise_on_focus = + getBoolValue ("raise_on_focus", rc); screen_info->params->focus_delay = getIntValue ("focus_delay", rc); screen_info->params->raise_on_click = @@ -1285,24 +1288,9 @@ cb_xfwm4_channel_property_changed(XfconfChannel *channel, const gchar *property_ { screen_info->params->focus_hint = g_value_get_boolean (value); } - else if (!strcmp (name, "show_dock_shadow")) - { - screen_info->params->show_dock_shadow = g_value_get_boolean (value); - reloadScreenSettings (screen_info, UPDATE_FRAME); - } - else if (!strcmp (name, "show_frame_shadow")) - { - screen_info->params->show_frame_shadow = g_value_get_boolean (value); - reloadScreenSettings (screen_info, UPDATE_FRAME); - } - else if (!strcmp (name, "show_popup_shadow")) - { - screen_info->params->show_popup_shadow = g_value_get_boolean (value); - reloadScreenSettings (screen_info, UPDATE_FRAME); - } - else if (!strcmp (name, "snap_resist")) + else if (!strcmp (name, "mousewheel_rollup")) { - screen_info->params->snap_resist = g_value_get_boolean (value); + screen_info->params->mousewheel_rollup = g_value_get_boolean (value); } else if (!strcmp (name, "prevent_focus_stealing")) { @@ -1321,6 +1309,25 @@ cb_xfwm4_channel_property_changed(XfconfChannel *channel, const gchar *property_ { screen_info->params->scroll_workspaces = g_value_get_boolean (value); } + else if (!strcmp (name, "show_dock_shadow")) + { + screen_info->params->show_dock_shadow = g_value_get_boolean (value); + reloadScreenSettings (screen_info, UPDATE_FRAME); + } + else if (!strcmp (name, "show_frame_shadow")) + { + screen_info->params->show_frame_shadow = g_value_get_boolean (value); + reloadScreenSettings (screen_info, UPDATE_FRAME); + } + else if (!strcmp (name, "show_popup_shadow")) + { + screen_info->params->show_popup_shadow = g_value_get_boolean (value); + reloadScreenSettings (screen_info, UPDATE_FRAME); + } + else if (!strcmp (name, "snap_resist")) + { + screen_info->params->snap_resist = g_value_get_boolean (value); + } else if (!strcmp (name, "toggle_workspaces")) { screen_info->params->toggle_workspaces = g_value_get_boolean (value); diff --git a/src/settings.h b/src/settings.h index b66c60d4c..8de402904 100644 --- a/src/settings.h +++ b/src/settings.h @@ -204,6 +204,7 @@ struct _XfwmParams gboolean focus_hint; gboolean focus_new; gboolean full_width_title; + gboolean mousewheel_rollup; gboolean prevent_focus_stealing; gboolean raise_on_click; gboolean raise_on_focus; |