Sync from SUSE:SLFO:Main gnome-shell revision 326f9dc4d7573830ab9acab0e0eb3465
This commit is contained in:
parent
443859101d
commit
842088949f
@ -1,68 +0,0 @@
|
||||
From 521525948eed85cc27c0796a0b9569d161df81ba Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 7 Sep 2023 17:59:03 +0200
|
||||
Subject: [PATCH 1/2] screenshot: Do not wrongly enable window button
|
||||
|
||||
The window button is disabled when
|
||||
- there are no windows
|
||||
- we are in screen-recording mode
|
||||
- the session mode doesn't allow windows
|
||||
|
||||
However the last condition is only taken into account when
|
||||
opening the dialog, but not when switching from recording-
|
||||
to screenshot mode.
|
||||
|
||||
Address this by updating the button's sensitivity in a separate
|
||||
function, so the different conditions are considered consistently.
|
||||
|
||||
Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6990
|
||||
|
||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2944>
|
||||
---
|
||||
js/ui/screenshot.js | 19 ++++++++++++-------
|
||||
1 file changed, 12 insertions(+), 7 deletions(-)
|
||||
|
||||
Index: gnome-shell-44.1/js/ui/screenshot.js
|
||||
===================================================================
|
||||
--- gnome-shell-44.1.orig/js/ui/screenshot.js
|
||||
+++ gnome-shell-44.1/js/ui/screenshot.js
|
||||
@@ -1377,6 +1377,16 @@ var ScreenshotUI = GObject.registerClass
|
||||
this._castButton.reactive = Main.sessionMode.allowScreencast;
|
||||
}
|
||||
|
||||
+ _syncWindowButtonSensitivity() {
|
||||
+ const windows =
|
||||
+ this._windowSelectors.flatMap(selector => selector.windows());
|
||||
+
|
||||
+ this._windowButton.reactive =
|
||||
+ Main.sessionMode.hasWindows &&
|
||||
+ windows.length > 0 &&
|
||||
+ !this._castButton.checked;
|
||||
+ }
|
||||
+
|
||||
_refreshButtonLayout() {
|
||||
const buttonLayout = Meta.prefs_get_button_layout();
|
||||
|
||||
@@ -1493,10 +1503,7 @@ var ScreenshotUI = GObject.registerClass
|
||||
});
|
||||
}
|
||||
|
||||
- this._windowButton.reactive =
|
||||
- Main.sessionMode.hasWindows &&
|
||||
- windows.length > 0 &&
|
||||
- !this._castButton.checked;
|
||||
+ this._syncWindowButtonSensitivity();
|
||||
if (!this._windowButton.reactive)
|
||||
this._selectionButton.checked = true;
|
||||
|
||||
@@ -1739,9 +1746,7 @@ var ScreenshotUI = GObject.registerClass
|
||||
|
||||
this._captureButton.remove_style_pseudo_class('cast');
|
||||
|
||||
- const windows =
|
||||
- this._windowSelectors.flatMap(selector => selector.windows());
|
||||
- this._windowButton.reactive = windows.length > 0;
|
||||
+ this._syncWindowButtonSensitivity();
|
||||
}
|
||||
}
|
||||
|
@ -1,33 +0,0 @@
|
||||
From 671df28a509ae208e158976f0855d91fdbea16a1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 7 Sep 2023 18:00:21 +0200
|
||||
Subject: [PATCH 2/2] screenshot: Only handle mode-switch shortcut when
|
||||
supported
|
||||
|
||||
We currently handle the 'v' key to switch between recording- and
|
||||
screenshot mode regardless of whether screen recordings are
|
||||
supported.
|
||||
|
||||
This is clearly wrong, don't do that.
|
||||
|
||||
Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6990
|
||||
|
||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2944>
|
||||
---
|
||||
js/ui/screenshot.js | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: gnome-shell-44.1/js/ui/screenshot.js
|
||||
===================================================================
|
||||
--- gnome-shell-44.1.orig/js/ui/screenshot.js
|
||||
+++ gnome-shell-44.1/js/ui/screenshot.js
|
||||
@@ -2008,7 +2008,8 @@ var ScreenshotUI = GObject.registerClass
|
||||
return Clutter.EVENT_STOP;
|
||||
}
|
||||
|
||||
- if (symbol === Clutter.KEY_v || symbol === Clutter.KEY_V) {
|
||||
+ if (this._castButton.reactive &&
|
||||
+ (symbol === Clutter.KEY_v || symbol === Clutter.KEY_V)) {
|
||||
this._castButton.checked = !this._castButton.checked;
|
||||
return Clutter.EVENT_STOP;
|
||||
}
|
4
_service
4
_service
@ -3,7 +3,7 @@
|
||||
<service name="obs_scm" mode="manual">
|
||||
<param name="scm">git</param>
|
||||
<param name="url">https://gitlab.gnome.org/GNOME/gnome-shell.git</param>
|
||||
<param name="revision">refs/tags/44.1</param>
|
||||
<param name="revision">refs/tags/45.3</param>
|
||||
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
|
||||
<param name="versionrewrite-pattern">(.*)\+0</param>
|
||||
<param name="versionrewrite-replacement">\1</param>
|
||||
@ -12,7 +12,7 @@
|
||||
<service name="tar" mode="buildtime"/>
|
||||
<service name="recompress" mode="buildtime">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">xz</param>
|
||||
<param name="compression">zst</param>
|
||||
</service>
|
||||
<service name="set_version" mode="manual" />
|
||||
</services>
|
||||
|
135
aboutMenu.js
135
aboutMenu.js
@ -1,135 +0,0 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const GLib = imports.gi.GLib;
|
||||
const Gio = imports.gi.Gio;
|
||||
const Lang = imports.lang;
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const St = imports.gi.St;
|
||||
const DBus = imports.gi.DBus;
|
||||
|
||||
const PanelMenu = imports.ui.panelMenu;
|
||||
|
||||
const HostnameIface = '<node> \
|
||||
<interface name="org.freedesktop.DBus.Properties"> \
|
||||
<method name="Get"> \
|
||||
<arg type="s" direction="in" /> \
|
||||
<arg type="s" direction="in" /> \
|
||||
<arg type="v" direction="out" /> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const HostnameProxy = Gio.DBusProxy.makeProxyWrapper(HostnameIface);
|
||||
|
||||
var AboutMenuButton = new Lang.Class({
|
||||
Name: 'AboutMenuButton',
|
||||
Extends: PanelMenu.Button,
|
||||
_init: function() {
|
||||
this._hostname = null;
|
||||
this._updateHostnameId = 0;
|
||||
this._ticket = 1;
|
||||
|
||||
let hbox;
|
||||
let vbox;
|
||||
let menuAlignment = 0.25;
|
||||
|
||||
if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
|
||||
menuAlignment = 1.0 - menuAlignment;
|
||||
this.parent(menuAlignment, 'About Me');
|
||||
|
||||
this.about_hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
|
||||
this.hostname_label = new St.Label({y_align: Clutter.ActorAlign.CENTER});
|
||||
this.about_hbox.add_child(this.hostname_label);
|
||||
|
||||
this.actor.add_child(this.about_hbox);
|
||||
hbox = new St.BoxLayout({ name: 'aboutArea' });
|
||||
this.menu.box.add_child(hbox);
|
||||
|
||||
vbox = new St.BoxLayout({vertical: true});
|
||||
hbox.add(vbox);
|
||||
|
||||
///// Section: read '/etc/os-release' to get pretty name
|
||||
//
|
||||
// Note: previously this is defaulted to 'SUSE Linux Enterprise', now
|
||||
// let's use a "safer" option.
|
||||
let sysinfo_text = 'SUSE Linux';
|
||||
try {
|
||||
let success, contents, tag;
|
||||
let _os_release = Gio.File.new_for_path('/etc/os-release');
|
||||
[success, contents, tag] = _os_release.load_contents(null);
|
||||
|
||||
let osReleaseContentStr = contents.toString();
|
||||
let prettyNameReg = /^PRETTY_NAME="(.+)"/;
|
||||
let match = null;
|
||||
for (let line of osReleaseContentStr.split('\n')) {
|
||||
match = prettyNameReg.exec(line);
|
||||
if (match) {
|
||||
sysinfo_text = match[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
// NOTE soft fail, 'sysinfo_text' is the default
|
||||
warn('ERROR: fail to read /etc/os-release');
|
||||
}
|
||||
|
||||
this._sysinfo = new St.Label({ text: sysinfo_text, can_focus: true });
|
||||
vbox.add(this._sysinfo);
|
||||
this.actor.hide();
|
||||
|
||||
this._updateHostnameId = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
|
||||
this._ticket,
|
||||
Lang.bind(this, function() {
|
||||
if (this._ticket < 60*60)
|
||||
this._ticket *= 2;
|
||||
this._updateHostnameId = 0;
|
||||
this._updateHostname();
|
||||
return false;
|
||||
}));
|
||||
|
||||
return;
|
||||
},
|
||||
|
||||
_updateHostname: function(){
|
||||
let hostname_text = get_hostname();
|
||||
|
||||
if ((this._hostname == null) || (this._hostname != hostname_text)) {
|
||||
this._ticket = 1;
|
||||
this._hostname = hostname_text;
|
||||
this.hostname_label.set_text(this._hostname);
|
||||
this.actor.show();
|
||||
}
|
||||
this._updateHostnameId = GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT,
|
||||
this._ticket,
|
||||
Lang.bind(this, function() {
|
||||
if (this._ticket < 60*60)
|
||||
this._ticket *= 2;
|
||||
this._updateHostnameId = 0;
|
||||
this._updateHostname();
|
||||
return false;
|
||||
}));
|
||||
},
|
||||
|
||||
_destroy: function() {
|
||||
this._ticket = 1;
|
||||
if (this._updateHostnameId) {
|
||||
GLib.source_remove (this._updateHostnameId);
|
||||
this._updateHostnameId = 0;
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
function get_hostname() {
|
||||
let hostnameProxy = HostnameProxy(Gio.DBus.system,
|
||||
'org.freedesktop.hostname1',
|
||||
'/org/freedesktop/hostname1',
|
||||
null, null);
|
||||
|
||||
try {
|
||||
let name = hostnameProxy.GetSync('org.freedesktop.hostname1', 'Hostname');
|
||||
return name[0].get_string()[0];
|
||||
|
||||
} catch(e) {
|
||||
return 'localhost';
|
||||
}
|
||||
}
|
@ -1,17 +1,16 @@
|
||||
Index: gnome-shell-3.24.2/js/ui/endSessionDialog.js
|
||||
Index: gnome-shell-45.0/js/ui/endSessionDialog.js
|
||||
===================================================================
|
||||
--- gnome-shell-3.24.2.orig/js/ui/endSessionDialog.js
|
||||
+++ gnome-shell-3.24.2/js/ui/endSessionDialog.js
|
||||
@@ -426,8 +426,10 @@ const EndSessionDialog = new Lang.Class(
|
||||
--- gnome-shell-45.0.orig/js/ui/endSessionDialog.js
|
||||
+++ gnome-shell-45.0/js/ui/endSessionDialog.js
|
||||
@@ -379,7 +379,10 @@ class EndSessionDialog extends ModalDial
|
||||
|
||||
let description;
|
||||
let displayTime = _roundSecondsToInterval(this._totalSecondsToStayOpen,
|
||||
- this._secondsLeft,
|
||||
- 10);
|
||||
+ this._secondsLeft,
|
||||
+ // larger than any normal value
|
||||
+ 1000000);
|
||||
+
|
||||
let displayTime = _roundSecondsToInterval(
|
||||
- this._totalSecondsToStayOpen, this._secondsLeft, 10);
|
||||
+ this._totalSecondsToStayOpen,
|
||||
+ this._secondsLeft,
|
||||
+ // larger than any normal value
|
||||
+ 1000000);
|
||||
|
||||
if (this._user.is_loaded) {
|
||||
let realName = this._user.get_real_name();
|
||||
|
BIN
gnome-shell-44.1.obscpio
(Stored with Git LFS)
BIN
gnome-shell-44.1.obscpio
(Stored with Git LFS)
Binary file not shown.
BIN
gnome-shell-45.3.obscpio
(Stored with Git LFS)
Normal file
BIN
gnome-shell-45.3.obscpio
(Stored with Git LFS)
Normal file
Binary file not shown.
12
gnome-shell-add-linkoption-dl.patch
Normal file
12
gnome-shell-add-linkoption-dl.patch
Normal file
@ -0,0 +1,12 @@
|
||||
Index: gnome-shell-45.0/src/meson.build
|
||||
===================================================================
|
||||
--- gnome-shell-45.0.orig/src/meson.build
|
||||
+++ gnome-shell-45.0/src/meson.build
|
||||
@@ -250,6 +250,7 @@ executable('gnome-shell', 'main.c',
|
||||
include_directories: [conf_inc, st_inc, include_directories('tray')],
|
||||
build_rpath: mutter_typelibdir,
|
||||
install_rpath: install_rpath,
|
||||
+ link_args: ['-ldl'],
|
||||
install: true
|
||||
)
|
||||
|
@ -7,14 +7,14 @@ Subject: [PATCH] Disable ibus when out of CJK
|
||||
js/misc/ibusManager.js | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
Index: gnome-shell-3.36.1/js/misc/ibusManager.js
|
||||
Index: gnome-shell-45.0/js/misc/ibusManager.js
|
||||
===================================================================
|
||||
--- gnome-shell-3.36.1.orig/js/misc/ibusManager.js
|
||||
+++ gnome-shell-3.36.1/js/misc/ibusManager.js
|
||||
@@ -31,6 +31,10 @@ function getIBusManager() {
|
||||
|
||||
var IBusManager = class {
|
||||
--- gnome-shell-45.0.orig/js/misc/ibusManager.js
|
||||
+++ gnome-shell-45.0/js/misc/ibusManager.js
|
||||
@@ -59,6 +59,10 @@ class IBusManager extends Signals.EventE
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
+ let daemon = Gio.File.new_for_path('/usr/bin/ibus-daemon');
|
||||
+ if (!daemon.query_exists(null))
|
||||
+ return;
|
||||
@ -22,7 +22,7 @@ Index: gnome-shell-3.36.1/js/misc/ibusManager.js
|
||||
IBus.init();
|
||||
|
||||
// This is the longest we'll keep the keyboard frozen until an input
|
||||
@@ -59,6 +63,10 @@ var IBusManager = class {
|
||||
@@ -114,6 +118,10 @@ class IBusManager extends Signals.EventE
|
||||
}
|
||||
|
||||
_spawn(extraArgs = []) {
|
||||
@ -31,5 +31,5 @@ Index: gnome-shell-3.36.1/js/misc/ibusManager.js
|
||||
+ return;
|
||||
+
|
||||
try {
|
||||
let cmdLine = ['ibus-daemon', '--panel', 'disable', ...extraArgs];
|
||||
let launcher = Gio.SubprocessLauncher.new(Gio.SubprocessFlags.NONE);
|
||||
const cmdLine = ['ibus-daemon', '--panel', 'disable', ...extraArgs];
|
||||
const launchContext = global.create_app_launch_context(0, -1);
|
||||
|
@ -1,9 +1,8 @@
|
||||
diff --git a/js/gdm/domain.js b/js/gdm/domain.js
|
||||
new file mode 100644
|
||||
index 0000000..2452696
|
||||
Index: gnome-shell-45.3/js/gdm/domain.js
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/js/gdm/domain.js
|
||||
@@ -0,0 +1,243 @@
|
||||
+++ gnome-shell-45.3/js/gdm/domain.js
|
||||
@@ -0,0 +1,236 @@
|
||||
+// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
+/*
|
||||
+ * Copyright 2011 Red Hat, Inc
|
||||
@ -24,19 +23,14 @@ index 0000000..2452696
|
||||
+ * 02111-1307, USA.
|
||||
+ */
|
||||
+
|
||||
+const Atk = imports.gi.Atk;
|
||||
+const Clutter = imports.gi.Clutter;
|
||||
+const Gdm = imports.gi.Gdm;
|
||||
+const Gio = imports.gi.Gio;
|
||||
+const GLib = imports.gi.GLib;
|
||||
+const Gtk = imports.gi.Gtk;
|
||||
+const Lang = imports.lang;
|
||||
+const Mainloop = imports.mainloop;
|
||||
+const Signals = imports.signals;
|
||||
+const St = imports.gi.St;
|
||||
+import Atk from 'gi://Atk';
|
||||
+import Gio from 'gi://Gio';
|
||||
+import GLib from 'gi://GLib';
|
||||
+import St from 'gi://St';
|
||||
+
|
||||
+const Main = imports.ui.main;
|
||||
+const PopupMenu = imports.ui.popupMenu;
|
||||
+import * as Main from '../ui/main.js';
|
||||
+import * as PopupMenu from '../ui/popupMenu.js';
|
||||
+import * as Signals from '../misc/signals.js';
|
||||
+
|
||||
+const DomainLoadStatus = {
|
||||
+ INIT : 0,
|
||||
@ -47,27 +41,26 @@ index 0000000..2452696
|
||||
+ ERR : 5
|
||||
+};
|
||||
+
|
||||
+var DomainMenuButton = new Lang.Class({
|
||||
+ Name: 'DomainMenuButton',
|
||||
+export class DomainMenuButton extends Signals.EventEmitter {
|
||||
+ constructor(scope, handler) {
|
||||
+ super();
|
||||
+
|
||||
+ _init: function () {
|
||||
+ this._separator = null;
|
||||
+ this.domain_enabled = false;
|
||||
+ this._domains = new Array();
|
||||
+ this._load_config();
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ _domainsPush: function(domain) {
|
||||
+ _domainsPush(domain) {
|
||||
+ let valid_content = domain.replace(/\s+/g, '');
|
||||
+
|
||||
+ if (valid_content.length > 0) {
|
||||
+ if (this._domains.indexOf(valid_content) == -1)
|
||||
+ this._domains.push (valid_content);
|
||||
+ }
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
+ _generate: function() {
|
||||
+ _generate() {
|
||||
+ let gearIcon = new St.Icon({ icon_name: 'samba-window',
|
||||
+ icon_size: 24
|
||||
+ });
|
||||
@ -87,24 +80,24 @@ index 0000000..2452696
|
||||
+ this._menu.actor.hide();
|
||||
+
|
||||
+ this._menu.connect('open-state-changed',
|
||||
+ Lang.bind(this, function(menu, isOpen) {
|
||||
+ (menu, isOpen) => {
|
||||
+ if (isOpen)
|
||||
+ this._button.add_style_pseudo_class('active');
|
||||
+ else
|
||||
+ this._button.remove_style_pseudo_class('active');
|
||||
+ }));
|
||||
+ });
|
||||
+
|
||||
+ this._manager = new PopupMenu.PopupMenuManager({ actor: this._button });
|
||||
+ this._manager.addMenu(this._menu);
|
||||
+
|
||||
+ this._button.connect('clicked', Lang.bind(this, function() {
|
||||
+ this._button.connect('clicked', () => {
|
||||
+ this._menu.toggle();
|
||||
+ }));
|
||||
+ });
|
||||
+
|
||||
+ this._populate();
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
+ _load_config: function() {
|
||||
+ _load_config() {
|
||||
+ let keyfile = new GLib.KeyFile();
|
||||
+ let path = "/etc/gdm/custom.conf";
|
||||
+ let domain_group = "domains";
|
||||
@ -128,10 +121,10 @@ index 0000000..2452696
|
||||
+ }
|
||||
+ this._generate();
|
||||
+ }
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
+ _readStdout: function(data) {
|
||||
+ this._dataStdout.read_line_async(GLib.PRIORITY_DEFAULT, null, Lang.bind(this, function(stream, result) {
|
||||
+ _readStdout(data) {
|
||||
+ this._dataStdout.read_line_async(GLib.PRIORITY_DEFAULT, null, (this, function(stream, result) {
|
||||
+ let [line, len] = this._dataStdout.read_line_finish_utf8(result);
|
||||
+
|
||||
+ if (line == null) {
|
||||
@ -144,9 +137,9 @@ index 0000000..2452696
|
||||
+ data.push(line);
|
||||
+ this._readStdout(data);
|
||||
+ }));
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
+ loadCommand: function(argv) {
|
||||
+ loadCommand(argv) {
|
||||
+ try {
|
||||
+ let data = new Array();
|
||||
+ let [success, pid, stdin, stdout, stderr] = GLib.spawn_async_with_pipes(null,
|
||||
@ -162,9 +155,9 @@ index 0000000..2452696
|
||||
+ } catch (e) {
|
||||
+ this.loadDomains(null, e);
|
||||
+ }
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
+ loadDomains: function(data, err) {
|
||||
+ loadDomains(data, err) {
|
||||
+ /*FIXME: reload every 5 minutes? */
|
||||
+ /*TODO: load the setting file */
|
||||
+ switch (this._status) {
|
||||
@ -205,61 +198,60 @@ index 0000000..2452696
|
||||
+ for (let i = 0; i < this._domains.length; i++) {
|
||||
+ item = new PopupMenu.PopupMenuItem(this._domains[i]);
|
||||
+ this._menu.addMenuItem(item);
|
||||
+ item.connect('activate', Lang.bind(this, function(item) {
|
||||
+ item.connect('activate', (item) => {
|
||||
+ //?? Why it does not work
|
||||
+ //this.setActiveDomain(this._domains[i]);
|
||||
+ this.setActiveDomain(item.label.text);
|
||||
+ }));
|
||||
+ });
|
||||
+ }
|
||||
+ break;
|
||||
+ }
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
+ _populate: function() {
|
||||
+ _populate() {
|
||||
+ //TODO Recent domains?
|
||||
+ item = new PopupMenu.PopupMenuItem(_("loading the wbinfos..."));
|
||||
+ item.setSensitive(false);
|
||||
+ this._menu.addMenuItem(item);
|
||||
+ this._status = DomainLoadStatus.INIT;
|
||||
+ this.loadDomains(null, null);
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
+ setActiveDomain: function(domain) {
|
||||
+ setActiveDomain(domain) {
|
||||
+ this._activeDomain = domain;
|
||||
+ //this.emit('domain-activated', this._activeDomain);
|
||||
+ this.emit('domain-activated');
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
+ getActiveDomain: function(domain) {
|
||||
+ getActiveDomain(domain) {
|
||||
+ return this._activeDomain;
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
+ getQuestionMessage: function() {
|
||||
+ getQuestionMessage() {
|
||||
+ return _("User for ") + this._activeDomain;
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
+ getHintMessage: function() {
|
||||
+ getHintMessage() {
|
||||
+ return _("Contact dliang to get help");
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
+ getDomainUser: function(user) {
|
||||
+ getDomainUser(user) {
|
||||
+ return this._activeDomain + this._separator + user;
|
||||
+ }
|
||||
+});
|
||||
+Signals.addSignalMethods(DomainMenuButton.prototype);
|
||||
diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js
|
||||
index 6f66a27..3f01ca0 100644
|
||||
--- a/js/gdm/loginDialog.js
|
||||
+++ b/js/gdm/loginDialog.js
|
||||
@@ -21,6 +21,7 @@ const { AccountsService, Atk, Clutter, Gdm, Gio,
|
||||
GLib, GObject, Meta, Pango, Shell, St } = imports.gi;
|
||||
+}
|
||||
Index: gnome-shell-45.3/js/gdm/loginDialog.js
|
||||
===================================================================
|
||||
--- gnome-shell-45.3.orig/js/gdm/loginDialog.js
|
||||
+++ gnome-shell-45.3/js/gdm/loginDialog.js
|
||||
@@ -29,6 +29,7 @@ import Shell from 'gi://Shell';
|
||||
import St from 'gi://St';
|
||||
|
||||
const AuthPrompt = imports.gdm.authPrompt;
|
||||
+const Domain = imports.gdm.domain;
|
||||
const Batch = imports.gdm.batch;
|
||||
const BoxPointer = imports.ui.boxpointer;
|
||||
const CtrlAltTab = imports.ui.ctrlAltTab;
|
||||
@@ -449,6 +450,10 @@ var LoginDialog = GObject.registerClass({
|
||||
import * as AuthPrompt from './authPrompt.js';
|
||||
+import * as Domain from './domain.js';
|
||||
import * as Batch from './batch.js';
|
||||
import * as BoxPointer from '../ui/boxpointer.js';
|
||||
import * as CtrlAltTab from '../ui/ctrlAltTab.js';
|
||||
@@ -464,6 +465,10 @@ export const LoginDialog = GObject.regis
|
||||
this._authPrompt.hide();
|
||||
this.add_child(this._authPrompt);
|
||||
|
||||
@ -270,7 +262,7 @@ index 6f66a27..3f01ca0 100644
|
||||
// translators: this message is shown below the user list on the
|
||||
// login screen. It can be activated to reveal an entry for
|
||||
// manually entering the username.
|
||||
@@ -470,7 +475,18 @@ var LoginDialog = GObject.registerClass({
|
||||
@@ -485,7 +490,18 @@ export const LoginDialog = GObject.regis
|
||||
|
||||
this._notListedButton.hide();
|
||||
|
||||
@ -283,15 +275,15 @@ index 6f66a27..3f01ca0 100644
|
||||
+ this._domainMenuButton.actor.hide();
|
||||
+
|
||||
+ this._domainMenuButton.connect('domain-activated',
|
||||
+ Lang.bind(this, function(list) {
|
||||
+ this._hideUserListAskForDomainUsernameAndBeginVerification(); }));
|
||||
+ (list) => {
|
||||
+ this._hideUserListAskForDomainUsernameAndBeginVerification(); });
|
||||
+ this._userLayout.add_child(this._domainMenuButton.actor);
|
||||
+ } // domain end
|
||||
|
||||
this._bannerView = new St.ScrollView({ style_class: 'login-dialog-banner-view',
|
||||
opacity: 0,
|
||||
@@ -979,6 +995,37 @@ var LoginDialog = GObject.registerClass({
|
||||
});
|
||||
this._bannerView = new St.ScrollView({
|
||||
style_class: 'login-dialog-banner-view',
|
||||
@@ -1004,6 +1020,37 @@ export const LoginDialog = GObject.regis
|
||||
}, this);
|
||||
}
|
||||
|
||||
+ _askForDomainUsernameAndBeginVerification(domain) {
|
||||
@ -303,15 +295,15 @@ index 6f66a27..3f01ca0 100644
|
||||
+
|
||||
+ let realmManager = new Realmd.Manager();
|
||||
+ let realmSignalId = realmManager.connect('login-format-changed',
|
||||
+ Lang.bind(this, this._showRealmLoginHint));
|
||||
+ this._showRealmLoginHint.bind(this), this);
|
||||
+ this._showRealmLoginHint(realmManager.loginFormat);
|
||||
+
|
||||
+ let nextSignalId = this._authPrompt.connect('next',
|
||||
+ Lang.bind(this, function() {
|
||||
+ () => {
|
||||
+ this._authPrompt.disconnect(nextSignalId);
|
||||
+ this._authPrompt.updateSensitivity(false);
|
||||
+ let answer = this._authPrompt.getAnswer();
|
||||
+ let domain_answer = this._domainMenuButton.getDomainUser(answer);
|
||||
+ let domain_answer = this._domainMenuButton.getDomainUser(answer);
|
||||
+ this._user = this._userManager.get_user(domain_answer);
|
||||
+ this._authPrompt.clear();
|
||||
+ this._authPrompt.startSpinning();
|
||||
@ -320,7 +312,7 @@ index 6f66a27..3f01ca0 100644
|
||||
+
|
||||
+ realmManager.disconnect(realmSignalId)
|
||||
+ realmManager.release();
|
||||
+ }));
|
||||
+ });
|
||||
+ this._updateCancelButton();
|
||||
+ this._showPrompt();
|
||||
+ }
|
||||
@ -328,7 +320,7 @@ index 6f66a27..3f01ca0 100644
|
||||
_startSession(serviceName) {
|
||||
this._bindOpacity();
|
||||
this.ease({
|
||||
@@ -1134,6 +1181,11 @@ var LoginDialog = GObject.registerClass({
|
||||
@@ -1178,6 +1225,11 @@ export const LoginDialog = GObject.regis
|
||||
this._askForUsernameAndBeginVerification();
|
||||
}
|
||||
|
||||
@ -340,7 +332,7 @@ index 6f66a27..3f01ca0 100644
|
||||
_hideUserListAndBeginVerification() {
|
||||
this._hideUserList();
|
||||
this._authPrompt.begin();
|
||||
@@ -1147,6 +1199,9 @@ var LoginDialog = GObject.registerClass({
|
||||
@@ -1191,6 +1243,9 @@ export const LoginDialog = GObject.regis
|
||||
this._sessionMenuButton.hide();
|
||||
this._setUserListExpanded(true);
|
||||
this._notListedButton.show();
|
||||
@ -350,25 +342,25 @@ index 6f66a27..3f01ca0 100644
|
||||
this._userList.grab_key_focus();
|
||||
}
|
||||
|
||||
diff --git a/js/js-resources.gresource.xml b/js/js-resources.gresource.xml
|
||||
index eebbc36..5e5e7e2 100644
|
||||
--- a/js/js-resources.gresource.xml
|
||||
+++ b/js/js-resources.gresource.xml
|
||||
@@ -2,6 +2,7 @@
|
||||
<gresources>
|
||||
Index: gnome-shell-45.3/js/js-resources.gresource.xml
|
||||
===================================================================
|
||||
--- gnome-shell-45.3.orig/js/js-resources.gresource.xml
|
||||
+++ gnome-shell-45.3/js/js-resources.gresource.xml
|
||||
@@ -3,6 +3,7 @@
|
||||
<gresource prefix="/org/gnome/shell">
|
||||
<file>gdm/authList.js</file>
|
||||
<file>gdm/authPrompt.js</file>
|
||||
+ <file>gdm/domain.js</file>
|
||||
<file>gdm/batch.js</file>
|
||||
<file>gdm/credentialManager.js</file>
|
||||
<file>gdm/loginDialog.js</file>
|
||||
<file>gdm/oVirt.js</file>
|
||||
diff --git a/po/POTFILES.in b/po/POTFILES.in
|
||||
index cb279c1..7772367 100644
|
||||
--- a/po/POTFILES.in
|
||||
+++ b/po/POTFILES.in
|
||||
@@ -6,6 +6,7 @@ data/org.gnome.shell.gschema.xml.in
|
||||
Index: gnome-shell-45.3/po/POTFILES.in
|
||||
===================================================================
|
||||
--- gnome-shell-45.3.orig/po/POTFILES.in
|
||||
+++ gnome-shell-45.3/po/POTFILES.in
|
||||
@@ -9,6 +9,7 @@ data/org.gnome.Shell.Extensions.desktop.
|
||||
data/org.gnome.Shell.PortalHelper.desktop.in.in
|
||||
js/dbusServices/extensions/ui/extension-prefs-dialog.ui
|
||||
js/dbusServices/extensions/ui/extension-error-page.ui
|
||||
js/gdm/authPrompt.js
|
||||
+js/gdm/domain.js
|
||||
js/gdm/loginDialog.js
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: gnome-shell-44.beta/src/main.c
|
||||
Index: gnome-shell-45.0/src/main.c
|
||||
===================================================================
|
||||
--- gnome-shell-44.beta.orig/src/main.c
|
||||
+++ gnome-shell-44.beta/src/main.c
|
||||
@@ -680,7 +680,7 @@ main (int argc, char **argv)
|
||||
--- gnome-shell-45.0.orig/src/main.c
|
||||
+++ gnome-shell-45.0/src/main.c
|
||||
@@ -736,7 +736,7 @@ main (int argc, char **argv)
|
||||
g_object_unref (shell_global_get ());
|
||||
|
||||
g_debug ("Tearing down the mutter context");
|
||||
|
@ -1,53 +1,37 @@
|
||||
Index: gnome-shell-40.rc/data/gnome-shell-theme.gresource.xml
|
||||
Index: gnome-shell-45.3/data/gnome-shell-theme.gresource.xml
|
||||
===================================================================
|
||||
--- gnome-shell-40.rc.orig/data/gnome-shell-theme.gresource.xml
|
||||
+++ gnome-shell-40.rc/data/gnome-shell-theme.gresource.xml
|
||||
@@ -16,6 +16,7 @@
|
||||
<file alias="icons/scalable/status/message-indicator-symbolic.svg">message-indicator-symbolic.svg</file>
|
||||
<file>no-events.svg</file>
|
||||
<file>no-notifications.svg</file>
|
||||
--- gnome-shell-45.3.orig/data/gnome-shell-theme.gresource.xml
|
||||
+++ gnome-shell-45.3/data/gnome-shell-theme.gresource.xml
|
||||
@@ -13,6 +13,7 @@
|
||||
<file>gnome-shell-light.css</file>
|
||||
<file>gnome-shell-high-contrast.css</file>
|
||||
<file>gnome-shell-start.svg</file>
|
||||
+ <file>noise-texture.png</file>
|
||||
<file>pad-osd.css</file>
|
||||
<file alias="icons/scalable/status/eye-open-negative-filled-symbolic.svg">eye-open-negative-filled-symbolic.svg</file>
|
||||
<file alias="icons/scalable/status/eye-not-looking-symbolic.svg">eye-not-looking-symbolic.svg</file>
|
||||
Index: gnome-shell-40.rc/data/theme/gnome-shell-sass/widgets/_screen-shield.scss
|
||||
<file>process-working-light.svg</file>
|
||||
<file>process-working-dark.svg</file>
|
||||
Index: gnome-shell-45.3/js/ui/screenShield.js
|
||||
===================================================================
|
||||
--- gnome-shell-40.rc.orig/data/theme/gnome-shell-sass/widgets/_screen-shield.scss
|
||||
+++ gnome-shell-40.rc/data/theme/gnome-shell-sass/widgets/_screen-shield.scss
|
||||
@@ -65,6 +65,11 @@
|
||||
box-shadow: 0px 2px 4px rgba(0,0,0,0.6);
|
||||
}
|
||||
--- gnome-shell-45.3.orig/js/ui/screenShield.js
|
||||
+++ gnome-shell-45.3/js/ui/screenShield.js
|
||||
@@ -11,6 +11,7 @@ import St from 'gi://St';
|
||||
|
||||
+.bgLockDialogGroup-background {
|
||||
+ border: none;
|
||||
+ background-color: transparent;
|
||||
+}
|
||||
+
|
||||
#lockDialogGroup {
|
||||
background-color: $system_bg_color;
|
||||
}
|
||||
Index: gnome-shell-40.rc/js/ui/screenShield.js
|
||||
===================================================================
|
||||
--- gnome-shell-40.rc.orig/js/ui/screenShield.js
|
||||
+++ gnome-shell-40.rc/js/ui/screenShield.js
|
||||
@@ -4,6 +4,7 @@ const { AccountsService, Clutter, Gio,
|
||||
GLib, Graphene, Meta, Shell, St } = imports.gi;
|
||||
const Signals = imports.signals;
|
||||
import * as Signals from '../misc/signals.js';
|
||||
|
||||
+const Background = imports.ui.background;
|
||||
const GnomeSession = imports.misc.gnomeSession;
|
||||
const OVirt = imports.gdm.oVirt;
|
||||
const LoginManager = imports.misc.loginManager;
|
||||
@@ -16,6 +17,8 @@ const SmartcardManager = imports.misc.sm
|
||||
+import * as Background from './background.js';
|
||||
import * as GnomeSession from '../misc/gnomeSession.js';
|
||||
import * as OVirt from '../gdm/oVirt.js';
|
||||
import * as LoginManager from '../misc/loginManager.js';
|
||||
@@ -23,6 +24,8 @@ import * as SmartcardManager from '../mi
|
||||
|
||||
const { adjustAnimationTime } = imports.ui.environment;
|
||||
import {adjustAnimationTime} from '../misc/animationUtils.js';
|
||||
|
||||
+const LOCKDIALOG_BACKGROUND_SCHEMA = 'org.gnome.desktop.background.lockdialog';
|
||||
+
|
||||
const SCREENSAVER_SCHEMA = 'org.gnome.desktop.screensaver';
|
||||
const LOCK_ENABLED_KEY = 'lock-enabled';
|
||||
const LOCK_DELAY_KEY = 'lock-delay';
|
||||
@@ -25,6 +28,9 @@ const DISABLE_LOCK_KEY = 'disable-lock-s
|
||||
@@ -32,6 +35,9 @@ const DISABLE_LOCK_KEY = 'disable-lock-s
|
||||
|
||||
const LOCKED_STATE_STR = 'screenShield.locked';
|
||||
|
||||
@ -57,7 +41,7 @@ Index: gnome-shell-40.rc/js/ui/screenShield.js
|
||||
// ScreenShield animation time
|
||||
// - STANDARD_FADE_TIME is used when the session goes idle
|
||||
// - MANUAL_FADE_TIME is used for lowering the shield when asked by the user,
|
||||
@@ -65,6 +71,16 @@ var ScreenShield = class {
|
||||
@@ -74,6 +80,16 @@ export class ScreenShield extends Signal
|
||||
name: 'lockDialogGroup',
|
||||
});
|
||||
|
||||
@ -74,7 +58,7 @@ Index: gnome-shell-40.rc/js/ui/screenShield.js
|
||||
this.actor.add_actor(this._lockScreenGroup);
|
||||
this.actor.add_actor(this._lockDialogGroup);
|
||||
|
||||
@@ -142,6 +158,15 @@ var ScreenShield = class {
|
||||
@@ -142,6 +158,15 @@ export class ScreenShield extends Signal
|
||||
this._cursorTracker = Meta.CursorTracker.get_for_display(global.display);
|
||||
|
||||
this._syncInhibitor();
|
||||
@ -89,8 +73,8 @@ Index: gnome-shell-40.rc/js/ui/screenShield.js
|
||||
+ }
|
||||
}
|
||||
|
||||
_setActive(active) {
|
||||
@@ -492,6 +517,53 @@ var ScreenShield = class {
|
||||
async _getLoginSession() {
|
||||
@@ -518,6 +543,53 @@ export class ScreenShield extends Signal
|
||||
this.emit('wake-up-screen');
|
||||
}
|
||||
|
||||
|
30
gnome-shell-fix-cursor-on-hide-preedit.patch
Normal file
30
gnome-shell-fix-cursor-on-hide-preedit.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From c17f3aa64a264a5fec7d3c5f8d1e9415b60a55b4 Mon Sep 17 00:00:00 2001
|
||||
From: Alynx Zhou <alynx.zhou@gmail.com>
|
||||
Date: Wed, 15 May 2024 10:09:09 +0800
|
||||
Subject: [PATCH] inputMethod: Reset preedit cursor when preedit text is
|
||||
cleared
|
||||
|
||||
The preedit cursor position should be 0 when there is no preedit text,
|
||||
currently it will pass 1, which is the wrong previous value.
|
||||
---
|
||||
js/misc/inputMethod.js | 4 +---
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/js/misc/inputMethod.js b/js/misc/inputMethod.js
|
||||
index d8c3e62f0..2642aca9e 100644
|
||||
--- a/js/misc/inputMethod.js
|
||||
+++ b/js/misc/inputMethod.js
|
||||
@@ -163,9 +163,7 @@ export const InputMethod = GObject.registerClass({
|
||||
}
|
||||
|
||||
_onHidePreeditText() {
|
||||
- this.set_preedit_text(
|
||||
- null, this._preeditPos, this._preeditAnchor,
|
||||
- this._preeditCommitMode);
|
||||
+ this.set_preedit_text(null, 0, 0, this._preeditCommitMode);
|
||||
this._preeditVisible = false;
|
||||
}
|
||||
|
||||
--
|
||||
2.45.0
|
||||
|
@ -1,53 +1,80 @@
|
||||
diff --git a/js/js-resources.gresource.xml b/js/js-resources.gresource.xml
|
||||
index e65e0e9..eebbc36 100644
|
||||
--- a/js/js-resources.gresource.xml
|
||||
+++ b/js/js-resources.gresource.xml
|
||||
@@ -35,6 +35,7 @@
|
||||
<file>perf/core.js</file>
|
||||
<file>perf/hwtest.js</file>
|
||||
Index: gnome-shell-45.3/js/js-resources.gresource.xml
|
||||
===================================================================
|
||||
--- gnome-shell-45.3.orig/js/js-resources.gresource.xml
|
||||
+++ gnome-shell-45.3/js/js-resources.gresource.xml
|
||||
@@ -42,6 +42,7 @@
|
||||
<file>misc/util.js</file>
|
||||
<file>misc/weather.js</file>
|
||||
|
||||
+ <file>ui/aboutMenu.js</file>
|
||||
<file>ui/accessDialog.js</file>
|
||||
<file>ui/altTab.js</file>
|
||||
<file>ui/animation.js</file>
|
||||
diff --git a/js/ui/aboutMenu.js b/js/ui/aboutMenu.js
|
||||
new file mode 100644
|
||||
index 0000000..7add645
|
||||
Index: gnome-shell-45.3/js/ui/panel.js
|
||||
===================================================================
|
||||
--- gnome-shell-45.3.orig/js/ui/panel.js
|
||||
+++ gnome-shell-45.3/js/ui/panel.js
|
||||
@@ -36,6 +36,7 @@ import * as ThunderboltStatus from './st
|
||||
import * as AutoRotateStatus from './status/autoRotate.js';
|
||||
import * as BackgroundAppsStatus from './status/backgroundApps.js';
|
||||
|
||||
+import {AboutMenuButton} from './aboutMenu.js';
|
||||
import {DateMenuButton} from './dateMenu.js';
|
||||
import {ATIndicator} from './status/accessibility.js';
|
||||
import {InputSourceIndicator} from './status/keyboard.js';
|
||||
@@ -633,6 +634,7 @@ class QuickSettings extends PanelMenu.Bu
|
||||
});
|
||||
|
||||
const PANEL_ITEM_IMPLEMENTATIONS = {
|
||||
+ 'aboutMenu': AboutMenuButton,
|
||||
'activities': ActivitiesButton,
|
||||
'appMenu': AppMenuButton,
|
||||
'quickSettings': QuickSettings,
|
||||
Index: gnome-shell-45.3/js/ui/sessionMode.js
|
||||
===================================================================
|
||||
--- gnome-shell-45.3.orig/js/ui/sessionMode.js
|
||||
+++ gnome-shell-45.3/js/ui/sessionMode.js
|
||||
@@ -60,7 +60,7 @@ const _modes = {
|
||||
? ['networkAgent', 'polkitAgent']
|
||||
: ['polkitAgent'],
|
||||
panel: {
|
||||
- left: [],
|
||||
+ left: ['aboutMenu'],
|
||||
center: ['dateMenu'],
|
||||
right: ['dwellClick', 'a11y', 'keyboard', 'quickSettings'],
|
||||
},
|
||||
Index: gnome-shell-45.3/js/ui/aboutMenu.js
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/js/ui/aboutMenu.js
|
||||
@@ -0,0 +1,150 @@
|
||||
+++ gnome-shell-45.3/js/ui/aboutMenu.js
|
||||
@@ -0,0 +1,144 @@
|
||||
+// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
+
|
||||
+const GLib = imports.gi.GLib;
|
||||
+const Gio = imports.gi.Gio;
|
||||
+const Lang = imports.lang;
|
||||
+const Clutter = imports.gi.Clutter;
|
||||
+const St = imports.gi.St;
|
||||
+const DBus = imports.gi.DBus;
|
||||
+import GLib from 'gi://GLib';
|
||||
+import Gio from 'gi://Gio';
|
||||
+import Clutter from 'gi://Clutter';
|
||||
+import St from 'gi://St';
|
||||
+import GObject from 'gi://GObject';
|
||||
+
|
||||
+const PanelMenu = imports.ui.panelMenu;
|
||||
+import * as PanelMenu from './panelMenu.js';
|
||||
+
|
||||
+const AboutMenuButton = new Lang.Class({
|
||||
+ Name: 'AboutMenuButton',
|
||||
+ Extends: PanelMenu.Button,
|
||||
+export const AboutMenuButton = GObject.registerClass(
|
||||
+class AboutMenuButton extends PanelMenu.Button {
|
||||
+ _init() {
|
||||
+ super._init(0.5);
|
||||
+
|
||||
+ this._hostname = null;
|
||||
+ this._updateHostnameId = 0;
|
||||
+ this._ticket = 1;
|
||||
+
|
||||
+ let hbox;
|
||||
+ let vbox;
|
||||
+ let menuAlignment = 0.25;
|
||||
+
|
||||
+ if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
|
||||
+ menuAlignment = 1.0 - menuAlignment;
|
||||
+ this.parent(menuAlignment, 'About Me');
|
||||
+
|
||||
+ this.about_hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
|
||||
+ this.hostname_label = new St.Label({y_align: Clutter.ActorAlign.CENTER});
|
||||
+ this.about_hbox.add_child(this.hostname_label);
|
||||
+
|
||||
+ this.actor.add_child(this.about_hbox);
|
||||
+ this.add_child(this.about_hbox);
|
||||
+ hbox = new St.BoxLayout({ name: 'aboutArea' });
|
||||
+ this.menu.box.add_child(hbox);
|
||||
+
|
||||
@ -60,11 +87,10 @@ index 0000000..7add645
|
||||
+ // let's use a "safer" option.
|
||||
+ let sysinfo_text = 'SUSE Linux';
|
||||
+ try {
|
||||
+ let success, contents, tag;
|
||||
+ let _os_release = Gio.File.new_for_path('/etc/os-release');
|
||||
+ [success, contents, tag] = _os_release.load_contents(null);
|
||||
+ let [success_, contents] = _os_release.load_contents(null);
|
||||
+
|
||||
+ let osReleaseContentStr = contents.toString();
|
||||
+ let osReleaseContentStr = new TextDecoder().decode(contents);
|
||||
+ let prettyNameReg = /^PRETTY_NAME="(.+)"/;
|
||||
+ let match = null;
|
||||
+ for (let line of osReleaseContentStr.split('\n')) {
|
||||
@ -81,20 +107,20 @@ index 0000000..7add645
|
||||
+
|
||||
+ this._sysinfo = new St.Label({ text: sysinfo_text, can_focus: true });
|
||||
+ vbox.add(this._sysinfo);
|
||||
+ this.actor.hide();
|
||||
+ this.hide();
|
||||
+
|
||||
+ this._updateHostnameId = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
|
||||
+ this._ticket,
|
||||
+ Lang.bind(this, function() {
|
||||
+ ()=> {
|
||||
+ if (this._ticket < 60*60)
|
||||
+ this._ticket *= 2;
|
||||
+ this._updateHostnameId = 0;
|
||||
+ this._updateHostname();
|
||||
+ return false;
|
||||
+ }));
|
||||
+ return GLib.SOURCE_REMOVE;
|
||||
+ });
|
||||
+
|
||||
+ return;
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
+ _updateHostname(){
|
||||
+ let hostname_text = get_hostname();
|
||||
@ -103,18 +129,18 @@ index 0000000..7add645
|
||||
+ this._ticket = 1;
|
||||
+ this._hostname = hostname_text;
|
||||
+ this.hostname_label.set_text(this._hostname);
|
||||
+ this.actor.show();
|
||||
+ this.show();
|
||||
+ }
|
||||
+ this._updateHostnameId = GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT,
|
||||
+ this._ticket,
|
||||
+ Lang.bind(this, function() {
|
||||
+ ()=> {
|
||||
+ if (this._ticket < 60*60)
|
||||
+ this._ticket *= 2;
|
||||
+ this._updateHostnameId = 0;
|
||||
+ this._updateHostname();
|
||||
+ return false;
|
||||
+ }));
|
||||
+ },
|
||||
+ return GLib.SOURCE_REMOVE;
|
||||
+ });
|
||||
+ }
|
||||
+
|
||||
+ _destroy() {
|
||||
+ this._ticket = 1;
|
||||
@ -122,7 +148,7 @@ index 0000000..7add645
|
||||
+ GLib.source_remove (this._updateHostnameId);
|
||||
+ this._updateHostnameId = 0;
|
||||
+ }
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
+});
|
||||
+
|
||||
@ -136,7 +162,7 @@ index 0000000..7add645
|
||||
+ object_path: '/org/freedesktop/hostname1',
|
||||
+ interface_name: 'org.freedesktop.DBus.Properties',
|
||||
+ method_name: 'Get',
|
||||
+ parameters: GLib.Variant.new_tuple(interface_name, 2),
|
||||
+ parameters: GLib.Variant.new_tuple(interface_name),
|
||||
+ reply_type: null,
|
||||
+ flags: Gio.DBusCallFlags.NONE,
|
||||
+ timeout_msec: -1,
|
||||
@ -144,7 +170,7 @@ index 0000000..7add645
|
||||
+ };
|
||||
+
|
||||
+ try {
|
||||
+ let dbusConnection = Gio.bus_get_sync(DBus.BusType.SYSTEM, null);
|
||||
+ let dbusConnection = Gio.bus_get_sync(Gio.BusType.SYSTEM, null);
|
||||
+
|
||||
+ let message = dbusConnection.call_sync(
|
||||
+ call.bus_name,
|
||||
@ -166,28 +192,3 @@ index 0000000..7add645
|
||||
+
|
||||
+ return hostname;
|
||||
+}
|
||||
diff --git a/js/ui/panel.js b/js/ui/panel.js
|
||||
index cba3241..f5dfc2b 100644
|
||||
--- a/js/ui/panel.js
|
||||
+++ b/js/ui/panel.js
|
||||
@@ -722,6 +722,7 @@ class AggregateMenu extends PanelMenu.Button {
|
||||
});
|
||||
|
||||
const PANEL_ITEM_IMPLEMENTATIONS = {
|
||||
+ 'aboutMenu': imports.ui.aboutMenu.AboutMenuButton,
|
||||
'activities': ActivitiesButton,
|
||||
'aggregateMenu': AggregateMenu,
|
||||
'appMenu': AppMenuButton,
|
||||
diff --git a/js/ui/sessionMode.js b/js/ui/sessionMode.js
|
||||
index 2136e94..6d5e7c8 100644
|
||||
--- a/js/ui/sessionMode.js
|
||||
+++ b/js/ui/sessionMode.js
|
||||
@@ -34,7 +34,7 @@ const _modes = {
|
||||
unlockDialog: null,
|
||||
components: [],
|
||||
panel: {
|
||||
- left: [],
|
||||
+ left: ['aboutMenu'],
|
||||
center: [],
|
||||
right: [],
|
||||
},
|
||||
|
@ -1,10 +1,11 @@
|
||||
diff -Nura gnome-shell-40.0/js/ui/status/keyboard.js gnome-shell-40.0_new/js/ui/status/keyboard.js
|
||||
--- gnome-shell-40.0/js/ui/status/keyboard.js 2021-03-20 20:17:01.436522500 +0800
|
||||
+++ gnome-shell-40.0_new/js/ui/status/keyboard.js 2021-03-30 20:02:18.835931202 +0800
|
||||
@@ -264,6 +264,39 @@
|
||||
this._settings.connect('changed::%s'.format(this._KEY_INPUT_SOURCES), this._emitInputSourcesChanged.bind(this));
|
||||
this._settings.connect('changed::%s'.format(this._KEY_KEYBOARD_OPTIONS), this._emitKeyboardOptionsChanged.bind(this));
|
||||
this._settings.connect('changed::%s'.format(this._KEY_PER_WINDOW), this._emitPerWindowChanged.bind(this));
|
||||
Index: gnome-shell-45.0/js/ui/status/keyboard.js
|
||||
===================================================================
|
||||
--- gnome-shell-45.0.orig/js/ui/status/keyboard.js
|
||||
+++ gnome-shell-45.0/js/ui/status/keyboard.js
|
||||
@@ -274,6 +274,39 @@ class InputSourceSessionSettings extends
|
||||
this._settings.connect(`changed::${this._KEY_INPUT_SOURCES}`, this._emitInputSourcesChanged.bind(this));
|
||||
this._settings.connect(`changed::${this._KEY_KEYBOARD_OPTIONS}`, this._emitKeyboardOptionsChanged.bind(this));
|
||||
this._settings.connect(`changed::${this._KEY_PER_WINDOW}`, this._emitPerWindowChanged.bind(this));
|
||||
+
|
||||
+ let sources = this._settings.get_value(this._KEY_INPUT_SOURCES);
|
||||
+ let nSources = sources.n_children();
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: gnome-shell-44.beta/js/ui/endSessionDialog.js
|
||||
Index: gnome-shell-45.0/js/ui/endSessionDialog.js
|
||||
===================================================================
|
||||
--- gnome-shell-44.beta.orig/js/ui/endSessionDialog.js
|
||||
+++ gnome-shell-44.beta/js/ui/endSessionDialog.js
|
||||
@@ -296,7 +296,7 @@ class EndSessionDialog extends ModalDial
|
||||
--- gnome-shell-45.0.orig/js/ui/endSessionDialog.js
|
||||
+++ gnome-shell-45.0/js/ui/endSessionDialog.js
|
||||
@@ -300,7 +300,7 @@ class EndSessionDialog extends ModalDial
|
||||
this.contentLayout.add_child(this._applicationSection);
|
||||
|
||||
this._sessionSection = new Dialog.ListSection({
|
||||
@ -11,14 +11,14 @@ Index: gnome-shell-44.beta/js/ui/endSessionDialog.js
|
||||
});
|
||||
this.contentLayout.add_child(this._sessionSection);
|
||||
|
||||
@@ -758,8 +758,8 @@ class EndSessionDialog extends ModalDial
|
||||
@@ -753,8 +753,8 @@ class EndSessionDialog extends ModalDial
|
||||
this._applications.push(inhibitor);
|
||||
}
|
||||
|
||||
- if (dialogContent.showOtherSessions)
|
||||
- this._loadSessions();
|
||||
+ // if (dialogContent.showOtherSessions) // Hide _sessionList for jsc#SLE-9267
|
||||
+ // this._loadSessions();
|
||||
- this._loadSessions().catch(logError);
|
||||
+ //if (dialogContent.showOtherSessions)
|
||||
+ //this._loadSessions().catch(logError);
|
||||
|
||||
let updatesAllowed = this._updatesPermission && this._updatesPermission.allowed;
|
||||
|
||||
|
@ -1,12 +1,12 @@
|
||||
diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js
|
||||
index d2c9a16..7a4a0d3 100644
|
||||
--- a/js/gdm/authPrompt.js
|
||||
+++ b/js/gdm/authPrompt.js
|
||||
@@ -500,8 +500,10 @@ var AuthPrompt = GObject.registerClass({
|
||||
Index: gnome-shell-45.0/js/gdm/authPrompt.js
|
||||
===================================================================
|
||||
--- gnome-shell-45.0.orig/js/gdm/authPrompt.js
|
||||
+++ gnome-shell-45.0/js/gdm/authPrompt.js
|
||||
@@ -627,8 +627,10 @@ export const AuthPrompt = GObject.regist
|
||||
this._updateEntry(true);
|
||||
this.stopSpinning();
|
||||
|
||||
- if (oldStatus == AuthPromptStatus.VERIFICATION_FAILED)
|
||||
- if (oldStatus === AuthPromptStatus.VERIFICATION_FAILED)
|
||||
+ if (oldStatus == AuthPromptStatus.VERIFICATION_FAILED) {
|
||||
+ this._userVerifier.cancel();
|
||||
this.emit('failed');
|
||||
|
@ -1,9 +1,239 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 21 06:59:55 UTC 2023 - Xiaoguang Wang <xiaoguang.wang@suse.com>
|
||||
Tue May 21 08:24:13 UTC 2024 - Alynx Zhou <alynx.zhou@suse.com>
|
||||
|
||||
- Add 0001-screenshot-Do-not-wrongly-enable-window-button.patch
|
||||
Add 0002-screenshot-Only-handle-mode-switch-shortcut-when-sup.patch:
|
||||
(bsc#1215485 CVE-2023-43090).
|
||||
- Add gnome-shell-fix-cursor-on-hide-preedit.patch: Correctly reset
|
||||
preedit cursor location when hide preedit text to prevent
|
||||
potential problems (glgo#GNOME/gnome-shell!3318).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 7 07:47:00 UTC 2024 - Xiaoguang Wang <xiaoguang.wang@suse.com>
|
||||
|
||||
- Update gnome-shell-gdm-login-applet.patch: Clean up JS errors
|
||||
(bsc#1221100).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 20 10:03:05 UTC 2024 - Alynx Zhou <alynx.zhou@suse.com>
|
||||
|
||||
- Add gjs Requires, because ScreenSaver DBus daemon is a gjs
|
||||
script. (bsc#1219359)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 22 02:31:04 UTC 2024 - Xiaoguang Wang <xiaoguang.wang@suse.com>
|
||||
|
||||
- Adapt to version 45.3(bsc#1216072):
|
||||
+ Rebase gnome-shell-domain.patch
|
||||
+ Rebase gnome-shell-fate324570-Make-GDM-background-image-configurable.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 10 08:56:02 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Update to version 45.3:
|
||||
+ Allow any enter key to be used to screenshot.
|
||||
+ Fix spinner in light style variant.
|
||||
+ Improve formatting of extension errors.
|
||||
+ Fixed crash.
|
||||
+ Misc. bug fixes and cleanups.
|
||||
+ Updated translations.
|
||||
- Drop gnome-shell_nb_fix_trans.patch: fixed upstream.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Dec 2 20:02:57 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 45.2:
|
||||
+ Fix performance degradation due to repeated signal leak
|
||||
+ Optimize application search
|
||||
+ Fix on-screen keyboard backspace getting stuck
|
||||
+ Fix arrow navigation in search results
|
||||
+ Support async code in Eval() D-Bus method
|
||||
+ Fix sliders not requesting any size
|
||||
+ Only show prefs dialog after the extension has been loaded
|
||||
+ Improve high-contrast styling
|
||||
+ Fix mapping of tablet rings/strips
|
||||
+ Add support for "version-name" field in extension metainfo
|
||||
+ Fixed crashes
|
||||
+ Misc. bug fixes and cleanups
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 28 12:05:27 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Use %patch -p N instead of deprecated %patchN.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 1 09:44:23 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 45.1:
|
||||
+ Fix scroll handling on sliders
|
||||
+ overview: Handle unredirection as part of the state transition
|
||||
+ Handle DESKTOP windows during workspace animations
|
||||
+ Fix unexpected focus changes with multi-window apps
|
||||
+ Improve recording indicator in light style
|
||||
+ Fix calendar popup shrinking on date changes
|
||||
+ Fixed crashes
|
||||
+ Misc. bug fixes and cleanups
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 26 18:30:06 UTC 2023 - bjorn.lie@gmail.com
|
||||
|
||||
- Update to version 45.0+20:
|
||||
+ workspaceAnimation: Handle DESKTOP windows
|
||||
+ st/scroll-view: Use clutter_actor_get_effect() to get fade effect
|
||||
+ overview: Handle unredirection in OverviewShown state machine
|
||||
+ status/system: Use Intl to format battery percentage
|
||||
+ slider:
|
||||
- Ignore left/right scroll directions
|
||||
- Fix check for emulated scroll events
|
||||
+ Updated translations.
|
||||
- Add gnome-shell_nb_fix_trans.patch: Fix typo in translation
|
||||
breaking gnome-shell calendar overview.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 20 00:40:13 UTC 2023 - Xiaoguang Wang <xiaoguang.wang@suse.com>
|
||||
|
||||
- Rebase patches for SLE-15-SP6 (bsc#1216072):
|
||||
+ Rebase endSession-dialog-update-time-label-every-sec.patch
|
||||
+ Rebase gnome-shell-disable-ibus-when-not-installed.patch
|
||||
+ Rebase gnome-shell-domain.patch
|
||||
+ Rebase gnome-shell-exit-crash-workaround.patch
|
||||
+ Rebase gnome-shell-fate324570-Make-GDM-background-image-configurable.patch
|
||||
+ Rebase gnome-shell-gdm-login-applet.patch
|
||||
+ Rebase gnome-shell-jsc#SLE-16051-Input-method-recommendation.patch
|
||||
+ Rebase gnome-shell-jscSLE9267-Remove-sessionList-of-endSessionDialog.patch
|
||||
+ Rebase gnome-shell-screen-disappear.patch
|
||||
+ Remove aboutMenu.js
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 12 03:16:50 UTC 2023 - Yifan Jiang <yfjiang@suse.com>
|
||||
|
||||
- Add gnome-shell-add-linkoption-dl.patch on SLE and Leap: the -ldl
|
||||
option to build gnome-shell main programme is needed because an
|
||||
upstream fix. This option needs explicitly given on current SLE
|
||||
build environment. See:
|
||||
https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/65cde18786e2bea8ffe33317b86182207e419240
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 16 22:16:51 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 45.0:
|
||||
+ Fix exposing window previews on lock screen via keyboard
|
||||
shortcuts
|
||||
+ Improve handling of latched vs. locked modes in OSK
|
||||
+ Fix regression in workspace state tracking
|
||||
+ Update extensions immediately on startup after major upgrades
|
||||
+ Reverse slider direction in RTL locales
|
||||
+ Misc. bug fixes and cleanups (bsc#1215485 CVE-2023-43090).
|
||||
+ Updated translations.
|
||||
- Change compression of tarball in service and spec to zst from xz.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 6 19:26:54 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 45.rc:
|
||||
+ Allow notification dismissal with backspace
|
||||
+ Add workspace indicators in activities button
|
||||
+ Add extension hook to add quick settings items
|
||||
+ Fix legibility issue in calendar
|
||||
+ Fix three-finger swipes on touchscreens
|
||||
+ Add more options to `gnome-extensions create`
|
||||
+ Fix scrolling regression in ScrollView
|
||||
+ Fix broken workspace animation with swipe gesture
|
||||
+ Restore focus indication in system entries
|
||||
+ Use UUID as fallback extension gettext domain
|
||||
+ Reflect core app change in default "Utilities" folder
|
||||
+ Support OWE networks in status menu
|
||||
+ Show immediate feedback when toggling bluetooth
|
||||
+ Switch workspaces when scrolling over activities button
|
||||
+ Wrap around when navigating menus with arrow keys
|
||||
+ Fix background apps menu showing up empty
|
||||
+ Misc. bug fixes and cleanups
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 4 17:46:41 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 45.beta.1:
|
||||
+ Fix input handling in alt-tab and several other components
|
||||
+ Fix screenshot tool
|
||||
+ Export notification source classes for extensions
|
||||
+ Finishing ESM porting touches
|
||||
+ Misc. bug fixes and cleanups
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 4 16:46:05 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 45.beta:
|
||||
+ Load extensions as modules
|
||||
+ Run "perf" tests as external scripts
|
||||
+ Remove toLocaleFormat() from date
|
||||
+ Use Tecla for keyboard layout previews
|
||||
+ Fix accessibility of quick settings sliders
|
||||
+ Port to EcmaScript modules
|
||||
+ Overhaul ExtensionUtils API for modules
|
||||
+ Add a camera indicator
|
||||
+ Add keyboard backlight quick toggle
|
||||
+ Hide popup menu ornaments by default
|
||||
+ Improve light style variant
|
||||
+ Add InjectionManager convenience API for extensions
|
||||
+ Use per-direction labels on ring/strip tablet actions
|
||||
+ Misc. bug fixes and cleanups
|
||||
+ Updated translations.
|
||||
- Add TelepathyGlib to global typelibs exclude.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 4 15:44:24 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 45.alpha:
|
||||
+ Improve background apps menu
|
||||
+ Complete GTK4 port
|
||||
+ Use user-defined names in bluetooth menu
|
||||
+ Improve the built-in screen recorder
|
||||
+ Remove the app menu
|
||||
+ Fix stuck authentication dialog in remote sessions
|
||||
+ Provide generated toolbox images for development
|
||||
+ Fix glitches in calendar when using large-text option
|
||||
+ Use icons for ornaments in popup menus
|
||||
+ Improve calendar styling
|
||||
+ Fix IM popup getting stuck on engine changes
|
||||
+ Support color-scheme setting for default stylesheet
|
||||
+ Remove Soup2 support
|
||||
+ Expose public functions for search provider registration
|
||||
+ Updated translations.
|
||||
- Bump mutter_api 13 and mutter_req 45.alpha following upstream
|
||||
changes.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 4 14:31:42 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 44.4:
|
||||
+ Fix accessibility of quick settings sliders.
|
||||
+ Allow notification dismissal with backspace.
|
||||
+ Misc. bug fixes and cleanups.
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 6 18:14:15 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 44.3:
|
||||
+ Fix cursor offset when using magnifier.
|
||||
+ Fix missing workspace borders after wallpaper changes.
|
||||
+ Revert screencast optimization that results in bogus windows.
|
||||
+ Misc. bug fixes and cleanups.
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 5 07:39:49 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 44.2:
|
||||
+ Improve built-in screen recorder
|
||||
+ Use user-defined names in bluetooth menu
|
||||
+ Fix stuck authentication dialog in remote sessions
|
||||
+ Fix glitches in calendar when using large-text option
|
||||
+ Fix IM popup getting stuck on engine changes
|
||||
+ Fixed crash
|
||||
+ Misc. bug fixes and cleanups
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 25 10:50:17 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
@ -182,6 +412,12 @@ Tue Feb 14 10:40:16 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
+ Misc. bug fixes and cleanups
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 7 01:17:47 UTC 2023 - Xiaoguang Wang <xiaoguang.wang@suse.com>
|
||||
|
||||
- Update gs-fate318433-prevent-same-account-multi-logins.patch:
|
||||
Fix no warning messages (bsc#1207323).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Dec 10 09:03:48 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
@ -407,8 +643,9 @@ Fri May 6 08:41:37 UTC 2022 - Frederic Crozat <fcrozat@suse.com>
|
||||
+ Allow more intermediate icon sizes in app grid.
|
||||
+ Fixed crash.
|
||||
+ Plugged memory leak.
|
||||
- Remove gnome-shell-42.0-fix-switching-configuration.patch (merged
|
||||
upstream).
|
||||
- Remove merged upstream:
|
||||
+ gnome-shell-42.0-fix-switching-configuration.patch
|
||||
+ gnome-shell-Pass-cancellable-when-querying-file-info.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Apr 30 21:25:55 UTC 2022 - Antoine Belvire <antoine.belvire@opensuse.org>
|
||||
@ -549,6 +786,13 @@ Tue Feb 8 17:04:07 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Add 2078.patch: Fix build with meson 0.61 and newer.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 7 07:25:33 UTC 2022 - Xiaoguang Wang <xiaoguang.wang@suse.com>
|
||||
|
||||
- Add gnome-shell-Pass-cancellable-when-querying-file-info.patch:
|
||||
Pass cancellable when querying file info
|
||||
(bsc#1205518 glgo#GNOME/gnome-shell!2268)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 27 02:58:53 UTC 2022 - Yifan Jiang <yfjiang@suse.com>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
name: gnome-shell
|
||||
version: 44.1
|
||||
mtime: 1682324816
|
||||
commit: b0ca64e7775225b7c5d049571a44ef40bf516406
|
||||
version: 45.3
|
||||
mtime: 1704579588
|
||||
commit: c76b18a04282e48f6196ad1f9f1ab6f08c492599
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package gnome-shell
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -16,12 +16,12 @@
|
||||
#
|
||||
|
||||
|
||||
%global __requires_exclude typelib\\(Meta|MetaTest|Soup|St|Cogl|Clutter\\)
|
||||
%define mutter_api 12
|
||||
%define mutter_req 44.beta
|
||||
%global __requires_exclude typelib\\(Meta|MetaTest|Soup|St|Cogl|Clutter|TelepathyGlib\\)
|
||||
%define mutter_api 13
|
||||
%define mutter_req 45.beta
|
||||
|
||||
Name: gnome-shell
|
||||
Version: 44.1
|
||||
Version: 45.3
|
||||
Release: 0
|
||||
Summary: GNOME Shell
|
||||
# shew extension is LGPL 2.1; gnome-shell-extension-tool is GPL-3.0-or-later
|
||||
@ -30,23 +30,19 @@ Group: System/GUI/GNOME
|
||||
URL: https://wiki.gnome.org/Projects/GnomeShell
|
||||
# Source url disabled as we are using a git checkout via source service
|
||||
#Source0: https://download.gnome.org/sources/gnome-shell/41/%%{name}-%%{version}.tar.xz
|
||||
Source0: %{name}-%{version}.tar.xz
|
||||
Source0: %{name}-%{version}.tar.zst
|
||||
|
||||
# SOURCE-FEATURE-SLE aboutMenu fate#314545 dliang@suse.com -- Add an applet on login UI to display suse icon, product name, hostname.
|
||||
Source1: aboutMenu.js
|
||||
# SOURCE-FEATURE-OPENSUSE noise-texture boo#1176418 qkzhu@suse.com -- Add noise-texture as the default greeter background, used by patch4.
|
||||
Source2: noise-texture.png
|
||||
Source1: noise-texture.png
|
||||
|
||||
# PATCH-FIX-UPSTREAM gnome-shell-private-connection.patch bnc#751211 bgo#646187 dimstar@opensuse.org -- create private connections if the user is not authorized
|
||||
Patch1: gnome-shell-private-connection.patch
|
||||
# PATCH-FIX-OPENSUSE gnome-shell-executable-path-not-absolute.patch bsc#1176051 xwang@suse.com -- Fix ExecStart is not absolute path
|
||||
Patch7: gnome-shell-executable-path-not-absolute.patch
|
||||
# PATCH-NEEDS-REBASE gnome-shell-exit-crash-workaround.patch bsc#1190878 glgo#GNOME/gnome-shell#4344 qkzhu@suse.com -- Workaround logout crashing WAS: PATCH-FIX-UPSTREAM
|
||||
# PATCH-FIX-UPSTREAM gnome-shell-exit-crash-workaround.patch bsc#1190878 glgo#GNOME/gnome-shell#4344 qkzhu@suse.com -- Workaround logout crashing
|
||||
Patch8: gnome-shell-exit-crash-workaround.patch
|
||||
# PATCH-FIX-UPSTREAM 0001-screenshot-Do-not-wrongly-enable-window-button.patch bsc#1215485 CVE-2023-43090 xwang@suse.com -- Do not wrongly enable window button
|
||||
Patch9: 0001-screenshot-Do-not-wrongly-enable-window-button.patch
|
||||
# PATCH-FIX-UPSTREAM 0002-screenshot-Only-handle-mode-switch-shortcut-when-sup.patch bsc#1215485 CVE-2023-43090 xwang@suse.com -- Only handle mode-switch shortcut when supported
|
||||
Patch10: 0002-screenshot-Only-handle-mode-switch-shortcut-when-sup.patch
|
||||
# PATCH-FIX-UPSTREAM gnome-shell-fix-cursor-on-hide-preedit.patch glgo#GNOME/gnome-shell!3318 alynx.zhou@suse.com -- Correctly reset cursor when hide preedit
|
||||
Patch9: gnome-shell-fix-cursor-on-hide-preedit.patch
|
||||
|
||||
## NOTE: Keep SLE-only patches at bottom (starting on 1000).
|
||||
# PATCH-FEATURE-SLE gnome-shell-gdm-login-applet.patch fate#314545 dliang@suse.com -- Add an applet on login UI to display suse icon, product name, hostname.
|
||||
@ -69,6 +65,8 @@ Patch1010: gnome-shell-jsc#SLE-16051-Input-method-recommendation.patch
|
||||
Patch1011: gnome-shell-disable-offline-update-dialog.patch
|
||||
# PATCH-FEATURE-SLE gnome-shell-jscSLE9267-Remove-sessionList-of-endSessionDialog.patch jsc#SLE-9267 qkzhu@suse.com -- Remove sessionList of endSessionDialog
|
||||
Patch1012: gnome-shell-jscSLE9267-Remove-sessionList-of-endSessionDialog.patch
|
||||
# PATCH-FIX-SLE gnome-shell-add-linkoption-dl.patch -- Need explicit -ldl build option with older gcc on SLE 15
|
||||
Patch1013: gnome-shell-add-linkoption-dl.patch
|
||||
|
||||
# needed for directory ownership
|
||||
BuildRequires: asciidoc
|
||||
@ -133,6 +131,8 @@ Requires: gnome-settings-daemon
|
||||
# "High Contrast" in accessibility status icon
|
||||
Requires: gnome-themes-accessibility
|
||||
Requires: gsettings-desktop-schemas
|
||||
# ScreenSaver needs this.
|
||||
Requires: gjs >= 1.71.1
|
||||
Requires: mutter >= %{mutter_req}
|
||||
Requires: typelib(Soup) = 3.0
|
||||
Recommends: %{name}-calendar
|
||||
@ -186,31 +186,28 @@ This package contains an optional extensions app for managing GNOME Shell extens
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
%patch7 -p1
|
||||
#patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch -P 1 -p1
|
||||
%patch -P 7 -p1
|
||||
%patch -P 8 -p1
|
||||
%patch -P 9 -p1
|
||||
|
||||
%if 0%{?sle_version}
|
||||
%patch1001 -p1
|
||||
%patch1002 -p1
|
||||
%patch1003 -p1
|
||||
%patch1004 -p1
|
||||
%patch1007 -p1
|
||||
%patch1008 -p1
|
||||
%patch1009 -p1
|
||||
%patch -P 1001 -p1
|
||||
%patch -P 1002 -p1
|
||||
%patch -P 1003 -p1
|
||||
%patch -P 1004 -p1
|
||||
%patch -P 1007 -p1
|
||||
%patch -P 1008 -p1
|
||||
%patch -P 1009 -p1
|
||||
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150300
|
||||
%patch1010 -p1
|
||||
%patch1011 -p1
|
||||
%patch -P 1010 -p1
|
||||
%patch -P 1011 -p1
|
||||
%endif
|
||||
%patch1012 -p1
|
||||
%patch -P 1012 -p1
|
||||
%patch -P 1013 -p1
|
||||
%endif
|
||||
|
||||
cp %{SOURCE2} data/theme/
|
||||
%if 0%{?sle_version}
|
||||
cp %{SOURCE1} js/ui/
|
||||
%endif
|
||||
cp %{SOURCE1} data/theme/
|
||||
|
||||
%build
|
||||
%meson \
|
||||
@ -240,6 +237,10 @@ rm -f %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/org.gnome.Extensions.D
|
||||
%license COPYING
|
||||
%doc README.md NEWS
|
||||
%{_bindir}/gnome-shell
|
||||
%{_bindir}/gnome-extensions
|
||||
%{_bindir}/gnome-shell-extension-prefs
|
||||
%{_bindir}/gnome-shell-extension-tool
|
||||
%{_bindir}/gnome-shell-test-tool
|
||||
%dir %{_libdir}/gnome-shell
|
||||
%dir %{_libexecdir}/gnome-shell
|
||||
%exclude %{_libexecdir}/gnome-shell/gnome-shell-calendar-server
|
||||
@ -247,12 +248,12 @@ rm -f %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/org.gnome.Extensions.D
|
||||
%{_libexecdir}/gnome-shell/gnome-shell-perf-helper
|
||||
%{_libexecdir}/gnome-shell/gnome-shell-portal-helper
|
||||
%{_libdir}/gnome-shell/Gvc-1.0.typelib
|
||||
%{_libdir}/gnome-shell/Shell-12.typelib
|
||||
%{_libdir}/gnome-shell/St-12.typelib
|
||||
%{_libdir}/gnome-shell/Shell-%{mutter_api}.typelib
|
||||
%{_libdir}/gnome-shell/St-%{mutter_api}.typelib
|
||||
%{_libdir}/gnome-shell/libgnome-shell-menu.so
|
||||
%{_libdir}/gnome-shell/libshell-12.so
|
||||
%{_libdir}/gnome-shell/libshell-%{mutter_api}.so
|
||||
%{_libdir}/gnome-shell/libgvc.so
|
||||
%{_libdir}/gnome-shell/libst-12.so
|
||||
%{_libdir}/gnome-shell/libst-%{mutter_api}.so
|
||||
%{_datadir}/applications/org.gnome.Shell.desktop
|
||||
%{_datadir}/applications/org.gnome.Shell.PortalHelper.desktop
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Introspect.xml
|
||||
@ -302,11 +303,6 @@ rm -f %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/org.gnome.Extensions.D
|
||||
%{_datadir}/gnome-shell/org.gnome.ScreenSaver
|
||||
%{_datadir}/gnome-shell/org.gnome.ScreenSaver.src.gresource
|
||||
|
||||
%{_bindir}/gnome-shell-extension-tool
|
||||
%{_bindir}/gnome-shell-perf-tool
|
||||
|
||||
%{_bindir}/gnome-extensions
|
||||
%{_bindir}/gnome-shell-extension-prefs
|
||||
%{_mandir}/man?/gnome-extensions.?%{ext_man}
|
||||
%{_datadir}/bash-completion/completions/gnome-extensions
|
||||
%{_datadir}/icons/hicolor/scalable/apps/org.gnome.Shell.Extensions.svg
|
||||
|
@ -1,13 +1,13 @@
|
||||
Index: gnome-shell-41.3/js/gdm/loginDialog.js
|
||||
Index: gnome-shell-41.9/js/gdm/loginDialog.js
|
||||
===================================================================
|
||||
--- gnome-shell-41.3.orig/js/gdm/loginDialog.js
|
||||
+++ gnome-shell-41.3/js/gdm/loginDialog.js
|
||||
@@ -1043,6 +1043,29 @@ var LoginDialog = GObject.registerClass(
|
||||
--- gnome-shell-41.9.orig/js/gdm/loginDialog.js
|
||||
+++ gnome-shell-41.9/js/gdm/loginDialog.js
|
||||
@@ -1044,6 +1044,29 @@ var LoginDialog = GObject.registerClass(
|
||||
}
|
||||
|
||||
_onSessionOpened(client, serviceName) {
|
||||
+ if (this._user.get_num_sessions_anywhere() > 1) {
|
||||
+ this._authPrompt.setMessage(null,
|
||||
+ this._authPrompt.setMessage(
|
||||
+ _('Sorry, you have to log out a previous session first. Multiple logins are not supported.'),
|
||||
+ GdmUtil.MessageType.ERROR);
|
||||
+ // TODO: The following logic relies on the unverified fact that
|
||||
|
Loading…
Reference in New Issue
Block a user