From b6a083225890bfd1ecf870ce051f12943cedf7e7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Wed, 22 May 2024 18:42:06 +0200
Subject: [PATCH] panel: Use branding in activities button

Replace the upstream workspace dots with a red hat.
---
 data/gnome-shell-icons.gresource.xml          |  1 +
 data/icons/scalable/actions/rh-logo.svg       | 76 +++++++++++++++++++
 .../gnome-shell-sass/widgets/_panel.scss      |  5 ++
 js/ui/panel.js                                |  6 +-
 4 files changed, 87 insertions(+), 1 deletion(-)
 create mode 100644 data/icons/scalable/actions/rh-logo.svg

diff --git a/data/gnome-shell-icons.gresource.xml b/data/gnome-shell-icons.gresource.xml
index db65673b41..e6c49ae343 100644
--- a/data/gnome-shell-icons.gresource.xml
+++ b/data/gnome-shell-icons.gresource.xml
@@ -15,6 +15,7 @@
     <file preprocess="xml-stripblanks">scalable/actions/pointer-secondary-click-symbolic.svg</file>
     <file preprocess="xml-stripblanks">scalable/actions/preview-close-symbolic.svg</file>
     <file preprocess="xml-stripblanks">scalable/actions/record-screen-symbolic.svg</file>
+    <file preprocess="xml-stripblanks">scalable/actions/rh-logo.svg</file>
     <file preprocess="xml-stripblanks">scalable/actions/screencast-recorded-symbolic.svg</file>
     <file preprocess="xml-stripblanks">scalable/actions/screencast-stop-symbolic.svg</file>
     <file preprocess="xml-stripblanks">scalable/actions/screenshooter-symbolic.svg</file>
diff --git a/data/icons/scalable/actions/rh-logo.svg b/data/icons/scalable/actions/rh-logo.svg
new file mode 100644
index 0000000000..e1330557c5
--- /dev/null
+++ b/data/icons/scalable/actions/rh-logo.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   id="Layer_1"
+   data-name="Layer 1"
+   viewBox="0 0 16 16"
+   version="1.1"
+   sodipodi:docname="shell-icon.svg"
+   width="16"
+   height="16"
+   inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:dc="http://purl.org/dc/elements/1.1/">
+  <sodipodi:namedview
+     id="namedview2"
+     pagecolor="#505050"
+     bordercolor="#ffffff"
+     borderopacity="1"
+     inkscape:showpageshadow="0"
+     inkscape:pageopacity="0"
+     inkscape:pagecheckerboard="1"
+     inkscape:deskcolor="#d1d1d1"
+     showgrid="true"
+     inkscape:current-layer="Layer_1">
+    <inkscape:grid
+       id="grid2"
+       units="px"
+       originx="0"
+       originy="0"
+       spacingx="1"
+       spacingy="1"
+       empcolor="#3f3fff"
+       empopacity="0.25098039"
+       color="#3f3fff"
+       opacity="0.1254902"
+       empspacing="5"
+       dotted="false"
+       gridanglex="30"
+       gridanglez="30"
+       visible="true" />
+  </sodipodi:namedview>
+  <defs
+     id="defs1">
+    <style
+       id="style1">.cls-1{fill:#e00;}</style>
+  </defs>
+  <title
+     id="title1">RedHat-Logo-Hat-Color</title>
+  <g
+     id="g2"
+     transform="matrix(0.08405569,0,0,0.08405569,-0.04202784,1.9059625)"
+     style="stroke-width:11.8969">
+    <path
+       d="m 157.77,62.61 a 14,14 0 0 1 0.31,3.42 c 0,14.88 -18.1,17.46 -30.61,17.46 C 78.83,83.49 42.53,53.26 42.53,44 a 6.43,6.43 0 0 1 0.22,-1.94 l -3.66,9.06 a 18.45,18.45 0 0 0 -1.51,7.33 c 0,18.11 41,45.48 87.74,45.48 20.69,0 36.43,-7.76 36.43,-21.77 0,-1.08 0,-1.94 -1.73,-10.13 z"
+       id="path1"
+       style="stroke-width:11.8969" />
+    <path
+       class="cls-1"
+       d="m 127.47,83.49 c 12.51,0 30.61,-2.58 30.61,-17.46 a 14,14 0 0 0 -0.31,-3.42 L 150.32,30.25 C 148.6,23.13 147.09,19.9 134.59,13.65 124.89,8.69 103.76,0.5 97.51,0.5 91.69,0.5 90,8 83.06,8 76.38,8 71.42,2.4 65.17,2.4 c -6,0 -9.91,4.09 -12.93,12.5 0,0 -8.41,23.72 -9.49,27.16 A 6.43,6.43 0 0 0 42.53,44 c 0,9.22 36.3,39.45 84.94,39.45 M 160,72.07 c 1.73,8.19 1.73,9.05 1.73,10.13 0,14 -15.74,21.77 -36.43,21.77 C 78.54,104 37.58,76.6 37.58,58.49 a 18.45,18.45 0 0 1 1.51,-7.33 C 22.27,52 0.5,55 0.5,74.22 c 0,31.48 74.59,70.28 133.65,70.28 45.28,0 56.7,-20.48 56.7,-36.65 0,-12.72 -11,-27.16 -30.83,-35.78"
+       id="path2"
+       style="stroke-width:11.8969" />
+  </g>
+  <metadata
+     id="metadata2">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:title>RedHat-Logo-Hat-Color</dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+</svg>
diff --git a/data/theme/gnome-shell-sass/widgets/_panel.scss b/data/theme/gnome-shell-sass/widgets/_panel.scss
index 2a29eee9da..02f8232de6 100644
--- a/data/theme/gnome-shell-sass/widgets/_panel.scss
+++ b/data/theme/gnome-shell-sass/widgets/_panel.scss
@@ -58,6 +58,11 @@ $panel_transition_duration: 250ms; // same as the overview transition duration
         min-height: $scalable_icon_size * 0.5;
         background-color: $panel_fg_color;
       }
+
+      & .activities-logo {
+        icon-size: $scalable_icon_size * 1.25;
+        padding: 0 $base_padding;
+      }
     }
 
     // screen activity indicators
diff --git a/js/ui/panel.js b/js/ui/panel.js
index 62c8ebb31a..4fa094bd93 100644
--- a/js/ui/panel.js
+++ b/js/ui/panel.js
@@ -425,7 +425,11 @@ class ActivitiesButton extends PanelMenu.Button {
             accessible_name: _('Activities'),
         });
 
-        this.add_child(new WorkspaceIndicators());
+        const logoIcon = new St.Icon({
+            icon_name: 'rh-logo',
+            style_class: 'activities-logo',
+        });
+        this.add_child(logoIcon);
 
         Main.overview.connectObject('showing',
             () => this.add_style_pseudo_class('checked'),
-- 
2.45.1