summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mate-session/main.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/mate-session/main.c b/mate-session/main.c
index bb46c81..c812038 100644
--- a/mate-session/main.c
+++ b/mate-session/main.c
@@ -74,6 +74,9 @@
#define MOBILITY_KEY "exec"
#define MOBILITY_STARTUP_KEY "startup"
+#define MATE_INTERFACE_SCHEMA "org.mate.interface"
+#define GTK_OVERLAY_SCROLL "gtk-overlay-scrolling"
+
#define GSM_DBUS_NAME "org.mate.SessionManager"
#define KEY_AUTOSAVE "auto-save-session"
@@ -534,6 +537,23 @@ void debug_changed (GSettings *settings, gchar *key, gpointer user_data)
mdm_log_set_debug (debug);
}
+static void set_overlay_scroll (void)
+{
+ GSettings *settings;
+ gboolean enabled;
+
+ settings = g_settings_new (MATE_INTERFACE_SCHEMA);
+ enabled = g_settings_get_boolean (settings, GTK_OVERLAY_SCROLL);
+
+ if (enabled) {
+ gsm_util_setenv ("GTK_OVERLAY_SCROLLING", "1");
+ } else {
+ gsm_util_setenv ("GTK_OVERLAY_SCROLLING", "0");
+ }
+
+ g_object_unref (settings);
+}
+
int main(int argc, char** argv)
{
struct sigaction sa;
@@ -638,6 +658,9 @@ int main(int argc, char** argv)
/* Starts gnome compat mode */
msm_gnome_start();
+ /* Set to use Gtk3 overlay scroll */
+ set_overlay_scroll ();
+
manager = gsm_manager_new(client_store, failsafe);
signal_handler = mdm_signal_handler_new();