Package init
This commit is contained in:
parent
972f65a382
commit
845d989f91
@ -0,0 +1,56 @@
|
||||
From 68b038ba1ee10cb957eec56fec435e3cfeffd20d Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Wed, 15 Aug 2018 14:26:19 +0200
|
||||
Subject: [PATCH 1/2] endSessionDialog: Immediately add buttons to the dialog
|
||||
|
||||
Immediately add buttons to the dialog instead of first building an
|
||||
array of button-info structs.
|
||||
|
||||
This is a preparation patch for adding support changing the "Reboot"
|
||||
button into a "Boot Options" button when Alt is pressed.
|
||||
---
|
||||
js/ui/endSessionDialog.js | 17 +++++++++--------
|
||||
1 file changed, 9 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js
|
||||
index 4804333d4..5657cbffd 100644
|
||||
--- a/js/ui/endSessionDialog.js
|
||||
+++ b/js/ui/endSessionDialog.js
|
||||
@@ -437,25 +437,26 @@ var EndSessionDialog = new Lang.Class({
|
||||
},
|
||||
|
||||
_updateButtons() {
|
||||
- let dialogContent = DialogContent[this._type];
|
||||
- let buttons = [{ action: this.cancel.bind(this),
|
||||
+ this.clearButtons();
|
||||
+
|
||||
+ this.addButton({ action: this.cancel.bind(this),
|
||||
label: _("Cancel"),
|
||||
- key: Clutter.Escape }];
|
||||
+ key: Clutter.Escape });
|
||||
|
||||
+ let dialogContent = DialogContent[this._type];
|
||||
for (let i = 0; i < dialogContent.confirmButtons.length; i++) {
|
||||
let signal = dialogContent.confirmButtons[i].signal;
|
||||
let label = dialogContent.confirmButtons[i].label;
|
||||
- buttons.push({ action: () => {
|
||||
+ let button = this.addButton(
|
||||
+ { action: () => {
|
||||
this.close(true);
|
||||
let signalId = this.connect('closed', () => {
|
||||
this.disconnect(signalId);
|
||||
this._confirm(signal);
|
||||
});
|
||||
- },
|
||||
- label: label });
|
||||
+ },
|
||||
+ label: label });
|
||||
}
|
||||
-
|
||||
- this.setButtons(buttons);
|
||||
},
|
||||
|
||||
close(skipSignal) {
|
||||
--
|
||||
2.19.0
|
||||
|
||||
@ -0,0 +1,68 @@
|
||||
From ccc59673827f9e36b7374fcf03de94d1b1513550 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Garnacho <carlosg@gnome.org>
|
||||
Date: Mon, 22 Oct 2018 22:06:36 +0000
|
||||
Subject: [PATCH] keyboardManager: Avoid idempotent calls to
|
||||
meta_backend_set_keymap()
|
||||
|
||||
But still try to apply the keymap whenever the input sources changed. This
|
||||
is a different approach to gnome-shell#240 that still avoid redundant
|
||||
changes to the current keymap, but actually trigger one when input sources
|
||||
are added.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1637418
|
||||
|
||||
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/691
|
||||
|
||||
|
||||
(cherry picked from commit b405ed64427a9d518d1714df678d04ad11267e15)
|
||||
---
|
||||
js/misc/keyboardManager.js | 14 +++++++++-----
|
||||
1 file changed, 9 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/js/misc/keyboardManager.js b/js/misc/keyboardManager.js
|
||||
index ae59f0014..f4001f130 100644
|
||||
--- a/js/misc/keyboardManager.js
|
||||
+++ b/js/misc/keyboardManager.js
|
||||
@@ -52,11 +52,20 @@ var KeyboardManager = new Lang.Class({
|
||||
this._current = null;
|
||||
this._localeLayoutInfo = this._getLocaleLayout();
|
||||
this._layoutInfos = {};
|
||||
+ this._currentKeymap = null;
|
||||
},
|
||||
|
||||
_applyLayoutGroup(group) {
|
||||
let options = this._buildOptionsString();
|
||||
let [layouts, variants] = this._buildGroupStrings(group);
|
||||
+
|
||||
+ if (this._currentKeymap &&
|
||||
+ this._currentKeymap.layouts == layouts &&
|
||||
+ this._currentKeymap.variants == variants &&
|
||||
+ this._currentKeymap.options == options)
|
||||
+ return;
|
||||
+
|
||||
+ this._currentKeymap = {layouts, variants, options};
|
||||
Meta.get_backend().set_keymap(layouts, variants, options);
|
||||
},
|
||||
|
||||
@@ -89,8 +98,6 @@ var KeyboardManager = new Lang.Class({
|
||||
},
|
||||
|
||||
setUserLayouts(ids) {
|
||||
- let currentId = this._current ? this._current.id : null;
|
||||
- let currentGroupIndex = this._current ? this._current.groupIndex : null;
|
||||
this._current = null;
|
||||
this._layoutInfos = {};
|
||||
|
||||
@@ -117,9 +124,6 @@ var KeyboardManager = new Lang.Class({
|
||||
info.group = group;
|
||||
info.groupIndex = groupIndex;
|
||||
|
||||
- if (currentId == id && currentGroupIndex == groupIndex)
|
||||
- this._current = info;
|
||||
-
|
||||
i += 1;
|
||||
}
|
||||
},
|
||||
--
|
||||
2.19.1
|
||||
|
||||
115
0002-endSessionDialog-Support-rebooting-into-the-bootload.patch
Normal file
115
0002-endSessionDialog-Support-rebooting-into-the-bootload.patch
Normal file
@ -0,0 +1,115 @@
|
||||
From 345278af9b7139d12e393d6b18abfe055172dedd Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Wed, 15 Aug 2018 15:03:56 +0200
|
||||
Subject: [PATCH 2/2] endSessionDialog: Support rebooting into the bootloader
|
||||
menu aka ("Boot Options")
|
||||
|
||||
This implements the "Alt" behavior for the "Reboot" button as outlined in
|
||||
the design here: https://wiki.gnome.org/Design/OS/BootOptions
|
||||
|
||||
This causes the endSessionDialog to send a ConfirmedRebootToBootOptions signal
|
||||
to gnome-session instead of the normal ConfirmedReboot signal, actually
|
||||
telling the boot-loader that it should show its menu the next boot is left
|
||||
up to gnome-session.
|
||||
|
||||
Note I've tried implementing this with the AltSwitcher class from
|
||||
js/ui/status/system.js first, but that puts the button in a St.Bin()
|
||||
which causes the button to think it is the only button on the dialog
|
||||
and makes it have rounded corners on both of its bottom corners.
|
||||
---
|
||||
js/ui/endSessionDialog.js | 50 +++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 50 insertions(+)
|
||||
|
||||
diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js
|
||||
index 5657cbffd..bfc64a7d6 100644
|
||||
--- a/js/ui/endSessionDialog.js
|
||||
+++ b/js/ui/endSessionDialog.js
|
||||
@@ -271,6 +271,9 @@ var EndSessionDialog = new Lang.Class({
|
||||
this._totalSecondsToStayOpen = 0;
|
||||
this._applications = [];
|
||||
this._sessions = [];
|
||||
+ this._capturedEventId = 0;
|
||||
+ this._rebootButton = null;
|
||||
+ this._rebootButtonAlt = null;
|
||||
|
||||
this.connect('destroy',
|
||||
this._onDestroy.bind(this));
|
||||
@@ -436,6 +439,26 @@ var EndSessionDialog = new Lang.Class({
|
||||
this._sessionHeader.visible = hasSessions;
|
||||
},
|
||||
|
||||
+ _onCapturedEvent(actor, event) {
|
||||
+ let altEnabled = false;
|
||||
+
|
||||
+ let type = event.type();
|
||||
+ if (type != Clutter.EventType.KEY_PRESS && type != Clutter.EventType.KEY_RELEASE)
|
||||
+ return Clutter.EVENT_PROPAGATE;
|
||||
+
|
||||
+ let key = event.get_key_symbol();
|
||||
+ if (key != Clutter.KEY_Alt_L && key != Clutter.KEY_Alt_R)
|
||||
+ return Clutter.EVENT_PROPAGATE;
|
||||
+
|
||||
+ if (type == Clutter.EventType.KEY_PRESS)
|
||||
+ altEnabled = true;
|
||||
+
|
||||
+ this._rebootButton.visible = !altEnabled;
|
||||
+ this._rebootButtonAlt.visible = altEnabled;
|
||||
+
|
||||
+ return Clutter.EVENT_PROPAGATE;
|
||||
+ },
|
||||
+
|
||||
_updateButtons() {
|
||||
this.clearButtons();
|
||||
|
||||
@@ -456,7 +479,32 @@ var EndSessionDialog = new Lang.Class({
|
||||
});
|
||||
},
|
||||
label: label });
|
||||
+
|
||||
+ // Add Alt "Boot Options" option to the Reboot button
|
||||
+ if (signal == 'ConfirmedReboot') {
|
||||
+ this._rebootButton = button;
|
||||
+ this._rebootButtonAlt = this.addButton(
|
||||
+ { action: () => {
|
||||
+ this.close(true);
|
||||
+ let signalId = this.connect('closed', () => {
|
||||
+ this.disconnect(signalId);
|
||||
+ this._confirm('ConfirmedRebootToBootOptions');
|
||||
+ });
|
||||
+ },
|
||||
+ label: C_("button", "Boot Options") });
|
||||
+ this._rebootButtonAlt.visible = false;
|
||||
+ this._capturedEventId = global.stage.connect('captured-event', this._onCapturedEvent.bind(this));
|
||||
+ }
|
||||
+ }
|
||||
+ },
|
||||
+
|
||||
+ _stopAltCapture() {
|
||||
+ if (this._capturedEventId > 0) {
|
||||
+ global.stage.disconnect(this._capturedEventId);
|
||||
+ this._capturedEventId = 0;
|
||||
}
|
||||
+ this._rebootButton = null;
|
||||
+ this._rebootButtonAlt = null;
|
||||
},
|
||||
|
||||
close(skipSignal) {
|
||||
@@ -468,6 +516,7 @@ var EndSessionDialog = new Lang.Class({
|
||||
|
||||
cancel() {
|
||||
this._stopTimer();
|
||||
+ this._stopAltCapture();
|
||||
this._dbusImpl.emit_signal('Canceled', null);
|
||||
this.close();
|
||||
},
|
||||
@@ -476,6 +525,7 @@ var EndSessionDialog = new Lang.Class({
|
||||
let callback = () => {
|
||||
this._fadeOutDialog();
|
||||
this._stopTimer();
|
||||
+ this._stopAltCapture();
|
||||
this._dbusImpl.emit_signal(signal, null);
|
||||
};
|
||||
|
||||
--
|
||||
2.19.0
|
||||
|
||||
36
README.en.md
36
README.en.md
@ -1,36 +0,0 @@
|
||||
# gnome-shell
|
||||
|
||||
#### Description
|
||||
{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}
|
||||
|
||||
#### Software Architecture
|
||||
Software architecture description
|
||||
|
||||
#### Installation
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### Instructions
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### Contribution
|
||||
|
||||
1. Fork the repository
|
||||
2. Create Feat_xxx branch
|
||||
3. Commit your code
|
||||
4. Create Pull Request
|
||||
|
||||
|
||||
#### Gitee Feature
|
||||
|
||||
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
|
||||
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
|
||||
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
|
||||
4. The most valuable open source project [GVP](https://gitee.com/gvp)
|
||||
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
|
||||
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
||||
39
README.md
39
README.md
@ -1,39 +0,0 @@
|
||||
# gnome-shell
|
||||
|
||||
#### 介绍
|
||||
{**以下是码云平台说明,您可以替换此简介**
|
||||
码云是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台
|
||||
无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)}
|
||||
|
||||
#### 软件架构
|
||||
软件架构说明
|
||||
|
||||
|
||||
#### 安装教程
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### 使用说明
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### 参与贡献
|
||||
|
||||
1. Fork 本仓库
|
||||
2. 新建 Feat_xxx 分支
|
||||
3. 提交代码
|
||||
4. 新建 Pull Request
|
||||
|
||||
|
||||
#### 码云特技
|
||||
|
||||
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
|
||||
2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
|
||||
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
|
||||
4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
|
||||
5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
|
||||
6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
||||
BIN
gnome-shell-3.30.1.tar.xz
Normal file
BIN
gnome-shell-3.30.1.tar.xz
Normal file
Binary file not shown.
21
gnome-shell-favourite-apps-firefox.patch
Normal file
21
gnome-shell-favourite-apps-firefox.patch
Normal file
@ -0,0 +1,21 @@
|
||||
--- gnome-shell-3.13.90/data/org.gnome.shell.gschema.xml.in.firefox 2014-08-20 20:28:07.601133033 +0200
|
||||
+++ gnome-shell-3.13.90/data/org.gnome.shell.gschema.xml.in 2014-08-20 20:28:41.741503518 +0200
|
||||
@@ -31,7 +31,7 @@
|
||||
</description>
|
||||
</key>
|
||||
<key name="favorite-apps" type="as">
|
||||
- <default>[ 'epiphany.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
|
||||
+ <default>[ 'firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
|
||||
<summary>List of desktop file IDs for favorite applications</summary>
|
||||
<description>
|
||||
The applications corresponding to these identifiers
|
||||
--- a/js/ui/appFavorites.js
|
||||
+++ b/js/ui/appFavorites.js
|
||||
@@ -31,6 +31,7 @@ const RENAMED_DESKTOP_IDS = {
|
||||
'gnotravex.desktop': 'gnome-tetravex.desktop',
|
||||
'gnotski.desktop': 'gnome-klotski.desktop',
|
||||
'gtali.desktop': 'tali.desktop',
|
||||
+ 'mozilla-firefox.desktop': 'firefox.desktop',
|
||||
'nautilus.desktop': 'org.gnome.Nautilus.desktop',
|
||||
'polari.desktop': 'org.gnome.Polari.desktop',
|
||||
'totem.desktop': 'org.gnome.Totem.desktop',
|
||||
125
gnome-shell.spec
Normal file
125
gnome-shell.spec
Normal file
@ -0,0 +1,125 @@
|
||||
Name: gnome-shell
|
||||
Version: 3.30.1
|
||||
Release: 4
|
||||
Summary: Core user interface functions for the GNOME 3 desktop
|
||||
Group: User Interface/Desktops
|
||||
License: GPLv2+
|
||||
URL: https://wiki.gnome.org/Projects/GnomeShell
|
||||
Source0: http://download.gnome.org/sources/gnome-shell/3.30/%{name}-%{version}.tar.xz
|
||||
|
||||
Patch1: gnome-shell-favourite-apps-firefox.patch
|
||||
Patch2: 0001-endSessionDialog-Immediately-add-buttons-to-the-dial.patch
|
||||
Patch3: 0002-endSessionDialog-Support-rebooting-into-the-bootload.patch
|
||||
Patch4: 0001-keyboardManager-Avoid-idempotent-calls-to-meta_backe.patch
|
||||
|
||||
BuildRequires: meson git ibus-devel chrpath dbus-glib-devel desktop-file-utils
|
||||
BuildRequires: evolution-data-server-devel gcr-devel gjs-devel glib2-devel
|
||||
BuildRequires: gobject-introspection json-glib-devel upower-devel mesa-libGL-devel
|
||||
BuildRequires: NetworkManager-libnm-devel polkit-devel startup-notification-devel
|
||||
BuildRequires: sassc gstreamer1-devel gtk3-devel gettext libcanberra-devel
|
||||
BuildRequires: libcroco-devel python3-devel libXfixes-devel librsvg2-devel
|
||||
BuildRequires: mutter-devel pulseaudio-libs-devel control-center gtk-doc
|
||||
|
||||
Requires: gnome-desktop3 gobject-introspection gjs gtk3 libnma librsvg2
|
||||
Requires: json-glib mozilla-filesystem mutter upower polkit glib2
|
||||
Requires: gsettings-desktop-schemas libcroco gstreamer1 at-spi2-atk
|
||||
Requires: ibus accountsservice-libs gdm control-center python3
|
||||
Requires: switcheroo-control geoclue2 libgweather bolt
|
||||
|
||||
Provides: desktop-notification-daemon
|
||||
Recommends: xdg-desktop-portal-gtk
|
||||
|
||||
%description
|
||||
The GNOME Shell redefines user interactions with the GNOME desktop. In particular,
|
||||
it offers new paradigms for launching applications, accessing documents, and
|
||||
organizing open windows in GNOME. Later, it will introduce a new applets eco-system
|
||||
and offer new solutions for other desktop features, such as notifications and contacts
|
||||
management. The GNOME Shell is intended to replace functions handled by the GNOME Panel
|
||||
and by the window manager in previous versions of GNOME. The GNOME Shell has rich
|
||||
visual effects enabled by new graphical technologies.
|
||||
|
||||
|
||||
%package help
|
||||
Summary: Help files for %{name}
|
||||
BuildArch: noarch
|
||||
|
||||
%description help
|
||||
Help files for %{name}
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -n %{name}-%{version} -p1 -Sgit
|
||||
|
||||
|
||||
%build
|
||||
%meson
|
||||
%meson_build
|
||||
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
%find_lang %{name}
|
||||
|
||||
|
||||
%check
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.desktop
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/gnome-shell-extension-prefs.desktop
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.desktop
|
||||
|
||||
|
||||
%preun
|
||||
glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas &> /dev/null ||:
|
||||
|
||||
|
||||
%posttrans
|
||||
glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas &> /dev/null ||:
|
||||
|
||||
|
||||
%files -f %{name}.lang
|
||||
%license COPYING
|
||||
%doc README.md
|
||||
%{_bindir}/gnome-shell
|
||||
%{_bindir}/gnome-shell-extension-tool
|
||||
%{_bindir}/gnome-shell-perf-tool
|
||||
%{_bindir}/gnome-shell-extension-prefs
|
||||
%{_datadir}/glib-2.0/schemas/*.xml
|
||||
%{_datadir}/glib-2.0/schemas/00_org.gnome.shell.gschema.override
|
||||
%{_datadir}/applications/org.gnome.Shell.desktop
|
||||
%{_datadir}/applications/gnome-shell-extension-prefs.desktop
|
||||
%{_datadir}/applications/evolution-calendar.desktop
|
||||
%{_datadir}/applications/org.gnome.Shell.PortalHelper.desktop
|
||||
%{_datadir}/gnome-control-center/keybindings/50-gnome-shell-system.xml
|
||||
%{_datadir}/gnome-shell/
|
||||
%{_datadir}/dbus-1/services/org.gnome.Shell.CalendarServer.service
|
||||
%{_datadir}/dbus-1/services/org.gnome.Shell.HotplugSniffer.service
|
||||
%{_datadir}/dbus-1/services/org.gnome.Shell.PortalHelper.service
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Extensions.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.PadOsd.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Screencast.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Screenshot.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml
|
||||
%{_userunitdir}/gnome-shell.service
|
||||
%{_userunitdir}/gnome-shell-wayland.target
|
||||
%{_userunitdir}/gnome-shell-x11.target
|
||||
%{_sysconfdir}/xdg/autostart/gnome-shell-overrides-migration.desktop
|
||||
%dir %{_datadir}/xdg-desktop-portal/portals/
|
||||
%{_datadir}/xdg-desktop-portal/portals/gnome-shell.portal
|
||||
%{_libdir}/gnome-shell/
|
||||
%{_libdir}/mozilla/plugins/*.so
|
||||
%{_libexecdir}/gnome-shell-calendar-server
|
||||
%{_libexecdir}/gnome-shell-perf-helper
|
||||
%{_libexecdir}/gnome-shell-hotplug-sniffer
|
||||
%{_libexecdir}/gnome-shell-portal-helper
|
||||
%{_libexecdir}/gnome-shell-overrides-migration.sh
|
||||
%dir %{_datadir}/GConf
|
||||
%dir %{_datadir}/GConf/gsettings
|
||||
%{_datadir}/GConf/gsettings/gnome-shell-overrides.convert
|
||||
|
||||
%files help
|
||||
%{_mandir}/man1/%{name}.1.gz
|
||||
|
||||
%changelog
|
||||
* Wed Nov 27 2019 openEuler Buildteam<buildteam@openeuler.org> - 3.30.1-4
|
||||
- Package Init
|
||||
Loading…
x
Reference in New Issue
Block a user