From 3292ee8dafd373703577406dc8f350cccb1269dc Mon Sep 17 00:00:00 2001
From: Kevin MacMartin <prurigro@gmail.com>
Date: Sun, 23 Mar 2025 22:09:55 -0400
Subject: [PATCH] Add the new gnome 48 patch

---
 patches/gnome-48.0-dark-theme.patch | 219 ++++++++++++++++++++++++++++
 1 file changed, 219 insertions(+)
 create mode 100644 patches/gnome-48.0-dark-theme.patch

diff --git a/patches/gnome-48.0-dark-theme.patch b/patches/gnome-48.0-dark-theme.patch
new file mode 100644
index 0000000..18615b6
--- /dev/null
+++ b/patches/gnome-48.0-dark-theme.patch
@@ -0,0 +1,219 @@
+diff --git a/gnome-shell-light.scss b/gnome-shell-dark-laptop.scss
+similarity index 84%
+rename from gnome-shell-light.scss
+rename to gnome-shell-dark-laptop.scss
+index 22b8347..61925f9 100644
+--- a/gnome-shell-light.scss
++++ b/gnome-shell-dark-laptop.scss
+@@ -1,6 +1,7 @@
+-$variant: 'light';
++$variant: 'dark';
+ $contrast: 'normal';
+ 
++$laptop: true;
+ @import "gnome-shell-sass/_colors"; //use gtk colors
+ @import "gnome-shell-sass/_drawing";
+ @import "gnome-shell-sass/_common";
+diff --git a/gnome-shell-dark.scss b/gnome-shell-dark.scss
+index c1a330b..294ac64 100644
+--- a/gnome-shell-dark.scss
++++ b/gnome-shell-dark.scss
+@@ -1,6 +1,7 @@
+ $variant: 'dark';
+ $contrast: 'normal';
+ 
++$laptop: false;
+ @import "gnome-shell-sass/_colors"; //use gtk colors
+ @import "gnome-shell-sass/_drawing";
+ @import "gnome-shell-sass/_common";
+diff --git a/gnome-shell-high-contrast.scss b/gnome-shell-high-contrast.scss
+deleted file mode 100644
+index a4394dd..0000000
+--- a/gnome-shell-high-contrast.scss
++++ /dev/null
+@@ -1,7 +0,0 @@
+-$variant: 'dark';
+-$contrast: "high";
+-
+-@import "gnome-shell-sass/_high-contrast-colors"; //use gtk colors
+-@import "gnome-shell-sass/_drawing";
+-@import "gnome-shell-sass/_common";
+-@import "gnome-shell-sass/_widgets";
+diff --git a/gnome-shell-sass/_colors.scss b/gnome-shell-sass/_colors.scss
+index b3a52b6..fa84533 100644
+--- a/gnome-shell-sass/_colors.scss
++++ b/gnome-shell-sass/_colors.scss
+@@ -21,7 +21,7 @@ $system_base_color: $_base_color_dark;
+ $system_fg_color: $_base_color_light;
+ 
+ // panel colors
+-$panel_bg_color: if($variant == 'light', $_base_color_light, $dark_5);
++$panel_bg_color: if($variant == 'light', $_base_color_light, $dark_4);
+ $panel_fg_color: if($variant == 'light', $_base_color_dark, $light_1);
+ 
+ // card elements
+diff --git a/gnome-shell-sass/_drawing.scss b/gnome-shell-sass/_drawing.scss
+index d98cb49..ba33f5a 100644
+--- a/gnome-shell-sass/_drawing.scss
++++ b/gnome-shell-sass/_drawing.scss
+@@ -390,7 +390,7 @@
+ }
+ 
+ // Panel menu/button drawing function
+-@mixin panel_button($bg:$panel_fg_color, $fg:$panel_fg_color, $style: null, $highlighted_child: false, $child_class:"") {
++@mixin panel_button($bg:$panel_fg_color, $fg:$panel_fg_color, $style: null, $highlighted_child: false, $child_class:"", $border_radius: 3px) {
+   //
+   // $bg:                 background color, derived from $panel_fg_color
+   // $fg:                 foreground color, also derived from $panel_fg_color
+@@ -404,7 +404,7 @@
+   transition-duration: 150ms;
+   border: 3px solid transparent;
+   background-color: transparent;
+-  border-radius: $forced_circular_radius;
++  border-radius: $border_radius;
+ 
+   font-weight: bold;
+   color: $fg;
+@@ -448,7 +448,7 @@
+     #{$child_class} {
+       transition-duration: 150ms;
+       border: 3px solid transparent;
+-      border-radius: $forced_circular_radius;
++      border-radius: $border_radius;
+     }
+ 
+     &:focus, &:hover {
+diff --git a/gnome-shell-sass/_palette.scss b/gnome-shell-sass/_palette.scss
+index 78847d9..8627513 100644
+--- a/gnome-shell-sass/_palette.scss
++++ b/gnome-shell-sass/_palette.scss
+@@ -39,8 +39,8 @@ $light_2: #f6f5f4;
+ $light_3: #deddda;
+ $light_4: #c0bfbc;
+ $light_5: #9a9996;
+-$dark_1: #77767b;
+-$dark_2: #5e5c64;
+-$dark_3: #3d3846;
+-$dark_4: #241f31;
+-$dark_5: #000000;
+\ No newline at end of file
++$dark_1: #777777;
++$dark_2: #5e5e5e;
++$dark_3: #3d3d3d;
++$dark_4: #242424;
++$dark_5: #000000;
+diff --git a/gnome-shell-sass/widgets/_corner-ripple.scss b/gnome-shell-sass/widgets/_corner-ripple.scss
+index 9aff431..1760eda 100644
+--- a/gnome-shell-sass/widgets/_corner-ripple.scss
++++ b/gnome-shell-sass/widgets/_corner-ripple.scss
+@@ -3,7 +3,7 @@
+ $ripple_size: 50px;
+ 
+ .ripple-box {
+-  background-color: rgba(255,255,255,0.2);
++  background-color: rgba(0,0,0,0);
+   box-shadow: 0 0 2px 2px rgba(255,255,255,0.2);
+   // plus + 2px for the border (box-shadow)
+   width: $ripple_size + 2px;
+diff --git a/gnome-shell-sass/widgets/_panel.scss b/gnome-shell-sass/widgets/_panel.scss
+index 2a29eee..80e93f9 100644
+--- a/gnome-shell-sass/widgets/_panel.scss
++++ b/gnome-shell-sass/widgets/_panel.scss
+@@ -1,8 +1,8 @@
+ /* Top Bar */
+ // a.k.a. the panel
+ 
+-$privacy_indicator_color: if($variant == 'light', $orange_4, $orange_3);
+-$recording_indicator_color: $red_4;
++$privacy_indicator_color: if($variant == 'light', $orange_4, $red_3);
++$recording_indicator_color: $red_3;
+ 
+ $transparent_panel_fg_color: $light_1;    // always white for transparent lock screens
+ $system_panel_fg_color: $system_fg_color; // always light for lockscreen, overview
+@@ -20,13 +20,13 @@ $panel_transition_duration: 250ms; // same as the overview transition duration
+   // panel menus
+   .panel-button {
+     @include panel_button();
+-    -natural-hpadding: $base_padding * 2;
+-    -minimum-hpadding: $base_padding;
++    -natural-hpadding: 6px;
++    -minimum-hpadding: 4px;
+ 
+     // status area icons
+     .system-status-icon {
+       icon-size: $scalable_icon_size;
+-      padding: 0 $base_padding;
++      padding: 0;
+       margin: 0 $base_margin;
+     }
+ 
+@@ -39,7 +39,7 @@ $panel_transition_duration: 250ms; // same as the overview transition duration
+     // reduce margin between icons in combined menu
+     .panel-status-menu-box,
+     .panel-status-indicators-box {
+-      spacing: $base_margin;
++      spacing: 0px;
+ 
+       > .system-status-icon {
+         padding: 0;
+@@ -47,6 +47,9 @@ $panel_transition_duration: 250ms; // same as the overview transition duration
+     }
+ 
+     &#panelActivities {
++      -natural-hpadding: 10px;
++      -minimum-hpadding: 8px;
++
+       & StBoxLayout {
+         padding: 0 $scaled_padding * 0.5; // use em padding to keep proportion
+         spacing: 5px;
+@@ -69,6 +72,10 @@ $panel_transition_duration: 250ms; // same as the overview transition duration
+ 
+       StIcon {
+         icon-size: $scalable_icon_size;
++
++        &:first-child {
++          margin-left: 3px;
++        }
+       }
+     }
+ 
+@@ -86,6 +93,10 @@ $panel_transition_duration: 250ms; // same as the overview transition duration
+       // we want to exclude the do-not-disturb indicator from the background
+       // see _drawing.scss for override details
+       @include panel_button($highlighted_child: true, $child_class: '.clock');
++      -natural-hpadding: 0px;
++      -minimum-hpadding: 0px;
++      padding-left: 0px;
++      padding-right: 0px;
+ 
+       .clock {
+         // the highlighted child
+@@ -151,7 +162,14 @@ $panel_transition_duration: 250ms; // same as the overview transition duration
+ 
+   // spacing between power icon and (optional) percentage label
+   .power-status.panel-status-indicators-box {
++    padding-left: 0px;
+     spacing: 0;
++
++    @if $laptop {
++      margin-bottom: 2px;
++    } @else {
++      margin-left: 0px;
++    }
+   }
+ 
+   // important privacy related indicators
+@@ -174,7 +192,11 @@ $panel_transition_duration: 250ms; // same as the overview transition duration
+ .clock-display-box {
+   spacing: 2px;
+   .clock {
+-    padding-left: $scaled_padding * 2;
+-    padding-right: $scaled_padding * 2;
++    padding-left: 8px;
++    padding-right: 8px;
++  }
++
++  StIcon:last-child {
++    margin-right: 3px;
+   }
+ }