Add patches to fix accessibility key bindings for Orca and Onboard.
This commit is contained in:
239
debian/patches/0010_move_a11y_keybindings_to_media_keys.patch
vendored
Normal file
239
debian/patches/0010_move_a11y_keybindings_to_media_keys.patch
vendored
Normal file
@ -0,0 +1,239 @@
|
||||
From b8e3a26d0975cb43cb5a315bceaf581f6ea2a5a8 Mon Sep 17 00:00:00 2001
|
||||
From: infirit <infirit@gmail.com>
|
||||
Date: Sun, 2 Nov 2014 15:04:36 +0100
|
||||
Subject: [PATCH] a11y-keybindings: Move to media-keys plugin
|
||||
|
||||
---
|
||||
data/50-accessibility.xml.in | 8 +--
|
||||
data/Makefile.am | 5 +-
|
||||
...ingsDaemon.plugins.media-keys.gschema.xml.in.in | 15 ++++++
|
||||
data/org.mate.keybindings.gschema.xml.in.in | 58 ----------------------
|
||||
plugins/media-keys/acme.h | 6 +++
|
||||
plugins/media-keys/msd-media-keys-manager.c | 39 +++++++++++++++
|
||||
po/POTFILES.in | 1 -
|
||||
7 files changed, 66 insertions(+), 66 deletions(-)
|
||||
delete mode 100644 data/org.mate.keybindings.gschema.xml.in.in
|
||||
|
||||
diff --git a/data/50-accessibility.xml.in b/data/50-accessibility.xml.in
|
||||
index 998ba17..89a9e6b 100644
|
||||
--- a/data/50-accessibility.xml.in
|
||||
+++ b/data/50-accessibility.xml.in
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
-<KeyListEntries _name="Accessibility">
|
||||
+<KeyListEntries group="system" _name="Accessibility" schema="org.mate.SettingsDaemon.plugins.media-keys">
|
||||
|
||||
- <KeyListEntry name="/desktop/mate/keybindings/magnifier/binding"/>
|
||||
- <KeyListEntry name="/desktop/mate/keybindings/screenreader/binding"/>
|
||||
- <KeyListEntry name="/desktop/mate/keybindings/onscreenkeyboard/binding"/>
|
||||
+ <KeyListEntry name="magnifier" _description="Toggle magnifier"/>
|
||||
+ <KeyListEntry name="screenreader" _description="Toggle screen reader"/>
|
||||
+ <KeyListEntry name="on-screen-keyboard" _description="Toggle on-screen keyboard"/>
|
||||
|
||||
</KeyListEntries>
|
||||
diff --git a/data/Makefile.am b/data/Makefile.am
|
||||
index 00bb02d..008061a 100644
|
||||
--- a/data/Makefile.am
|
||||
+++ b/data/Makefile.am
|
||||
@@ -3,7 +3,6 @@ NULL =
|
||||
msd_gschemas_in_in = \
|
||||
org.mate.applications-at.gschema.xml.in.in \
|
||||
org.mate.font-rendering.gschema.xml.in.in \
|
||||
- org.mate.keybindings.gschema.xml.in.in \
|
||||
org.mate.peripherals-smartcard.gschema.xml.in.in \
|
||||
org.mate.peripherals-touchpad.gschema.xml.in.in \
|
||||
org.mate.SettingsDaemon.plugins.a11y-keyboard.gschema.xml.in.in \
|
||||
@@ -57,9 +56,9 @@ man_MANS = mate-settings-daemon.1
|
||||
@INTLTOOL_XML_NOMERGE_RULE@
|
||||
|
||||
#disabled until we support it
|
||||
-#xmldir = @MATE_KEYBINDINGS_KEYSDIR@
|
||||
+xmldir = @MATE_KEYBINDINGS_KEYSDIR@
|
||||
xml_in_files = 50-accessibility.xml.in
|
||||
-#xml_DATA = $(xml_in_files:.xml.in=.xml)
|
||||
+xml_DATA = $(xml_in_files:.xml.in=.xml)
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(msd_gschemas_in_in) \
|
||||
diff --git a/data/org.mate.SettingsDaemon.plugins.media-keys.gschema.xml.in.in b/data/org.mate.SettingsDaemon.plugins.media-keys.gschema.xml.in.in
|
||||
index f855cfd..3e0ee2c 100644
|
||||
--- a/data/org.mate.SettingsDaemon.plugins.media-keys.gschema.xml.in.in
|
||||
+++ b/data/org.mate.SettingsDaemon.plugins.media-keys.gschema.xml.in.in
|
||||
@@ -110,5 +110,20 @@
|
||||
<_summary>Next track</_summary>
|
||||
<_description>Binding to skip to next track.</_description>
|
||||
</key>
|
||||
+ <key name="magnifier" type="s">
|
||||
+ <default>''</default>
|
||||
+ <_summary>Toggle magnifier</_summary>
|
||||
+ <_description>Binding to show the screen magnifier</_description>
|
||||
+ </key>
|
||||
+ <key name="screenreader" type="s">
|
||||
+ <default>''</default>
|
||||
+ <_summary>Toggle screen reader</_summary>
|
||||
+ <_description>Binding to start the screen reader</_description>
|
||||
+ </key>
|
||||
+ <key name="on-screen-keyboard" type="s">
|
||||
+ <default>''</default>
|
||||
+ <_summary>Toggle on-screen keyboard</_summary>
|
||||
+ <_description>Binding to show the on-screen keyboard</_description>
|
||||
+ </key>
|
||||
</schema>
|
||||
</schemalist>
|
||||
diff --git a/data/org.mate.keybindings.gschema.xml.in.in b/data/org.mate.keybindings.gschema.xml.in.in
|
||||
deleted file mode 100644
|
||||
index 9e3aca6..0000000
|
||||
--- a/data/org.mate.keybindings.gschema.xml.in.in
|
||||
+++ /dev/null
|
||||
@@ -1,58 +0,0 @@
|
||||
-<schemalist gettext-domain="@GETTEXT_PACKAGE@">
|
||||
- <schema id="org.mate.keybindings" path="/org/mate/desktop/keybindings/">
|
||||
- <child name="magnifier" schema="org.mate.keybindings.magnifier"/>
|
||||
- <child name="screenreader" schema="org.mate.keybindings.screenreader"/>
|
||||
- <child name="onscreenkeyboard" schema="org.mate.keybindings.onscreenkeyboard"/>
|
||||
- </schema>
|
||||
- <schema id="org.mate.keybindings.magnifier" path="/org/mate/desktop/keybindings/magnifier/">
|
||||
- <key name="binding" type="s">
|
||||
- <default>''</default>
|
||||
- <_summary>Toggle magnifier</_summary>
|
||||
- <_description>Binding to toggle the magnifier.</_description>
|
||||
- </key>
|
||||
- <key name="name" type="s">
|
||||
- <default context="name" l10n="messages">'Toggle magnifier'</default>
|
||||
- <_summary>The name of the keyboard shortcut to toggle the magnifier</_summary>
|
||||
- <_description>This is the name of the keyboard shortcut to toggle the magnifier. This name will be shown in the keyboard shortcut preferences dialog.</_description>
|
||||
- </key>
|
||||
- <key name="action" type="s">
|
||||
- <default>'mate-gsettings-toggle screen-keyboard-enabled'</default>
|
||||
- <_summary>Toggle magnifier</_summary>
|
||||
- <_description>Command used to turn the magnifier on or off.</_description>
|
||||
- </key>
|
||||
- </schema>
|
||||
- <schema id="org.mate.keybindings.screenreader" path="/org/mate/desktop/keybindings/screenreader/">
|
||||
- <key name="binding" type="s">
|
||||
- <default>''</default>
|
||||
- <_summary>Toggle screen reader</_summary>
|
||||
- <_description>Binding to toggle the screen reader.</_description>
|
||||
- </key>
|
||||
- <key name="name" type="s">
|
||||
- <default context="name" l10n="messages">'Toggle screen reader'</default>
|
||||
- <_summary>The name of the keyboard shortcut to toggle the screen reader</_summary>
|
||||
- <_description>This is the name of the keyboard shortcut to toggle the screen reader. This name will be shown in the keyboard shortcut preferences dialog.</_description>
|
||||
- </key>
|
||||
- <key name="action" type="s">
|
||||
- <default>'mate-gsettings-toggle screen-reader-enabled'</default>
|
||||
- <_summary>Toggle screen reader</_summary>
|
||||
- <_description>Command used to turn the screen reader on or off.</_description>
|
||||
- </key>
|
||||
- </schema>
|
||||
- <schema id="org.mate.keybindings.onscreenkeyboard" path="/org/mate/desktop/keybindings/onscreenkeyboard/">
|
||||
- <key name="name" type="s">
|
||||
- <default context="name" l10n="messages">'Toggle on-screen keyboard'</default>
|
||||
- <_summary>The name of the keyboard shortcut to toggle the on-screen keyboard</_summary>
|
||||
- <_description>This is the name of the keyboard shortcut to toggle the on-screen keyboard. This name will be shown in the keyboard shortcut preferences dialog.</_description>
|
||||
- </key>
|
||||
- <key name="binding" type="s">
|
||||
- <default>''</default>
|
||||
- <_summary>Toggle on-screen keyboard</_summary>
|
||||
- <_description>Binding to toggle the on-screen keyboard.</_description>
|
||||
- </key>
|
||||
- <key name="action" type="s">
|
||||
- <default>'mate-gsettings-toggle screen-keyboard-enabled'</default>
|
||||
- <_summary>Toggle on-screen keyboard</_summary>
|
||||
- <_description>Command used to turn the on-screen keyboard on or off.</_description>
|
||||
- </key>
|
||||
- </schema>
|
||||
-</schemalist>
|
||||
diff --git a/plugins/media-keys/acme.h b/plugins/media-keys/acme.h
|
||||
index 0f87bc6..17ce1ed 100644
|
||||
--- a/plugins/media-keys/acme.h
|
||||
+++ b/plugins/media-keys/acme.h
|
||||
@@ -45,6 +45,9 @@ enum {
|
||||
STOP_KEY,
|
||||
PREVIOUS_KEY,
|
||||
NEXT_KEY,
|
||||
+ MAGNIFIER_KEY,
|
||||
+ SCREENREADER_KEY,
|
||||
+ ON_SCREEN_KEYBOARD_KEY,
|
||||
HANDLED_KEYS
|
||||
};
|
||||
|
||||
@@ -72,6 +75,9 @@ static struct {
|
||||
{ STOP_KEY, "stop", NULL },
|
||||
{ PREVIOUS_KEY, "previous", NULL },
|
||||
{ NEXT_KEY, "next", NULL },
|
||||
+ { MAGNIFIER_KEY, "magnifier", NULL, NULL },
|
||||
+ { SCREENREADER_KEY, "screenreader", NULL, NULL },
|
||||
+ { ON_SCREEN_KEYBOARD_KEY, "on-screen-keyboard", NULL, NULL },
|
||||
};
|
||||
|
||||
#endif /* __ACME_H__ */
|
||||
diff --git a/plugins/media-keys/msd-media-keys-manager.c b/plugins/media-keys/msd-media-keys-manager.c
|
||||
index 1ff0291..f0b0229 100644
|
||||
--- a/plugins/media-keys/msd-media-keys-manager.c
|
||||
+++ b/plugins/media-keys/msd-media-keys-manager.c
|
||||
@@ -880,6 +880,36 @@ do_multimedia_player_action (MsdMediaKeysManager *manager,
|
||||
return msd_media_player_key_pressed (manager, key);
|
||||
}
|
||||
|
||||
+static void
|
||||
+do_toggle_accessibility_key (const char *key)
|
||||
+{
|
||||
+ GSettings *settings;
|
||||
+ gboolean state;
|
||||
+
|
||||
+ settings = g_settings_new ("org.mate.applications-at");
|
||||
+ state = g_settings_get_boolean (settings, key);
|
||||
+ g_settings_set_boolean (settings, key, !state);
|
||||
+ g_object_unref (settings);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+do_magnifier_action (MsdMediaKeysManager *manager)
|
||||
+{
|
||||
+ do_toggle_accessibility_key ("screen-magnifier-enabled");
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+do_screenreader_action (MsdMediaKeysManager *manager)
|
||||
+{
|
||||
+ do_toggle_accessibility_key ("screen-reader-enabled");
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+do_on_screen_keyboard_action (MsdMediaKeysManager *manager)
|
||||
+{
|
||||
+ do_toggle_accessibility_key ("screen-keyboard-enabled");
|
||||
+}
|
||||
+
|
||||
static gboolean
|
||||
do_action (MsdMediaKeysManager *manager,
|
||||
int type)
|
||||
@@ -969,6 +999,15 @@ do_action (MsdMediaKeysManager *manager,
|
||||
case NEXT_KEY:
|
||||
return do_multimedia_player_action (manager, "Next");
|
||||
break;
|
||||
+ case MAGNIFIER_KEY:
|
||||
+ do_magnifier_action (manager);
|
||||
+ break;
|
||||
+ case SCREENREADER_KEY:
|
||||
+ do_screenreader_action (manager);
|
||||
+ break;
|
||||
+ case ON_SCREEN_KEYBOARD_KEY:
|
||||
+ do_on_screen_keyboard_action (manager);
|
||||
+ break;
|
||||
default:
|
||||
g_assert_not_reached ();
|
||||
}
|
||||
diff --git a/po/POTFILES.in b/po/POTFILES.in
|
||||
index e7dec6a..f17b5f3 100644
|
||||
--- a/po/POTFILES.in
|
||||
+++ b/po/POTFILES.in
|
||||
@@ -3,7 +3,6 @@
|
||||
data/50-accessibility.xml.in
|
||||
data/org.mate.applications-at.gschema.xml.in.in
|
||||
data/org.mate.font-rendering.gschema.xml.in.in
|
||||
-data/org.mate.keybindings.gschema.xml.in.in
|
||||
data/org.mate.peripherals-smartcard.gschema.xml.in.in
|
||||
data/org.mate.peripherals-touchpad.gschema.xml.in.in
|
||||
data/org.mate.SettingsDaemon.plugins.a11y-keyboard.gschema.xml.in.in
|
597
debian/patches/0011_add_a11y_settings_plugin.patch
vendored
Normal file
597
debian/patches/0011_add_a11y_settings_plugin.patch
vendored
Normal file
@ -0,0 +1,597 @@
|
||||
From b42e0ce69a7f232d4c29de284bd0b3ca4a38555d Mon Sep 17 00:00:00 2001
|
||||
From: infirit <infirit@gmail.com>
|
||||
Date: Sun, 2 Nov 2014 17:36:33 +0100
|
||||
Subject: [PATCH] Add a11y-settings plugin
|
||||
|
||||
---
|
||||
configure.ac | 1 +
|
||||
data/Makefile.am | 1 +
|
||||
...sDaemon.plugins.a11y-settings.gschema.xml.in.in | 14 ++
|
||||
plugins/Makefile.am | 1 +
|
||||
plugins/a11y-settings/Makefile.am | 42 +++++
|
||||
.../a11y-settings.mate-settings-plugin.in | 8 +
|
||||
plugins/a11y-settings/msd-a11y-settings-manager.c | 192 +++++++++++++++++++++
|
||||
plugins/a11y-settings/msd-a11y-settings-manager.h | 57 ++++++
|
||||
plugins/a11y-settings/msd-a11y-settings-plugin.c | 109 ++++++++++++
|
||||
plugins/a11y-settings/msd-a11y-settings-plugin.h | 59 +++++++
|
||||
po/POTFILES.in | 1 +
|
||||
11 files changed, 485 insertions(+)
|
||||
create mode 100644 data/org.mate.SettingsDaemon.plugins.a11y-settings.gschema.xml.in.in
|
||||
create mode 100644 plugins/a11y-settings/Makefile.am
|
||||
create mode 100644 plugins/a11y-settings/a11y-settings.mate-settings-plugin.in
|
||||
create mode 100644 plugins/a11y-settings/msd-a11y-settings-manager.c
|
||||
create mode 100644 plugins/a11y-settings/msd-a11y-settings-manager.h
|
||||
create mode 100644 plugins/a11y-settings/msd-a11y-settings-plugin.c
|
||||
create mode 100644 plugins/a11y-settings/msd-a11y-settings-plugin.h
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 5bdeba9..e7b3adc 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -484,6 +484,7 @@ Makefile
|
||||
mate-settings-daemon/Makefile
|
||||
plugins/Makefile
|
||||
plugins/a11y-keyboard/Makefile
|
||||
+plugins/a11y-settings/Makefile
|
||||
plugins/background/Makefile
|
||||
plugins/clipboard/Makefile
|
||||
plugins/common/Makefile
|
||||
diff --git a/data/Makefile.am b/data/Makefile.am
|
||||
index 008061a..a44c910 100644
|
||||
--- a/data/Makefile.am
|
||||
+++ b/data/Makefile.am
|
||||
@@ -6,6 +6,7 @@ msd_gschemas_in_in = \
|
||||
org.mate.peripherals-smartcard.gschema.xml.in.in \
|
||||
org.mate.peripherals-touchpad.gschema.xml.in.in \
|
||||
org.mate.SettingsDaemon.plugins.a11y-keyboard.gschema.xml.in.in \
|
||||
+ org.mate.SettingsDaemon.plugins.a11y-settings.gschema.xml.in.in \
|
||||
org.mate.SettingsDaemon.plugins.background.gschema.xml.in.in \
|
||||
org.mate.SettingsDaemon.plugins.clipboard.gschema.xml.in.in \
|
||||
org.mate.SettingsDaemon.plugins.datetime.gschema.xml.in.in \
|
||||
diff --git a/data/org.mate.SettingsDaemon.plugins.a11y-settings.gschema.xml.in.in b/data/org.mate.SettingsDaemon.plugins.a11y-settings.gschema.xml.in.in
|
||||
new file mode 100644
|
||||
index 0000000..26f97bc
|
||||
--- /dev/null
|
||||
+++ b/data/org.mate.SettingsDaemon.plugins.a11y-settings.gschema.xml.in.in
|
||||
@@ -0,0 +1,14 @@
|
||||
+<schemalist>
|
||||
+ <schema gettext-domain="@GETTEXT_PACKAGE@" id="org.mate.SettingsDaemon.plugins.a11y-settings" path="/org/mate/settings-daemon/plugins/a11y-settings/">
|
||||
+ <key name="active" type="b">
|
||||
+ <default>false</default>
|
||||
+ <_summary>Activation of this plugin</_summary>
|
||||
+ <_description>Whether this plugin would be activated by mate-settings-daemon or not</_description>
|
||||
+ </key>
|
||||
+ <key name="priority" type="i">
|
||||
+ <default>7</default>
|
||||
+ <_summary>Priority to use for this plugin</_summary>
|
||||
+ <_description>Priority to use for this plugin in mate-settings-daemon startup queue</_description>
|
||||
+ </key>
|
||||
+ </schema>
|
||||
+</schemalist>
|
||||
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
|
||||
index c7ce7d6..05d04c7 100644
|
||||
--- a/plugins/Makefile.am
|
||||
+++ b/plugins/Makefile.am
|
||||
@@ -2,6 +2,7 @@ NULL =
|
||||
|
||||
enabled_plugins = \
|
||||
a11y-keyboard \
|
||||
+ a11y-settings \
|
||||
background \
|
||||
clipboard \
|
||||
datetime \
|
||||
diff --git a/plugins/a11y-settings/Makefile.am b/plugins/a11y-settings/Makefile.am
|
||||
new file mode 100644
|
||||
index 0000000..f557b0f
|
||||
--- /dev/null
|
||||
+++ b/plugins/a11y-settings/Makefile.am
|
||||
@@ -0,0 +1,42 @@
|
||||
+plugin_name = ally-settings
|
||||
+
|
||||
+plugin_LTLIBRARIES = \
|
||||
+ liba11y-settings.la
|
||||
+
|
||||
+liba11y_settings_la_SOURCES = \
|
||||
+ msd-a11y-settings-manager.c \
|
||||
+ msd-a11y-settings-manager.h \
|
||||
+ msd-a11y-settings-plugin.c \
|
||||
+ msd-a11y-settings-plugin.h
|
||||
+
|
||||
+liba11y_settings_la_CPPFLAGS = \
|
||||
+ -I$(top_srcdir)/mate-settings-daemon \
|
||||
+ -DMATE_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \
|
||||
+ $(AM_CPPFLAGS)
|
||||
+
|
||||
+liba11y_settings_la_CFLAGS = \
|
||||
+ $(PLUGIN_CFLAGS) \
|
||||
+ $(SETTINGS_PLUGIN_CFLAGS) \
|
||||
+ $(AM_CFLAGS)
|
||||
+
|
||||
+liba11y_settings_la_LDFLAGS = \
|
||||
+ $(MSD_PLUGIN_LDFLAGS)
|
||||
+
|
||||
+liba11y_settings_la_LIBADD = \
|
||||
+ $(SETTINGS_PLUGIN_LIBS)
|
||||
+
|
||||
+plugin_in_files = \
|
||||
+ a11y-settings.mate-settings-plugin.in
|
||||
+
|
||||
+plugin_DATA = $(plugin_in_files:.mate-settings-plugin.in=.mate-settings-plugin)
|
||||
+
|
||||
+EXTRA_DIST = \
|
||||
+ $(plugin_in_files)
|
||||
+
|
||||
+CLEANFILES = \
|
||||
+ $(plugin_DATA)
|
||||
+
|
||||
+DISTCLEANFILES = \
|
||||
+ $(plugin_DATA)
|
||||
+
|
||||
+@MSD_INTLTOOL_PLUGIN_RULE@
|
||||
diff --git a/plugins/a11y-settings/a11y-settings.mate-settings-plugin.in b/plugins/a11y-settings/a11y-settings.mate-settings-plugin.in
|
||||
new file mode 100644
|
||||
index 0000000..ecdd80d
|
||||
--- /dev/null
|
||||
+++ b/plugins/a11y-settings/a11y-settings.mate-settings-plugin.in
|
||||
@@ -0,0 +1,8 @@
|
||||
+[MATE Settings Plugin]
|
||||
+Module=a11y-settings
|
||||
+IAge=0
|
||||
+_Name=Accessibility settings
|
||||
+_Description=Accessibility settings plugin
|
||||
+Authors=Bastien Nocera <hadess@hadess.net>
|
||||
+Copyright=Copyright © 2011 Red Hat Inc.
|
||||
+Website=
|
||||
diff --git a/plugins/a11y-settings/msd-a11y-settings-manager.c b/plugins/a11y-settings/msd-a11y-settings-manager.c
|
||||
new file mode 100644
|
||||
index 0000000..45469be
|
||||
--- /dev/null
|
||||
+++ b/plugins/a11y-settings/msd-a11y-settings-manager.c
|
||||
@@ -0,0 +1,192 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
+ * Copyright (C) 2007 William Jon McCann <mccann@jhu.edu>
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License as published by
|
||||
+ * the Free Software Foundation; either version 2 of the License, or
|
||||
+ * (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include "config.h"
|
||||
+
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/wait.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <stdio.h>
|
||||
+#include <unistd.h>
|
||||
+#include <string.h>
|
||||
+#include <errno.h>
|
||||
+
|
||||
+#include <locale.h>
|
||||
+
|
||||
+#include <glib.h>
|
||||
+#include <glib/gi18n.h>
|
||||
+#include <gdk/gdk.h>
|
||||
+#include <gdk/gdkx.h>
|
||||
+#include <gtk/gtk.h>
|
||||
+
|
||||
+#include "mate-settings-profile.h"
|
||||
+#include "msd-a11y-settings-manager.h"
|
||||
+
|
||||
+#define MSD_A11Y_SETTINGS_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MSD_TYPE_A11Y_SETTINGS_MANAGER, MsdA11ySettingsManagerPrivate))
|
||||
+
|
||||
+struct MsdA11ySettingsManagerPrivate
|
||||
+{
|
||||
+ GSettings *interface_settings;
|
||||
+ GSettings *a11y_apps_settings;
|
||||
+};
|
||||
+
|
||||
+enum {
|
||||
+ PROP_0,
|
||||
+};
|
||||
+
|
||||
+static void msd_a11y_settings_manager_class_init (MsdA11ySettingsManagerClass *klass);
|
||||
+static void msd_a11y_settings_manager_init (MsdA11ySettingsManager *a11y_settings_manager);
|
||||
+static void msd_a11y_settings_manager_finalize (GObject *object);
|
||||
+
|
||||
+G_DEFINE_TYPE (MsdA11ySettingsManager, msd_a11y_settings_manager, G_TYPE_OBJECT)
|
||||
+
|
||||
+static gpointer manager_object = NULL;
|
||||
+
|
||||
+static void
|
||||
+apps_settings_changed (GSettings *settings,
|
||||
+ const char *key,
|
||||
+ MsdA11ySettingsManager *manager)
|
||||
+{
|
||||
+ gboolean screen_reader, keyboard;
|
||||
+
|
||||
+ if (g_str_equal (key, "screen-reader-enabled") == FALSE &&
|
||||
+ g_str_equal (key, "screen-keyboard-enabled") == FALSE)
|
||||
+ return;
|
||||
+
|
||||
+ g_debug ("screen reader or OSK enablement changed");
|
||||
+
|
||||
+ screen_reader = g_settings_get_boolean (manager->priv->a11y_apps_settings, "screen-reader-enabled");
|
||||
+ keyboard = g_settings_get_boolean (manager->priv->a11y_apps_settings, "screen-keyboard-enabled");
|
||||
+
|
||||
+ if (screen_reader || keyboard) {
|
||||
+ g_debug ("Enabling accessibility, screen reader or OSK enabled");
|
||||
+ g_settings_set_boolean (manager->priv->interface_settings, "accessibility", TRUE);
|
||||
+ } else if (screen_reader == FALSE && keyboard == FALSE) {
|
||||
+ g_debug ("Disabling accessibility, screen reader and OSK disabled");
|
||||
+ g_settings_set_boolean (manager->priv->interface_settings, "accessibility", FALSE);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+gboolean
|
||||
+msd_a11y_settings_manager_start (MsdA11ySettingsManager *manager,
|
||||
+ GError **error)
|
||||
+{
|
||||
+ g_debug ("Starting a11y_settings manager");
|
||||
+ mate_settings_profile_start (NULL);
|
||||
+
|
||||
+ manager->priv->interface_settings = g_settings_new ("org.mate.interface");
|
||||
+ manager->priv->a11y_apps_settings = g_settings_new ("org.mate.applications-at");
|
||||
+
|
||||
+ g_signal_connect (G_OBJECT (manager->priv->a11y_apps_settings), "changed",
|
||||
+ G_CALLBACK (apps_settings_changed), manager);
|
||||
+
|
||||
+ /* If any of the screen reader or on-screen keyboard are enabled,
|
||||
+ * make sure a11y is enabled for the toolkits.
|
||||
+ * We don't do the same thing for the reverse so it's possible to
|
||||
+ * enable AT-SPI for the toolkits without using an a11y app */
|
||||
+ if (g_settings_get_boolean (manager->priv->a11y_apps_settings, "screen-keyboard-enabled") ||
|
||||
+ g_settings_get_boolean (manager->priv->a11y_apps_settings, "screen-reader-enabled"))
|
||||
+ g_settings_set_boolean (manager->priv->interface_settings, "accessibility", TRUE);
|
||||
+
|
||||
+ mate_settings_profile_end (NULL);
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+msd_a11y_settings_manager_stop (MsdA11ySettingsManager *manager)
|
||||
+{
|
||||
+ if (manager->priv->interface_settings) {
|
||||
+ g_object_unref (manager->priv->interface_settings);
|
||||
+ manager->priv->interface_settings = NULL;
|
||||
+ }
|
||||
+ if (manager->priv->a11y_apps_settings) {
|
||||
+ g_object_unref (manager->priv->a11y_apps_settings);
|
||||
+ manager->priv->a11y_apps_settings = NULL;
|
||||
+ }
|
||||
+ g_debug ("Stopping a11y_settings manager");
|
||||
+}
|
||||
+
|
||||
+static GObject *
|
||||
+msd_a11y_settings_manager_constructor (GType type,
|
||||
+ guint n_construct_properties,
|
||||
+ GObjectConstructParam *construct_properties)
|
||||
+{
|
||||
+ MsdA11ySettingsManager *a11y_settings_manager;
|
||||
+
|
||||
+ a11y_settings_manager = MSD_A11Y_SETTINGS_MANAGER (G_OBJECT_CLASS (msd_a11y_settings_manager_parent_class)->constructor (type,
|
||||
+ n_construct_properties,
|
||||
+ construct_properties));
|
||||
+
|
||||
+ return G_OBJECT (a11y_settings_manager);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+msd_a11y_settings_manager_dispose (GObject *object)
|
||||
+{
|
||||
+ G_OBJECT_CLASS (msd_a11y_settings_manager_parent_class)->dispose (object);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+msd_a11y_settings_manager_class_init (MsdA11ySettingsManagerClass *klass)
|
||||
+{
|
||||
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
+
|
||||
+ object_class->constructor = msd_a11y_settings_manager_constructor;
|
||||
+ object_class->dispose = msd_a11y_settings_manager_dispose;
|
||||
+ object_class->finalize = msd_a11y_settings_manager_finalize;
|
||||
+
|
||||
+ g_type_class_add_private (klass, sizeof (MsdA11ySettingsManagerPrivate));
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+msd_a11y_settings_manager_init (MsdA11ySettingsManager *manager)
|
||||
+{
|
||||
+ manager->priv = MSD_A11Y_SETTINGS_MANAGER_GET_PRIVATE (manager);
|
||||
+
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+msd_a11y_settings_manager_finalize (GObject *object)
|
||||
+{
|
||||
+ MsdA11ySettingsManager *a11y_settings_manager;
|
||||
+
|
||||
+ g_return_if_fail (object != NULL);
|
||||
+ g_return_if_fail (MSD_IS_A11Y_SETTINGS_MANAGER (object));
|
||||
+
|
||||
+ a11y_settings_manager = MSD_A11Y_SETTINGS_MANAGER (object);
|
||||
+
|
||||
+ g_return_if_fail (a11y_settings_manager->priv != NULL);
|
||||
+
|
||||
+ G_OBJECT_CLASS (msd_a11y_settings_manager_parent_class)->finalize (object);
|
||||
+}
|
||||
+
|
||||
+MsdA11ySettingsManager *
|
||||
+msd_a11y_settings_manager_new (void)
|
||||
+{
|
||||
+ if (manager_object != NULL) {
|
||||
+ g_object_ref (manager_object);
|
||||
+ } else {
|
||||
+ manager_object = g_object_new (MSD_TYPE_A11Y_SETTINGS_MANAGER, NULL);
|
||||
+ g_object_add_weak_pointer (manager_object,
|
||||
+ (gpointer *) &manager_object);
|
||||
+ }
|
||||
+
|
||||
+ return MSD_A11Y_SETTINGS_MANAGER (manager_object);
|
||||
+}
|
||||
diff --git a/plugins/a11y-settings/msd-a11y-settings-manager.h b/plugins/a11y-settings/msd-a11y-settings-manager.h
|
||||
new file mode 100644
|
||||
index 0000000..9f6e3f7
|
||||
--- /dev/null
|
||||
+++ b/plugins/a11y-settings/msd-a11y-settings-manager.h
|
||||
@@ -0,0 +1,57 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
+ * Copyright (C) 2007 William Jon McCann <mccann@jhu.edu>
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License as published by
|
||||
+ * the Free Software Foundation; either version 2 of the License, or
|
||||
+ * (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#ifndef __MSD_A11Y_SETTINGS_MANAGER_H
|
||||
+#define __MSD_A11Y_SETTINGS_MANAGER_H
|
||||
+
|
||||
+#include <glib-object.h>
|
||||
+
|
||||
+G_BEGIN_DECLS
|
||||
+
|
||||
+#define MSD_TYPE_A11Y_SETTINGS_MANAGER (msd_a11y_settings_manager_get_type ())
|
||||
+#define MSD_A11Y_SETTINGS_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MSD_TYPE_A11Y_SETTINGS_MANAGER, MsdA11ySettingsManager))
|
||||
+#define MSD_A11Y_SETTINGS_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), MSD_TYPE_A11Y_SETTINGS_MANAGER, MsdA11ySettingsManagerClass))
|
||||
+#define MSD_IS_A11Y_SETTINGS_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MSD_TYPE_A11Y_SETTINGS_MANAGER))
|
||||
+#define MSD_IS_A11Y_SETTINGS_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), MSD_TYPE_A11Y_SETTINGS_MANAGER))
|
||||
+#define MSD_A11Y_SETTINGS_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), MSD_TYPE_A11Y_SETTINGS_MANAGER, MsdA11ySettingsManagerClass))
|
||||
+
|
||||
+typedef struct MsdA11ySettingsManagerPrivate MsdA11ySettingsManagerPrivate;
|
||||
+
|
||||
+typedef struct
|
||||
+{
|
||||
+ GObject parent;
|
||||
+ MsdA11ySettingsManagerPrivate *priv;
|
||||
+} MsdA11ySettingsManager;
|
||||
+
|
||||
+typedef struct
|
||||
+{
|
||||
+ GObjectClass parent_class;
|
||||
+} MsdA11ySettingsManagerClass;
|
||||
+
|
||||
+GType msd_a11y_settings_manager_get_type (void);
|
||||
+
|
||||
+MsdA11ySettingsManager *msd_a11y_settings_manager_new (void);
|
||||
+gboolean msd_a11y_settings_manager_start (MsdA11ySettingsManager *manager,
|
||||
+ GError **error);
|
||||
+void msd_a11y_settings_manager_stop (MsdA11ySettingsManager *manager);
|
||||
+
|
||||
+G_END_DECLS
|
||||
+
|
||||
+#endif /* __MSD_A11Y_SETTINGS_MANAGER_H */
|
||||
diff --git a/plugins/a11y-settings/msd-a11y-settings-plugin.c b/plugins/a11y-settings/msd-a11y-settings-plugin.c
|
||||
new file mode 100644
|
||||
index 0000000..9d206c8
|
||||
--- /dev/null
|
||||
+++ b/plugins/a11y-settings/msd-a11y-settings-plugin.c
|
||||
@@ -0,0 +1,109 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
+ * Copyright (C) 2007 William Jon McCann <mccann@jhu.edu>
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License as published by
|
||||
+ * the Free Software Foundation; either version 2, or (at your option)
|
||||
+ * any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include "config.h"
|
||||
+
|
||||
+#include <glib/gi18n-lib.h>
|
||||
+#include <gmodule.h>
|
||||
+
|
||||
+#include "mate-settings-plugin.h"
|
||||
+#include "msd-a11y-settings-plugin.h"
|
||||
+#include "msd-a11y-settings-manager.h"
|
||||
+
|
||||
+struct MsdA11ySettingsPluginPrivate {
|
||||
+ MsdA11ySettingsManager *manager;
|
||||
+};
|
||||
+
|
||||
+#define MSD_A11Y_SETTINGS_PLUGIN_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), MSD_TYPE_A11Y_SETTINGS_PLUGIN, MsdA11ySettingsPluginPrivate))
|
||||
+
|
||||
+MATE_SETTINGS_PLUGIN_REGISTER (MsdA11ySettingsPlugin, msd_a11y_settings_plugin)
|
||||
+
|
||||
+static void
|
||||
+msd_a11y_settings_plugin_init (MsdA11ySettingsPlugin *plugin)
|
||||
+{
|
||||
+ plugin->priv = MSD_A11Y_SETTINGS_PLUGIN_GET_PRIVATE (plugin);
|
||||
+
|
||||
+ g_debug ("MsdA11ySettingsPlugin initializing");
|
||||
+
|
||||
+ plugin->priv->manager = msd_a11y_settings_manager_new ();
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+msd_a11y_settings_plugin_finalize (GObject *object)
|
||||
+{
|
||||
+ MsdA11ySettingsPlugin *plugin;
|
||||
+
|
||||
+ g_return_if_fail (object != NULL);
|
||||
+ g_return_if_fail (MSD_IS_A11Y_SETTINGS_PLUGIN (object));
|
||||
+
|
||||
+ g_debug ("MsdA11ySettingsPlugin finalizing");
|
||||
+
|
||||
+ plugin = MSD_A11Y_SETTINGS_PLUGIN (object);
|
||||
+
|
||||
+ g_return_if_fail (plugin->priv != NULL);
|
||||
+
|
||||
+ if (plugin->priv->manager != NULL) {
|
||||
+ g_object_unref (plugin->priv->manager);
|
||||
+ }
|
||||
+
|
||||
+ G_OBJECT_CLASS (msd_a11y_settings_plugin_parent_class)->finalize (object);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+impl_activate (MateSettingsPlugin *plugin)
|
||||
+{
|
||||
+ gboolean res;
|
||||
+ GError *error;
|
||||
+
|
||||
+ g_debug ("Activating a11y-settings plugin");
|
||||
+
|
||||
+ error = NULL;
|
||||
+ res = msd_a11y_settings_manager_start (MSD_A11Y_SETTINGS_PLUGIN (plugin)->priv->manager, &error);
|
||||
+ if (! res) {
|
||||
+ g_warning ("Unable to start a11y-settings manager: %s", error->message);
|
||||
+ g_error_free (error);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+impl_deactivate (MateSettingsPlugin *plugin)
|
||||
+{
|
||||
+ g_debug ("Deactivating a11y-settings plugin");
|
||||
+ msd_a11y_settings_manager_stop (MSD_A11Y_SETTINGS_PLUGIN (plugin)->priv->manager);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+msd_a11y_settings_plugin_class_init (MsdA11ySettingsPluginClass *klass)
|
||||
+{
|
||||
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
+ MateSettingsPluginClass *plugin_class = MATE_SETTINGS_PLUGIN_CLASS (klass);
|
||||
+
|
||||
+ object_class->finalize = msd_a11y_settings_plugin_finalize;
|
||||
+
|
||||
+ plugin_class->activate = impl_activate;
|
||||
+ plugin_class->deactivate = impl_deactivate;
|
||||
+
|
||||
+ g_type_class_add_private (klass, sizeof (MsdA11ySettingsPluginPrivate));
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+msd_a11y_settings_plugin_class_finalize (MsdA11ySettingsPluginClass *klass)
|
||||
+{
|
||||
+}
|
||||
diff --git a/plugins/a11y-settings/msd-a11y-settings-plugin.h b/plugins/a11y-settings/msd-a11y-settings-plugin.h
|
||||
new file mode 100644
|
||||
index 0000000..a19c8a4
|
||||
--- /dev/null
|
||||
+++ b/plugins/a11y-settings/msd-a11y-settings-plugin.h
|
||||
@@ -0,0 +1,59 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
+ * Copyright (C) 2011 Red Hat, Inc.
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License as published by
|
||||
+ * the Free Software Foundation; either version 2, or (at your option)
|
||||
+ * any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#ifndef __MSD_A11Y_SETTINGS_PLUGIN_H__
|
||||
+#define __MSD_A11Y_SETTINGS_PLUGIN_H__
|
||||
+
|
||||
+#include <glib.h>
|
||||
+#include <glib-object.h>
|
||||
+#include <gmodule.h>
|
||||
+
|
||||
+#include "mate-settings-plugin.h"
|
||||
+
|
||||
+G_BEGIN_DECLS
|
||||
+
|
||||
+#define MSD_TYPE_A11Y_SETTINGS_PLUGIN (msd_a11y_settings_plugin_get_type ())
|
||||
+#define MSD_A11Y_SETTINGS_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MSD_TYPE_A11Y_SETTINGS_PLUGIN, MsdA11ySettingsPlugin))
|
||||
+#define MSD_A11Y_SETTINGS_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), MSD_TYPE_A11Y_SETTINGS_PLUGIN, MsdA11ySettingsPluginClass))
|
||||
+#define MSD_IS_A11Y_SETTINGS_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MSD_TYPE_A11Y_SETTINGS_PLUGIN))
|
||||
+#define MSD_IS_A11Y_SETTINGS_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), MSD_TYPE_A11Y_SETTINGS_PLUGIN))
|
||||
+#define MSD_A11Y_SETTINGS_PLUGIN_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), MSD_TYPE_A11Y_SETTINGS_PLUGIN, MsdA11ySettingsPluginClass))
|
||||
+
|
||||
+typedef struct MsdA11ySettingsPluginPrivate MsdA11ySettingsPluginPrivate;
|
||||
+
|
||||
+typedef struct
|
||||
+{
|
||||
+ MateSettingsPlugin parent;
|
||||
+ MsdA11ySettingsPluginPrivate *priv;
|
||||
+} MsdA11ySettingsPlugin;
|
||||
+
|
||||
+typedef struct
|
||||
+{
|
||||
+ MateSettingsPluginClass parent_class;
|
||||
+} MsdA11ySettingsPluginClass;
|
||||
+
|
||||
+GType msd_a11y_settings_plugin_get_type (void) G_GNUC_CONST;
|
||||
+
|
||||
+/* All the plugins must implement this function */
|
||||
+G_MODULE_EXPORT GType register_mate_settings_plugin (GTypeModule *module);
|
||||
+
|
||||
+G_END_DECLS
|
||||
+
|
||||
+#endif /* __MSD_A11Y_SETTINGS_PLUGIN_H__ */
|
||||
diff --git a/po/POTFILES.in b/po/POTFILES.in
|
||||
index f17b5f3..27080da 100644
|
||||
--- a/po/POTFILES.in
|
||||
+++ b/po/POTFILES.in
|
||||
@@ -6,6 +6,7 @@ data/org.mate.font-rendering.gschema.xml.in.in
|
||||
data/org.mate.peripherals-smartcard.gschema.xml.in.in
|
||||
data/org.mate.peripherals-touchpad.gschema.xml.in.in
|
||||
data/org.mate.SettingsDaemon.plugins.a11y-keyboard.gschema.xml.in.in
|
||||
+data/org.mate.SettingsDaemon.plugins.a11y-settings.gschema.xml.in.in
|
||||
data/org.mate.SettingsDaemon.plugins.background.gschema.xml.in.in
|
||||
data/org.mate.SettingsDaemon.plugins.clipboard.gschema.xml.in.in
|
||||
data/org.mate.SettingsDaemon.plugins.datetime.gschema.xml.in.in
|
24
debian/patches/0012_use_gnome_a11y_schema_to_enable_applications.patch
vendored
Normal file
24
debian/patches/0012_use_gnome_a11y_schema_to_enable_applications.patch
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
From d0f277bf02655db7e35946b82176a1b5ffe6819b Mon Sep 17 00:00:00 2001
|
||||
From: infirit <infirit@gmail.com>
|
||||
Date: Mon, 3 Nov 2014 10:26:22 +0100
|
||||
Subject: [PATCH] a11y: Use gnome a11y schema to enable applications
|
||||
|
||||
For example when we toggle screen-reader-enable in the gnome schema
|
||||
orca will turn on and off even under MATE.
|
||||
---
|
||||
plugins/media-keys/msd-media-keys-manager.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/plugins/media-keys/msd-media-keys-manager.c b/plugins/media-keys/msd-media-keys-manager.c
|
||||
index f0b0229..6feac04 100644
|
||||
--- a/plugins/media-keys/msd-media-keys-manager.c
|
||||
+++ b/plugins/media-keys/msd-media-keys-manager.c
|
||||
@@ -886,7 +886,7 @@ do_toggle_accessibility_key (const char *key)
|
||||
GSettings *settings;
|
||||
gboolean state;
|
||||
|
||||
- settings = g_settings_new ("org.mate.applications-at");
|
||||
+ settings = g_settings_new ("org.gnome.desktop.a11y.applications");
|
||||
state = g_settings_get_boolean (settings, key);
|
||||
g_settings_set_boolean (settings, key, !state);
|
||||
g_object_unref (settings);
|
22
debian/patches/0013_monitor_gnome_schema_keys.patch
vendored
Normal file
22
debian/patches/0013_monitor_gnome_schema_keys.patch
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
From 4cb2701b4996045171c4ba67400be0f528d76505 Mon Sep 17 00:00:00 2001
|
||||
From: infirit <infirit@gmail.com>
|
||||
Date: Mon, 3 Nov 2014 10:30:35 +0100
|
||||
Subject: [PATCH] a11y-settings: Monitor gnome schema keys instead of MATE's
|
||||
|
||||
---
|
||||
plugins/a11y-settings/msd-a11y-settings-manager.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/plugins/a11y-settings/msd-a11y-settings-manager.c b/plugins/a11y-settings/msd-a11y-settings-manager.c
|
||||
index 45469be..09d7ba7 100644
|
||||
--- a/plugins/a11y-settings/msd-a11y-settings-manager.c
|
||||
+++ b/plugins/a11y-settings/msd-a11y-settings-manager.c
|
||||
@@ -92,7 +92,7 @@ msd_a11y_settings_manager_start (MsdA11ySettingsManager *manager,
|
||||
mate_settings_profile_start (NULL);
|
||||
|
||||
manager->priv->interface_settings = g_settings_new ("org.mate.interface");
|
||||
- manager->priv->a11y_apps_settings = g_settings_new ("org.mate.applications-at");
|
||||
+ manager->priv->a11y_apps_settings = g_settings_new ("org.gnome.desktop.a11y.applications");
|
||||
|
||||
g_signal_connect (G_OBJECT (manager->priv->a11y_apps_settings), "changed",
|
||||
G_CALLBACK (apps_settings_changed), manager);
|
4
debian/patches/series
vendored
4
debian/patches/series
vendored
@ -1,2 +1,6 @@
|
||||
0001_prefer-gcalculator-for-media-keys.patch
|
||||
0010_move_a11y_keybindings_to_media_keys.patch
|
||||
0011_add_a11y_settings_plugin.patch
|
||||
0012_use_gnome_a11y_schema_to_enable_applications.patch
|
||||
0013_monitor_gnome_schema_keys.patch
|
||||
|
||||
|
Reference in New Issue
Block a user