diff --git a/Assets/ColorTemplates/Matugen/Terminal/foot.conf b/Assets/ColorTemplates/Matugen/Terminal/foot similarity index 100% rename from Assets/ColorTemplates/Matugen/Terminal/foot.conf rename to Assets/ColorTemplates/Matugen/Terminal/foot diff --git a/Assets/ColorTemplates/Matugen/Terminal/ghostty.conf b/Assets/ColorTemplates/Matugen/Terminal/ghostty similarity index 100% rename from Assets/ColorTemplates/Matugen/Terminal/ghostty.conf rename to Assets/ColorTemplates/Matugen/Terminal/ghostty diff --git a/Assets/ColorTemplates/Terminal/foot/Nord-dark b/Assets/ColorTemplates/Terminal/foot/Nord-dark new file mode 100644 index 00000000..8cf7c183 --- /dev/null +++ b/Assets/ColorTemplates/Terminal/foot/Nord-dark @@ -0,0 +1,25 @@ + +[cursor] +color=282828 eceff4 + +[colors] +foreground=d8dee9 +background=2e3440 +regular0=3b4252 +regular1=bf616a +regular2=a3be8c +regular3=ebcb8b +regular4=81a1c1 +regular5=b48ead +regular6=88c0d0 +regular7=e5e9f0 +bright0=596377 +bright1=bf616a +bright2=a3be8c +bright3=ebcb8b +bright4=81a1c1 +bright5=b48ead +bright6=8fbcbb +bright7=eceff4 +selection-foreground=4c566a +selection-background=eceff4 diff --git a/Assets/ColorTemplates/Terminal/foot/Nord-light b/Assets/ColorTemplates/Terminal/foot/Nord-light new file mode 100644 index 00000000..2eb5ad4f --- /dev/null +++ b/Assets/ColorTemplates/Terminal/foot/Nord-light @@ -0,0 +1,25 @@ + +[cursor] +color=3b4252 7bb3c3 + +[colors] +foreground=414858 +background=e5e9f0 +regular0=3b4252 +regular1=bf616a +regular2=96b17f +regular3=c5a565 +regular4=81a1c1 +regular5=b48ead +regular6=7bb3c3 +regular7=a5abb6 +bright0=4c566a +bright1=bf616a +bright2=96b17f +bright3=c5a565 +bright4=81a1c1 +bright5=b48ead +bright6=82afae +bright7=eceff4 +selection-foreground=4c556a +selection-background=d8dee9 diff --git a/Assets/ColorTemplates/Terminal/foot/Rosepine-dark b/Assets/ColorTemplates/Terminal/foot/Rosepine-dark new file mode 100644 index 00000000..06847ce9 --- /dev/null +++ b/Assets/ColorTemplates/Terminal/foot/Rosepine-dark @@ -0,0 +1,25 @@ + +[cursor] +color=191724 e0def4 + +[colors] +foreground=e0def4 +background=191724 +regular0=26233a +regular1=eb6f92 +regular2=31748f +regular3=f6c177 +regular4=9ccfd8 +regular5=c4a7e7 +regular6=ebbcba +regular7=e0def4 +bright0=6e6a86 +bright1=eb6f92 +bright2=31748f +bright3=f6c177 +bright4=9ccfd8 +bright5=c4a7e7 +bright6=ebbcba +bright7=e0def4 +selection-foreground=e0def4 +selection-background=403d52 diff --git a/Assets/ColorTemplates/Terminal/foot/Rosepine-light b/Assets/ColorTemplates/Terminal/foot/Rosepine-light new file mode 100644 index 00000000..bf86fc77 --- /dev/null +++ b/Assets/ColorTemplates/Terminal/foot/Rosepine-light @@ -0,0 +1,25 @@ + +[cursor] +color=faf4ed 575279 + +[colors] +foreground=575279 +background=faf4ed +regular0=f2e9e1 +regular1=b4637a +regular2=286983 +regular3=ea9d34 +regular4=56949f +regular5=907aa9 +regular6=d7827e +regular7=575279 +bright0=9893a5 +bright1=b4637a +bright2=286983 +bright3=ea9d34 +bright4=56949f +bright5=907aa9 +bright6=d7827e +bright7=575279 +selection-foreground=575279 +selection-background=dfdad9 diff --git a/Assets/ColorTemplates/Terminal/ghostty/Catppuccin-dark b/Assets/ColorTemplates/Terminal/ghostty/Catppuccin-dark new file mode 100644 index 00000000..2b2ec390 --- /dev/null +++ b/Assets/ColorTemplates/Terminal/ghostty/Catppuccin-dark @@ -0,0 +1,22 @@ +palette = 0=#45475a +palette = 1=#f38ba8 +palette = 2=#a6e3a1 +palette = 3=#f9e2af +palette = 4=#89b4fa +palette = 5=#f5c2e7 +palette = 6=#94e2d5 +palette = 7=#a6adc8 +palette = 8=#585b70 +palette = 9=#f37799 +palette = 10=#89d88b +palette = 11=#ebd391 +palette = 12=#74a8fc +palette = 13=#f2aede +palette = 14=#6bd7ca +palette = 15=#bac2de +background = #1e1e2e +foreground = #cdd6f4 +cursor-color = #f5e0dc +cursor-text = #1e1e2e +selection-background = #585b70 +selection-foreground = #cdd6f4 diff --git a/Assets/ColorTemplates/Terminal/ghostty/Catppuccin-light b/Assets/ColorTemplates/Terminal/ghostty/Catppuccin-light new file mode 100644 index 00000000..94cb2ba1 --- /dev/null +++ b/Assets/ColorTemplates/Terminal/ghostty/Catppuccin-light @@ -0,0 +1,22 @@ +palette = 0=#5c5f77 +palette = 1=#d20f39 +palette = 2=#40a02b +palette = 3=#df8e1d +palette = 4=#1e66f5 +palette = 5=#ea76cb +palette = 6=#179299 +palette = 7=#acb0be +palette = 8=#6c6f85 +palette = 9=#de293e +palette = 10=#49af3d +palette = 11=#eea02d +palette = 12=#456eff +palette = 13=#fe85d8 +palette = 14=#2d9fa8 +palette = 15=#bcc0cc +background = #eff1f5 +foreground = #4c4f69 +cursor-color = #dc8a78 +cursor-text = #eff1f5 +selection-background = #acb0be +selection-foreground = #4c4f69 diff --git a/Assets/ColorTemplates/Terminal/ghostty/Nord-dark b/Assets/ColorTemplates/Terminal/ghostty/Nord-dark new file mode 100644 index 00000000..d83a55de --- /dev/null +++ b/Assets/ColorTemplates/Terminal/ghostty/Nord-dark @@ -0,0 +1,22 @@ +palette = 0=#3b4252 +palette = 1=#bf616a +palette = 2=#a3be8c +palette = 3=#ebcb8b +palette = 4=#81a1c1 +palette = 5=#b48ead +palette = 6=#88c0d0 +palette = 7=#e5e9f0 +palette = 8=#596377 +palette = 9=#bf616a +palette = 10=#a3be8c +palette = 11=#ebcb8b +palette = 12=#81a1c1 +palette = 13=#b48ead +palette = 14=#8fbcbb +palette = 15=#eceff4 +background = #2e3440 +foreground = #d8dee9 +cursor-color = #eceff4 +cursor-text = #282828 +selection-background = #eceff4 +selection-foreground = #4c566a diff --git a/Assets/ColorTemplates/Terminal/ghostty/Nord-light b/Assets/ColorTemplates/Terminal/ghostty/Nord-light new file mode 100644 index 00000000..ff30e069 --- /dev/null +++ b/Assets/ColorTemplates/Terminal/ghostty/Nord-light @@ -0,0 +1,22 @@ +palette = 0=#3b4252 +palette = 1=#bf616a +palette = 2=#96b17f +palette = 3=#c5a565 +palette = 4=#81a1c1 +palette = 5=#b48ead +palette = 6=#7bb3c3 +palette = 7=#a5abb6 +palette = 8=#4c566a +palette = 9=#bf616a +palette = 10=#96b17f +palette = 11=#c5a565 +palette = 12=#81a1c1 +palette = 13=#b48ead +palette = 14=#82afae +palette = 15=#eceff4 +background = #e5e9f0 +foreground = #414858 +cursor-color = #7bb3c3 +cursor-text = #3b4252 +selection-background = #d8dee9 +selection-foreground = #4c556a diff --git a/Assets/ColorTemplates/Terminal/ghostty/Rosepine-dark b/Assets/ColorTemplates/Terminal/ghostty/Rosepine-dark new file mode 100644 index 00000000..64216a79 --- /dev/null +++ b/Assets/ColorTemplates/Terminal/ghostty/Rosepine-dark @@ -0,0 +1,22 @@ +palette = 0=#26233a +palette = 1=#eb6f92 +palette = 2=#31748f +palette = 3=#f6c177 +palette = 4=#9ccfd8 +palette = 5=#c4a7e7 +palette = 6=#ebbcba +palette = 7=#e0def4 +palette = 8=#6e6a86 +palette = 9=#eb6f92 +palette = 10=#31748f +palette = 11=#f6c177 +palette = 12=#9ccfd8 +palette = 13=#c4a7e7 +palette = 14=#ebbcba +palette = 15=#e0def4 +background = #191724 +foreground = #e0def4 +cursor-color = #e0def4 +cursor-text = #191724 +selection-background = #403d52 +selection-foreground = #e0def4 diff --git a/Assets/ColorTemplates/Terminal/ghostty/Rosepine-light b/Assets/ColorTemplates/Terminal/ghostty/Rosepine-light new file mode 100644 index 00000000..844b694f --- /dev/null +++ b/Assets/ColorTemplates/Terminal/ghostty/Rosepine-light @@ -0,0 +1,22 @@ +palette = 0=#f2e9e1 +palette = 1=#b4637a +palette = 2=#286983 +palette = 3=#ea9d34 +palette = 4=#56949f +palette = 5=#907aa9 +palette = 6=#d7827e +palette = 7=#575279 +palette = 8=#9893a5 +palette = 9=#b4637a +palette = 10=#286983 +palette = 11=#ea9d34 +palette = 12=#56949f +palette = 13=#907aa9 +palette = 14=#d7827e +palette = 15=#575279 +background = #faf4ed +foreground = #575279 +cursor-color = #575279 +cursor-text = #faf4ed +selection-background = #dfdad9 +selection-foreground = #575279 diff --git a/Assets/ColorTemplates/Terminal/kitty/Catppuccin-dark.conf b/Assets/ColorTemplates/Terminal/kitty/Catppuccin-dark.conf new file mode 100644 index 00000000..d566605b --- /dev/null +++ b/Assets/ColorTemplates/Terminal/kitty/Catppuccin-dark.conf @@ -0,0 +1,22 @@ +color0 #45475a +color1 #f38ba8 +color2 #a6e3a1 +color3 #f9e2af +color4 #89b4fa +color5 #f5c2e7 +color6 #94e2d5 +color7 #a6adc8 +color8 #585b70 +color9 #f37799 +color10 #89d88b +color11 #ebd391 +color12 #74a8fc +color13 #f2aede +color14 #6bd7ca +color15 #bac2de +background #1e1e2e +selection_foreground #1e1e2e +cursor #f5e0dc +cursor_text_color #1e1e2e +foreground #cdd6f4 +selection_background #cdd6f4 diff --git a/Assets/ColorTemplates/Terminal/kitty/Catppuccin-light.conf b/Assets/ColorTemplates/Terminal/kitty/Catppuccin-light.conf new file mode 100644 index 00000000..a30e3ae3 --- /dev/null +++ b/Assets/ColorTemplates/Terminal/kitty/Catppuccin-light.conf @@ -0,0 +1,22 @@ +color0 #5c5f77 +color1 #d20f39 +color2 #40a02b +color3 #df8e1d +color4 #1e66f5 +color5 #ea76cb +color6 #179299 +color7 #acb0be +color8 #6c6f85 +color9 #de293e +color10 #49af3d +color11 #eea02d +color12 #456eff +color13 #fe85d8 +color14 #2d9fa8 +color15 #bcc0cc +background #eff1f5 +selection_foreground #eff1f5 +cursor #dc8a78 +cursor_text_color #eff1f5 +foreground #4c4f69 +selection_background #4c4f69 diff --git a/Bin/colors-apply.sh b/Bin/colors-apply.sh index 6a6ba6db..447203a4 100755 --- a/Bin/colors-apply.sh +++ b/Bin/colors-apply.sh @@ -5,7 +5,7 @@ if [ "$#" -ne 1 ]; then # Print usage information to standard error. echo "Error: No application specified." >&2 - echo "Usage: $0 {kitty|foot|fuzzell|pywalfox}" >&2 + echo "Usage: $0 {kitty|ghostty|foot|fuzzell|pywalfox}" >&2 exit 1 fi @@ -18,6 +18,22 @@ case "$APP_NAME" in kitty +kitten themes --reload-in=all noctalia ;; + ghostty) + echo "🎨 Applying 'noctalia' theme to ghostty..." + CONFIG_FILE="$HOME/.config/ghostty/config" + # Check if the config file exists before trying to modify it. + if [ -f "$CONFIG_FILE" ]; then + # Remove any existing theme include line to prevent duplicates. + sed -i '/theme/d' "$CONFIG_FILE" + # Add the new theme include line to the end of the file. + echo "theme = noctalia" >> "$CONFIG_FILE" + pkill -SIGUSR2 ghostty + else + echo "Error: foot config file not found at $CONFIG_FILE" >&2 + exit 1 + fi + ;; + foot) echo "🎨 Applying 'noctalia' theme to foot..." CONFIG_FILE="$HOME/.config/foot/foot.ini" diff --git a/Services/MatugenService.qml b/Services/MatugenService.qml index 288b1d9e..4a6e0b60 100644 --- a/Services/MatugenService.qml +++ b/Services/MatugenService.qml @@ -422,21 +422,23 @@ Singleton { var copyCmd = "" if (Settings.data.templates.foot) { if (copyCmd !== "") copyCmd += " ; " - copyCmd += `cp -f ${getTerminalColorsTemplate('foot')} ~/.config/foot/themes/noctalia.conf`; + copyCmd += `cp -f ${getTerminalColorsTemplate('foot')} ~/.config/foot/themes/noctalia`; copyCmd += ` ; ${colorsApplyScript} foot` } if (Settings.data.templates.ghostty) { if (copyCmd !== "") copyCmd += " ; " - copyCmd += `cp -f ${getTerminalColorsTemplate('ghostty')} ~/.config/ghostty/themes/noctalia.conf`; + copyCmd += `cp -f ${getTerminalColorsTemplate('ghostty')} ~/.config/ghostty/themes/noctalia`; copyCmd += ` ; ${colorsApplyScript} ghostty` } if (Settings.data.templates.kitty) { if (copyCmd !== "") copyCmd += " ; " - copyCmd += `cp -f ${getTerminalColorsTemplate('kitty')} ~/.config/kitty/themes/noctalia.conf`; + copyCmd += `cp -f ${getTerminalColorsTemplate('kitty')}.conf ~/.config/kitty/themes/noctalia.conf`; copyCmd += ` ; ${colorsApplyScript} kitty` } + + // Finally execute all copies at once. if (copyCmd !== "") { //console.log(copyCmd) copyProcess.command = ["bash", "-lc", copyCmd] @@ -449,7 +451,7 @@ Singleton { const colorTermRoot = "Assets/ColorTemplates/Terminal" const colorScheme = Settings.data.colorSchemes.predefinedScheme; const darkLight = Settings.data.colorSchemes.darkMode ? 'dark' : 'light'; - return `${Quickshell.shellDir}/${colorTermRoot}/${terminal}/${colorScheme}-${darkLight}.conf` + return `${Quickshell.shellDir}/${colorTermRoot}/${terminal}/${colorScheme}-${darkLight}` } // -------------------------------- diff --git a/Services/MatugenTemplates.qml b/Services/MatugenTemplates.qml index bf1da414..d29ab66b 100644 --- a/Services/MatugenTemplates.qml +++ b/Services/MatugenTemplates.qml @@ -27,14 +27,14 @@ Singleton { // predefined color schemes use a different approach for better result if (Settings.data.templates.foot) { lines.push("\n[templates.foot]") - lines.push('input_path = "' + Quickshell.shellDir + '/Assets/ColorTemplates/Matugen/Terminal/foot.conf"') + lines.push('input_path = "' + Quickshell.shellDir + '/Assets/ColorTemplates/Matugen/Terminal/foot"') lines.push('output_path = "~/.config/foot/themes/noctalia"') lines.push(`post_hook = "${MatugenService.colorsApplyScript} foot"`) } if (Settings.data.templates.ghostty) { lines.push("\n[templates.ghostty]") - lines.push('input_path = "' + Quickshell.shellDir + '/Assets/ColorTemplates/Matugen/Terminal/ghostty.conf"') + lines.push('input_path = "' + Quickshell.shellDir + '/Assets/ColorTemplates/Matugen/Terminal/ghostty"') lines.push('output_path = "~/.config/ghostty/themes/noctalia"') lines.push(`post_hook = "${MatugenService.colorsApplyScript} ghostty"`) }