perf: improving performance, layout (#215)
Co-authored-by: nullishamy <git@amyerskine.me>
This commit is contained in:
13
sources/patches/colloid/alt-tab-background-color.patch
Normal file
13
sources/patches/colloid/alt-tab-background-color.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/sass/gnome-shell/common/_switcher-popup.scss b/src/sass/gnome-shell/common/_switcher-popup.scss
|
||||
index 90b51ab4..408662fb 100644
|
||||
--- a/src/sass/gnome-shell/common/_switcher-popup.scss
|
||||
+++ b/src/sass/gnome-shell/common/_switcher-popup.scss
|
||||
@@ -14,6 +14,8 @@
|
||||
border-radius: $base_radius;
|
||||
border: 1px solid transparent;
|
||||
|
||||
+ background-color: $osd;
|
||||
+
|
||||
&:outlined {
|
||||
background-color: $divider;
|
||||
color: $text; // for Ubuntu session
|
||||
123
sources/patches/colloid/palette.tera
Normal file
123
sources/patches/colloid/palette.tera
Normal file
@@ -0,0 +1,123 @@
|
||||
---
|
||||
whiskers:
|
||||
version: 2.1.0
|
||||
matrix:
|
||||
- flavor
|
||||
filename: 'sass-palette-{{ flavor.identifier }}.patch'
|
||||
---
|
||||
{%- set palette = flavor.colors -%}
|
||||
diff --git a/src/sass/_color-palette-catppuccin-{{ flavor.identifier }}.scss b/src/sass/_color-palette-catppuccin-{{ flavor.identifier }}.scss
|
||||
new file mode 100644
|
||||
index 00000000..4ff0da0d
|
||||
--- /dev/null
|
||||
+++ b/src/sass/_color-palette-catppuccin-{{ flavor.identifier }}.scss
|
||||
@@ -0,0 +1,87 @@
|
||||
+ // Our accents
|
||||
+ $rosewater: #{{ palette.rosewater.hex }};
|
||||
+ $flamingo: #{{ palette.flamingo.hex }};
|
||||
+ $pink: #{{ palette.pink.hex }};
|
||||
+ $mauve: #{{ palette.mauve.hex }};
|
||||
+ $red: #{{ palette.red.hex }};
|
||||
+ $maroon: #{{ palette.maroon.hex }};
|
||||
+ $peach: #{{ palette.peach.hex }};
|
||||
+ $yellow: #{{ palette.yellow.hex }};
|
||||
+ $green: #{{ palette.green.hex }};
|
||||
+ $teal: #{{ palette.teal.hex }};
|
||||
+ $sky: #{{ palette.sky.hex }};
|
||||
+ $sapphire: #{{ palette.sapphire.hex }};
|
||||
+ $blue: #{{ palette.blue.hex }};
|
||||
+ $lavender: #{{ palette.lavender.hex }};
|
||||
+// Default Theme Color Palette
|
||||
+
|
||||
+// Red
|
||||
+$red-light: #{{ palette.red.hex }};
|
||||
+$red-dark: #{{ palette.red.hex }};
|
||||
+
|
||||
+// Pink
|
||||
+$pink-light: #{{ palette.pink.hex }};
|
||||
+$pink-dark: #{{ palette.pink.hex }};
|
||||
+
|
||||
+// Purple
|
||||
+$purple-light: #{{ palette.mauve.hex }};
|
||||
+$purple-dark: #{{ palette.mauve.hex }};
|
||||
+
|
||||
+// Blue
|
||||
+$blue-light: #{{ palette.blue.hex }};
|
||||
+$blue-dark: #{{ palette.blue.hex }};
|
||||
+
|
||||
+// Teal
|
||||
+$teal-light: #{{ palette.teal.hex }};
|
||||
+$teal-dark: #{{ palette.teal.hex }};
|
||||
+
|
||||
+// Green
|
||||
+$green-light: #{{ palette.green.hex }};
|
||||
+$green-dark: #{{ palette.green.hex }};
|
||||
+
|
||||
+// Yellow
|
||||
+$yellow-light: #{{ palette.yellow.hex }};
|
||||
+$yellow-dark: #{{ palette.yellow.hex }};
|
||||
+
|
||||
+// Orange
|
||||
+$orange-light: #{{ palette.peach.hex }};
|
||||
+$orange-dark: #{{ palette.peach.hex }};
|
||||
+
|
||||
+// Grey
|
||||
{% if flavor.dark -%} {#- https://github.com/catppuccin/gtk/blob/0c3e8817da94769887c690b2211e006b287b27b1/scripts/recolor.py#L153-L176 -#}
|
||||
+$grey-050: #{{ palette.overlay2.hex }};
|
||||
+$grey-100: #{{ palette.overlay1.hex }};
|
||||
+$grey-150: #{{ palette.overlay0.hex }};
|
||||
+$grey-200: #{{ palette.surface2.hex }};
|
||||
+$grey-250: #{{ palette.surface1.hex }};
|
||||
+$grey-300: red;
|
||||
+$grey-350: red;
|
||||
+$grey-400: red;
|
||||
+$grey-450: red;
|
||||
+$grey-500: red;
|
||||
+$grey-550: red;
|
||||
+$grey-600: red;
|
||||
+$grey-650: #{{ palette.surface0.hex }};
|
||||
+$grey-700: #{{ palette.base.hex }};
|
||||
+$grey-750: #{{ palette.mantle.hex }};
|
||||
+$grey-800: #{{ palette.crust.hex }};
|
||||
+$grey-850: #020202;
|
||||
+$grey-900: #010101;
|
||||
+$grey-950: #000000;
|
||||
{%- else -%} {#- Light mode https://github.com/catppuccin/gtk/blob/0c3e8817da94769887c690b2211e006b287b27b1/scripts/recolor.py#L128-L151 -#}
|
||||
+$grey-050: #{{ palette.crust.hex }};
|
||||
+$grey-100: #{{ palette.mantle.hex }};
|
||||
+$grey-150: #{{ palette.base.hex }};
|
||||
+$grey-200: #{{ palette.surface0.hex }};
|
||||
+$grey-250: #{{ palette.surface1.hex }};
|
||||
+$grey-300: red;
|
||||
+$grey-350: red;
|
||||
+$grey-400: red;
|
||||
+$grey-450: red;
|
||||
+$grey-500: red;
|
||||
+$grey-550: red;
|
||||
+$grey-600: red;
|
||||
+$grey-650: #{{ palette.base.hex }};
|
||||
+$grey-700: #{{ palette.base.hex }};
|
||||
+$grey-750: #{{ palette.mantle.hex }};
|
||||
+$grey-800: #{{ palette.text.hex }};
|
||||
+$grey-850: #020202;
|
||||
+$grey-900: #010101;
|
||||
+$grey-950: #000000;
|
||||
{%- endif %}
|
||||
+
|
||||
+// White
|
||||
+$white: #eff1f5;
|
||||
+
|
||||
+// Black
|
||||
+$black: #11111b;
|
||||
+
|
||||
+// Button
|
||||
+$button-close: #{{ palette.red.hex }};
|
||||
+$button-max: #{{ palette.green.hex }};
|
||||
+$button-min: #{{ palette.yellow.hex }};
|
||||
+
|
||||
+// Link
|
||||
+$links: #{{ palette.sky.hex }};
|
||||
+
|
||||
+// Theme
|
||||
+$default-light: $purple-light;
|
||||
+$default-dark: $purple-dark;
|
||||
70
sources/patches/colloid/plank-dark.patch
Normal file
70
sources/patches/colloid/plank-dark.patch
Normal file
@@ -0,0 +1,70 @@
|
||||
diff --git a/src/main/plank/theme-Dark-Catppuccin/dock.theme b/src/main/plank/theme-Dark-Catppuccin/dock.theme
|
||||
new file mode 100644
|
||||
index 00000000..26a6a747
|
||||
--- /dev/null
|
||||
+++ b/src/main/plank/theme-Dark-Catppuccin/dock.theme
|
||||
@@ -0,0 +1,64 @@
|
||||
+#This file based on:
|
||||
+#https://git.launchpad.net/plank/tree/data/themes/Default/dock.theme
|
||||
+
|
||||
+[PlankTheme]
|
||||
+#The roundness of the top corners.
|
||||
+TopRoundness=16
|
||||
+#The roundness of the bottom corners.
|
||||
+BottomRoundness=0
|
||||
+#The thickness (in pixels) of lines drawn.
|
||||
+LineWidth=0
|
||||
+#The color (RGBA) of the outer stroke.
|
||||
+OuterStrokeColor=0;;0;;0;;0
|
||||
+#The starting color (RGBA) of the fill gradient.
|
||||
+FillStartColor=33;;33;;33;;255
|
||||
+#The ending color (RGBA) of the fill gradient.
|
||||
+FillEndColor=33;;33;;33;;255
|
||||
+#The color (RGBA) of the inner stroke.
|
||||
+InnerStrokeColor=33;;33;;33;;255
|
||||
+
|
||||
+[PlankDockTheme]
|
||||
+#The padding on the left/right dock edges, in tenths of a percent of IconSize.
|
||||
+HorizPadding=2
|
||||
+#The padding on the top dock edge, in tenths of a percent of IconSize.
|
||||
+TopPadding=2
|
||||
+#The padding on the bottom dock edge, in tenths of a percent of IconSize.
|
||||
+BottomPadding=1
|
||||
+#The padding between items on the dock, in tenths of a percent of IconSize.
|
||||
+ItemPadding=2
|
||||
+#The size of item indicators, in tenths of a percent of IconSize.
|
||||
+IndicatorSize=5
|
||||
+#The size of the icon-shadow behind every item, in tenths of a percent of IconSize.
|
||||
+IconShadowSize=0
|
||||
+#The height (in percent of IconSize) to bounce an icon when the application sets urgent.
|
||||
+UrgentBounceHeight=1.6666666666666667
|
||||
+#The height (in percent of IconSize) to bounce an icon when launching an application.
|
||||
+LaunchBounceHeight=0.625
|
||||
+#The opacity value (0 to 1) to fade the dock to when hiding it.
|
||||
+FadeOpacity=1
|
||||
+#The amount of time (in ms) for click animations.
|
||||
+ClickTime=0
|
||||
+#The amount of time (in ms) to bounce an urgent icon.
|
||||
+UrgentBounceTime=600
|
||||
+#The amount of time (in ms) to bounce an icon when launching an application.
|
||||
+LaunchBounceTime=600
|
||||
+#The amount of time (in ms) for active window indicator animations.
|
||||
+ActiveTime=150
|
||||
+#The amount of time (in ms) to slide icons into/out of the dock.
|
||||
+SlideTime=300
|
||||
+#The time (in ms) to fade the dock in/out on a hide (if FadeOpacity is < 1).
|
||||
+FadeTime=250
|
||||
+#The time (in ms) to slide the dock in/out on a hide (if FadeOpacity is 1).
|
||||
+HideTime=250
|
||||
+#The size of the urgent glow (shown when dock is hidden), in tenths of a percent of IconSize.
|
||||
+GlowSize=30
|
||||
+#The total time (in ms) to show the hidden-dock urgent glow.
|
||||
+GlowTime=10000
|
||||
+#The time (in ms) of each pulse of the hidden-dock urgent glow.
|
||||
+GlowPulseTime=2000
|
||||
+#The hue-shift (-180 to 180) of the urgent indicator color.
|
||||
+UrgentHueShift=150
|
||||
+#The time (in ms) to move an item to its new position or its addition/removal to/from the dock.
|
||||
+ItemMoveTime=450
|
||||
+#Whether background and icons will unhide/hide with different speeds. The top-border of both will leave/hit the screen-edge at the same time.
|
||||
+CascadeHide=true
|
||||
70
sources/patches/colloid/plank-light.patch
Normal file
70
sources/patches/colloid/plank-light.patch
Normal file
@@ -0,0 +1,70 @@
|
||||
diff --git a/src/main/plank/theme-Light-Catppuccin/dock.theme b/src/main/plank/theme-Light-Catppuccin/dock.theme
|
||||
new file mode 100644
|
||||
index 00000000..a4029c96
|
||||
--- /dev/null
|
||||
+++ b/src/main/plank/theme-Light-Catppuccin/dock.theme
|
||||
@@ -0,0 +1,64 @@
|
||||
+#This file based on:
|
||||
+#https://git.launchpad.net/plank/tree/data/themes/Default/dock.theme
|
||||
+
|
||||
+[PlankTheme]
|
||||
+#The roundness of the top corners.
|
||||
+TopRoundness=16
|
||||
+#The roundness of the bottom corners.
|
||||
+BottomRoundness=0
|
||||
+#The thickness (in pixels) of lines drawn.
|
||||
+LineWidth=0
|
||||
+#The color (RGBA) of the outer stroke.
|
||||
+OuterStrokeColor=0;;0;;0;;0
|
||||
+#The starting color (RGBA) of the fill gradient.
|
||||
+FillStartColor=242;;242;;242;;255
|
||||
+#The ending color (RGBA) of the fill gradient.
|
||||
+FillEndColor=242;;242;;242;;255
|
||||
+#The color (RGBA) of the inner stroke.
|
||||
+InnerStrokeColor=242;;242;;242;;255
|
||||
+
|
||||
+[PlankDockTheme]
|
||||
+#The padding on the left/right dock edges, in tenths of a percent of IconSize.
|
||||
+HorizPadding=2
|
||||
+#The padding on the top dock edge, in tenths of a percent of IconSize.
|
||||
+TopPadding=2
|
||||
+#The padding on the bottom dock edge, in tenths of a percent of IconSize.
|
||||
+BottomPadding=1
|
||||
+#The padding between items on the dock, in tenths of a percent of IconSize.
|
||||
+ItemPadding=2
|
||||
+#The size of item indicators, in tenths of a percent of IconSize.
|
||||
+IndicatorSize=5
|
||||
+#The size of the icon-shadow behind every item, in tenths of a percent of IconSize.
|
||||
+IconShadowSize=0
|
||||
+#The height (in percent of IconSize) to bounce an icon when the application sets urgent.
|
||||
+UrgentBounceHeight=1.6666666666666667
|
||||
+#The height (in percent of IconSize) to bounce an icon when launching an application.
|
||||
+LaunchBounceHeight=0.625
|
||||
+#The opacity value (0 to 1) to fade the dock to when hiding it.
|
||||
+FadeOpacity=1
|
||||
+#The amount of time (in ms) for click animations.
|
||||
+ClickTime=0
|
||||
+#The amount of time (in ms) to bounce an urgent icon.
|
||||
+UrgentBounceTime=600
|
||||
+#The amount of time (in ms) to bounce an icon when launching an application.
|
||||
+LaunchBounceTime=600
|
||||
+#The amount of time (in ms) for active window indicator animations.
|
||||
+ActiveTime=150
|
||||
+#The amount of time (in ms) to slide icons into/out of the dock.
|
||||
+SlideTime=300
|
||||
+#The time (in ms) to fade the dock in/out on a hide (if FadeOpacity is < 1).
|
||||
+FadeTime=250
|
||||
+#The time (in ms) to slide the dock in/out on a hide (if FadeOpacity is 1).
|
||||
+HideTime=250
|
||||
+#The size of the urgent glow (shown when dock is hidden), in tenths of a percent of IconSize.
|
||||
+GlowSize=30
|
||||
+#The total time (in ms) to show the hidden-dock urgent glow.
|
||||
+GlowTime=10000
|
||||
+#The time (in ms) of each pulse of the hidden-dock urgent glow.
|
||||
+GlowPulseTime=2000
|
||||
+#The hue-shift (-180 to 180) of the urgent indicator color.
|
||||
+UrgentHueShift=150
|
||||
+#The time (in ms) to move an item to its new position or its addition/removal to/from the dock.
|
||||
+ItemMoveTime=450
|
||||
+#Whether background and icons will unhide/hide with different speeds. The top-border of both will leave/hit the screen-edge at the same time.
|
||||
+CascadeHide=true
|
||||
93
sources/patches/colloid/sass-palette-frappe.patch
Normal file
93
sources/patches/colloid/sass-palette-frappe.patch
Normal file
@@ -0,0 +1,93 @@
|
||||
diff --git a/src/sass/_color-palette-catppuccin-frappe.scss b/src/sass/_color-palette-catppuccin-frappe.scss
|
||||
new file mode 100644
|
||||
index 00000000..4ff0da0d
|
||||
--- /dev/null
|
||||
+++ b/src/sass/_color-palette-catppuccin-frappe.scss
|
||||
@@ -0,0 +1,87 @@
|
||||
+ // Our accents
|
||||
+ $rosewater: #f2d5cf;
|
||||
+ $flamingo: #eebebe;
|
||||
+ $pink: #f4b8e4;
|
||||
+ $mauve: #ca9ee6;
|
||||
+ $red: #e78284;
|
||||
+ $maroon: #ea999c;
|
||||
+ $peach: #ef9f76;
|
||||
+ $yellow: #e5c890;
|
||||
+ $green: #a6d189;
|
||||
+ $teal: #81c8be;
|
||||
+ $sky: #99d1db;
|
||||
+ $sapphire: #85c1dc;
|
||||
+ $blue: #8caaee;
|
||||
+ $lavender: #babbf1;
|
||||
+// Default Theme Color Palette
|
||||
+
|
||||
+// Red
|
||||
+$red-light: #e78284;
|
||||
+$red-dark: #e78284;
|
||||
+
|
||||
+// Pink
|
||||
+$pink-light: #f4b8e4;
|
||||
+$pink-dark: #f4b8e4;
|
||||
+
|
||||
+// Purple
|
||||
+$purple-light: #ca9ee6;
|
||||
+$purple-dark: #ca9ee6;
|
||||
+
|
||||
+// Blue
|
||||
+$blue-light: #8caaee;
|
||||
+$blue-dark: #8caaee;
|
||||
+
|
||||
+// Teal
|
||||
+$teal-light: #81c8be;
|
||||
+$teal-dark: #81c8be;
|
||||
+
|
||||
+// Green
|
||||
+$green-light: #a6d189;
|
||||
+$green-dark: #a6d189;
|
||||
+
|
||||
+// Yellow
|
||||
+$yellow-light: #e5c890;
|
||||
+$yellow-dark: #e5c890;
|
||||
+
|
||||
+// Orange
|
||||
+$orange-light: #ef9f76;
|
||||
+$orange-dark: #ef9f76;
|
||||
+
|
||||
+// Grey
|
||||
+$grey-050: #949cbb;
|
||||
+$grey-100: #838ba7;
|
||||
+$grey-150: #737994;
|
||||
+$grey-200: #626880;
|
||||
+$grey-250: #51576d;
|
||||
+$grey-300: red;
|
||||
+$grey-350: red;
|
||||
+$grey-400: red;
|
||||
+$grey-450: red;
|
||||
+$grey-500: red;
|
||||
+$grey-550: red;
|
||||
+$grey-600: red;
|
||||
+$grey-650: #414559;
|
||||
+$grey-700: #303446;
|
||||
+$grey-750: #292c3c;
|
||||
+$grey-800: #232634;
|
||||
+$grey-850: #020202;
|
||||
+$grey-900: #010101;
|
||||
+$grey-950: #000000;
|
||||
+
|
||||
+// White
|
||||
+$white: #eff1f5;
|
||||
+
|
||||
+// Black
|
||||
+$black: #11111b;
|
||||
+
|
||||
+// Button
|
||||
+$button-close: #e78284;
|
||||
+$button-max: #a6d189;
|
||||
+$button-min: #e5c890;
|
||||
+
|
||||
+// Link
|
||||
+$links: #99d1db;
|
||||
+
|
||||
+// Theme
|
||||
+$default-light: $purple-light;
|
||||
+$default-dark: $purple-dark;
|
||||
93
sources/patches/colloid/sass-palette-latte.patch
Normal file
93
sources/patches/colloid/sass-palette-latte.patch
Normal file
@@ -0,0 +1,93 @@
|
||||
diff --git a/src/sass/_color-palette-catppuccin-latte.scss b/src/sass/_color-palette-catppuccin-latte.scss
|
||||
new file mode 100644
|
||||
index 00000000..4ff0da0d
|
||||
--- /dev/null
|
||||
+++ b/src/sass/_color-palette-catppuccin-latte.scss
|
||||
@@ -0,0 +1,87 @@
|
||||
+ // Our accents
|
||||
+ $rosewater: #dc8a78;
|
||||
+ $flamingo: #dd7878;
|
||||
+ $pink: #ea76cb;
|
||||
+ $mauve: #8839ef;
|
||||
+ $red: #d20f39;
|
||||
+ $maroon: #e64553;
|
||||
+ $peach: #fe640b;
|
||||
+ $yellow: #df8e1d;
|
||||
+ $green: #40a02b;
|
||||
+ $teal: #179299;
|
||||
+ $sky: #04a5e5;
|
||||
+ $sapphire: #209fb5;
|
||||
+ $blue: #1e66f5;
|
||||
+ $lavender: #7287fd;
|
||||
+// Default Theme Color Palette
|
||||
+
|
||||
+// Red
|
||||
+$red-light: #d20f39;
|
||||
+$red-dark: #d20f39;
|
||||
+
|
||||
+// Pink
|
||||
+$pink-light: #ea76cb;
|
||||
+$pink-dark: #ea76cb;
|
||||
+
|
||||
+// Purple
|
||||
+$purple-light: #8839ef;
|
||||
+$purple-dark: #8839ef;
|
||||
+
|
||||
+// Blue
|
||||
+$blue-light: #1e66f5;
|
||||
+$blue-dark: #1e66f5;
|
||||
+
|
||||
+// Teal
|
||||
+$teal-light: #179299;
|
||||
+$teal-dark: #179299;
|
||||
+
|
||||
+// Green
|
||||
+$green-light: #40a02b;
|
||||
+$green-dark: #40a02b;
|
||||
+
|
||||
+// Yellow
|
||||
+$yellow-light: #df8e1d;
|
||||
+$yellow-dark: #df8e1d;
|
||||
+
|
||||
+// Orange
|
||||
+$orange-light: #fe640b;
|
||||
+$orange-dark: #fe640b;
|
||||
+
|
||||
+// Grey
|
||||
+$grey-050: #dce0e8;
|
||||
+$grey-100: #e6e9ef;
|
||||
+$grey-150: #eff1f5;
|
||||
+$grey-200: #ccd0da;
|
||||
+$grey-250: #bcc0cc;
|
||||
+$grey-300: red;
|
||||
+$grey-350: red;
|
||||
+$grey-400: red;
|
||||
+$grey-450: red;
|
||||
+$grey-500: red;
|
||||
+$grey-550: red;
|
||||
+$grey-600: red;
|
||||
+$grey-650: #eff1f5;
|
||||
+$grey-700: #eff1f5;
|
||||
+$grey-750: #e6e9ef;
|
||||
+$grey-800: #4c4f69;
|
||||
+$grey-850: #020202;
|
||||
+$grey-900: #010101;
|
||||
+$grey-950: #000000;
|
||||
+
|
||||
+// White
|
||||
+$white: #eff1f5;
|
||||
+
|
||||
+// Black
|
||||
+$black: #11111b;
|
||||
+
|
||||
+// Button
|
||||
+$button-close: #d20f39;
|
||||
+$button-max: #40a02b;
|
||||
+$button-min: #df8e1d;
|
||||
+
|
||||
+// Link
|
||||
+$links: #04a5e5;
|
||||
+
|
||||
+// Theme
|
||||
+$default-light: $purple-light;
|
||||
+$default-dark: $purple-dark;
|
||||
93
sources/patches/colloid/sass-palette-macchiato.patch
Normal file
93
sources/patches/colloid/sass-palette-macchiato.patch
Normal file
@@ -0,0 +1,93 @@
|
||||
diff --git a/src/sass/_color-palette-catppuccin-macchiato.scss b/src/sass/_color-palette-catppuccin-macchiato.scss
|
||||
new file mode 100644
|
||||
index 00000000..4ff0da0d
|
||||
--- /dev/null
|
||||
+++ b/src/sass/_color-palette-catppuccin-macchiato.scss
|
||||
@@ -0,0 +1,87 @@
|
||||
+ // Our accents
|
||||
+ $rosewater: #f4dbd6;
|
||||
+ $flamingo: #f0c6c6;
|
||||
+ $pink: #f5bde6;
|
||||
+ $mauve: #c6a0f6;
|
||||
+ $red: #ed8796;
|
||||
+ $maroon: #ee99a0;
|
||||
+ $peach: #f5a97f;
|
||||
+ $yellow: #eed49f;
|
||||
+ $green: #a6da95;
|
||||
+ $teal: #8bd5ca;
|
||||
+ $sky: #91d7e3;
|
||||
+ $sapphire: #7dc4e4;
|
||||
+ $blue: #8aadf4;
|
||||
+ $lavender: #b7bdf8;
|
||||
+// Default Theme Color Palette
|
||||
+
|
||||
+// Red
|
||||
+$red-light: #ed8796;
|
||||
+$red-dark: #ed8796;
|
||||
+
|
||||
+// Pink
|
||||
+$pink-light: #f5bde6;
|
||||
+$pink-dark: #f5bde6;
|
||||
+
|
||||
+// Purple
|
||||
+$purple-light: #c6a0f6;
|
||||
+$purple-dark: #c6a0f6;
|
||||
+
|
||||
+// Blue
|
||||
+$blue-light: #8aadf4;
|
||||
+$blue-dark: #8aadf4;
|
||||
+
|
||||
+// Teal
|
||||
+$teal-light: #8bd5ca;
|
||||
+$teal-dark: #8bd5ca;
|
||||
+
|
||||
+// Green
|
||||
+$green-light: #a6da95;
|
||||
+$green-dark: #a6da95;
|
||||
+
|
||||
+// Yellow
|
||||
+$yellow-light: #eed49f;
|
||||
+$yellow-dark: #eed49f;
|
||||
+
|
||||
+// Orange
|
||||
+$orange-light: #f5a97f;
|
||||
+$orange-dark: #f5a97f;
|
||||
+
|
||||
+// Grey
|
||||
+$grey-050: #939ab7;
|
||||
+$grey-100: #8087a2;
|
||||
+$grey-150: #6e738d;
|
||||
+$grey-200: #5b6078;
|
||||
+$grey-250: #494d64;
|
||||
+$grey-300: red;
|
||||
+$grey-350: red;
|
||||
+$grey-400: red;
|
||||
+$grey-450: red;
|
||||
+$grey-500: red;
|
||||
+$grey-550: red;
|
||||
+$grey-600: red;
|
||||
+$grey-650: #363a4f;
|
||||
+$grey-700: #24273a;
|
||||
+$grey-750: #1e2030;
|
||||
+$grey-800: #181926;
|
||||
+$grey-850: #020202;
|
||||
+$grey-900: #010101;
|
||||
+$grey-950: #000000;
|
||||
+
|
||||
+// White
|
||||
+$white: #eff1f5;
|
||||
+
|
||||
+// Black
|
||||
+$black: #11111b;
|
||||
+
|
||||
+// Button
|
||||
+$button-close: #ed8796;
|
||||
+$button-max: #a6da95;
|
||||
+$button-min: #eed49f;
|
||||
+
|
||||
+// Link
|
||||
+$links: #91d7e3;
|
||||
+
|
||||
+// Theme
|
||||
+$default-light: $purple-light;
|
||||
+$default-dark: $purple-dark;
|
||||
93
sources/patches/colloid/sass-palette-mocha.patch
Normal file
93
sources/patches/colloid/sass-palette-mocha.patch
Normal file
@@ -0,0 +1,93 @@
|
||||
diff --git a/src/sass/_color-palette-catppuccin-mocha.scss b/src/sass/_color-palette-catppuccin-mocha.scss
|
||||
new file mode 100644
|
||||
index 00000000..4ff0da0d
|
||||
--- /dev/null
|
||||
+++ b/src/sass/_color-palette-catppuccin-mocha.scss
|
||||
@@ -0,0 +1,87 @@
|
||||
+ // Our accents
|
||||
+ $rosewater: #f5e0dc;
|
||||
+ $flamingo: #f2cdcd;
|
||||
+ $pink: #f5c2e7;
|
||||
+ $mauve: #cba6f7;
|
||||
+ $red: #f38ba8;
|
||||
+ $maroon: #eba0ac;
|
||||
+ $peach: #fab387;
|
||||
+ $yellow: #f9e2af;
|
||||
+ $green: #a6e3a1;
|
||||
+ $teal: #94e2d5;
|
||||
+ $sky: #89dceb;
|
||||
+ $sapphire: #74c7ec;
|
||||
+ $blue: #89b4fa;
|
||||
+ $lavender: #b4befe;
|
||||
+// Default Theme Color Palette
|
||||
+
|
||||
+// Red
|
||||
+$red-light: #f38ba8;
|
||||
+$red-dark: #f38ba8;
|
||||
+
|
||||
+// Pink
|
||||
+$pink-light: #f5c2e7;
|
||||
+$pink-dark: #f5c2e7;
|
||||
+
|
||||
+// Purple
|
||||
+$purple-light: #cba6f7;
|
||||
+$purple-dark: #cba6f7;
|
||||
+
|
||||
+// Blue
|
||||
+$blue-light: #89b4fa;
|
||||
+$blue-dark: #89b4fa;
|
||||
+
|
||||
+// Teal
|
||||
+$teal-light: #94e2d5;
|
||||
+$teal-dark: #94e2d5;
|
||||
+
|
||||
+// Green
|
||||
+$green-light: #a6e3a1;
|
||||
+$green-dark: #a6e3a1;
|
||||
+
|
||||
+// Yellow
|
||||
+$yellow-light: #f9e2af;
|
||||
+$yellow-dark: #f9e2af;
|
||||
+
|
||||
+// Orange
|
||||
+$orange-light: #fab387;
|
||||
+$orange-dark: #fab387;
|
||||
+
|
||||
+// Grey
|
||||
+$grey-050: #9399b2;
|
||||
+$grey-100: #7f849c;
|
||||
+$grey-150: #6c7086;
|
||||
+$grey-200: #585b70;
|
||||
+$grey-250: #45475a;
|
||||
+$grey-300: red;
|
||||
+$grey-350: red;
|
||||
+$grey-400: red;
|
||||
+$grey-450: red;
|
||||
+$grey-500: red;
|
||||
+$grey-550: red;
|
||||
+$grey-600: red;
|
||||
+$grey-650: #313244;
|
||||
+$grey-700: #1e1e2e;
|
||||
+$grey-750: #181825;
|
||||
+$grey-800: #11111b;
|
||||
+$grey-850: #020202;
|
||||
+$grey-900: #010101;
|
||||
+$grey-950: #000000;
|
||||
+
|
||||
+// White
|
||||
+$white: #eff1f5;
|
||||
+
|
||||
+// Black
|
||||
+$black: #11111b;
|
||||
+
|
||||
+// Button
|
||||
+$button-close: #f38ba8;
|
||||
+$button-max: #a6e3a1;
|
||||
+$button-min: #f9e2af;
|
||||
+
|
||||
+// Link
|
||||
+$links: #89dceb;
|
||||
+
|
||||
+// Theme
|
||||
+$default-light: $purple-light;
|
||||
+$default-dark: $purple-dark;
|
||||
46
sources/patches/colloid/theme-func.patch
Normal file
46
sources/patches/colloid/theme-func.patch
Normal file
@@ -0,0 +1,46 @@
|
||||
diff --git a/src/sass/_colors.scss b/src/sass/_colors.scss
|
||||
index 8738bf37..71797c6d 100644
|
||||
--- a/src/sass/_colors.scss
|
||||
+++ b/src/sass/_colors.scss
|
||||
@@ -58,27 +58,20 @@
|
||||
}
|
||||
|
||||
@function theme($color) {
|
||||
- @if ($variant == 'light') {
|
||||
- @if ($theme == 'default') { @return $default-dark; }
|
||||
- @if ($theme == 'purple') { @return $purple-dark; }
|
||||
- @if ($theme == 'pink') { @return $pink-dark; }
|
||||
- @if ($theme == 'red') { @return $red-dark; }
|
||||
- @if ($theme == 'orange') { @return $orange-dark; }
|
||||
- @if ($theme == 'yellow') { @return $yellow-dark; }
|
||||
- @if ($theme == 'green') { @return $green-dark; }
|
||||
- @if ($theme == 'teal') { @return $teal-dark; }
|
||||
- @if ($theme == 'grey') { @return $grey-600; }
|
||||
- } @else {
|
||||
- @if ($theme == 'default') { @return $default-light; }
|
||||
- @if ($theme == 'purple') { @return $purple-light; }
|
||||
- @if ($theme == 'pink') { @return $pink-light; }
|
||||
- @if ($theme == 'red') { @return $red-light; }
|
||||
- @if ($theme == 'orange') { @return $orange-light; }
|
||||
- @if ($theme == 'yellow') { @return $yellow-light; }
|
||||
- @if ($theme == 'green') { @return $green-light; }
|
||||
- @if ($theme == 'teal') { @return $teal-light; }
|
||||
- @if ($theme == 'grey') { @return $grey-200; }
|
||||
- }
|
||||
+ @if ($theme == 'rosewater') { @return $rosewater; }
|
||||
+ @if ($theme == 'flamingo') { @return $flamingo; }
|
||||
+ @if ($theme == 'pink') { @return $pink; }
|
||||
+ @if ($theme == 'mauve') { @return $mauve; }
|
||||
+ @if ($theme == 'red') { @return $red; }
|
||||
+ @if ($theme == 'maroon') { @return $maroon; }
|
||||
+ @if ($theme == 'peach') { @return $peach; }
|
||||
+ @if ($theme == 'yellow') { @return $yellow; }
|
||||
+ @if ($theme == 'green') { @return $green; }
|
||||
+ @if ($theme == 'teal') { @return $teal; }
|
||||
+ @if ($theme == 'sky') { @return $sky; }
|
||||
+ @if ($theme == 'sapphire') { @return $sapphire; }
|
||||
+ @if ($theme == 'blue') { @return $blue; }
|
||||
+ @if ($theme == 'lavender') { @return $lavender; }
|
||||
}
|
||||
|
||||
@function background($type) {
|
||||
2
sources/patches/xfwm4/.gitignore
vendored
Normal file
2
sources/patches/xfwm4/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
generated/
|
||||
patched/
|
||||
1509
sources/patches/xfwm4/assets-dark-normal.svg
Normal file
1509
sources/patches/xfwm4/assets-dark-normal.svg
Normal file
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 57 KiB |
1281
sources/patches/xfwm4/assets-dark.svg
Normal file
1281
sources/patches/xfwm4/assets-dark.svg
Normal file
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 47 KiB |
1512
sources/patches/xfwm4/assets-light-normal.svg
Normal file
1512
sources/patches/xfwm4/assets-light-normal.svg
Normal file
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 57 KiB |
1321
sources/patches/xfwm4/assets-light.svg
Normal file
1321
sources/patches/xfwm4/assets-light.svg
Normal file
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 46 KiB |
250
sources/patches/xfwm4/generate_assets.py
Normal file
250
sources/patches/xfwm4/generate_assets.py
Normal file
@@ -0,0 +1,250 @@
|
||||
from typing import List
|
||||
from catppuccin import PALETTE
|
||||
from catppuccin.models import Flavor
|
||||
|
||||
import re
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
import time
|
||||
from dataclasses import dataclass
|
||||
|
||||
THIS_DIR = os.path.dirname(os.path.realpath(__file__))
|
||||
|
||||
INDEX = [
|
||||
"close-active",
|
||||
"close-inactive",
|
||||
"close-prelight",
|
||||
"close-pressed",
|
||||
"hide-active",
|
||||
"hide-inactive",
|
||||
"hide-prelight",
|
||||
"hide-pressed",
|
||||
"maximize-active",
|
||||
"maximize-inactive",
|
||||
"maximize-prelight",
|
||||
"maximize-pressed",
|
||||
"maximize-toggled-active",
|
||||
"maximize-toggled-inactive",
|
||||
"maximize-toggled-prelight",
|
||||
"maximize-toggled-pressed",
|
||||
"menu-active",
|
||||
"menu-inactive",
|
||||
"menu-prelight",
|
||||
"menu-pressed",
|
||||
"shade-active",
|
||||
"shade-inactive",
|
||||
"shade-prelight",
|
||||
"shade-pressed",
|
||||
"shade-toggled-active",
|
||||
"shade-toggled-inactive",
|
||||
"shade-toggled-prelight",
|
||||
"shade-toggled-pressed",
|
||||
"stick-active",
|
||||
"stick-inactive",
|
||||
"stick-prelight",
|
||||
"stick-pressed",
|
||||
"stick-toggled-active",
|
||||
"stick-toggled-inactive",
|
||||
"stick-toggled-prelight",
|
||||
"stick-toggled-pressed",
|
||||
"title-1-active",
|
||||
"title-1-inactive",
|
||||
"title-2-active",
|
||||
"title-2-inactive",
|
||||
"title-3-active",
|
||||
"title-3-inactive",
|
||||
"title-4-active",
|
||||
"title-4-inactive",
|
||||
"title-5-active",
|
||||
"title-5-inactive",
|
||||
"top-left-active",
|
||||
"top-left-inactive",
|
||||
"top-right-active",
|
||||
"top-right-inactive",
|
||||
"left-active",
|
||||
"left-inactive",
|
||||
"right-active",
|
||||
"right-inactive",
|
||||
"bottom-active",
|
||||
"bottom-inactive",
|
||||
"bottom-left-active",
|
||||
"bottom-left-inactive",
|
||||
"bottom-right-active",
|
||||
"bottom-right-inactive",
|
||||
]
|
||||
|
||||
|
||||
def subst_text(path, _from, to):
|
||||
with open(path, "r+") as f:
|
||||
content = f.read()
|
||||
f.seek(0)
|
||||
f.truncate()
|
||||
f.write(re.sub(_from, to, content))
|
||||
|
||||
|
||||
def generate_for_flavor(flavor: Flavor):
|
||||
# Setup the palette
|
||||
palette = flavor.colors
|
||||
|
||||
close_color = f"#{palette.red.hex}"
|
||||
max_color = f"#{palette.green.hex}"
|
||||
min_color = f"#{palette.yellow.hex}"
|
||||
|
||||
# We expand the source assets into the 4 flavors, but need to map between
|
||||
# Their definition of dark and ours. This means that latte will get the -light assets
|
||||
# and the rest get the -dark assets to work from
|
||||
color = "-dark"
|
||||
if not flavor.dark:
|
||||
color = "-light"
|
||||
|
||||
# Make a directory for our patched SVGs to live in before compilation
|
||||
odir = f"{THIS_DIR}/patched"
|
||||
os.makedirs(odir, exist_ok=True)
|
||||
|
||||
# Copy the base assets into the output
|
||||
shutil.copy(
|
||||
f"{THIS_DIR}/assets{color}.svg",
|
||||
f"{odir}/assets-catppuccin-{flavor.identifier}.svg",
|
||||
)
|
||||
shutil.copy(
|
||||
f"{THIS_DIR}/assets{color}-normal.svg",
|
||||
f"{odir}/assets-catppuccin-{flavor.identifier}-normal.svg",
|
||||
)
|
||||
|
||||
# Patch all the SVGs
|
||||
path = f"{odir}/assets-catppuccin-{flavor.identifier}-normal.svg"
|
||||
subst_text(path, "#fd5f51", close_color)
|
||||
subst_text(path, "#38c76a", max_color)
|
||||
subst_text(path, "#fdbe04", min_color)
|
||||
|
||||
headerbar = palette.base.hex
|
||||
headerbar_backdrop = palette.mantle.hex
|
||||
|
||||
if flavor.dark:
|
||||
path = f"{odir}/assets-catppuccin-{flavor.identifier}.svg"
|
||||
subst_text(path, "#242424", headerbar)
|
||||
subst_text(path, "#2c2c2c", headerbar_backdrop)
|
||||
|
||||
path = f"{odir}/assets-catppuccin-{flavor.identifier}-normal.svg"
|
||||
subst_text(path, "#242424", headerbar)
|
||||
subst_text(path, "#2c2c2c", headerbar_backdrop)
|
||||
else:
|
||||
path = f"{odir}/assets-catppuccin-{flavor.identifier}.svg"
|
||||
subst_text(path, "#f2f2f2", headerbar)
|
||||
subst_text(path, "#fafafa", headerbar_backdrop)
|
||||
|
||||
path = f"{odir}/assets-catppuccin-{flavor.identifier}-normal.svg"
|
||||
subst_text(path, "#f2f2f2", headerbar)
|
||||
subst_text(path, "#fafafa", headerbar_backdrop)
|
||||
|
||||
|
||||
@dataclass
|
||||
class WorkerInput:
|
||||
output_path: str
|
||||
output_dir: str
|
||||
input_path: str
|
||||
dpi: str
|
||||
ident: str
|
||||
|
||||
|
||||
def call_subprocesses(inp: WorkerInput):
|
||||
inkscape = "inkscape"
|
||||
optipng = "optipng"
|
||||
|
||||
return [
|
||||
subprocess.Popen(
|
||||
[
|
||||
# FIXME: https://gitlab.com/inkscape/inkscape/-/issues/4716#note_1882967469Z
|
||||
"unshare",
|
||||
"--user",
|
||||
inkscape,
|
||||
"--export-id",
|
||||
inp.ident,
|
||||
"--export-id-only",
|
||||
"--export-dpi",
|
||||
inp.dpi,
|
||||
"--export-filename",
|
||||
inp.output_path,
|
||||
inp.input_path,
|
||||
],
|
||||
stdout=subprocess.DEVNULL,
|
||||
stderr=subprocess.STDOUT,
|
||||
),
|
||||
subprocess.Popen(
|
||||
[optipng, "-o7", "--quiet", inp.output_path],
|
||||
stdout=subprocess.DEVNULL,
|
||||
stderr=subprocess.STDOUT,
|
||||
),
|
||||
]
|
||||
|
||||
|
||||
@dataclass
|
||||
class RenderState:
|
||||
tasks: List[subprocess.Popen]
|
||||
input_root: str
|
||||
output_root: str
|
||||
|
||||
|
||||
screen_to_dpi = {
|
||||
"-hdpi": "144",
|
||||
"-xhdpi": "192",
|
||||
}
|
||||
|
||||
|
||||
def render_for_screen(state: RenderState, flavor: Flavor, screen: str, ident: str):
|
||||
# NOTE: We do not generate for the -normal variant currently, that would just be
|
||||
# a stupid amount of compute and time for little benefit
|
||||
src_file = f"{state.input_root}/assets-catppuccin-{flavor.identifier}.svg"
|
||||
|
||||
output_dir = f"{state.output_root}/assets-catppuccin-{flavor.identifier}{screen}"
|
||||
output_path = f"{output_dir}/{ident}.png"
|
||||
|
||||
dpi = screen_to_dpi.get(screen, "96")
|
||||
|
||||
os.makedirs(output_dir, exist_ok=True)
|
||||
|
||||
if os.path.exists(output_path):
|
||||
print(f"Skipping '{output_path}', already generated")
|
||||
else:
|
||||
new_tasks = call_subprocesses(
|
||||
WorkerInput(
|
||||
output_path=output_path,
|
||||
output_dir=output_dir,
|
||||
input_path=src_file,
|
||||
dpi=dpi,
|
||||
ident=ident,
|
||||
)
|
||||
)
|
||||
state.tasks.extend(new_tasks)
|
||||
|
||||
|
||||
def render_for_flavor(flavor: Flavor, state: RenderState):
|
||||
print(f"Starting render tasks for {flavor.identifier}")
|
||||
for ident in INDEX:
|
||||
render_for_screen(state=state, flavor=flavor, screen="", ident=ident)
|
||||
render_for_screen(state=state, flavor=flavor, screen="-hdpi", ident=ident)
|
||||
render_for_screen(state=state, flavor=flavor, screen="-xhdpi", ident=ident)
|
||||
|
||||
|
||||
generate_for_flavor(PALETTE.mocha)
|
||||
generate_for_flavor(PALETTE.latte)
|
||||
generate_for_flavor(PALETTE.macchiato)
|
||||
generate_for_flavor(PALETTE.frappe)
|
||||
|
||||
state = RenderState(
|
||||
tasks=[], input_root=f"{THIS_DIR}/patched", output_root=f"{THIS_DIR}/generated"
|
||||
)
|
||||
start_time = time.time()
|
||||
|
||||
render_for_flavor(PALETTE.mocha, state)
|
||||
render_for_flavor(PALETTE.latte, state)
|
||||
render_for_flavor(PALETTE.macchiato, state)
|
||||
render_for_flavor(PALETTE.frappe, state)
|
||||
|
||||
for task in state.tasks:
|
||||
task.wait()
|
||||
|
||||
end_time = time.time() - start_time
|
||||
print(f"Generation complete in {end_time} seconds")
|
||||
shutil.rmtree(state.input_root)
|
||||
Reference in New Issue
Block a user