AlmaLinux changes: Use AlmaLinux icon as activities button

Use unbranded illustrations

Fix Firefox desktop filename in favorites
This commit is contained in:
Eduard Abdullin 2026-02-19 01:47:09 +00:00 committed by root
commit e3ecf84125
8 changed files with 2419 additions and 1632 deletions

1
.gitignore vendored
View File

@ -242,3 +242,4 @@ gnome-shell-2.31.5.tar.bz2
/gnome-shell-47.9.tar.xz
/gnome-shell-47.10.tar.xz
/gnome-shell-49.1.tar.xz
/gnome-shell-49.4.tar.xz

File diff suppressed because it is too large Load Diff

View File

@ -4,13 +4,13 @@ Date: Tue, 16 Apr 2024 20:49:40 +0200
Subject: [PATCH] data: Update generated stylesheets
---
data/theme/gnome-shell-dark.css | 460 +++++++++++++++++-----
data/theme/gnome-shell-high-contrast.css | 476 ++++++++++++++++++-----
data/theme/gnome-shell-light.css | 460 +++++++++++++++++-----
3 files changed, 1072 insertions(+), 324 deletions(-)
data/theme/gnome-shell-dark.css | 468 +++++++++++++++++-----
data/theme/gnome-shell-high-contrast.css | 484 ++++++++++++++++++-----
data/theme/gnome-shell-light.css | 467 +++++++++++++++++-----
3 files changed, 1095 insertions(+), 324 deletions(-)
diff --git a/data/theme/gnome-shell-dark.css b/data/theme/gnome-shell-dark.css
index 75dc5c6..aa5765d 100644
index 82e68c5..a96fde1 100644
--- a/data/theme/gnome-shell-dark.css
+++ b/data/theme/gnome-shell-dark.css
@@ -42,7 +42,9 @@ stage {
@ -215,8 +215,8 @@ index 75dc5c6..aa5765d 100644
font-size: 1.182em; }
-.login-dialog-not-listed-label, #LookingGlassExtensions .lg-extension .lg-extension-name, #LookingGlassWindows .lg-window .lg-window-name, #LookingGlassPropertyInspector .lg-obj-inspector-title, .background-app-item .title, .quick-toggle .quick-toggle-title, .osd-window, .dialog-list .dialog-list-title, .message-list-controls, .weather-button .weather-box .weather-header-box .weather-header, .world-clocks-button .world-clocks-header, .events-button .events-box .events-list .event-box .event-summary, .events-button .events-box .events-title, .calendar .calendar-month-header .calendar-month-label {
+.login-dialog-auth-list-item-popup-box .login-dialog-auth-list-item-popup-labels, .login-dialog-auth-list-item-first-line,
+.login-dialog-auth-list-item-second-line, .login-dialog-not-listed-label, #LookingGlassExtensions .lg-extension .lg-extension-name, #LookingGlassWindows .lg-window .lg-window-name, #LookingGlassPropertyInspector .lg-obj-inspector-title, .background-app-item .title, .quick-toggle .quick-toggle-title, .osd-window, .dialog-list .dialog-list-title, .message-list-controls, .weather-button .weather-box .weather-header-box .weather-header, .world-clocks-button .world-clocks-header, .events-button .events-box .events-list .event-box .event-summary, .events-button .events-box .events-title, .calendar .calendar-month-header .calendar-month-label {
+.login-dialog-item-icon-popup-box .login-dialog-item-icon-popup-labels, .login-dialog-auth-list-item-title,
+.login-dialog-auth-list-item-subtitle, .login-dialog-not-listed-label, #LookingGlassExtensions .lg-extension .lg-extension-name, #LookingGlassWindows .lg-window .lg-window-name, #LookingGlassPropertyInspector .lg-obj-inspector-title, .background-app-item .title, .quick-toggle .quick-toggle-title, .osd-window, .dialog-list .dialog-list-title, .message-list-controls, .weather-button .weather-box .weather-header-box .weather-header, .world-clocks-button .world-clocks-header, .events-button .events-box .events-list .event-box .event-summary, .events-button .events-box .events-title, .calendar .calendar-month-header .calendar-month-label {
font-weight: 700;
font-size: 1em; }
@ -553,7 +553,21 @@ index 75dc5c6..aa5765d 100644
.app-folder-dialog .message .message-header .message-close-button:active:focus,
.message .message-header .app-folder-dialog .message-close-button:active:focus, .app-folder-dialog .screenshot-ui-show-pointer-button:active:focus {
background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#fafafb, #38383b, 9%), 9%), 5%); }
@@ -3044,19 +3085,62 @@ StScrollBar {
@@ -3032,6 +3073,13 @@ StScrollBar {
background-color: st-lighten(-st-accent-color, 5%);
color: st-lighten(-st-accent-fg-color, 5%); }
+.qr-code {
+ border-radius: 4px;
+ border-width: 1em;
+ background-color: #fafafb;
+ border-color: #fafafb;
+ color: #2e2e33; }
+
.login-dialog,
.unlock-dialog {
color: #fafafb; }
@@ -3044,19 +3092,62 @@ StScrollBar {
.unlock-dialog .login-dialog-prompt-layout {
width: 25em;
spacing: 9px; }
@ -619,7 +633,7 @@ index 75dc5c6..aa5765d 100644
.conflicting-session-dialog-content {
spacing: 20px; }
@@ -3118,49 +3202,103 @@ StScrollBar {
@@ -3118,49 +3209,104 @@ StScrollBar {
background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#222226, 9%), 5%); }
.login-dialog-auth-list-view {
@ -706,50 +720,51 @@ index 75dc5c6..aa5765d 100644
+ color: #fafafb !important;
+ padding: 0;
+ margin: 0; }
+
+.login-dialog-auth-list-title-label {
+ padding: 6px;
+ text-align: center; }
+
+.login-dialog-auth-list-item-first-line,
+.login-dialog-auth-list-item-second-line {
+ text-align: center;
+ padding: 1.8px 0; }
+
+.login-dialog-auth-list-item-first-line {
+ color: #fafafb; }
-.login-dialog-auth-list-label:ltr {
- padding-left: 15px;
- text-align: left; }
+.login-dialog-auth-list-item-second-line {
+.login-dialog-auth-list-title-label {
+ padding: 6px;
+ text-align: center; }
-.login-dialog-auth-list-label:rtl {
- padding-right: 15px;
- text-align: right; }
+.login-dialog-auth-list-item-title,
+.login-dialog-auth-list-item-subtitle {
+ text-align: center;
+ padding: 1.8px 0; }
+
+.login-dialog-auth-list-item-title {
+ color: #fafafb; }
+
+.login-dialog-auth-list-item-subtitle {
+ color: #c1c1ce;
+ font-weight: 500; }
+
+.login-dialog-auth-list-item-icon {
+.login-dialog-item-icon {
+ width: 1.3em;
+ height: 1.3em;
+ color: #fafafb;
+ padding: 4.2px 6px;
+ border-radius: 8px; }
+ .login-dialog-auth-list-item-icon:hover {
+ .login-dialog-item-icon:hover {
+ background-color: #2e2e33; }
-.login-dialog-auth-list-label:rtl {
- padding-right: 15px;
- text-align: right; }
+.login-dialog-auth-list-item-popup-box .login-dialog-auth-list-item-popup-labels {
+ spacing: 3px;
+ text-align: center; }
+ .login-dialog-auth-list-item-popup-box .login-dialog-auth-list-item-popup-labels > :first-child {
+ color: #b3b3b3;
+ font-weight: 500; }
+ .login-dialog-auth-list-item-popup-box .login-dialog-auth-list-item-popup-labels > :last-child {
+ color: #ffffff; }
+ .login-dialog-item-icon-popup.popup-menu {
+ min-width: 0; }
+ .login-dialog-item-icon-popup-box .login-dialog-item-icon-popup-labels {
+ spacing: 3px;
+ text-align: center; }
+ .login-dialog-item-icon-popup-box .login-dialog-item-icon-popup-labels > :first-child {
+ color: #b3b3b3;
+ font-weight: 500; }
+ .login-dialog-item-icon-popup-box .login-dialog-item-icon-popup-labels > :last-child {
+ color: #ffffff; }
.login-dialog-user-list-view {
width: 25em;
@@ -3189,6 +3327,9 @@ StScrollBar {
@@ -3189,6 +3335,9 @@ StScrollBar {
background-color: st-lighten(st-lighten(st-mix(#fafafb, #222226, 9%), 9%), 4%); }
.login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:active:focus {
background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#fafafb, #222226, 9%), 9%), 5%); }
@ -759,7 +774,7 @@ index 75dc5c6..aa5765d 100644
.login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item .user-icon {
border: 2px solid transparent; }
.login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item .login-dialog-timed-login-indicator {
@@ -3200,6 +3341,102 @@ StScrollBar {
@@ -3200,6 +3349,102 @@ StScrollBar {
.login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:logged-in .user-icon StIcon {
background-color: st-transparentize(-st-accent-color, 0.7); }
@ -862,7 +877,7 @@ index 75dc5c6..aa5765d 100644
.unlock-dialog {
background-color: transparent; }
@@ -3308,3 +3545,10 @@ StScrollBar {
@@ -3308,3 +3553,10 @@ StScrollBar {
.login-dialog .user-widget.vertical .user-icon StIcon,
.unlock-dialog .user-widget.vertical .user-icon StIcon {
padding: 30px; }
@ -874,7 +889,7 @@ index 75dc5c6..aa5765d 100644
+ border-color: #fafafb;
+ color: #222226; }
diff --git a/data/theme/gnome-shell-high-contrast.css b/data/theme/gnome-shell-high-contrast.css
index 69749c1..af1dffc 100644
index b69823f..0ed28a3 100644
--- a/data/theme/gnome-shell-high-contrast.css
+++ b/data/theme/gnome-shell-high-contrast.css
@@ -42,7 +42,9 @@ stage {
@ -1118,8 +1133,8 @@ index 69749c1..af1dffc 100644
font-size: 1.182em; }
-.login-dialog-not-listed-label, #LookingGlassExtensions .lg-extension .lg-extension-name, #LookingGlassWindows .lg-window .lg-window-name, #LookingGlassPropertyInspector .lg-obj-inspector-title, .background-app-item .title, .quick-toggle .quick-toggle-title, .osd-window, .dialog-list .dialog-list-title, .message-list-controls, .weather-button .weather-box .weather-header-box .weather-header, .world-clocks-button .world-clocks-header, .events-button .events-box .events-list .event-box .event-summary, .events-button .events-box .events-title, .calendar .calendar-month-header .calendar-month-label {
+.login-dialog-auth-list-item-popup-box .login-dialog-auth-list-item-popup-labels, .login-dialog-auth-list-item-first-line,
+.login-dialog-auth-list-item-second-line, .login-dialog-not-listed-label, #LookingGlassExtensions .lg-extension .lg-extension-name, #LookingGlassWindows .lg-window .lg-window-name, #LookingGlassPropertyInspector .lg-obj-inspector-title, .background-app-item .title, .quick-toggle .quick-toggle-title, .osd-window, .dialog-list .dialog-list-title, .message-list-controls, .weather-button .weather-box .weather-header-box .weather-header, .world-clocks-button .world-clocks-header, .events-button .events-box .events-list .event-box .event-summary, .events-button .events-box .events-title, .calendar .calendar-month-header .calendar-month-label {
+.login-dialog-item-icon-popup-box .login-dialog-item-icon-popup-labels, .login-dialog-auth-list-item-title,
+.login-dialog-auth-list-item-subtitle, .login-dialog-not-listed-label, #LookingGlassExtensions .lg-extension .lg-extension-name, #LookingGlassWindows .lg-window .lg-window-name, #LookingGlassPropertyInspector .lg-obj-inspector-title, .background-app-item .title, .quick-toggle .quick-toggle-title, .osd-window, .dialog-list .dialog-list-title, .message-list-controls, .weather-button .weather-box .weather-header-box .weather-header, .world-clocks-button .world-clocks-header, .events-button .events-box .events-list .event-box .event-summary, .events-button .events-box .events-title, .calendar .calendar-month-header .calendar-month-label {
font-weight: 700;
font-size: 1em; }
@ -1469,7 +1484,21 @@ index 69749c1..af1dffc 100644
.app-folder-dialog .message .message-header .message-close-button:active:focus,
.message .message-header .app-folder-dialog .message-close-button:active:focus, .app-folder-dialog .screenshot-ui-show-pointer-button:active:focus {
background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #252525, 9%), 9%), #ffffff, 87%), 5%); }
@@ -3374,19 +3415,62 @@ StScrollBar {
@@ -3362,6 +3403,13 @@ StScrollBar {
background-color: st-lighten(-st-accent-color, 5%);
color: st-lighten(-st-accent-fg-color, 5%); }
+.qr-code {
+ border-radius: 4px;
+ border-width: 1em;
+ background-color: #ffffff;
+ border-color: #ffffff;
+ color: #0d0d0d; }
+
.login-dialog,
.unlock-dialog {
color: #ffffff; }
@@ -3374,19 +3422,62 @@ StScrollBar {
.unlock-dialog .login-dialog-prompt-layout {
width: 25em;
spacing: 9px; }
@ -1535,7 +1564,7 @@ index 69749c1..af1dffc 100644
.conflicting-session-dialog-content {
spacing: 20px; }
@@ -3455,53 +3539,111 @@ StScrollBar {
@@ -3455,53 +3546,112 @@ StScrollBar {
background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#000000, 9%), #ffffff, 87%), 5%); }
.login-dialog-auth-list-view {
@ -1630,50 +1659,51 @@ index 69749c1..af1dffc 100644
+ color: #ffffff !important;
+ padding: 0;
+ margin: 0; }
-.login-dialog-auth-list-label:ltr {
- padding-left: 15px;
- text-align: left; }
+
+.login-dialog-auth-list-title-label {
+ padding: 6px;
+ text-align: center; }
+
+.login-dialog-auth-list-item-first-line,
+.login-dialog-auth-list-item-second-line {
+.login-dialog-auth-list-item-title,
+.login-dialog-auth-list-item-subtitle {
+ text-align: center;
+ padding: 1.8px 0; }
-.login-dialog-auth-list-label:ltr {
- padding-left: 15px;
- text-align: left; }
+.login-dialog-auth-list-item-title {
+ color: #ffffff; }
-.login-dialog-auth-list-label:rtl {
- padding-right: 15px;
- text-align: right; }
+.login-dialog-auth-list-item-first-line {
+ color: #ffffff; }
+
+.login-dialog-auth-list-item-second-line {
+.login-dialog-auth-list-item-subtitle {
+ color: #cccccc;
+ font-weight: 500; }
+
+.login-dialog-auth-list-item-icon {
+.login-dialog-item-icon {
+ width: 1.3em;
+ height: 1.3em;
+ color: #ffffff;
+ padding: 4.2px 6px;
+ border-radius: 8px; }
+ .login-dialog-auth-list-item-icon:hover {
+ .login-dialog-item-icon:hover {
+ background-color: #0d0d0d; }
+
+.login-dialog-auth-list-item-popup-box .login-dialog-auth-list-item-popup-labels {
+ spacing: 3px;
+ text-align: center; }
+ .login-dialog-auth-list-item-popup-box .login-dialog-auth-list-item-popup-labels > :first-child {
+ color: #b3b3b3;
+ font-weight: 500; }
+ .login-dialog-auth-list-item-popup-box .login-dialog-auth-list-item-popup-labels > :last-child {
+ color: #ffffff; }
+ .login-dialog-item-icon-popup.popup-menu {
+ min-width: 0; }
+ .login-dialog-item-icon-popup-box .login-dialog-item-icon-popup-labels {
+ spacing: 3px;
+ text-align: center; }
+ .login-dialog-item-icon-popup-box .login-dialog-item-icon-popup-labels > :first-child {
+ color: #b3b3b3;
+ font-weight: 500; }
+ .login-dialog-item-icon-popup-box .login-dialog-item-icon-popup-labels > :last-child {
+ color: #ffffff; }
.login-dialog-user-list-view {
width: 25em;
@@ -3534,6 +3676,13 @@ StScrollBar {
@@ -3534,6 +3684,13 @@ StScrollBar {
background-color: st-lighten(st-lighten(st-mix(#ffffff, #000000, 9%), 9%), 4%); }
.login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:active:focus {
background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 9%), #ffffff, 87%), 5%); }
@ -1687,7 +1717,7 @@ index 69749c1..af1dffc 100644
.login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item .user-icon {
border: 2px solid transparent; }
.login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item .login-dialog-timed-login-indicator {
@@ -3545,6 +3694,110 @@ StScrollBar {
@@ -3545,6 +3702,110 @@ StScrollBar {
.login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:logged-in .user-icon StIcon {
background-color: st-transparentize(-st-accent-color, 0.7); }
@ -1798,7 +1828,7 @@ index 69749c1..af1dffc 100644
.unlock-dialog {
background-color: transparent; }
@@ -3655,3 +3908,10 @@ StScrollBar {
@@ -3655,3 +3916,10 @@ StScrollBar {
.login-dialog .user-widget.vertical .user-icon StIcon,
.unlock-dialog .user-widget.vertical .user-icon StIcon {
padding: 30px; }
@ -1810,7 +1840,7 @@ index 69749c1..af1dffc 100644
+ border-color: #ffffff;
+ color: #000000; }
diff --git a/data/theme/gnome-shell-light.css b/data/theme/gnome-shell-light.css
index 174d723..fa83485 100644
index 2b67846..792690e 100644
--- a/data/theme/gnome-shell-light.css
+++ b/data/theme/gnome-shell-light.css
@@ -42,7 +42,9 @@ stage {
@ -2015,8 +2045,8 @@ index 174d723..fa83485 100644
font-size: 1.182em; }
-.login-dialog-not-listed-label, #LookingGlassExtensions .lg-extension .lg-extension-name, #LookingGlassWindows .lg-window .lg-window-name, #LookingGlassPropertyInspector .lg-obj-inspector-title, .background-app-item .title, .quick-toggle .quick-toggle-title, .osd-window, .dialog-list .dialog-list-title, .message-list-controls, .weather-button .weather-box .weather-header-box .weather-header, .world-clocks-button .world-clocks-header, .events-button .events-box .events-list .event-box .event-summary, .events-button .events-box .events-title, .calendar .calendar-month-header .calendar-month-label {
+.login-dialog-auth-list-item-popup-box .login-dialog-auth-list-item-popup-labels, .login-dialog-auth-list-item-first-line,
+.login-dialog-auth-list-item-second-line, .login-dialog-not-listed-label, #LookingGlassExtensions .lg-extension .lg-extension-name, #LookingGlassWindows .lg-window .lg-window-name, #LookingGlassPropertyInspector .lg-obj-inspector-title, .background-app-item .title, .quick-toggle .quick-toggle-title, .osd-window, .dialog-list .dialog-list-title, .message-list-controls, .weather-button .weather-box .weather-header-box .weather-header, .world-clocks-button .world-clocks-header, .events-button .events-box .events-list .event-box .event-summary, .events-button .events-box .events-title, .calendar .calendar-month-header .calendar-month-label {
+.login-dialog-item-icon-popup-box .login-dialog-item-icon-popup-labels, .login-dialog-auth-list-item-title,
+.login-dialog-auth-list-item-subtitle, .login-dialog-not-listed-label, #LookingGlassExtensions .lg-extension .lg-extension-name, #LookingGlassWindows .lg-window .lg-window-name, #LookingGlassPropertyInspector .lg-obj-inspector-title, .background-app-item .title, .quick-toggle .quick-toggle-title, .osd-window, .dialog-list .dialog-list-title, .message-list-controls, .weather-button .weather-box .weather-header-box .weather-header, .world-clocks-button .world-clocks-header, .events-button .events-box .events-list .event-box .event-summary, .events-button .events-box .events-title, .calendar .calendar-month-header .calendar-month-label {
font-weight: 700;
font-size: 1em; }
@ -2353,7 +2383,20 @@ index 174d723..fa83485 100644
.app-folder-dialog .message .message-header .message-close-button:active:focus,
.message .message-header .app-folder-dialog .message-close-button:active:focus, .app-folder-dialog .screenshot-ui-show-pointer-button:active:focus {
background-color: st-mix(-st-accent-color, st-lighten(st-mix(#fafafb, #38383b, 12%), 9%), 5%); }
@@ -3045,19 +3086,62 @@ StScrollBar {
@@ -3033,6 +3074,12 @@ StScrollBar {
background-color: st-lighten(-st-accent-color, 5%);
color: st-lighten(-st-accent-fg-color, 5%); }
+.qr-code {
+ border-radius: 4px;
+ border-width: 1em;
+ background-color: #e9e9ea;
+ border-color: #e9e9ea; }
+
.login-dialog,
.unlock-dialog {
color: #fafafb; }
@@ -3045,19 +3092,62 @@ StScrollBar {
.unlock-dialog .login-dialog-prompt-layout {
width: 25em;
spacing: 9px; }
@ -2419,7 +2462,7 @@ index 174d723..fa83485 100644
.conflicting-session-dialog-content {
spacing: 20px; }
@@ -3119,49 +3203,103 @@ StScrollBar {
@@ -3119,49 +3209,104 @@ StScrollBar {
background-color: st-mix(-st-accent-color, st-lighten(#222226, 9%), 5%); }
.login-dialog-auth-list-view {
@ -2506,50 +2549,51 @@ index 174d723..fa83485 100644
+ color: #fafafb !important;
+ padding: 0;
+ margin: 0; }
+
+.login-dialog-auth-list-title-label {
+ padding: 6px;
+ text-align: center; }
+
+.login-dialog-auth-list-item-first-line,
+.login-dialog-auth-list-item-second-line {
+ text-align: center;
+ padding: 1.8px 0; }
+
+.login-dialog-auth-list-item-first-line {
+ color: #fafafb; }
-.login-dialog-auth-list-label:ltr {
- padding-left: 15px;
- text-align: left; }
+.login-dialog-auth-list-item-second-line {
+ color: #c1c1ce;
+ font-weight: 500; }
+.login-dialog-auth-list-title-label {
+ padding: 6px;
+ text-align: center; }
+
+.login-dialog-auth-list-item-title,
+.login-dialog-auth-list-item-subtitle {
+ text-align: center;
+ padding: 1.8px 0; }
+
+.login-dialog-auth-list-item-title {
+ color: #fafafb; }
-.login-dialog-auth-list-label:rtl {
- padding-right: 15px;
- text-align: right; }
+.login-dialog-auth-list-item-icon {
+.login-dialog-auth-list-item-subtitle {
+ color: #c1c1ce;
+ font-weight: 500; }
+
+.login-dialog-item-icon {
+ width: 1.3em;
+ height: 1.3em;
+ color: #fafafb;
+ padding: 4.2px 6px;
+ border-radius: 8px; }
+ .login-dialog-auth-list-item-icon:hover {
+ .login-dialog-item-icon:hover {
+ background-color: #2e2e33; }
+
+.login-dialog-auth-list-item-popup-box .login-dialog-auth-list-item-popup-labels {
+ spacing: 3px;
+ text-align: center; }
+ .login-dialog-auth-list-item-popup-box .login-dialog-auth-list-item-popup-labels > :first-child {
+ color: black;
+ font-weight: 500; }
+ .login-dialog-auth-list-item-popup-box .login-dialog-auth-list-item-popup-labels > :last-child {
+ color: #222226; }
+ .login-dialog-item-icon-popup.popup-menu {
+ min-width: 0; }
+ .login-dialog-item-icon-popup-box .login-dialog-item-icon-popup-labels {
+ spacing: 3px;
+ text-align: center; }
+ .login-dialog-item-icon-popup-box .login-dialog-item-icon-popup-labels > :first-child {
+ color: black;
+ font-weight: 500; }
+ .login-dialog-item-icon-popup-box .login-dialog-item-icon-popup-labels > :last-child {
+ color: #222226; }
.login-dialog-user-list-view {
width: 25em;
@@ -3190,6 +3328,9 @@ StScrollBar {
@@ -3190,6 +3335,9 @@ StScrollBar {
background-color: st-lighten(st-lighten(st-mix(#fafafb, #222226, 12%), 9%), 4%); }
.login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:active:focus {
background-color: st-mix(-st-accent-color, st-lighten(st-mix(#fafafb, #222226, 12%), 9%), 5%); }
@ -2559,7 +2603,7 @@ index 174d723..fa83485 100644
.login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item .user-icon {
border: 2px solid transparent; }
.login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item .login-dialog-timed-login-indicator {
@@ -3201,6 +3342,102 @@ StScrollBar {
@@ -3201,6 +3349,102 @@ StScrollBar {
.login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:logged-in .user-icon StIcon {
background-color: st-transparentize(-st-accent-color, 0.7); }
@ -2662,7 +2706,7 @@ index 174d723..fa83485 100644
.unlock-dialog {
background-color: transparent; }
@@ -3309,3 +3546,10 @@ StScrollBar {
@@ -3309,3 +3553,10 @@ StScrollBar {
.login-dialog .user-widget.vertical .user-icon StIcon,
.unlock-dialog .user-widget.vertical .user-icon StIcon {
padding: 30px; }
@ -2674,5 +2718,5 @@ index 174d723..fa83485 100644
+ border-color: #e9e9ea;
+ color: #222226; }
--
2.51.1
2.53.0

View File

@ -9,44 +9,70 @@ the PAM configuration has not been updated and no prints are enrolled.
So, consider a verification failure within one second to be a service
failure instead.
---
js/gdm/util.js | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
js/gdm/authServicesLegacy.js | 44 +++++++++++++++++++++++++-----------
1 file changed, 31 insertions(+), 13 deletions(-)
diff --git a/js/gdm/util.js b/js/gdm/util.js
index f6b797c321..aced46e78c 100644
--- a/js/gdm/util.js
+++ b/js/gdm/util.js
@@ -109,6 +109,7 @@ export class ShellUserVerifier extends Signals.EventEmitter {
this._defaultService = null;
this._preemptingService = null;
this._fingerprintReaderType = FingerprintReaderType.NONE;
+ this._fprintStartTime = -1;
diff --git a/js/gdm/authServicesLegacy.js b/js/gdm/authServicesLegacy.js
index 0813622a01..c85a9572f5 100644
--- a/js/gdm/authServicesLegacy.js
+++ b/js/gdm/authServicesLegacy.js
@@ -58,6 +58,7 @@ export class AuthServicesLegacy extends AuthServices {
this._addCredentialManager(Vmware.SERVICE_NAME, Vmware.getVmwareCredentialsManager());
this._messageQueue = [];
this._messageQueueTimeoutId = 0;
@@ -670,6 +671,10 @@ export class ShellUserVerifier extends Signals.EventEmitter {
this._hold.acquire();
try {
this._activeServices.add(serviceName);
this._fingerprintReadyTimeoutId = 0;
+ this._fprintStartTime = -1;
}
_handleSelectChoice(serviceName, key) {
@@ -117,16 +118,20 @@ export class AuthServicesLegacy extends AuthServices {
}
_handleOnConversationStarted(serviceName) {
- if (serviceName === Const.FINGERPRINT_SERVICE_NAME &&
- this._fingerprintReadyTimeoutId === 0) {
- this._fingerprintReadyTimeoutId = GLib.timeout_add(
- GLib.PRIORITY_DEFAULT,
- FINGERPRINT_READY_TIMEOUT_MS,
- () => {
- this._fingerprintReadyTimeoutId = 0;
- this._setFingerprintReady();
- return GLib.SOURCE_REMOVE;
- });
+ if (serviceName === Const.FINGERPRINT_SERVICE_NAME) {
+ this._fprintStartTime = GLib.get_monotonic_time();
+
+ if (serviceName == FINGERPRINT_SERVICE_NAME)
+ this._fprintStartTime = GLib.get_monotonic_time();
+
if (this._userName) {
await this._userVerifier.call_begin_verification_for_user(
serviceName, this._userName, this._cancellable);
@@ -764,6 +769,7 @@ export class ShellUserVerifier extends Signals.EventEmitter {
const cancellable = this._cancellable;
this._fingerprintFailedId = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
FINGERPRINT_ERROR_TIMEOUT_WAIT, () => {
+ log("Generating _verificationFailed!");
this._fingerprintFailedId = 0;
if (!cancellable.is_cancelled())
this._verificationFailed(serviceName, false);
@@ -837,6 +843,18 @@ export class ShellUserVerifier extends Signals.EventEmitter {
if (serviceName === FINGERPRINT_SERVICE_NAME) {
if (this._fingerprintFailedId)
GLib.source_remove(this._fingerprintFailedId);
+ if (this._fingerprintReadyTimeoutId === 0) {
+ this._fingerprintReadyTimeoutId = GLib.timeout_add(
+ GLib.PRIORITY_DEFAULT,
+ FINGERPRINT_READY_TIMEOUT_MS,
+ () => {
+ this._fingerprintReadyTimeoutId = 0;
+ this._setFingerprintReady();
+ return GLib.SOURCE_REMOVE;
+ });
+ }
}
}
@@ -234,6 +239,7 @@ export class AuthServicesLegacy extends AuthServices {
this._fingerprintFailedId = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
FINGERPRINT_ERROR_TIMEOUT_WAIT, () => {
+ log("Generating _verificationFailed!");
this._fingerprintFailedId = 0;
if (!this._cancellable.is_cancelled())
this._verificationFailed(serviceName, false);
@@ -314,9 +320,21 @@ export class AuthServicesLegacy extends AuthServices {
_handleVerificationFailed(serviceName) {
if (serviceName === Const.FINGERPRINT_SERVICE_NAME &&
- this._enabledMechanisms.some(m => m.serviceName === serviceName) &&
- this._fingerprintFailedId)
- GLib.source_remove(this._fingerprintFailedId);
+ this._enabledMechanisms.some(m => m.serviceName === serviceName)) {
+ if (this._fingerprintFailedId)
+ GLib.source_remove(this._fingerprintFailedId);
+
+ // On Fedora we have the problem that fingerprint auth fails
+ // immediately if the PAM configuration has not been updated and no
@ -56,12 +82,12 @@ index f6b797c321..aced46e78c 100644
+ if (this._fprintStartTime > GLib.get_monotonic_time() - GLib.USEC_PER_SEC) {
+ log("Fingerprint service failed almost immediately, considering it unavailable.");
+ log("Please fix your configuration by running: authselect select --force sssd with-fingerprint with-silent-lastlog");
+ this._onServiceUnavailable(this._client, serviceName, null);
+ return;
+ this._onServiceUnavailable(serviceName, null);
+ }
}
+ }
}
// For Not Listed / enterprise logins, immediately reset
_handleOnVerificationComplete(serviceName) {
--
2.51.1
2.53.0

View File

@ -1,45 +0,0 @@
From 72073e008f35f197201e6c38ab506fbe5973fbeb Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Wed, 28 Jan 2026 18:01:26 +0100
Subject: [PATCH] gdm/util: Set minimum display time for authentication
messages
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Short messages like "PIN locked" were previously displayed for only
480ms (10 chars × 48ms), making them impossible to read. Ensure all
messages are shown for at least 2 seconds.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4054>
---
js/gdm/util.js | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/js/gdm/util.js b/js/gdm/util.js
index 8b999c3..b79b6e7 100644
--- a/js/gdm/util.js
+++ b/js/gdm/util.js
@@ -29,7 +29,9 @@ export const LOGO_KEY = 'logo';
export const DISABLE_USER_LIST_KEY = 'disable-user-list';
// Give user 48ms to read each character of a PAM message
+// or 2 seconds, whichever is longer
const USER_READ_TIME = 48;
+const USER_READ_TIME_MIN = 2000;
/**
* Keep messages in order by priority
@@ -232,7 +234,8 @@ export class ShellUserVerifier extends Signals.EventEmitter {
const messageTimeMultiplier = GLib.getenv('GDM_MESSAGE_TIME_MULTIPLIER') ?? 1;
// We probably could be smarter here
- return message.length * USER_READ_TIME * messageTimeMultiplier;
+ return Math.max(message.length * USER_READ_TIME * messageTimeMultiplier,
+ USER_READ_TIME_MIN);
}
_finishMessageQueue() {
--
2.52.0

View File

@ -1,57 +0,0 @@
From a3d658851992b27ad2e0d8f9efeb680b4085d27f Mon Sep 17 00:00:00 2001
From: Sebastian Keller <skeller@gnome.org>
Date: Tue, 28 Oct 2025 23:22:26 +0100
Subject: [PATCH 1/1] Revert "status/keyboard: Track
::layout-layout-group-changed for changes"
This reverts commit e8d73262c73246205e8f7887d99aeb2356cfa89e.
The commit was causing freezes when changing layouts in some situations
and not all of these were adressed by f643915b, such as when switching
from the 3rd to the 4th layout using a xkb shortcut in the X11 session
with 4 layouts.
It was also breaking the order of switching layouts using modifier-only
xkb shortcuts to switch to the next group, which it caused to advance
multiple groups because of the shortcut being handled via both
_modifiersSwitcher() and _layoutGroupChanged().
Further it was possible for _layoutGroupChanged() to trigger an error
due to the locale layout added by _buildGroupStrings() at the end of the
xkb layout list being accessible via the xkb shortcuts. That layout was
not present in _inputSources, leading to "is" being undefined.
Reopens: https://gitlab.gnome.org/GNOME/mutter/-/issues/3926
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8738
Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3930
---
js/ui/status/keyboard.js | 7 -------
1 file changed, 7 deletions(-)
diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js
index 88e6e93975..2f6773c8c0 100644
--- a/js/ui/status/keyboard.js
+++ b/js/ui/status/keyboard.js
@@ -380,7 +380,6 @@ export class InputSourceManager extends Signals.EventEmitter {
this._ibusManager.connect('set-content-type', this._ibusSetContentType.bind(this));
global.display.connect('modifiers-accelerator-activated', this._modifiersSwitcher.bind(this));
- global.backend.connect('keymap-layout-group-changed', this._layoutGroupChanged.bind(this));
this._sourcesPerWindow = false;
this._focusWindowNotifyId = 0;
@@ -429,12 +428,6 @@ export class InputSourceManager extends Signals.EventEmitter {
return true;
}
- _layoutGroupChanged(backend, idx) {
- const is = this._inputSources[idx];
- this._currentInputSourceChanged(is);
- this._keyboardManager.apply(is.xkbId);
- }
-
_switchInputSource(display, window, event, binding) {
if (this._mruSources.length < 2)
return;
--
GitLab

View File

@ -8,7 +8,7 @@
%endif
Name: gnome-shell
Version: 49.1
Version: 49.4
Release: %autorelease
Summary: Window management and application launching for GNOME
@ -33,19 +33,6 @@ Patch: 0001-build-Lower-gsettings-desktop-schemas-requirement.patch
Patch: 0001-Revert-data-Drop-org.gnome.Shell.desktop.patch
Patch: 0002-Reapply-main-Notify-gnome-session-when-we-re-ready.patch
# Some users might have a broken PAM config, so we really need this
# downstream patch to stop trying on configuration errors.
Patch: 0001-gdm-Work-around-failing-fingerprint-auth.patch
# https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3939
# https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8738#note_2589102
# https://discussion.fedoraproject.org/t/169999
# Reverts some xkb changes that turned out to cause way more problems
# than they solved
# Rediffed on 49.1 - we include only the first revert, as the second
# commit was post-49.1 so there's nothing to revert
Patch: 3939-rediffed.patch
# GDM/Lock stuff
Patch: 0001-screenShield-unblank-when-inserting-smartcard.patch
Patch: enforce-smartcard-at-unlock.patch
@ -54,7 +41,9 @@ Patch: 0001-main-Register-session-with-GDM-on-startup.patch
# Passwordless work
# https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3212
Patch: 0001-Support-for-web-login-and-unified-auth-mechanism.patch
Patch: 0001-gdm-util-Set-minimum-display-time-for-authentication.patch
# Some users might have a broken PAM config, so we really need this
# downstream patch to stop trying on configuration errors.
Patch: 0001-gdm-Work-around-failing-fingerprint-auth.patch
# Extensions
Patch: 0001-extensionDownloader-Refuse-to-override-system-extens.patch

View File

@ -1 +1 @@
SHA512 (gnome-shell-49.1.tar.xz) = 0a729c35669780b9b45fbc22497e9ba5e8e6b3c636f87bf54e372f9f261e364bee04352cfdb90f34fb574fe3ee272b3b248d296751521151f43c670f7f1bd381
SHA512 (gnome-shell-49.4.tar.xz) = f101a8f261f6e3ac9f2b08efad71fd6be85f3c7d9070c747e5b9420fa9faa9e86281f76774385807bd9b1ce100fc82b37fa646147e7a4003c7ce3f8cf66b5670