Update to 42.alpha
This commit is contained in:
parent
4a46ac2e64
commit
f2ebbcf90a
1
.gitignore
vendored
1
.gitignore
vendored
@ -198,3 +198,4 @@ gnome-shell-2.31.5.tar.bz2
|
|||||||
/gnome-shell-41.rc.tar.xz
|
/gnome-shell-41.rc.tar.xz
|
||||||
/gnome-shell-41.rc.1.tar.xz
|
/gnome-shell-41.rc.1.tar.xz
|
||||||
/gnome-shell-41.0.tar.xz
|
/gnome-shell-41.0.tar.xz
|
||||||
|
/gnome-shell-42.alpha.tar.xz
|
||||||
|
@ -1,50 +0,0 @@
|
|||||||
From 380d2db1d9047ecffcef7d78f00184963b403efc Mon Sep 17 00:00:00 2001
|
|
||||||
From: Christian Hergert <chergert@redhat.com>
|
|
||||||
Date: Wed, 29 Sep 2021 12:46:45 -0700
|
|
||||||
Subject: [PATCH] inputMethod: Clear preeditStr before reset
|
|
||||||
|
|
||||||
Previously, these were performed in a different order before GNOME 41.
|
|
||||||
During some other changes they were swapped.
|
|
||||||
|
|
||||||
However, this causes both GTK 3 and GTK 4 applications to scroll to
|
|
||||||
incorrect positions from the preedit change.
|
|
||||||
|
|
||||||
Fixes #4647
|
|
||||||
Fixes GNOME/gtk#4289
|
|
||||||
Fixes GNOME/gnome-builder#1536
|
|
||||||
Fixes GNOME/gnome-builder#1531
|
|
||||||
|
|
||||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1993>
|
|
||||||
---
|
|
||||||
js/misc/inputMethod.js | 10 +++++-----
|
|
||||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/js/misc/inputMethod.js b/js/misc/inputMethod.js
|
|
||||||
index 25b02e35b..1f9eaee7a 100644
|
|
||||||
--- a/js/misc/inputMethod.js
|
|
||||||
+++ b/js/misc/inputMethod.js
|
|
||||||
@@ -179,16 +179,16 @@ class InputMethod extends Clutter.InputMethod {
|
|
||||||
}
|
|
||||||
|
|
||||||
vfunc_reset() {
|
|
||||||
+ if (this._context) {
|
|
||||||
+ this._context.reset();
|
|
||||||
+ this._emitRequestSurrounding();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (this._preeditStr !== null) {
|
|
||||||
// Unset any preedit text
|
|
||||||
this.set_preedit_text(null, 0, Clutter.PreeditResetMode.CLEAR);
|
|
||||||
this._preeditStr = null;
|
|
||||||
}
|
|
||||||
-
|
|
||||||
- if (this._context) {
|
|
||||||
- this._context.reset();
|
|
||||||
- this._emitRequestSurrounding();
|
|
||||||
- }
|
|
||||||
}
|
|
||||||
|
|
||||||
vfunc_set_cursor_location(rect) {
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
|||||||
From 286cfdc6d48dc4315df54d29d7d16b5198d92a56 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Carlos Garnacho <carlosg@gnome.org>
|
|
||||||
Date: Fri, 29 Oct 2021 16:41:55 +0200
|
|
||||||
Subject: [PATCH 1/3] inputMethod: Equate empty preedit string to null
|
|
||||||
|
|
||||||
If we get '' from the IM as the preedit string, it is pretty safe
|
|
||||||
to handle it as "no preedit" altogether.
|
|
||||||
|
|
||||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2011>
|
|
||||||
---
|
|
||||||
js/misc/inputMethod.js | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/js/misc/inputMethod.js b/js/misc/inputMethod.js
|
|
||||||
index 1f9eaee7a..7de7540d3 100644
|
|
||||||
--- a/js/misc/inputMethod.js
|
|
||||||
+++ b/js/misc/inputMethod.js
|
|
||||||
@@ -111,6 +111,8 @@ class InputMethod extends Clutter.InputMethod {
|
|
||||||
return;
|
|
||||||
|
|
||||||
let preedit = text.get_text();
|
|
||||||
+ if (preedit === '')
|
|
||||||
+ preedit = null;
|
|
||||||
|
|
||||||
if (visible)
|
|
||||||
this.set_preedit_text(preedit, pos, mode);
|
|
||||||
--
|
|
||||||
2.33.1
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
|||||||
From 2bcc6c09edcdfa9929e8c3b4c3ce7ec652b0ad46 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
|
|
||||||
Date: Wed, 22 Sep 2021 23:37:16 +0200
|
|
||||||
Subject: [PATCH] st/icon: Ensure icons are updated if theme node is invalid
|
|
||||||
|
|
||||||
Icons that are changed while an actor is not mapped may not have a theme
|
|
||||||
node associated with, and thus we'd end up not updating them at all.
|
|
||||||
In fact we return early in st_update_icon(), and this was not an issue
|
|
||||||
until commit 0b1dfbf6f3f, because we'd end up to update the icon anyways
|
|
||||||
once the style was changed (and so with a valid theme node), but since
|
|
||||||
such change we might not updating the icon if no theme detail changed.
|
|
||||||
|
|
||||||
To prevent this, add a flag to require an icon update when the theme
|
|
||||||
changed, if no successfully update happened earlier.
|
|
||||||
|
|
||||||
Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4568
|
|
||||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1983>
|
|
||||||
---
|
|
||||||
src/st/st-icon.c | 6 +++++-
|
|
||||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/st/st-icon.c b/src/st/st-icon.c
|
|
||||||
index 71ba1b6b3..876aa9bbb 100644
|
|
||||||
--- a/src/st/st-icon.c
|
|
||||||
+++ b/src/st/st-icon.c
|
|
||||||
@@ -59,6 +59,7 @@ struct _StIconPrivate
|
|
||||||
gint theme_icon_size; /* icon size from theme node */
|
|
||||||
gint icon_size; /* icon size we are using */
|
|
||||||
GIcon *fallback_gicon;
|
|
||||||
+ gboolean needs_update;
|
|
||||||
|
|
||||||
StIconColors *colors;
|
|
||||||
|
|
||||||
@@ -253,7 +254,7 @@ st_icon_style_changed (StWidget *widget)
|
|
||||||
|
|
||||||
should_update |= st_icon_update_icon_size (self);
|
|
||||||
|
|
||||||
- if (should_update)
|
|
||||||
+ if (priv->needs_update || should_update)
|
|
||||||
st_icon_update (self);
|
|
||||||
|
|
||||||
ST_WIDGET_CLASS (st_icon_parent_class)->style_changed (widget);
|
|
||||||
@@ -487,6 +488,8 @@ st_icon_update (StIcon *icon)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ priv->needs_update = TRUE;
|
|
||||||
+
|
|
||||||
theme_node = st_widget_peek_theme_node (ST_WIDGET (icon));
|
|
||||||
if (theme_node == NULL)
|
|
||||||
return;
|
|
||||||
@@ -525,6 +528,7 @@ st_icon_update (StIcon *icon)
|
|
||||||
priv->icon_size / paint_scale,
|
|
||||||
paint_scale,
|
|
||||||
resource_scale);
|
|
||||||
+ priv->needs_update = FALSE;
|
|
||||||
|
|
||||||
if (priv->pending_texture)
|
|
||||||
{
|
|
||||||
--
|
|
||||||
2.32.0
|
|
||||||
|
|
@ -1,94 +0,0 @@
|
|||||||
From de6604e4c7ddfcfd5fc089c462ecd29316b44189 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ray Strode <rstrode@redhat.com>
|
|
||||||
Date: Tue, 12 Oct 2021 15:15:50 -0400
|
|
||||||
Subject: [PATCH] st-password-entry: Fix crash when DConf changes after StEntry
|
|
||||||
is destroyed
|
|
||||||
|
|
||||||
commit 8721c5db37c1409dbb806c915e6c077e1c4b8c6b made StPasswordEntry
|
|
||||||
honor the 'disable-show-password' setting.
|
|
||||||
|
|
||||||
Unfortunately, it introduced a lifecycle bug where the signal handler
|
|
||||||
for noticing setting changes can out live the entry itself.
|
|
||||||
|
|
||||||
This commit fixes the problem by using g_signal_connect_object
|
|
||||||
---
|
|
||||||
src/st/st-password-entry.c | 9 +++++----
|
|
||||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/st/st-password-entry.c b/src/st/st-password-entry.c
|
|
||||||
index 3dd8c6c1c..d17eeefa4 100644
|
|
||||||
--- a/src/st/st-password-entry.c
|
|
||||||
+++ b/src/st/st-password-entry.c
|
|
||||||
@@ -202,64 +202,65 @@ on_disable_show_password_changed (GObject *object,
|
|
||||||
|
|
||||||
static void
|
|
||||||
clutter_text_password_char_cb (GObject *object,
|
|
||||||
GParamSpec *pspec,
|
|
||||||
gpointer user_data)
|
|
||||||
{
|
|
||||||
StPasswordEntry *entry = ST_PASSWORD_ENTRY (user_data);
|
|
||||||
ClutterActor *clutter_text;
|
|
||||||
|
|
||||||
clutter_text = st_entry_get_clutter_text (ST_ENTRY (entry));
|
|
||||||
if (clutter_text_get_password_char (CLUTTER_TEXT (clutter_text)) == 0)
|
|
||||||
st_password_entry_set_password_visible (entry, TRUE);
|
|
||||||
else
|
|
||||||
st_password_entry_set_password_visible (entry, FALSE);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
st_password_entry_init (StPasswordEntry *entry)
|
|
||||||
{
|
|
||||||
StPasswordEntryPrivate *priv = ST_PASSWORD_ENTRY_PRIV (entry);
|
|
||||||
ClutterActor *clutter_text;
|
|
||||||
|
|
||||||
priv->peek_password_icon = g_object_new (ST_TYPE_ICON,
|
|
||||||
"style-class", "peek-password",
|
|
||||||
"icon-name", "eye-not-looking-symbolic",
|
|
||||||
NULL);
|
|
||||||
st_entry_set_secondary_icon (ST_ENTRY (entry), priv->peek_password_icon);
|
|
||||||
|
|
||||||
st_password_entry_set_show_peek_icon (entry, TRUE);
|
|
||||||
|
|
||||||
- g_signal_connect (st_settings_get (),
|
|
||||||
- "notify::disable-show-password",
|
|
||||||
- G_CALLBACK (on_disable_show_password_changed),
|
|
||||||
- entry);
|
|
||||||
+ g_signal_connect_object (st_settings_get (),
|
|
||||||
+ "notify::disable-show-password",
|
|
||||||
+ G_CALLBACK (on_disable_show_password_changed),
|
|
||||||
+ entry,
|
|
||||||
+ 0);
|
|
||||||
|
|
||||||
clutter_text = st_entry_get_clutter_text (ST_ENTRY (entry));
|
|
||||||
clutter_text_set_password_char (CLUTTER_TEXT (clutter_text), BLACK_CIRCLE);
|
|
||||||
|
|
||||||
st_entry_set_input_purpose (ST_ENTRY (entry), CLUTTER_INPUT_CONTENT_PURPOSE_PASSWORD);
|
|
||||||
|
|
||||||
g_signal_connect (clutter_text, "notify::password-char",
|
|
||||||
G_CALLBACK (clutter_text_password_char_cb), entry);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* st_password_entry_new:
|
|
||||||
*
|
|
||||||
* Create a new #StPasswordEntry.
|
|
||||||
*
|
|
||||||
* Returns: a new #StEntry
|
|
||||||
*/
|
|
||||||
StEntry*
|
|
||||||
st_password_entry_new (void)
|
|
||||||
{
|
|
||||||
return ST_ENTRY (g_object_new (ST_TYPE_PASSWORD_ENTRY, NULL));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* st_password_entry_set_show_peek_icon:
|
|
||||||
* @entry: a #StPasswordEntry
|
|
||||||
* @value: %TRUE to show the peek-icon in the entry
|
|
||||||
*
|
|
||||||
* Sets whether to show or hide the peek-icon in the password entry. If %TRUE,
|
|
||||||
* a icon button for temporarily unmasking the password will be shown at the
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,90 +0,0 @@
|
|||||||
From 5d5bfe492cd81a081e80660761bac137d38133bd Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ray Strode <rstrode@redhat.com>
|
|
||||||
Date: Fri, 8 Oct 2021 11:08:17 -0400
|
|
||||||
Subject: [PATCH 1/2] unlockDialog: Don't create AuthDialog just to finish it
|
|
||||||
|
|
||||||
If the the unlock dialog gets finished before an auth dialog is
|
|
||||||
created, the code currently creates one just to tell it to finish.
|
|
||||||
|
|
||||||
This commit changes the code to skip creating the auth dialog in
|
|
||||||
that case.
|
|
||||||
|
|
||||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1999>
|
|
||||||
---
|
|
||||||
js/ui/unlockDialog.js | 6 +++++-
|
|
||||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/js/ui/unlockDialog.js b/js/ui/unlockDialog.js
|
|
||||||
index 370385abc..f4c76c41a 100644
|
|
||||||
--- a/js/ui/unlockDialog.js
|
|
||||||
+++ b/js/ui/unlockDialog.js
|
|
||||||
@@ -845,61 +845,65 @@ var UnlockDialog = GObject.registerClass({
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this._gdmClient) {
|
|
||||||
this._gdmClient = null;
|
|
||||||
delete this._gdmClient;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this._userLoadedId) {
|
|
||||||
this._user.disconnect(this._userLoadedId);
|
|
||||||
this._userLoadedId = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this._userSwitchEnabledId) {
|
|
||||||
this._screenSaverSettings.disconnect(this._userSwitchEnabledId);
|
|
||||||
this._userSwitchEnabledId = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_updateUserSwitchVisibility() {
|
|
||||||
this._otherUserButton.visible = this._userManager.can_switch() &&
|
|
||||||
this._screenSaverSettings.get_boolean('user-switch-enabled') &&
|
|
||||||
!this._lockdownSettings.get_boolean('disable-user-switching');
|
|
||||||
}
|
|
||||||
|
|
||||||
cancel() {
|
|
||||||
if (this._authPrompt)
|
|
||||||
this._authPrompt.cancel();
|
|
||||||
}
|
|
||||||
|
|
||||||
finish(onComplete) {
|
|
||||||
- this._ensureAuthPrompt();
|
|
||||||
+ if (!this._authPrompt) {
|
|
||||||
+ onComplete();
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
this._authPrompt.finish(onComplete);
|
|
||||||
}
|
|
||||||
|
|
||||||
open(timestamp) {
|
|
||||||
this.show();
|
|
||||||
|
|
||||||
if (this._isModal)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
let modalParams = {
|
|
||||||
timestamp,
|
|
||||||
actionMode: Shell.ActionMode.UNLOCK_SCREEN,
|
|
||||||
};
|
|
||||||
if (!Main.pushModal(this, modalParams))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
this._isModal = true;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
activate() {
|
|
||||||
this._showPrompt();
|
|
||||||
}
|
|
||||||
|
|
||||||
popModal(timestamp) {
|
|
||||||
if (this._isModal) {
|
|
||||||
Main.popModal(this, timestamp);
|
|
||||||
this._isModal = false;
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.32.0
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
|||||||
From 047691b0d3471630ec80e32f371291dd2ef02419 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Carlos Garnacho <carlosg@gnome.org>
|
|
||||||
Date: Fri, 29 Oct 2021 16:43:15 +0200
|
|
||||||
Subject: [PATCH 2/3] inputMethod: Do not communicate preedit text change on
|
|
||||||
reset
|
|
||||||
|
|
||||||
This is now done in the ClutterInputFocus for us, since
|
|
||||||
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1940. There
|
|
||||||
is no need to duplicate this call, and it happens to cause undesired
|
|
||||||
scrolling to content in some cases when this reset happens during
|
|
||||||
a change in the IM focused client state.
|
|
||||||
|
|
||||||
Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4647
|
|
||||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2011>
|
|
||||||
---
|
|
||||||
js/misc/inputMethod.js | 6 +-----
|
|
||||||
1 file changed, 1 insertion(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/js/misc/inputMethod.js b/js/misc/inputMethod.js
|
|
||||||
index 7de7540d3..71dff84f5 100644
|
|
||||||
--- a/js/misc/inputMethod.js
|
|
||||||
+++ b/js/misc/inputMethod.js
|
|
||||||
@@ -186,11 +186,7 @@ class InputMethod extends Clutter.InputMethod {
|
|
||||||
this._emitRequestSurrounding();
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (this._preeditStr !== null) {
|
|
||||||
- // Unset any preedit text
|
|
||||||
- this.set_preedit_text(null, 0, Clutter.PreeditResetMode.CLEAR);
|
|
||||||
- this._preeditStr = null;
|
|
||||||
- }
|
|
||||||
+ this._preeditStr = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
vfunc_set_cursor_location(rect) {
|
|
||||||
--
|
|
||||||
2.33.1
|
|
||||||
|
|
@ -1,109 +0,0 @@
|
|||||||
From ceee53aa0a40f3bf81945fabb4ecdd70d11143a4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ray Strode <rstrode@redhat.com>
|
|
||||||
Date: Tue, 5 Oct 2021 11:01:19 -0400
|
|
||||||
Subject: [PATCH 2/2] unlockDialog: Properly reset auth prompt when showing it
|
|
||||||
|
|
||||||
If a user hits escape twice really fast when coming back to
|
|
||||||
their machine to unlock it, they made end up getting presented
|
|
||||||
with a non-functional unlock screen that doesn't show their
|
|
||||||
user icon and doesn't ask for a password.
|
|
||||||
|
|
||||||
This is because showPrompt assumes that if an auth prompt already
|
|
||||||
exists, it's ready to go. That may not be true, if it's in the
|
|
||||||
process of getting torn down at the time because it's in the middle
|
|
||||||
of a cancel animation.
|
|
||||||
|
|
||||||
This commit solves the problem by ensuring the auth prompt is always
|
|
||||||
in a fresh reset state before showing it.
|
|
||||||
|
|
||||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1999>
|
|
||||||
---
|
|
||||||
js/ui/unlockDialog.js | 18 ++++++++----------
|
|
||||||
1 file changed, 8 insertions(+), 10 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/js/ui/unlockDialog.js b/js/ui/unlockDialog.js
|
|
||||||
index f4c76c41a..3ef6aa90f 100644
|
|
||||||
--- a/js/ui/unlockDialog.js
|
|
||||||
+++ b/js/ui/unlockDialog.js
|
|
||||||
@@ -649,70 +649,68 @@ var UnlockDialog = GObject.registerClass({
|
|
||||||
}
|
|
||||||
|
|
||||||
_updateBackgroundEffects() {
|
|
||||||
const themeContext = St.ThemeContext.get_for_stage(global.stage);
|
|
||||||
|
|
||||||
for (const widget of this._backgroundGroup) {
|
|
||||||
const effect = widget.get_effect('blur');
|
|
||||||
|
|
||||||
if (effect) {
|
|
||||||
effect.set({
|
|
||||||
brightness: BLUR_BRIGHTNESS,
|
|
||||||
sigma: BLUR_SIGMA * themeContext.scale_factor,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_updateBackgrounds() {
|
|
||||||
for (let i = 0; i < this._bgManagers.length; i++)
|
|
||||||
this._bgManagers[i].destroy();
|
|
||||||
|
|
||||||
this._bgManagers = [];
|
|
||||||
this._backgroundGroup.destroy_all_children();
|
|
||||||
|
|
||||||
for (let i = 0; i < Main.layoutManager.monitors.length; i++)
|
|
||||||
this._createBackground(i);
|
|
||||||
this._updateBackgroundEffects();
|
|
||||||
}
|
|
||||||
|
|
||||||
_ensureAuthPrompt() {
|
|
||||||
- if (this._authPrompt)
|
|
||||||
- return;
|
|
||||||
-
|
|
||||||
- this._authPrompt = new AuthPrompt.AuthPrompt(this._gdmClient,
|
|
||||||
- AuthPrompt.AuthPromptMode.UNLOCK_ONLY);
|
|
||||||
- this._authPrompt.connect('failed', this._fail.bind(this));
|
|
||||||
- this._authPrompt.connect('cancelled', this._fail.bind(this));
|
|
||||||
- this._authPrompt.connect('reset', this._onReset.bind(this));
|
|
||||||
-
|
|
||||||
- this._promptBox.add_child(this._authPrompt);
|
|
||||||
+ if (!this._authPrompt) {
|
|
||||||
+ this._authPrompt = new AuthPrompt.AuthPrompt(this._gdmClient,
|
|
||||||
+ AuthPrompt.AuthPromptMode.UNLOCK_ONLY);
|
|
||||||
+ this._authPrompt.connect('failed', this._fail.bind(this));
|
|
||||||
+ this._authPrompt.connect('cancelled', this._fail.bind(this));
|
|
||||||
+ this._authPrompt.connect('reset', this._onReset.bind(this));
|
|
||||||
+ this._promptBox.add_child(this._authPrompt);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
this._authPrompt.reset();
|
|
||||||
this._authPrompt.updateSensitivity(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
_maybeDestroyAuthPrompt() {
|
|
||||||
let focus = global.stage.key_focus;
|
|
||||||
if (focus === null ||
|
|
||||||
(this._authPrompt && this._authPrompt.contains(focus)) ||
|
|
||||||
(this._otherUserButton && focus === this._otherUserButton))
|
|
||||||
this.grab_key_focus();
|
|
||||||
|
|
||||||
if (this._authPrompt) {
|
|
||||||
this._authPrompt.destroy();
|
|
||||||
this._authPrompt = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_showClock() {
|
|
||||||
if (this._activePage === this._clock)
|
|
||||||
return;
|
|
||||||
|
|
||||||
this._activePage = this._clock;
|
|
||||||
|
|
||||||
this._adjustment.ease(0, {
|
|
||||||
duration: CROSSFADE_TIME,
|
|
||||||
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
|
|
||||||
onComplete: () => this._maybeDestroyAuthPrompt(),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.32.0
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
|||||||
From 01775609525b12de752a2f7ebac88baee9b041d3 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Carlos Garnacho <carlosg@gnome.org>
|
|
||||||
Date: Fri, 29 Oct 2021 16:46:18 +0200
|
|
||||||
Subject: [PATCH 3/3] inputMethod: Do not reset invisible preedit on focus_out
|
|
||||||
|
|
||||||
If the preedit is in invisible state, the last preedit string that
|
|
||||||
was sent around is already null, so there is no need to clear the preedit
|
|
||||||
in that case.
|
|
||||||
|
|
||||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2011>
|
|
||||||
---
|
|
||||||
js/misc/inputMethod.js | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/js/misc/inputMethod.js b/js/misc/inputMethod.js
|
|
||||||
index 71dff84f5..8c3cd61ae 100644
|
|
||||||
--- a/js/misc/inputMethod.js
|
|
||||||
+++ b/js/misc/inputMethod.js
|
|
||||||
@@ -167,7 +167,7 @@ class InputMethod extends Clutter.InputMethod {
|
|
||||||
if (this._context)
|
|
||||||
this._context.focus_out();
|
|
||||||
|
|
||||||
- if (this._preeditStr) {
|
|
||||||
+ if (this._preeditStr && this._preeditVisible) {
|
|
||||||
// Unset any preedit text
|
|
||||||
this.set_preedit_text(null, 0, this._preeditCommitMode);
|
|
||||||
this._preeditStr = null;
|
|
||||||
--
|
|
||||||
2.33.1
|
|
||||||
|
|
@ -1,50 +1,24 @@
|
|||||||
%global tarball_version %%(echo %{version} | tr '~' '.')
|
%global tarball_version %%(echo %{version} | tr '~' '.')
|
||||||
|
|
||||||
Name: gnome-shell
|
Name: gnome-shell
|
||||||
Version: 41.0
|
Version: 42~alpha
|
||||||
Release: 8%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Window management and application launching for GNOME
|
Summary: Window management and application launching for GNOME
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: https://wiki.gnome.org/Projects/GnomeShell
|
URL: https://wiki.gnome.org/Projects/GnomeShell
|
||||||
Source0: http://download.gnome.org/sources/gnome-shell/41/%{name}-%{tarball_version}.tar.xz
|
Source0: https://download.gnome.org/sources/gnome-shell/42/%{name}-%{tarball_version}.tar.xz
|
||||||
|
|
||||||
# Replace Epiphany with Firefox in the default favourite apps list
|
# Replace Epiphany with Firefox in the default favourite apps list
|
||||||
Patch10001: gnome-shell-favourite-apps-firefox.patch
|
Patch10001: gnome-shell-favourite-apps-firefox.patch
|
||||||
|
|
||||||
# Backported from upstream
|
|
||||||
# https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1993
|
|
||||||
Patch20001: 0001-inputMethod-Clear-preeditStr-before-reset.patch
|
|
||||||
|
|
||||||
# Fix wrong OSD icons displaying after the first
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2011872
|
|
||||||
# https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1983
|
|
||||||
Patch30001: 0001-st-icon-Ensure-icons-are-updated-if-theme-node-is-in.patch
|
|
||||||
|
|
||||||
# Some users might have a broken PAM config, so we really need this
|
# Some users might have a broken PAM config, so we really need this
|
||||||
# downstream patch to stop trying on configuration errors.
|
# downstream patch to stop trying on configuration errors.
|
||||||
Patch40001: 0001-gdm-Work-around-failing-fingerprint-auth.patch
|
Patch40001: 0001-gdm-Work-around-failing-fingerprint-auth.patch
|
||||||
|
|
||||||
# Fix crash if settings get updated after an entry is destroyed (#2009637)
|
|
||||||
Patch50001: 0001-st-password-entry-Fix-crash-when-DConf-changes-after.patch
|
|
||||||
|
|
||||||
# Fix problem where lock screen gets confused if you hit escape too fast too many times
|
|
||||||
# when coming back from screen blank
|
|
||||||
Patch60001: 0001-unlockDialog-Don-t-create-AuthDialog-just-to-finish-.patch
|
|
||||||
Patch60002: 0002-unlockDialog-Properly-reset-auth-prompt-when-showing.patch
|
|
||||||
|
|
||||||
# Work around crashy tear down
|
# Work around crashy tear down
|
||||||
Patch60003: 0001-main-Leak-the-GJS-context-and-ShellGlobal.patch
|
Patch60003: 0001-main-Leak-the-GJS-context-and-ShellGlobal.patch
|
||||||
|
|
||||||
# More fixes for cursor bouncing around in text editors
|
|
||||||
# https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4647
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2017192
|
|
||||||
# https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2011
|
|
||||||
Patch70001: 0001-inputMethod-Equate-empty-preedit-string-to-null.patch
|
|
||||||
Patch70002: 0002-inputMethod-Do-not-communicate-preedit-text-change-o.patch
|
|
||||||
Patch70003: 0003-inputMethod-Do-not-reset-invisible-preedit-on-focus_.patch
|
|
||||||
|
|
||||||
|
|
||||||
%define eds_version 3.33.1
|
%define eds_version 3.33.1
|
||||||
%define gnome_desktop_version 3.35.91
|
%define gnome_desktop_version 3.35.91
|
||||||
%define glib2_version 2.56.0
|
%define glib2_version 2.56.0
|
||||||
@ -149,7 +123,7 @@ Requires: python3%{_isa}
|
|||||||
Requires: switcheroo-control
|
Requires: switcheroo-control
|
||||||
# needed for clocks/weather integration
|
# needed for clocks/weather integration
|
||||||
Requires: geoclue2-libs%{?_isa}
|
Requires: geoclue2-libs%{?_isa}
|
||||||
Requires: libgweather%{?_isa} >= %{libgweather_version}
|
Requires: libgweather4%{?_isa} >= %{libgweather_version}
|
||||||
# needed for thunderbolt support
|
# needed for thunderbolt support
|
||||||
Requires: bolt%{?_isa}
|
Requires: bolt%{?_isa}
|
||||||
# Needed for launching flatpak apps etc
|
# Needed for launching flatpak apps etc
|
||||||
@ -258,6 +232,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.de
|
|||||||
%{_mandir}/man1/gnome-shell.1*
|
%{_mandir}/man1/gnome-shell.1*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jan 14 2022 David King <amigadave@amigadave.com> - 42~alpha-1
|
||||||
|
- Update to 42.alpha
|
||||||
|
|
||||||
* Fri Oct 29 2021 Adam Williamson <awilliam@redhat.com> - 41.0-8
|
* Fri Oct 29 2021 Adam Williamson <awilliam@redhat.com> - 41.0-8
|
||||||
- Backport MR #2011 to further fix unexpected scrolling (#2017192)
|
- Backport MR #2011 to further fix unexpected scrolling (#2017192)
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (gnome-shell-41.0.tar.xz) = 2d2a2dd4ecf315776c10949b00f10dbbd77f495542bb7ca8cdb95047998942433c5c4cad818fe729681f888f74038d51c3d5903f1a0861a66147dbf668231824
|
SHA512 (gnome-shell-42.alpha.tar.xz) = bce12df746d7b7d73e1ec6aa3ed460a596084a09a5adfd91e967ec60b20d0f1b554d3b63ef014339eb5d60c6ed34199c680758b7a30bcd068852f7c3005e99dc
|
||||||
|
Loading…
Reference in New Issue
Block a user