parent
513e562939
commit
5363aa6828
186
0001-Add-gesture-inhibitor-extension.patch
Normal file
186
0001-Add-gesture-inhibitor-extension.patch
Normal file
@ -0,0 +1,186 @@
|
||||
From e27d37b9efed5f1266c6b27520a4698e9eb9d453 Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Thu, 28 Jan 2021 00:06:12 +0100
|
||||
Subject: [PATCH] Add gesture-inhibitor extension
|
||||
|
||||
This extension may disable default GNOME Shell gestures.
|
||||
---
|
||||
extensions/gesture-inhibitor/extension.js | 75 +++++++++++++++++++
|
||||
extensions/gesture-inhibitor/meson.build | 8 ++
|
||||
extensions/gesture-inhibitor/metadata.json.in | 12 +++
|
||||
...l.extensions.gesture-inhibitor.gschema.xml | 25 +++++++
|
||||
extensions/gesture-inhibitor/stylesheet.css | 1 +
|
||||
meson.build | 1 +
|
||||
6 files changed, 122 insertions(+)
|
||||
create mode 100644 extensions/gesture-inhibitor/extension.js
|
||||
create mode 100644 extensions/gesture-inhibitor/meson.build
|
||||
create mode 100644 extensions/gesture-inhibitor/metadata.json.in
|
||||
create mode 100644 extensions/gesture-inhibitor/org.gnome.shell.extensions.gesture-inhibitor.gschema.xml
|
||||
create mode 100644 extensions/gesture-inhibitor/stylesheet.css
|
||||
|
||||
diff --git a/extensions/gesture-inhibitor/extension.js b/extensions/gesture-inhibitor/extension.js
|
||||
new file mode 100644
|
||||
index 00000000..e74ede2f
|
||||
--- /dev/null
|
||||
+++ b/extensions/gesture-inhibitor/extension.js
|
||||
@@ -0,0 +1,75 @@
|
||||
+/* extension.js
|
||||
+ *
|
||||
+ * 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, see <http://www.gnu.org/licenses/>.
|
||||
+ *
|
||||
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
||||
+ */
|
||||
+
|
||||
+/* exported init */
|
||||
+
|
||||
+const Clutter = imports.gi.Clutter;
|
||||
+const ExtensionUtils = imports.misc.extensionUtils;
|
||||
+const Me = ExtensionUtils.getCurrentExtension();
|
||||
+const ViewSelector = imports.ui.viewSelector;
|
||||
+const EdgeDragAction = imports.ui.edgeDragAction;
|
||||
+const WindowManager = imports.ui.windowManager;
|
||||
+const St = imports.gi.St;
|
||||
+const Gio = imports.gi.Gio;
|
||||
+
|
||||
+class Extension {
|
||||
+ constructor() {
|
||||
+ this._settings = ExtensionUtils.getSettings();
|
||||
+ let actions = global.stage.get_actions();
|
||||
+
|
||||
+ actions.forEach(a => {
|
||||
+ if (a instanceof ViewSelector.ShowOverviewAction)
|
||||
+ this._showOverview = a;
|
||||
+ else if (a instanceof WindowManager.AppSwitchAction)
|
||||
+ this._appSwitch = a;
|
||||
+ else if (a instanceof EdgeDragAction.EdgeDragAction &&
|
||||
+ a._side == St.Side.BOTTOM)
|
||||
+ this._showOsk = a;
|
||||
+ else if (a instanceof EdgeDragAction.EdgeDragAction &&
|
||||
+ a._side == St.Side.TOP)
|
||||
+ this._unfullscreen = a;
|
||||
+ else if (a instanceof EdgeDragAction.EdgeDragAction)
|
||||
+ this._showAppGrid = a;
|
||||
+ });
|
||||
+
|
||||
+ this._map = [
|
||||
+ { setting: 'overview', action: this._showOverview },
|
||||
+ { setting: 'app-switch', action: this._appSwitch },
|
||||
+ { setting: 'show-osk', action: this._showOsk },
|
||||
+ { setting: 'unfullscreen', action: this._unfullscreen },
|
||||
+ { setting: 'show-app-grid', action: this._showAppGrid }
|
||||
+ ];
|
||||
+ }
|
||||
+
|
||||
+ enable() {
|
||||
+ this._map.forEach(m => {
|
||||
+ this._settings.bind(m.setting, m.action, 'enabled',
|
||||
+ Gio.SettingsBindFlags.DEFAULT);
|
||||
+ });
|
||||
+ }
|
||||
+
|
||||
+ disable() {
|
||||
+ this._map.forEach(m => {
|
||||
+ m.action.enabled = true;
|
||||
+ });
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+function init() {
|
||||
+ return new Extension();
|
||||
+}
|
||||
diff --git a/extensions/gesture-inhibitor/meson.build b/extensions/gesture-inhibitor/meson.build
|
||||
new file mode 100644
|
||||
index 00000000..fdad5cc8
|
||||
--- /dev/null
|
||||
+++ b/extensions/gesture-inhibitor/meson.build
|
||||
@@ -0,0 +1,8 @@
|
||||
+extension_data += configure_file(
|
||||
+ input: metadata_name + '.in',
|
||||
+ output: metadata_name,
|
||||
+ configuration: metadata_conf
|
||||
+)
|
||||
+
|
||||
+# extension_sources += files('prefs.js')
|
||||
+extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
||||
diff --git a/extensions/gesture-inhibitor/metadata.json.in b/extensions/gesture-inhibitor/metadata.json.in
|
||||
new file mode 100644
|
||||
index 00000000..37d6a117
|
||||
--- /dev/null
|
||||
+++ b/extensions/gesture-inhibitor/metadata.json.in
|
||||
@@ -0,0 +1,12 @@
|
||||
+{
|
||||
+ "uuid": "@uuid@",
|
||||
+ "extension-id": "@extension_id@",
|
||||
+ "settings-schema": "@gschemaname@",
|
||||
+ "gettext-domain": "@gettext_domain@",
|
||||
+ "name": "Gesture Inhibitor",
|
||||
+ "description": "Makes touchscreen gestures optional.",
|
||||
+ "shell-version": [ "@shell_current@" ],
|
||||
+ "original-authors": [ "cgarnach@redhat.com" ],
|
||||
+ "url": "@url@"
|
||||
+}
|
||||
+
|
||||
diff --git a/extensions/gesture-inhibitor/org.gnome.shell.extensions.gesture-inhibitor.gschema.xml b/extensions/gesture-inhibitor/org.gnome.shell.extensions.gesture-inhibitor.gschema.xml
|
||||
new file mode 100644
|
||||
index 00000000..1d67dcc0
|
||||
--- /dev/null
|
||||
+++ b/extensions/gesture-inhibitor/org.gnome.shell.extensions.gesture-inhibitor.gschema.xml
|
||||
@@ -0,0 +1,25 @@
|
||||
+<schemalist>
|
||||
+ <schema id="org.gnome.shell.extensions.gesture-inhibitor" path="/org/gnome/shell/extensions/gesture-inhibitor/">
|
||||
+ <key name="show-app-grid" type="b">
|
||||
+ <default>true</default>
|
||||
+ <summary>Show app grid gesture</summary>
|
||||
+ </key>
|
||||
+ <key name="show-osk" type="b">
|
||||
+ <default>true</default>
|
||||
+ <summary>Show OSK gesture</summary>
|
||||
+ </key>
|
||||
+ <key name="overview" type="b">
|
||||
+ <default>true</default>
|
||||
+ <summary>Show Overview gesture</summary>
|
||||
+ </key>
|
||||
+ <key name="app-switch" type="b">
|
||||
+ <default>true</default>
|
||||
+ <summary>Application switch gesture</summary>
|
||||
+ </key>
|
||||
+ <key name="unfullscreen" type="b">
|
||||
+ <default>true</default>
|
||||
+ <summary>Unfullscreen gesture</summary>
|
||||
+ </key>
|
||||
+ </schema>
|
||||
+</schemalist>
|
||||
+
|
||||
diff --git a/extensions/gesture-inhibitor/stylesheet.css b/extensions/gesture-inhibitor/stylesheet.css
|
||||
new file mode 100644
|
||||
index 00000000..37b93f21
|
||||
--- /dev/null
|
||||
+++ b/extensions/gesture-inhibitor/stylesheet.css
|
||||
@@ -0,0 +1 @@
|
||||
+/* Add your custom extension styling here */
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 78dee5b8..1bbda801 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -47,6 +47,7 @@ all_extensions = default_extensions
|
||||
all_extensions += [
|
||||
'auto-move-windows',
|
||||
'dash-to-dock',
|
||||
+ 'gesture-inhibitor',
|
||||
'native-window-placement',
|
||||
'panel-favorites',
|
||||
'systemMonitor',
|
||||
--
|
||||
2.32.0
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
Name: gnome-shell-extensions
|
||||
Version: 40.4
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
Summary: Modify and extend GNOME Shell functionality and behavior
|
||||
|
||||
License: GPLv2+
|
||||
@ -30,6 +30,7 @@ Patch007: 0001-desktop-icons-Update-Japanese-translation.patch
|
||||
Patch008: desktop-icons-40-fixes.patch
|
||||
Patch009: 0001-top-icons-Don-t-use-wm_class-as-role.patch
|
||||
Patch010: 0001-heads-up-display-Add-extension-for-showing-persisten.patch
|
||||
Patch011: 0001-Add-gesture-inhibitor-extension.patch
|
||||
|
||||
%description
|
||||
GNOME Shell Extensions is a collection of extensions providing additional and
|
||||
@ -41,6 +42,7 @@ Enabled extensions:
|
||||
* dash-to-dock
|
||||
* desktop-icons
|
||||
* drive-menu
|
||||
* gesture-inhibitor
|
||||
* launch-new-instance
|
||||
* heads-up-display
|
||||
* native-window-placement
|
||||
@ -131,6 +133,16 @@ This GNOME Shell extension provides a panel status menu for accessing and
|
||||
unmounting removable devices.
|
||||
|
||||
|
||||
%package -n %{pkg_prefix}-gesture-inhibitor
|
||||
Summary: Gesture inhibitor
|
||||
Group: User Interface/Desktops
|
||||
License: GPLv2+
|
||||
Requires: %{pkg_prefix}-common = %{version}-%{release}
|
||||
|
||||
%description -n %{pkg_prefix}-gesture-inhibitor
|
||||
This GNOME Shell extension allows disabling the default desktop gestures.
|
||||
|
||||
|
||||
%package -n %{pkg_prefix}-launch-new-instance
|
||||
Summary: Always launch a new application instance for GNOME Shell
|
||||
License: GPLv2+
|
||||
@ -308,6 +320,11 @@ workspaces.
|
||||
%{_datadir}/gnome-shell/extensions/drive-menu*/
|
||||
|
||||
|
||||
%files -n %{pkg_prefix}-gesture-inhibitor
|
||||
%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.gesture-inhibitor.gschema.xml
|
||||
%{_datadir}/gnome-shell/extensions/gesture-inhibitor*/
|
||||
|
||||
|
||||
%files -n %{pkg_prefix}-launch-new-instance
|
||||
%{_datadir}/gnome-shell/extensions/launch-new-instance*/
|
||||
|
||||
@ -367,6 +384,10 @@ workspaces.
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Oct 20 2021 Florian Müllner <fmuellner@redhat.com> - 40.4-3
|
||||
- Add gesture-inhibitor extension
|
||||
Resolves: #2013196
|
||||
|
||||
* Mon Sep 27 2021 Ray Strode <rstrode@redhat.com> - 40.4-2
|
||||
- Add extension for displaying heads up message
|
||||
Related: #2006985
|
||||
|
Loading…
Reference in New Issue
Block a user