From a9f7957e2cbb6388d0e7079e5364f8f5442e3388 Mon Sep 17 00:00:00 2001 From: Joan Torres Lopez Date: Tue, 11 Aug 2026 18:17:36 +0200 Subject: [PATCH] Update classic style from passwordless GDM backport Resolves: RHEL-236936 --- 0001-Update-style.patch | 843 +++++++++++++++++++++++++++++++++++- gnome-shell-extensions.spec | 6 +- 2 files changed, 830 insertions(+), 19 deletions(-) diff --git a/0001-Update-style.patch b/0001-Update-style.patch index c5a9e3f..cbb57c7 100644 --- a/0001-Update-style.patch +++ b/0001-Update-style.patch @@ -4,10 +4,798 @@ Date: Mon, 24 May 2021 15:36:04 +0200 Subject: [PATCH] Update style --- - data/gnome-shell-sass | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + data/gnome-classic.css | 279 ++++++++++++++- + data/gnome-shell-sass/_widgets.scss | 1 + + data/gnome-shell-sass/widgets/_entries.scss | 2 +- + .../widgets/_login-dialog.scss | 330 +++++++++++++++++- + data/gnome-shell-sass/widgets/_panel.scss | 5 + + data/gnome-shell-sass/widgets/_qr-code.scss | 15 + + data/meson.build | 1 + + 7 files changed, 624 insertions(+), 9 deletions(-) + create mode 100644 data/gnome-shell-sass/widgets/_qr-code.scss -Submodule data/gnome-shell-sass 9d66f7d..60230f4: +diff --git a/data/gnome-classic.css b/data/gnome-classic.css +index 52e5367..52345f2 100644 +--- a/data/gnome-classic.css ++++ b/data/gnome-classic.css +@@ -174,7 +174,7 @@ StEntry { + icon-size: 1.09em; + padding: 0 4px; } + StEntry StLabel.hint-text { +- margin-left: 2px; ++ margin-left: 8px; + color: rgba(46, 52, 54, 0.7); } + + /* Buttons */ +@@ -1230,10 +1230,13 @@ StScrollBar { + border-radius: 99px; } + #panel .panel-button:hover, #panel .panel-button:active, #panel .panel-button:overview, #panel .panel-button:focus, #panel .panel-button:checked { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.2); } +- #panel .panel-button.clock-display:hover, #panel .panel-button.clock-display:active, #panel .panel-button.clock-display:overview, #panel .panel-button.clock-display:focus, #panel .panel-button.clock-display:checked { ++ #panel .panel-button:hover.clock-display, #panel .panel-button:active.clock-display, #panel .panel-button:overview.clock-display, #panel .panel-button:focus.clock-display, #panel .panel-button:checked.clock-display { + box-shadow: none; } +- #panel .panel-button.clock-display:hover .clock, #panel .panel-button.clock-display:active .clock, #panel .panel-button.clock-display:overview .clock, #panel .panel-button.clock-display:focus .clock, #panel .panel-button.clock-display:checked .clock { ++ #panel .panel-button:hover.clock-display .clock, #panel .panel-button:active.clock-display .clock, #panel .panel-button:overview.clock-display .clock, #panel .panel-button:focus.clock-display .clock, #panel .panel-button:checked.clock-display .clock { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.2); } ++ #panel .panel-button .panel-logo-icon { ++ padding-right: .4em; ++ icon-size: 1em; } + #panel .panel-button .system-status-icon { + icon-size: 1.09em; + padding: 5px; +@@ -1243,13 +1246,13 @@ StScrollBar { + margin: 0; } + #panel .panel-button .app-menu-icon { + -st-icon-style: symbolic; } +- #panel #panelActivities.panel-button { ++ #panel .panel-button#panelActivities { + -natural-hpadding: 18px; } + #panel.unlock-screen .panel-button:hover, #panel.unlock-screen .panel-button:active, #panel.unlock-screen .panel-button:overview, #panel.unlock-screen .panel-button:focus, #panel.unlock-screen .panel-button:checked, #panel.login-screen .panel-button:hover, #panel.login-screen .panel-button:active, #panel.login-screen .panel-button:overview, #panel.login-screen .panel-button:focus, #panel.login-screen .panel-button:checked, #panel:overview .panel-button:hover, #panel:overview .panel-button:active, #panel:overview .panel-button:overview, #panel:overview .panel-button:focus, #panel:overview .panel-button:checked { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.15); } +- #panel.unlock-screen .panel-button.clock-display:hover, #panel.unlock-screen .panel-button.clock-display:active, #panel.unlock-screen .panel-button.clock-display:overview, #panel.unlock-screen .panel-button.clock-display:focus, #panel.unlock-screen .panel-button.clock-display:checked, #panel.login-screen .panel-button.clock-display:hover, #panel.login-screen .panel-button.clock-display:active, #panel.login-screen .panel-button.clock-display:overview, #panel.login-screen .panel-button.clock-display:focus, #panel.login-screen .panel-button.clock-display:checked, #panel:overview .panel-button.clock-display:hover, #panel:overview .panel-button.clock-display:active, #panel:overview .panel-button.clock-display:overview, #panel:overview .panel-button.clock-display:focus, #panel:overview .panel-button.clock-display:checked { ++ #panel.unlock-screen .panel-button:hover.clock-display, #panel.unlock-screen .panel-button:active.clock-display, #panel.unlock-screen .panel-button:overview.clock-display, #panel.unlock-screen .panel-button:focus.clock-display, #panel.unlock-screen .panel-button:checked.clock-display, #panel.login-screen .panel-button:hover.clock-display, #panel.login-screen .panel-button:active.clock-display, #panel.login-screen .panel-button:overview.clock-display, #panel.login-screen .panel-button:focus.clock-display, #panel.login-screen .panel-button:checked.clock-display, #panel:overview .panel-button:hover.clock-display, #panel:overview .panel-button:active.clock-display, #panel:overview .panel-button:overview.clock-display, #panel:overview .panel-button:focus.clock-display, #panel:overview .panel-button:checked.clock-display { + box-shadow: none; } +- #panel.unlock-screen .panel-button.clock-display:hover .clock, #panel.unlock-screen .panel-button.clock-display:active .clock, #panel.unlock-screen .panel-button.clock-display:overview .clock, #panel.unlock-screen .panel-button.clock-display:focus .clock, #panel.unlock-screen .panel-button.clock-display:checked .clock, #panel.login-screen .panel-button.clock-display:hover .clock, #panel.login-screen .panel-button.clock-display:active .clock, #panel.login-screen .panel-button.clock-display:overview .clock, #panel.login-screen .panel-button.clock-display:focus .clock, #panel.login-screen .panel-button.clock-display:checked .clock, #panel:overview .panel-button.clock-display:hover .clock, #panel:overview .panel-button.clock-display:active .clock, #panel:overview .panel-button.clock-display:overview .clock, #panel:overview .panel-button.clock-display:focus .clock, #panel:overview .panel-button.clock-display:checked .clock { ++ #panel.unlock-screen .panel-button:hover.clock-display .clock, #panel.unlock-screen .panel-button:active.clock-display .clock, #panel.unlock-screen .panel-button:overview.clock-display .clock, #panel.unlock-screen .panel-button:focus.clock-display .clock, #panel.unlock-screen .panel-button:checked.clock-display .clock, #panel.login-screen .panel-button:hover.clock-display .clock, #panel.login-screen .panel-button:active.clock-display .clock, #panel.login-screen .panel-button:overview.clock-display .clock, #panel.login-screen .panel-button:focus.clock-display .clock, #panel.login-screen .panel-button:checked.clock-display .clock, #panel:overview .panel-button:hover.clock-display .clock, #panel:overview .panel-button:active.clock-display .clock, #panel:overview .panel-button:overview.clock-display .clock, #panel:overview .panel-button:focus.clock-display .clock, #panel:overview .panel-button:checked.clock-display .clock { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.15); } + #panel .panel-status-indicators-box, + #panel .panel-status-menu-box { +@@ -2018,11 +2021,15 @@ StScrollBar { + border-color: #1b6acb; + background-color: #1b6acb; + color: rgba(255, 255, 255, 0.7); } ++ .login-dialog .next-button, + .login-dialog .cancel-button, + .login-dialog .switch-user-button, ++ .login-dialog .login-dialog-auth-menu-button, + .login-dialog .login-dialog-session-list-button, ++ .unlock-dialog .next-button, + .unlock-dialog .cancel-button, + .unlock-dialog .switch-user-button, ++ .unlock-dialog .login-dialog-auth-menu-button, + .unlock-dialog .login-dialog-session-list-button { + padding: 0; + border-radius: 99px; +@@ -2030,18 +2037,59 @@ StScrollBar { + height: 2.18em; + border-color: #202020; + background-color: #202020; } ++ .login-dialog .next-button StIcon, + .login-dialog .cancel-button StIcon, + .login-dialog .switch-user-button StIcon, ++ .login-dialog .login-dialog-auth-menu-button StIcon, + .login-dialog .login-dialog-session-list-button StIcon, ++ .unlock-dialog .next-button StIcon, + .unlock-dialog .cancel-button StIcon, + .unlock-dialog .switch-user-button StIcon, ++ .unlock-dialog .login-dialog-auth-menu-button StIcon, + .unlock-dialog .login-dialog-session-list-button StIcon { + icon-size: 1.09em; } ++ .login-dialog .next-button, ++ .unlock-dialog .next-button { ++ background-color: transparent !important; } ++ .login-dialog .switch-user-button, ++ .unlock-dialog .switch-user-button { ++ min-width: 8.5em; ++ min-height: 2.5em; ++ font-size: 10pt; ++ font-weight: bold; } + .login-dialog .caps-lock-warning-label, + .login-dialog .login-dialog-message-warning, + .unlock-dialog .caps-lock-warning-label, + .unlock-dialog .login-dialog-message-warning { + color: #eeeeec; } ++ .login-dialog .login-dialog-prompt-layout.web-login-active, ++ .unlock-dialog .login-dialog-prompt-layout.web-login-active { ++ width: 34.5em; } ++ .login-dialog .login-dialog-prompt-entry-area, ++ .unlock-dialog .login-dialog-prompt-entry-area { ++ margin: 0.5em 20px; } ++ .login-dialog .login-dialog-prompt-entry, ++ .unlock-dialog .login-dialog-prompt-entry { ++ border-radius: 12px; } ++ .login-dialog .login-dialog-prompt-entry :ltr, ++ .unlock-dialog .login-dialog-prompt-entry :ltr { ++ padding-right: 2.5em; } ++ .login-dialog .login-dialog-prompt-entry :rtl, ++ .unlock-dialog .login-dialog-prompt-entry :rtl { ++ padding-left: 2.5em; } ++ .login-dialog .login-dialog-default-button-well :ltr, ++ .unlock-dialog .login-dialog-default-button-well :ltr { ++ margin-right: 0.5em; } ++ .login-dialog .login-dialog-default-button-well :rtl, ++ .unlock-dialog .login-dialog-default-button-well :rtl { ++ margin-left: 0.5em; } ++ ++.login-dialog-spinner { ++ color: black; } ++ ++.login-dialog-bottom-button-group { ++ padding: 32px; ++ spacing: 16px; } + + .login-dialog-logo-bin { + padding: 24px 0px; } +@@ -2056,6 +2104,10 @@ StScrollBar { + .login-dialog-message { + text-align: center; } + ++.login-dialog-message-hint, .login-dialog-message { ++ color: #bebeb6; ++ min-height: 2.75em; } ++ + .login-dialog-user-selection-box { + padding: 100px 0px; } + +@@ -2070,6 +2122,143 @@ StScrollBar { + color: #a6a69b; + padding-top: 1em; } + ++.login-dialog-auth-menu-button-popup { ++ padding: 18px; ++ margin-right: 12px; } ++ .login-dialog-auth-menu-button-popup .login-dialog-auth-menu-item-section { ++ padding-top: 6px; } ++ .login-dialog-auth-menu-button-popup .login-dialog-auth-menu-item-section:first-child { ++ padding-top: 0; } ++ .login-dialog-auth-menu-button-popup .login-dialog-auth-menu-item-section-label { ++ font-size: 10pt; ++ font-weight: bold; ++ color: #2e3436; } ++ .login-dialog-auth-menu-button-popup .login-dialog-auth-menu-item-icon { ++ color: #2e3436; ++ icon-size: 1.09em; ++ margin-right: 8px; } ++ .login-dialog-auth-menu-button-popup .login-dialog-auth-menu-item-box { ++ spacing: 3px; } ++ .login-dialog-auth-menu-button-popup .login-dialog-auth-menu-item-box-name { ++ color: #2e3436; ++ font-size: 11pt; ++ font-weight: bold; } ++ .login-dialog-auth-menu-button-popup .login-dialog-auth-menu-item-box-description { ++ color: #2e3436; ++ font-size: 10pt; } ++ ++.login-dialog-auth-menu-button-indicator { ++ background-color: transparent !important; ++ margin: 32px; } ++ .login-dialog-auth-menu-button-indicator .login-dialog-auth-menu-button-indicator-icons { ++ spacing: 18px; } ++ .login-dialog-auth-menu-button-indicator .login-dialog-auth-menu-button-indicator-icons .login-dialog-auth-menu-button-indicator-icon { ++ icon-size: 2em; } ++ .login-dialog-auth-menu-button-indicator .login-dialog-auth-menu-button-indicator-description { ++ font-size: 11pt; ++ font-weight: normal; ++ margin-left: 12px; } ++ ++.login-dialog-auth-menu-button-indicator-description { ++ color: #eeeeec; } ++ ++.login-dialog-button-box { ++ height: 4em; } ++ ++.login-dialog-auth-list-view { ++ -st-vfade-offset: 3em; ++ max-height: 13em; } ++ ++.login-dialog-auth-list { ++ spacing: 9px; } ++ ++.login-dialog .login-dialog-auth-list-title, ++.login-dialog .login-dialog-auth-list-item { ++ border-radius: 12px; ++ color: #a6a69b; } ++ .login-dialog .login-dialog-auth-list-title:focus, .login-dialog .login-dialog-auth-list-title:selected, ++ .login-dialog .login-dialog-auth-list-item:focus, ++ .login-dialog .login-dialog-auth-list-item:selected { ++ background-color: #3584e4; ++ color: #fff; } ++ ++.login-dialog .login-dialog-auth-list-title { ++ background-color: rgba(238, 238, 236, 0.02) !important; ++ color: #eeeeec !important; ++ margin: 0.5em 20px; } ++ ++.login-dialog .login-dialog-auth-list-item { ++ min-height: 3em; ++ padding: 9px; ++ margin-bottom: 4px; ++ margin-right: 4px; ++ background-color: rgba(238, 238, 236, 0.06); } ++ .login-dialog .login-dialog-auth-list-item.compact { ++ min-height: 1.3em; } ++ ++.unlock-dialog .login-dialog-auth-list-item { ++ border: none; ++ color: #eeeeec; ++ background-color: rgba(238, 238, 236, 0.06); ++ border-radius: 12px; ++ min-height: 3em; ++ padding: 9px; ++ margin-bottom: 4px; ++ margin-right: 4px; } ++ .unlock-dialog .login-dialog-auth-list-item:hover, .unlock-dialog .login-dialog-auth-list-item:focus, .unlock-dialog .login-dialog-auth-list-item:selected { ++ background-color: rgba(238, 238, 236, 0.16); } ++ .unlock-dialog .login-dialog-auth-list-item:active { ++ background-color: rgba(238, 238, 236, 0.22); } ++ ++.unlock-dialog .login-dialog-auth-list-title { ++ background-color: transparent !important; ++ border: none; ++ color: #eeeeec !important; ++ padding: 0; ++ margin: 0; } ++ ++.login-dialog-auth-list-title-label { ++ font-size: 13pt; ++ font-weight: bold; ++ padding: 6px; ++ text-align: center; } ++ ++.login-dialog-auth-list-item-title, ++.login-dialog-auth-list-item-subtitle { ++ font-size: 11pt; ++ text-align: center; ++ padding: 1.8px 2em; } ++ ++.login-dialog-auth-list-item-title { ++ color: #eeeeec; ++ font-weight: bold; } ++ ++.login-dialog-auth-list-item-subtitle { ++ color: #bebeb6; ++ font-weight: 500; } ++ ++.login-dialog-item-icon { ++ width: 1.3em; ++ height: 1.3em; ++ color: #eeeeec; ++ padding: 4.2px 6px; ++ border-radius: 8px; } ++ .login-dialog-item-icon:hover { ++ background-color: #282828; } ++ .login-dialog-item-icon-popup.popup-menu { ++ min-width: 0; } ++ .login-dialog-item-icon-popup-box { ++ padding: 6px 0; } ++ .login-dialog-item-icon-popup-box .login-dialog-item-icon-popup-labels { ++ spacing: 3px; ++ font-weight: bold; ++ 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: #2e3436; } ++ + .login-dialog-user-list-view { + -st-vfade-offset: 1em; } + +@@ -2125,7 +2314,7 @@ StScrollBar { + padding-top: 24px; + padding-bottom: 12px; + spacing: 12px; +- width: 23em; } ++ width: 27.6em; } + + .login-dialog-prompt-entry { + height: 1.5em; } +@@ -2135,6 +2324,75 @@ StScrollBar { + font-size: 12pt; + padding-top: 1em; } + ++.web-login-spinner { ++ background-color: rgba(0, 0, 0, 0.5); ++ border: 5px rgba(0, 0, 0, 0); ++ border-radius: 50px; } ++ ++.web-login-title-label { ++ font-size: 11pt; ++ color: #a6a69b; ++ text-align: center; } ++ ++.web-login-url-label { ++ font-size: 11pt; ++ font-family: monospace; ++ color: #eeeeec; ++ text-align: center; } ++ .web-login-url-label.web-login-url-label-long { ++ font-size: 9pt; } ++ ++.web-login-code-title-label { ++ font-size: 11pt; ++ color: #eeeeec; ++ text-align: center; } ++ ++.web-login-code-label { ++ font-size: 11pt; ++ color: #eeeeec; ++ font-weight: bold; ++ text-align: center; } ++ ++.web-login-prompt { ++ padding-top: 6px; ++ padding-bottom: 6px; ++ padding-left: 27px; ++ padding-right: 27px; ++ spacing: 1.75em; } ++ ++.login-dialog .login-button, ++.login-dialog .web-login-prompt-button, ++.unlock-dialog .login-button, ++.unlock-dialog .web-login-prompt-button { ++ font-size: 13pt; ++ color: #eeeeec; ++ text-align: center; ++ font-weight: bold; ++ border-radius: 32px; ++ background-color: rgba(238, 238, 236, 0.06); } ++ ++.login-dialog .login-button, ++.unlock-dialog .login-button { ++ padding: 9px 18px; ++ margin: 0.2em 20px; ++ width: 8em; } ++ ++.login-dialog .web-login-prompt-button, ++.unlock-dialog .web-login-prompt-button { ++ padding: 9px 18px; ++ margin: 24px 8px; ++ width: 7em; } ++ ++.login-dialog .login-button:hover, .login-dialog .login-button:focus, ++.login-dialog .web-login-prompt-button:hover, ++.login-dialog .web-login-prompt-button:focus { ++ background-color: #3584e4; } ++ ++.unlock-dialog .login-button:hover, .unlock-dialog .login-button:focus, ++.unlock-dialog .web-login-prompt-button:hover, ++.unlock-dialog .web-login-prompt-button:focus { ++ background-color: rgba(238, 238, 236, 0.16); } ++ + /* Screen Shield */ + .unlock-dialog-clock { + color: white; +@@ -2200,6 +2458,13 @@ StScrollBar { + #unlockDialogNotifications StButton#vhandle:active, #unlockDialogNotifications StButton#hhandle:active { + background-color: rgba(53, 132, 228, 0.5); } + ++.qr-code { ++ border-radius: 4px; ++ border-width: 1em; ++ background-color: #e6e6e5; ++ border-color: #e6e6e5; ++ color: #2e3436; } ++ + /* Overrides */ + #panel, #panel.solid { + font-weight: normal; +diff --git a/data/gnome-shell-sass/_widgets.scss b/data/gnome-shell-sass/_widgets.scss +index a8d0aa9..ebd97be 100644 +--- a/data/gnome-shell-sass/_widgets.scss ++++ b/data/gnome-shell-sass/_widgets.scss +@@ -49,3 +49,4 @@ + // Lock / login screens + @import 'widgets/login-dialog'; + @import 'widgets/screen-shield'; ++@import 'widgets/qr-code'; +diff --git a/data/gnome-shell-sass/widgets/_entries.scss b/data/gnome-shell-sass/widgets/_entries.scss +index 0a43e86..d76d17f 100644 +--- a/data/gnome-shell-sass/widgets/_entries.scss ++++ b/data/gnome-shell-sass/widgets/_entries.scss +@@ -21,7 +21,7 @@ StEntry { + padding: 0 4px; + } + StLabel.hint-text { +- margin-left: 2px; ++ margin-left: $base_margin * 2; + color: transparentize($fg_color, 0.3); + } + } +diff --git a/data/gnome-shell-sass/widgets/_login-dialog.scss b/data/gnome-shell-sass/widgets/_login-dialog.scss +index 1789bec..800455c 100644 +--- a/data/gnome-shell-sass/widgets/_login-dialog.scss ++++ b/data/gnome-shell-sass/widgets/_login-dialog.scss +@@ -1,5 +1,7 @@ + /* Login Dialog */ + ++$_gdm_fg: $osd_fg_color; ++ + .login-dialog-banner-view { + padding-top: 24px; + max-width: 23em; +@@ -70,8 +72,10 @@ + } + } + ++ .next-button, + .cancel-button, + .switch-user-button, ++ .login-dialog-auth-menu-button, + .login-dialog-session-list-button { + padding: 0; + border-radius: 99px; +@@ -83,16 +87,66 @@ + StIcon { icon-size: $base_icon_size; } + } + ++ .next-button { ++ background-color: transparent !important; ++ } ++ ++ .switch-user-button { ++ min-width: 8.5em; ++ min-height: 2.5em; ++ @include fontsize($base_font_size - 1); ++ font-weight: bold; ++ } ++ + .caps-lock-warning-label, + .login-dialog-message-warning { + color: $osd_fg_color; + } ++ ++ .login-dialog-prompt-layout { ++ &.web-login-active { ++ width: 23em * 1.5; ++ } ++ } ++ ++ .login-dialog-prompt-entry-area { ++ margin: 0.5em $base_margin * 5; ++ } ++ ++ .login-dialog-prompt-entry { ++ border-radius: $base_border_radius * 1.5; ++ // Make room for button-well inside entry ++ :ltr { padding-right: 2.5em; } ++ :rtl { padding-left: 2.5em; } ++ } ++ ++ .login-dialog-default-button-well { ++ :ltr { margin-right: 0.5em; } ++ :rtl { margin-left: 0.5em; } ++ } ++} ++ ++.login-dialog-spinner { ++ @if $variant == 'light' { ++ color: black; ++ } @else { ++ color: $osd_fg_color; ++ } ++} ++ ++.login-dialog-bottom-button-group { ++ padding: 32px; ++ spacing: 16px; + } + + .login-dialog-logo-bin { padding: 24px 0px; } + .login-dialog-banner { color: darken($osd_fg_color,10%); } + .login-dialog-button-box { width: 23em; spacing: 5px; } + .login-dialog-message { text-align: center; } ++.login-dialog-message-hint, .login-dialog-message { ++ color: darken($osd_fg_color, 20%); ++ min-height: 2.75em; ++} + .login-dialog-user-selection-box { padding: 100px 0px; } + .login-dialog-not-listed-label { + padding-left: 2px; +@@ -109,6 +163,193 @@ + padding-top: 1em; + } + ++.login-dialog-auth-menu-button-popup { ++ padding: $base_padding * 3; ++ margin-right: $base_padding * 2; ++ ++ .login-dialog-auth-menu-item-section { ++ padding-top: $base_padding; ++ ++ &:first-child { ++ padding-top: 0; ++ } ++ ++ &-label { ++ @include fontsize($base_font_size - 1); ++ font-weight: bold; ++ color: $fg_color; ++ } ++ } ++ ++ .login-dialog-auth-menu-item-icon { ++ color: $fg_color; ++ icon-size: $base_icon_size; ++ margin-right: $base_margin * 2; ++ } ++ ++ .login-dialog-auth-menu-item-box { ++ spacing: $base_padding * .5; ++ ++ &-name { ++ color: $fg_color; ++ @include fontsize($base_font_size); ++ font-weight: bold; ++ } ++ ++ &-description { ++ color: $fg_color; ++ @include fontsize($base_font_size - 1); ++ } ++ } ++} ++ ++.login-dialog-auth-menu-button-indicator { ++ background-color: transparent !important; ++ margin: 32px; ++ ++ .login-dialog-auth-menu-button-indicator-icons { ++ spacing: $base_padding * 3; ++ ++ .login-dialog-auth-menu-button-indicator-icon { ++ icon-size: 2em; ++ } ++ } ++ ++ .login-dialog-auth-menu-button-indicator-description { ++ @include fontsize($base_font_size); ++ font-weight: normal; ++ margin-left: $base_padding * 2; ++ } ++} ++ ++.login-dialog-auth-menu-button-indicator-description { ++ color: $osd_fg_color; ++} ++ ++.login-dialog-button-box { ++ height: 4em; ++} ++ ++.login-dialog-auth-list-view { ++ -st-vfade-offset: 3em; ++ max-height: 13em; ++} ++ ++.login-dialog-auth-list { ++ spacing: $base_padding * 1.5; ++} ++ ++.login-dialog { ++ .login-dialog-auth-list-title, ++ .login-dialog-auth-list-item { ++ border-radius: $base_border_radius * 1.5; ++ color: darken($_gdm_fg, 30%); ++ &:focus, &:selected { background-color: $selected_bg_color; color: $selected_fg_color; } ++ } ++ ++ .login-dialog-auth-list-title { ++ background-color: transparentize($_gdm_fg, .98) !important; ++ color: $_gdm_fg !important; ++ margin: 0.5em $base_margin * 5; ++ } ++ ++ .login-dialog-auth-list-item { ++ min-height: 3em; ++ padding: $base_padding * 1.5; ++ margin-bottom: $base_margin; ++ margin-right: $base_margin; ++ background-color: transparentize($_gdm_fg, .94); ++ ++ &.compact { ++ min-height: 1.3em; ++ } ++ } ++} ++ ++.unlock-dialog { ++ .login-dialog-auth-list-item { ++ border: none; ++ color: $osd_fg_color; ++ background-color: transparentize($osd_fg_color, 0.94); ++ &:hover, &:focus, &:selected { background-color: transparentize($osd_fg_color, 0.84); } ++ &:active { background-color: transparentize($osd_fg_color, 0.78); } ++ border-radius: $base_border_radius * 1.5; ++ min-height: 3em; ++ padding: $base_padding * 1.5; ++ margin-bottom: $base_margin; ++ margin-right: $base_margin; ++ } ++ ++ .login-dialog-auth-list-title { ++ background-color: transparent !important; ++ border: none; ++ color: $osd_fg_color !important; ++ padding: 0; ++ margin: 0; ++ } ++} ++ ++.login-dialog-auth-list-title-label { ++ @include fontsize($base_font_size + 2); ++ font-weight: bold; ++ padding: $base_padding; ++ text-align: center; ++} ++ ++.login-dialog-auth-list-item-title, ++.login-dialog-auth-list-item-subtitle { ++ @include fontsize($base_font_size); ++ text-align: center; ++ padding: $base_padding * 0.3 2em; ++} ++ ++.login-dialog-auth-list-item-title { ++ color: $_gdm_fg; ++ font-weight: bold; ++} ++ ++.login-dialog-auth-list-item-subtitle { ++ color: darken($_gdm_fg, 20%); ++ font-weight: 500; ++} ++ ++.login-dialog-item-icon { ++ width: 1.3em; ++ height: 1.3em; ++ color: $_gdm_fg; ++ padding: $base_padding * 0.7 $base_padding; ++ border-radius: $base_border_radius; ++ ++ &:hover { ++ background-color: $system_bg_color; ++ } ++ ++ &-popup { ++ &.popup-menu { ++ min-width: 0; ++ } ++ ++ &-box { ++ padding: $base_padding 0; ++ } ++ ++ &-box &-labels { ++ spacing: $base_padding * 0.5; ++ font-weight: bold; ++ text-align: center; ++ ++ & > :first-child { ++ color: darken($fg_color, 30%); ++ font-weight: 500; ++ } ++ ++ & > :last-child { ++ color: $fg_color; ++ } ++ } ++ } ++} ++ + .login-dialog-user-list-view { -st-vfade-offset: 1em; } + .login-dialog-user-list { + spacing: 12px; +@@ -160,7 +401,7 @@ + padding-top: 24px; + padding-bottom: 12px; + spacing: $base_spacing * 2; +- width: 23em; ++ width: 23em * 1.2; + } + + .login-dialog-prompt-entry { +@@ -172,3 +413,90 @@ + @include fontsize($base_font_size + 1); + padding-top: 1em; + } ++ ++.web-login-spinner { ++ background-color: rgba(0, 0, 0, 0.5); ++ border: 5px rgba(0, 0, 0, 0.0); ++ border-radius: 50px; ++} ++ ++.web-login-title-label { ++ @include fontsize($base_font_size); ++ color: darken($_gdm_fg,30%); ++ text-align: center; ++} ++ ++.web-login-url-label { ++ @include fontsize($base_font_size); ++ font-family: monospace; ++ color: $_gdm_fg; ++ text-align: center; ++ ++ &.web-login-url-label-long { ++ @include fontsize($base_font_size - 2); ++ } ++} ++ ++.web-login-code-title-label { ++ @include fontsize($base_font_size); ++ color: $_gdm_fg; ++ text-align: center; ++} ++ ++.web-login-code-label { ++ @include fontsize($base_font_size); ++ color: $_gdm_fg; ++ font-weight: bold; ++ text-align: center; ++} ++ ++.web-login-prompt { ++ padding-top: $base_padding; ++ padding-bottom: $base_padding; ++ padding-left: $base_padding * 4.5; ++ padding-right: $base_padding * 4.5; ++ spacing: 1.75em; ++} ++ ++.login-dialog, ++.unlock-dialog { ++ .login-button, ++ .web-login-prompt-button { ++ @include fontsize($base_font_size + 2); ++ color: $_gdm_fg; ++ text-align: center; ++ font-weight: bold; ++ border-radius: $base_border_radius * 4; ++ background-color: transparentize($_gdm_fg, .94); ++ } ++ ++ .login-button { ++ padding: $base_padding * 1.5 $base_padding * 3; ++ margin: 0.2em $base_margin * 5; ++ width: 8em; ++ } ++ ++ .web-login-prompt-button { ++ padding: $base_padding * 1.5 $base_padding * 3; ++ margin: $base_margin * 6 $base_margin * 2; ++ width: 7em; ++ } ++} ++ ++.login-dialog { ++ .login-button, ++ .web-login-prompt-button { ++ &:hover, &:focus { ++ background-color: $selected_bg_color; ++ } ++ } ++} ++ ++.unlock-dialog { ++ .login-button, ++ .web-login-prompt-button { ++ &:hover, &:focus { ++ background-color: transparentize($osd_fg_color, .84); ++ } ++ } ++} diff --git a/data/gnome-shell-sass/widgets/_panel.scss b/data/gnome-shell-sass/widgets/_panel.scss index 1f46507..ad638b2 100644 --- a/data/gnome-shell-sass/widgets/_panel.scss @@ -24,20 +812,39 @@ index 1f46507..ad638b2 100644 // status area icons .system-status-icon { icon-size: $base_icon_size; -diff --git a/data/gnome-classic.css b/data/gnome-classic.css -index 52e5367..3be81e9 100644 ---- a/data/gnome-classic.css -+++ b/data/gnome-classic.css -@@ -1234,6 +1234,9 @@ StScrollBar { - box-shadow: none; } - #panel .panel-button.clock-display:hover .clock, #panel .panel-button.clock-display:active .clock, #panel .panel-button.clock-display:overview .clock, #panel .panel-button.clock-display:focus .clock, #panel .panel-button.clock-display:checked .clock { - box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.2); } -+ #panel .panel-button .panel-logo-icon { -+ padding-right: .4em; -+ icon-size: 1em; } - #panel .panel-button .system-status-icon { - icon-size: 1.09em; - padding: 5px; +diff --git a/data/gnome-shell-sass/widgets/_qr-code.scss b/data/gnome-shell-sass/widgets/_qr-code.scss +new file mode 100644 +index 0000000..e156d22 +--- /dev/null ++++ b/data/gnome-shell-sass/widgets/_qr-code.scss +@@ -0,0 +1,15 @@ ++// QR Code ++.qr-code { ++ border-radius: $base_border_radius * .5; ++ border-width: 1em; ++ @if ($variant == 'light') { ++ $qrcode_bg_color: mix($fg_color, $bg_color, 8%); ++ background-color: $qrcode_bg_color; ++ border-color: $qrcode_bg_color; ++ color: $fg_color; ++ } @else { ++ background-color: $osd_fg_color; ++ border-color: $osd_fg_color; ++ color: $system_bg_color; ++ } ++} +diff --git a/data/meson.build b/data/meson.build +index 27f4287..f1a72d9 100644 +--- a/data/meson.build ++++ b/data/meson.build +@@ -53,6 +53,7 @@ theme_sources = files( + 'gnome-shell-sass/widgets/_overview.scss', + 'gnome-shell-sass/widgets/_panel.scss', + 'gnome-shell-sass/widgets/_popovers.scss', ++ 'gnome-shell-sass/widgets/_qr-code.scss', + 'gnome-shell-sass/widgets/_screen-shield.scss', + 'gnome-shell-sass/widgets/_scrollbars.scss', + 'gnome-shell-sass/widgets/_search-entry.scss', -- -2.28.0 +2.55.0 diff --git a/gnome-shell-extensions.spec b/gnome-shell-extensions.spec index cde37c3..ddd85a4 100644 --- a/gnome-shell-extensions.spec +++ b/gnome-shell-extensions.spec @@ -7,7 +7,7 @@ Name: gnome-shell-extensions Version: 40.7 -Release: 34%{?dist} +Release: 35%{?dist} Summary: Modify and extend GNOME Shell functionality and behavior License: GPLv2+ @@ -490,6 +490,10 @@ workspaces. %changelog +* Tue Aug 11 2026 Joan Torres Lopez - 40.7-35 +- Update classic style from passwordless GDM backport + Resolves: RHEL-236936 + * Thu Jul 09 2026 Florian Müllner - 40.7-34 - Add "window-grouper" extension Resolves: RHEL-193200