deleted: ../apps-list-zero.md
new file: DankMaterialShell/.changelog-1.4 new file: DankMaterialShell/.firstlaunch new file: DankMaterialShell/firefox.css new file: DankMaterialShell/plugins/cavaVisualizer new file: DankMaterialShell/plugins/dankAudioVisualizer new file: DankMaterialShell/plugins/desktopCommand new file: DankMaterialShell/settings.json new file: DankMaterialShell/themes/peaceAndQuiet/preview-blue-dark.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-blue-light.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-blue.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-cyan-dark.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-cyan-light.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-cyan.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-dark.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-lavender-dark.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-lavender-light.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-lavender.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-light.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-mint-dark.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-mint-light.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-mint.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-pink-dark.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-pink-light.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-pink.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-salmon-dark.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-salmon-light.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-salmon.svg new file: DankMaterialShell/themes/peaceAndQuiet/theme.json new file: DankMaterialShell/themes/zzz/theme.json new file: DankMaterialShell/themes/zzz/theme1.json new file: DankMaterialShell/zen.css new file: Kvantum/KvLibadwaitaDark#/KvLibadwaitaDark#.kvconfig new file: Kvantum/kvantum.kvconfig new file: aichat/config.yaml modified: btop/btop.conf new file: btop/themes/noctalia.theme new file: calcurse/conf new file: calcurse/keys new file: cava/config new file: cava/shaders/bar_spectrum.frag new file: cava/shaders/eye_of_phi.frag new file: cava/shaders/northern_lights.frag new file: cava/shaders/pass_through.vert new file: cava/shaders/spectrogram.frag new file: cava/shaders/winamp_line_style_spectrum.frag new file: cava/themes/solarized_dark new file: cava/themes/tricolor new file: fastfetch/0.01.jsonc new file: fastfetch/0.02.jsonc new file: fastfetch/color.jsonc new file: fastfetch/setts/all.jsonc new file: fastfetch/setts/archey.jsonc new file: fastfetch/setts/ci.jsonc new file: fastfetch/setts/examples/10.jsonc new file: fastfetch/setts/examples/11.jsonc new file: fastfetch/setts/examples/12.jsonc new file: fastfetch/setts/examples/13.jsonc new file: fastfetch/setts/examples/14.jsonc new file: fastfetch/setts/examples/15.jsonc new file: fastfetch/setts/examples/16.jsonc new file: fastfetch/setts/examples/17.jsonc new file: fastfetch/setts/examples/18.jsonc new file: fastfetch/setts/examples/19.jsonc new file: fastfetch/setts/examples/2.jsonc new file: fastfetch/setts/examples/20.jsonc new file: fastfetch/setts/examples/21.jsonc new file: fastfetch/setts/examples/22.jsonc new file: fastfetch/setts/examples/23.jsonc new file: fastfetch/setts/examples/24.jsonc new file: fastfetch/setts/examples/25.jsonc new file: fastfetch/setts/examples/26.jsonc new file: fastfetch/setts/examples/27.jsonc new file: fastfetch/setts/examples/28.jsonc new file: fastfetch/setts/examples/29.jsonc new file: fastfetch/setts/examples/3.jsonc new file: fastfetch/setts/examples/30.jsonc new file: fastfetch/setts/examples/4.jsonc new file: fastfetch/setts/examples/5.jsonc new file: fastfetch/setts/examples/6.jsonc new file: fastfetch/setts/examples/7.jsonc new file: fastfetch/setts/examples/8.jsonc new file: fastfetch/setts/examples/9.jsonc new file: fastfetch/setts/neofetch.jsonc new file: fastfetch/setts/paleofetch.jsonc new file: fastfetch/setts/screenfetch.jsonc modified: fish/config.fish modified: fish/fish_variables new file: fish/fish_variables2DWmNcGa9T new file: fish/functions/ffcolor.fish modified: fish/functions/fish_prompt.fish.bak new file: fish/functions/lt.fish modified: fish/functions/p.fish new file: fish/functions/tide/configure/icons.fish new file: fish/functions/vpn-debug.fish modified: fish/functions/vpn.fish new file: foot/dank-colors.ini modified: foot/foot.ini new file: fsel/config.toml modified: fuzzel/fuzzel.ini modified: hyprwave/config.conf new file: hyprwhspr/config.json new file: hyprwhspr/mic_osd.pid new file: i3/config new file: ironbar/config.json new file: ironbar/schema-v0.18.0.json new file: ironbar/scripts/pomo new file: ironbar/scripts/walker.sh new file: ironbar/style.css new file: keymap.xkb new file: kitty/dank-tabs.conf new file: kitty/dank-theme.conf new file: matugen/config.toml new file: matugen/custom3.json modified: mimeapps.list modified: mpDris2/mpDris2.conf new file: niri/animation.kdl new file: niri/bak.config.kdl new file: niri/binds.kdl new file: niri/caps modified: niri/config.kdl new file: niri/config.kdl.backup1776208575 new file: niri/config.kdl.backup1776211503 new file: niri/config.kdl.backup1776211623 new file: niri/dms/alttab.kdl new file: niri/dms/binds.kdl new file: niri/dms/colors.kdl new file: niri/dms/cursor.kdl new file: niri/dms/layout.kdl new file: niri/dms/outputs.kdl new file: niri/dms/profiles/profile_1776211496314_g03e3q.kdl new file: niri/dms/windowrules.kdl new file: niri/dms/wpblur.kdl new file: niri/emoji.png new file: niri/executable_caps new file: niri/input.kdl new file: niri/ironbar-toggle.sh new file: niri/layer-rule.kdl new file: niri/layout.kdl new file: niri/lock.sh new file: niri/noctalia-toggle.sh new file: niri/output-pc.kdl new file: niri/spawn-at-startup.kdl new file: niri/window-rule.kdl new file: nix/nix.conf modified: nvim/lazy-lock.json modified: nvim/lazyvim.json new file: nvim/lua/plugins/dankcolors.lua new file: nvim/lua/plugins/gpanders-nvim-parinfer.lua new file: nvim/lua/plugins/tokyo-night.lua new file: nvim/lua/tokyonight.nvim new file: nwg-look/config new file: omarchy/current/background new file: omarchy/hooks/theme-set new file: omarchy/hooks/theme-set.d/00-fish.sh new file: omarchy/hooks/theme-set.d/00-fzf.sh new file: omarchy/hooks/theme-set.d/10-discord.sh new file: omarchy/hooks/theme-set.d/10-gtk.sh new file: omarchy/hooks/theme-set.d/10-qt6ct.sh new file: omarchy/hooks/theme-set.d/10-spotify.sh new file: omarchy/hooks/theme-set.d/10-superfile.sh new file: omarchy/hooks/theme-set.d/10-vicinae.sh new file: omarchy/hooks/theme-set.d/15-typora.sh new file: omarchy/hooks/theme-set.d/20-nwg-dock-hyprland.sh new file: omarchy/hooks/theme-set.d/20-zed.sh new file: omarchy/hooks/theme-set.d/30-cursor.sh new file: omarchy/hooks/theme-set.d/30-vscode.sh new file: omarchy/hooks/theme-set.d/30-windsurf.sh new file: omarchy/hooks/theme-set.d/40-cava.sh new file: omarchy/hooks/theme-set.d/40-firefox.sh new file: omarchy/hooks/theme-set.d/40-steam.sh new file: omarchy/hooks/theme-set.d/40-zen.sh new file: omarchy/hooks/theme-set.d/50-heroic.sh new file: omarchy/themes/aether new file: pomo/config.json new file: scripts/niri/caps new file: scripts/niri/ru.png new file: scripts/niri/us.png new file: starship.toml modified: swaync/config.json new file: swaync/config_1.json modified: swaync/style.css new file: swaync/style_1.css new file: systemd/user/default.target.wants/mpDris2.service new file: systemd/user/default.target.wants/mpd.service new file: systemd/user/default.target.wants/mpris-proxy.service new file: systemd/user/default.target.wants/openrazer-daemon.service new file: systemd/user/default.target.wants/pipewire-pulse.service new file: systemd/user/default.target.wants/pipewire.service new file: systemd/user/default.target.wants/ydotool.service new file: systemd/user/elephant.service new file: systemd/user/gnome-session.target.wants/gnome-remote-desktop.service new file: systemd/user/graphical-session.target.wants/elephant.service new file: systemd/user/graphical-session.target.wants/hyprwhspr.service new file: systemd/user/hyprwhspr.service new file: systemd/user/sockets.target.wants/mpd.socket new file: systemd/user/sockets.target.wants/pipewire-pulse.socket new file: systemd/user/sockets.target.wants/pipewire.socket new file: tofi/config new file: user-dirs.conf renamed: ../user-dirs.dirs -> user-dirs.dirs new file: user-dirs.locale modified: walker/config.toml new file: wl-kbptr/config new file: xdg-desktop-portal/portals.conf new file: xsettingsd/xsettingsd.conf new file: yt-dlp/config new file: zathura/zathurarc renamed: ../zram-generator.conf -> zram-generator.conf modified: ../copy.sh deleted: ../nix-packages.md new file: ../nix-pkgs.txt deleted: ../pacman-packages.md renamed: ../apps-list.md -> ../pkgs.txt renamed: ../services.md -> ../services.txt
This commit is contained in:
parent
2a13fe3170
commit
6604f0b324
215 changed files with 25265 additions and 3898 deletions
162
config/omarchy/hooks/theme-set
Executable file
162
config/omarchy/hooks/theme-set
Executable file
|
|
@ -0,0 +1,162 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Omarchy 3.3+ uses colors.toml as the source of truth for theme colors.
|
||||
# Previously we read from alacritty.toml, but that file is now generated
|
||||
# from templates and may contain unrendered {{ placeholders }}.
|
||||
input_file="$HOME/.config/omarchy/current/theme/colors.toml"
|
||||
|
||||
if [[ ! -f "$input_file" ]]; then
|
||||
error "colors.toml not found at $input_file. Ensure your theme is compatible with Omarchy 3.3+ and includes colors.toml."
|
||||
fi
|
||||
|
||||
# Extract color value from colors.toml (flat key=value format)
|
||||
extract_color() {
|
||||
local color_name="$1"
|
||||
awk -v color="$color_name" '
|
||||
$1 == color && /=/ {
|
||||
if (match($0, /#([0-9a-fA-F]{6})/)) {
|
||||
print substr($0, RSTART + 1, 6)
|
||||
exit
|
||||
}
|
||||
}
|
||||
' "$input_file"
|
||||
}
|
||||
|
||||
success() {
|
||||
echo -e "\e[32m[SUCCESS]\e[0m $1"
|
||||
}
|
||||
|
||||
skipped() {
|
||||
echo -e "\033[0;34m[SKIPPED]\e[0m $1 not found. Skipping.."
|
||||
exit 0
|
||||
}
|
||||
|
||||
warning() {
|
||||
echo -e "\033[0;33m[WARNING]\e[0m $1"
|
||||
}
|
||||
|
||||
error() {
|
||||
echo -e "\e[31m[ERROR]\e[0m $1"
|
||||
exit 1
|
||||
}
|
||||
|
||||
export -f success warning error skipped
|
||||
|
||||
hex2rgb() {
|
||||
hex_input=$1
|
||||
r=$((16#${hex_input:0:2}))
|
||||
g=$((16#${hex_input:2:2}))
|
||||
b=$((16#${hex_input:4:2}))
|
||||
echo "$r, $g, $b"
|
||||
}
|
||||
|
||||
rgb2hex() {
|
||||
r=$1
|
||||
g=$2
|
||||
b=$3
|
||||
printf "%02x%02x%02x" $r $g $b
|
||||
}
|
||||
|
||||
change_shade() {
|
||||
local hex_color=$1
|
||||
local shade=$2
|
||||
hex_input=$1
|
||||
r=$((16#${hex_input:0:2}))
|
||||
g=$((16#${hex_input:2:2}))
|
||||
b=$((16#${hex_input:4:2}))
|
||||
|
||||
r=$((r + shade))
|
||||
g=$((g + shade))
|
||||
b=$((b + shade))
|
||||
|
||||
rgb2hex $r $g $b
|
||||
}
|
||||
|
||||
restart_scripts=()
|
||||
restart_file=$(mktemp)
|
||||
export restart_file
|
||||
require_restart() {
|
||||
echo "$1" >> "$restart_file"
|
||||
}
|
||||
|
||||
export -f rgb2hex hex2rgb change_shade require_restart
|
||||
|
||||
# Extract colors from colors.toml (Omarchy 3.3+ format)
|
||||
primary_foreground=$(extract_color "foreground")
|
||||
primary_background=$(extract_color "background")
|
||||
cursor_color=$(extract_color "cursor")
|
||||
selection_foreground=$(extract_color "selection_foreground")
|
||||
selection_background=$(extract_color "selection_background")
|
||||
normal_black=$(extract_color "color0")
|
||||
normal_red=$(extract_color "color1")
|
||||
normal_green=$(extract_color "color2")
|
||||
normal_yellow=$(extract_color "color3")
|
||||
normal_blue=$(extract_color "color4")
|
||||
normal_magenta=$(extract_color "color5")
|
||||
normal_cyan=$(extract_color "color6")
|
||||
normal_white=$(extract_color "color7")
|
||||
bright_black=$(extract_color "color8")
|
||||
bright_red=$(extract_color "color9")
|
||||
bright_green=$(extract_color "color10")
|
||||
bright_yellow=$(extract_color "color11")
|
||||
bright_blue=$(extract_color "color12")
|
||||
bright_magenta=$(extract_color "color13")
|
||||
bright_cyan=$(extract_color "color14")
|
||||
bright_white=$(extract_color "color15")
|
||||
|
||||
export primary_background primary_foreground cursor_color selection_foreground selection_background
|
||||
export normal_black normal_red normal_green normal_yellow normal_blue normal_magenta normal_cyan normal_white
|
||||
export bright_black bright_red bright_green bright_yellow bright_blue bright_magenta bright_cyan bright_white
|
||||
|
||||
rgb_primary_foreground=$(hex2rgb $primary_foreground)
|
||||
rgb_primary_background=$(hex2rgb $primary_background)
|
||||
rgb_normal_black=$(hex2rgb $normal_black)
|
||||
rgb_normal_red=$(hex2rgb $normal_red)
|
||||
rgb_normal_green=$(hex2rgb $normal_green)
|
||||
rgb_normal_yellow=$(hex2rgb $normal_yellow)
|
||||
rgb_normal_blue=$(hex2rgb $normal_blue)
|
||||
rgb_normal_magenta=$(hex2rgb $normal_magenta)
|
||||
rgb_normal_cyan=$(hex2rgb $normal_cyan)
|
||||
rgb_normal_white=$(hex2rgb $normal_white)
|
||||
rgb_bright_black=$(hex2rgb $bright_black)
|
||||
rgb_bright_red=$(hex2rgb $bright_red)
|
||||
rgb_bright_green=$(hex2rgb $bright_green)
|
||||
rgb_bright_yellow=$(hex2rgb $bright_yellow)
|
||||
rgb_bright_blue=$(hex2rgb $bright_blue)
|
||||
rgb_bright_magenta=$(hex2rgb $bright_magenta)
|
||||
rgb_bright_cyan=$(hex2rgb $bright_cyan)
|
||||
rgb_bright_white=$(hex2rgb $bright_white)
|
||||
|
||||
export rgb_primary_foreground rgb_primary_background
|
||||
export rgb_normal_black rgb_normal_red rgb_normal_green rgb_normal_yellow rgb_normal_blue rgb_normal_magenta rgb_normal_cyan rgb_normal_white
|
||||
export rgb_bright_black rgb_bright_red rgb_bright_green rgb_bright_yellow rgb_bright_blue rgb_bright_magenta rgb_bright_cyan rgb_bright_white
|
||||
|
||||
if [[ -d ~/.config/omarchy/hooks/theme-set.d ]]; then
|
||||
for hook in ~/.config/omarchy/hooks/theme-set.d/*.sh; do
|
||||
if [[ -f "$hook" && -x "$hook" ]]; then
|
||||
if ! "$hook" "$@"; then
|
||||
error "Hook $(basename "$hook") failed!" >&2
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ -f "$restart_file" ]]; then
|
||||
mapfile -t restart_scripts < "$restart_file"
|
||||
rm "$restart_file"
|
||||
fi
|
||||
if [[ ${#restart_scripts[@]} -gt 0 ]]; then
|
||||
running=()
|
||||
for app in "${restart_scripts[@]}"; do
|
||||
if pgrep -x "$app" > /dev/null; then
|
||||
running+=("${app^}")
|
||||
fi
|
||||
done
|
||||
if [[ ${#running[@]} -gt 0 ]]; then
|
||||
apps=""
|
||||
for app in "${running[@]}"; do
|
||||
apps+="- $app"$'\n'
|
||||
done
|
||||
notify-send "Omarchy Theme Hook" "The following apps require a restart to apply theme:\n\n$apps"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
40
config/omarchy/hooks/theme-set.d/00-fish.sh
Executable file
40
config/omarchy/hooks/theme-set.d/00-fish.sh
Executable file
|
|
@ -0,0 +1,40 @@
|
|||
#!/bin/bash
|
||||
|
||||
output_file="$HOME/.config/omarchy/current/theme/colors.fish"
|
||||
|
||||
if ! command -v fish >/dev/null 2>&1; then
|
||||
skipped "Fish - Colors"
|
||||
fi
|
||||
|
||||
cat > "$output_file" << EOF
|
||||
set -U background '#${primary_background}'
|
||||
set -U foreground '#${primary_foreground}'
|
||||
set -U cursor '#${primary_foreground}'
|
||||
set -U color0 '#${normal_black}'
|
||||
set -U color1 '#${normal_red}'
|
||||
set -U color2 '#${normal_green}'
|
||||
set -U color3 '#${normal_yellow}'
|
||||
set -U color4 '#${normal_blue}'
|
||||
set -U color5 '#${normal_magenta}'
|
||||
set -U color6 '#${normal_cyan}'
|
||||
set -U color7 '#${normal_white}'
|
||||
set -U color8 '#${bright_black}'
|
||||
set -U color9 '#${bright_red}'
|
||||
set -U color10 '#${bright_green}'
|
||||
set -U color11 '#${bright_yellow}'
|
||||
set -U color12 '#${bright_blue}'
|
||||
set -U color13 '#${bright_magenta}'
|
||||
set -U color14 '#${bright_cyan}'
|
||||
set -U color15 '#${bright_white}'
|
||||
|
||||
set -U fish_color_normal normal
|
||||
set -U fish_color_command green
|
||||
set -U fish_color_param cyan
|
||||
set -U fish_pager_color_completion
|
||||
set -U fish_pager_color_description \$fish_color_quote yellow
|
||||
set -U fish_pager_color_progress brwhite --background=cyan
|
||||
set -U fish_color_history_current --bold
|
||||
EOF
|
||||
|
||||
fish -c "source $output_file"
|
||||
success "fish colors updated!"
|
||||
42
config/omarchy/hooks/theme-set.d/00-fzf.sh
Executable file
42
config/omarchy/hooks/theme-set.d/00-fzf.sh
Executable file
|
|
@ -0,0 +1,42 @@
|
|||
#!/bin/bash
|
||||
|
||||
output_file="$HOME/.config/omarchy/current/theme/fzf.fish"
|
||||
|
||||
if ! command -v fish >/dev/null 2>&1; then
|
||||
skipped "Fish - FZF"
|
||||
fi
|
||||
|
||||
cat > "$output_file" << EOF
|
||||
set -l color00 '#${normal_black}'
|
||||
set -l color01 '#${normal_red}'
|
||||
set -l color02 '#${normal_green}'
|
||||
set -l color03 '#${normal_yellow}'
|
||||
set -l color04 '#${normal_blue}'
|
||||
set -l color05 '#${normal_magenta}'
|
||||
set -l color06 '#${normal_cyan}'
|
||||
set -l color07 '#${normal_white}'
|
||||
set -l color08 '#${bright_black}'
|
||||
set -l color09 '#${bright_red}'
|
||||
set -l color0A '#${bright_green}'
|
||||
set -l color0B '#${bright_yellow}'
|
||||
set -l color0C '#${bright_blue}'
|
||||
set -l color0D '#${bright_magenta}'
|
||||
set -l color0E '#${bright_cyan}'
|
||||
set -l color0F '#${bright_white}'
|
||||
|
||||
set -l FZF_NON_COLOR_OPTS
|
||||
|
||||
for arg in (echo \$FZF_DEFAULT_OPTS | tr " " "\n")
|
||||
if not string match -q -- "--color*" \$arg
|
||||
set -a FZF_NON_COLOR_OPTS \$arg
|
||||
end
|
||||
end
|
||||
|
||||
set -Ux FZF_DEFAULT_OPTS "\$FZF_NON_COLOR_OPTS"\
|
||||
" --color=bg+:\$color00,bg:\$color00,spinner:\$color0E,hl:\$color0D"\
|
||||
" --color=fg:\$color07,header:\$color0D,info:\$color0A,pointer:\$color0E"\
|
||||
" --color=marker:\$color0E,fg+:\$color06,prompt:\$color0A,hl+:\$color0D"
|
||||
EOF
|
||||
|
||||
fish -c "source $output_file"
|
||||
success "fzf colors updated!"
|
||||
87
config/omarchy/hooks/theme-set.d/10-discord.sh
Executable file
87
config/omarchy/hooks/theme-set.d/10-discord.sh
Executable file
|
|
@ -0,0 +1,87 @@
|
|||
#!/bin/bash
|
||||
|
||||
output_file="$HOME/.config/omarchy/current/theme/vencord.theme.css"
|
||||
possible_paths=(
|
||||
"$HOME/.config/Vencord/themes"
|
||||
"$HOME/.config/vesktop/themes"
|
||||
"$HOME/.config/Equicord/themes"
|
||||
"$HOME/.config/equibop/themes"
|
||||
"/var/lib/flatpak/app/com.discordapp.Discord/themes"
|
||||
"/var/lib/flatpak/app/dev.vencord.Vesktop/themes"
|
||||
"/var/lib/flatpak/app/io.github.equicord.equibop/themes",
|
||||
"$HOME/.var/app/dev.vencord.Vesktop/config/vesktop/themes"
|
||||
)
|
||||
|
||||
create_dynamic_theme() {
|
||||
|
||||
cat > "$output_file" << EOF
|
||||
/**
|
||||
* @name Match System
|
||||
* @author @bypass_
|
||||
* @version 0.1.0
|
||||
* @description Match your current system theme.
|
||||
* @source https://github.com/imbypass/base16-Discord
|
||||
**/
|
||||
@import url("https://imbypass.github.io/base16-discord/omarchy-discord.theme.css");
|
||||
|
||||
:root {
|
||||
--color00: #${primary_background};
|
||||
--color01: #${primary_background};
|
||||
--color02: #${primary_background};
|
||||
--color03: #${normal_white};
|
||||
--color04: #${bright_white};
|
||||
--color05: #${bright_white};
|
||||
--color06: #${bright_white};
|
||||
--color07: #${bright_white};
|
||||
--color08: #${normal_red};
|
||||
--color09: #${normal_yellow};
|
||||
--color10: #${bright_yellow};
|
||||
--color11: #${normal_green};
|
||||
--color12: #${normal_cyan};
|
||||
--color13: #${normal_blue};
|
||||
--color14: #${normal_magenta};
|
||||
--color15: #${normal_yellow};
|
||||
}
|
||||
EOF
|
||||
|
||||
for path in "${possible_paths[@]}"; do
|
||||
if [ -d "$path" ]; then
|
||||
|
||||
if [[ -f "$path/vencord.theme.css" ]]; then
|
||||
rm "$path/vencord.theme.css"
|
||||
fi
|
||||
cp "$output_file" "$path/vencord.theme.css"
|
||||
|
||||
for file in "$path"/*; do
|
||||
if [ -f "$file" ]; then
|
||||
touch "$file"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
check_for_theme() {
|
||||
if [[ -f $HOME/.config/omarchy/current/theme/vencord.theme.css ]]; then
|
||||
for path in "${possible_paths[@]}"; do
|
||||
if [ -d "$path" ]; then
|
||||
if [[ -f "$path/vencord.theme.css" ]]; then
|
||||
rm "$path/vencord.theme.css"
|
||||
fi
|
||||
cp -f $HOME/.config/omarchy/current/theme/vencord.theme.css "$path/vencord.theme.css"
|
||||
fi
|
||||
|
||||
for file in "$path"/*; do
|
||||
if [ -f "$file" ]; then
|
||||
touch "$file"
|
||||
fi
|
||||
done
|
||||
done
|
||||
else
|
||||
create_dynamic_theme
|
||||
fi
|
||||
}
|
||||
|
||||
check_for_theme
|
||||
success "Discord theme updated!"
|
||||
exit 0
|
||||
218
config/omarchy/hooks/theme-set.d/10-gtk.sh
Executable file
218
config/omarchy/hooks/theme-set.d/10-gtk.sh
Executable file
|
|
@ -0,0 +1,218 @@
|
|||
#!/bin/bash
|
||||
|
||||
output_file="$HOME/.config/omarchy/current/theme/gtk.css"
|
||||
light_file="$HOME/.config/omarchy/current/theme/light.mode"
|
||||
gtk3_dir="$HOME/.config/gtk-3.0"
|
||||
gtk4_dir="$HOME/.config/gtk-4.0"
|
||||
gtk3_file="$gtk3_dir/gtk.css"
|
||||
gtk4_file="$gtk4_dir/gtk.css"
|
||||
|
||||
create_dynamic_theme() {
|
||||
cat > "$output_file" << EOF
|
||||
@define-color background #${primary_background};
|
||||
@define-color foreground #${primary_foreground};
|
||||
@define-color black #${primary_background};
|
||||
@define-color red #${normal_red};
|
||||
@define-color green #${normal_green};
|
||||
@define-color yellow #${normal_yellow};
|
||||
@define-color blue #${normal_blue};
|
||||
@define-color magenta #${normal_magenta};
|
||||
@define-color cyan #${normal_cyan};
|
||||
@define-color white #${normal_white};
|
||||
@define-color bright_black #${bright_black};
|
||||
@define-color bright_red #${bright_red};
|
||||
@define-color bright_green #${bright_green};
|
||||
@define-color bright_yellow #${bright_yellow};
|
||||
@define-color bright_blue #${bright_blue};
|
||||
@define-color bright_magenta #${bright_magenta};
|
||||
@define-color bright_cyan #${bright_cyan};
|
||||
@define-color bright_white #${bright_white};
|
||||
|
||||
@define-color accent_bg_color @blue;
|
||||
@define-color accent_fg_color @background;
|
||||
@define-color accent_color @cyan;
|
||||
|
||||
@define-color window_bg_color @background;
|
||||
@define-color window_fg_color @foreground;
|
||||
|
||||
@define-color view_bg_color @black;
|
||||
@define-color view_fg_color @foreground;
|
||||
@define-color sidebar_bg_color @black;
|
||||
@define-color sidebar_fg_color @foreground;
|
||||
@define-color sidebar_backdrop_color @black;
|
||||
@define-color sidebar_shade_color @black;
|
||||
|
||||
@define-color headerbar_bg_color @background;
|
||||
@define-color headerbar_fg_color @foreground;
|
||||
@define-color headerbar_backdrop_color @black;
|
||||
@define-color headerbar_shade_color @black;
|
||||
@define-color card_bg_color @background;
|
||||
@define-color card_fg_color @foreground;
|
||||
|
||||
@define-color popover_bg_color @black;
|
||||
@define-color popover_fg_color @foreground;
|
||||
|
||||
@define-color destructive_bg_color @red;
|
||||
@define-color destructive_fg_color @background;
|
||||
|
||||
@define-color success_bg_color @green;
|
||||
@define-color success_fg_color @background;
|
||||
|
||||
@define-color warning_bg_color @yellow;
|
||||
@define-color warning_fg_color @background;
|
||||
|
||||
@define-color error_bg_color @red;
|
||||
@define-color error_fg_color @background;
|
||||
|
||||
@define-color dialog_bg_color @background;
|
||||
@define-color dialog_fg_color @foreground;
|
||||
|
||||
@define-color borders alpha(@foreground, 0.1);
|
||||
|
||||
@define-color theme_fg_color @foreground;
|
||||
@define-color theme_text_color @foreground;
|
||||
@define-color theme_bg_color @background;
|
||||
@define-color theme_base_color @black;
|
||||
@define-color theme_selected_bg_color @blue;
|
||||
@define-color theme_selected_fg_color @background;
|
||||
@define-color insensitive_bg_color @background;
|
||||
@define-color insensitive_fg_color @bright_black;
|
||||
@define-color insensitive_base_color @black;
|
||||
@define-color theme_unfocused_fg_color @foreground;
|
||||
@define-color theme_unfocused_text_color @foreground;
|
||||
@define-color theme_unfocused_bg_color @background;
|
||||
@define-color theme_unfocused_base_color @black;
|
||||
@define-color theme_unfocused_selected_bg_color @blue;
|
||||
@define-color theme_unfocused_selected_fg_color @background;
|
||||
@define-color unfocused_insensitive_color @bright_black;
|
||||
@define-color unfocused_borders alpha(@foreground, 0.1);
|
||||
@define-color warning_color @yellow;
|
||||
@define-color error_color @red;
|
||||
@define-color success_color @green;
|
||||
@define-color destructive_color @red;
|
||||
|
||||
@define-color content_view_bg @black;
|
||||
@define-color text_view_bg @black;
|
||||
|
||||
messagedialog {
|
||||
background-color: @dialog_bg_color;
|
||||
}
|
||||
|
||||
messagedialog label {
|
||||
color: @dialog_fg_color;
|
||||
font-size: 14pt;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
messagedialog .secondary-text {
|
||||
font-size: 10pt;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
messagedialog button {
|
||||
background-color: @black;
|
||||
color: @foreground;
|
||||
border: 1px solid @bright_black;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
messagedialog button:hover {
|
||||
background-color: @blue;
|
||||
}
|
||||
|
||||
banner revealer widget {
|
||||
background: @bright_black;
|
||||
padding: 5px;
|
||||
color: @foreground;
|
||||
}
|
||||
|
||||
alertdialog.background {
|
||||
background-color: @dialog_bg_color;
|
||||
color: @dialog_fg_color;
|
||||
}
|
||||
|
||||
alertdialog .titlebar {
|
||||
background-color: @headerbar_bg_color;
|
||||
color: @headerbar_fg_color;
|
||||
}
|
||||
|
||||
alertdialog box {
|
||||
background-color: @dialog_bg_color;
|
||||
}
|
||||
|
||||
alertdialog label {
|
||||
color: @dialog_fg_color;
|
||||
}
|
||||
|
||||
filechooser .dialog-action-box {
|
||||
border-top: 1px solid @bright_black;
|
||||
}
|
||||
|
||||
filechooser .dialog-action-box:backdrop {
|
||||
border-top-color: @black;
|
||||
}
|
||||
|
||||
filechooser #pathbarbox {
|
||||
border-bottom: 1px solid @bright_black;
|
||||
}
|
||||
|
||||
filechooserbutton:drop(active) {
|
||||
box-shadow: none;
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
toast {
|
||||
background-color: @black;
|
||||
color: @foreground;
|
||||
}
|
||||
|
||||
toast button.circular.flat.image-button:hover {
|
||||
color: @background;
|
||||
background-color: @red;
|
||||
}
|
||||
|
||||
/* .svg-icon {
|
||||
filter: invert(79%) sepia(18%) saturate(611%) hue-rotate(192deg)
|
||||
brightness(103%) contrast(94%);
|
||||
} */
|
||||
EOF
|
||||
}
|
||||
|
||||
if [ ! -d "$gtk3_dir" ]; then
|
||||
mkdir -p "$gtk3_dir"
|
||||
fi
|
||||
if [ ! -d "$gtk4_dir" ]; then
|
||||
mkdir -p "$gtk4_dir"
|
||||
fi
|
||||
|
||||
if [ -f "$output_file" ]; then
|
||||
if [ ! -f "$gtk3_dir/gtk.css.backup" ]; then
|
||||
cp "$gtk3_file" "$gtk3_dir/gtk.css.backup"
|
||||
fi
|
||||
cp -f "$output_file" "$gtk3_file"
|
||||
|
||||
if [ ! -f "$gtk4_dir/gtk.css.backup" ]; then
|
||||
cp "$gtk4_file" "$gtk4_dir/gtk.css.backup"
|
||||
fi
|
||||
cp -f "$output_file" "$gtk4_file"
|
||||
else
|
||||
create_dynamic_theme
|
||||
cp "$output_file" "$gtk3_file"
|
||||
cp "$output_file" "$gtk4_file"
|
||||
fi
|
||||
|
||||
if [ -f "$light_file" ]; then
|
||||
gsettings set org.gnome.desktop.interface color-scheme "prefer-light"
|
||||
gsettings set org.gnome.desktop.interface gtk-theme adw-gtk3-tmp
|
||||
gsettings set org.gnome.desktop.interface gtk-theme adw-gtk3
|
||||
else
|
||||
gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
|
||||
gsettings set org.gnome.desktop.interface gtk-theme adw-gtk3-tmp-dark
|
||||
gsettings set org.gnome.desktop.interface gtk-theme adw-gtk3-dark
|
||||
fi
|
||||
|
||||
pkill -f xdg-desktop-portal-gtk
|
||||
|
||||
require_restart "nautilus"
|
||||
success "GTK theme updated!"
|
||||
exit 0
|
||||
39
config/omarchy/hooks/theme-set.d/10-qt6ct.sh
Executable file
39
config/omarchy/hooks/theme-set.d/10-qt6ct.sh
Executable file
|
|
@ -0,0 +1,39 @@
|
|||
#!/bin/bash
|
||||
|
||||
new_qt_file="$HOME/.config/omarchy/current/theme/qt6ct.conf"
|
||||
|
||||
if ! command -v qt6ct >/dev/null 2>&1; then
|
||||
skipped "Qt6ct"
|
||||
fi
|
||||
|
||||
base00=$normal_black
|
||||
base01=$(change_shade $normal_black 5)
|
||||
base02=$(change_shade $normal_black 10)
|
||||
base03=$(change_shade $normal_black 15)
|
||||
base04=$(change_shade $normal_black 20)
|
||||
base05=$primary_foreground
|
||||
base06=$(change_shade $primary_foreground -5)
|
||||
base07=$(change_shade $primary_foreground -10)
|
||||
base08=$normal_red
|
||||
base09=$normal_yellow
|
||||
base0A=$bright_yellow
|
||||
base0B=$normal_green
|
||||
base0C=$normal_cyan
|
||||
base0D=$normal_blue
|
||||
base0E=$normal_magenta
|
||||
base0F=$bright_red
|
||||
|
||||
if [ ! -f "$new_qt_file" ]; then
|
||||
cat > "$new_qt_file" << EOF
|
||||
[ColorScheme]
|
||||
active_colors=#ff${base05}, #ff${base01}, #ff${base01}, #ff${base05}, #ff${base03}, #ff${base04}, #ff${base05}, #ff${base06}, #ff${base05}, #ff${base01}, #ff${base00}, #ff${base03}, #ff${base02}, #ff${base05}, #ff${base09}, #ff${base08}, #ff${base02}, #ff${base05}, #ff${base01}, #ff${base05}, #8f${base05}
|
||||
disabled_colors=#ff${base00}, #ff${base01}, #ff${base01}, #ff${base04}, #ff${base03}, #ff${base04}, #ff${base00}, #ff${base00}, #ff${base00}, #ff${base01}, #ff${base00}, #ff${base03}, #ff${base02}, #ff${base04}, #ff${base09}, #ff${base08}, #ff${base02}, #ff${base04}, #ff${base01}, #ff${base00}, #8f${base00}
|
||||
inactive_colors=#ff${base04}, #ff${base01}, #ff${base01}, #ff${base05}, #ff${base03}, #ff${base04}, #ff${base05}, #ff${base06}, #ff${base05}, #ff${base01}, #ff${base00}, #ff${base03}, #ff${base02}, #ff${base05}, #ff${base09}, #ff${base08}, #ff${base02}, #ff${base05}, #ff${base01}, #ff${base05}, #8f${base05}
|
||||
EOF
|
||||
fi
|
||||
|
||||
mkdir -p "$HOME/.config/qt6ct/colors"
|
||||
cp -p -f "$new_qt_file" "$HOME/.config/qt6ct/colors/omarchy.conf"
|
||||
|
||||
success "Qt6 theme updated!"
|
||||
exit 0
|
||||
109
config/omarchy/hooks/theme-set.d/10-spotify.sh
Executable file
109
config/omarchy/hooks/theme-set.d/10-spotify.sh
Executable file
|
|
@ -0,0 +1,109 @@
|
|||
#!/bin/bash
|
||||
|
||||
create_spicetify_styling() {
|
||||
mkdir -p "$HOME/.config/spicetify/Themes/omarchy"
|
||||
cat > "$HOME/.config/spicetify/Themes/omarchy/user.css" << EOF
|
||||
:root,
|
||||
.encore-dark-theme,
|
||||
.encore-base-set,
|
||||
.encore-inverted-light-set {
|
||||
--background-highlight: rgba(var(--spice-rgb-highlight), 0.25) !important;
|
||||
}
|
||||
.main-nowPlayingBar-container {
|
||||
background-color: var(--background-base);
|
||||
border-radius: 0.5rem;
|
||||
padding: 0.5rem;
|
||||
color: var(--spice-text);
|
||||
}
|
||||
.main-entityHeader-backgroundColor {
|
||||
display: none !important;
|
||||
}
|
||||
.main-actionBarBackground-background {
|
||||
display: none !important;
|
||||
}
|
||||
.main-home-homeHeader {
|
||||
display: none !important;
|
||||
}
|
||||
.main-topBar-background,
|
||||
.main-home-filterChipsSection {
|
||||
background-color: var(--spice-main) !important;
|
||||
}
|
||||
EOF
|
||||
}
|
||||
|
||||
change_spicetify_theme() {
|
||||
spicetify config current_theme omarchy > /dev/null
|
||||
spicetify config color_scheme base > /dev/null
|
||||
}
|
||||
|
||||
create_dynamic_theme() {
|
||||
color00=${primary_background}
|
||||
color01=${normal_black}
|
||||
color02=${bright_black}
|
||||
color03=${normal_white}
|
||||
color04=${bright_white}
|
||||
color05=${primary_foreground}
|
||||
color06=${bright_white}
|
||||
color07=${bright_white}
|
||||
color08=${normal_red}
|
||||
color09=${normal_yellow}
|
||||
color0A=${bright_yellow}
|
||||
color0B=${normal_green}
|
||||
color0C=${normal_cyan}
|
||||
color0D=${normal_blue}
|
||||
color0E=${normal_magenta}
|
||||
color0F=${bright_red}
|
||||
|
||||
cat > "$HOME/.config/spicetify/Themes/omarchy/color.ini" << EOF
|
||||
[base]
|
||||
main = ${color00}
|
||||
player = ${color00}
|
||||
card = ${color00}
|
||||
main-elevated = ${color00}
|
||||
sidebar = ${color00}
|
||||
shadow = ${color00}
|
||||
notification = ${color02}
|
||||
button-disabled = ${color02}
|
||||
misc = ${color03}
|
||||
selected-row = ${color03}
|
||||
button = ${color03}
|
||||
highlight = ${color07}
|
||||
notification-error = ${color08}
|
||||
button-active = ${color0B}
|
||||
subtext = ${color03}
|
||||
text = ${color07}
|
||||
EOF
|
||||
}
|
||||
|
||||
if ! command -v spicetify >/dev/null 2>&1; then
|
||||
skipped "Spicetify"
|
||||
fi
|
||||
|
||||
spotify_was_running=false
|
||||
if pgrep -x "spotify" > /dev/null 2>&1; then
|
||||
spotify_was_running=true
|
||||
fi
|
||||
|
||||
create_spicetify_styling
|
||||
create_dynamic_theme
|
||||
change_spicetify_theme
|
||||
|
||||
if [ "$spotify_was_running" = true ]; then
|
||||
spicetify apply > /dev/null 2>&1 &
|
||||
else
|
||||
setsid bash -c '
|
||||
spicetify apply > /dev/null 2>&1 &
|
||||
|
||||
for i in {1..250}; do
|
||||
if pgrep -x "spotify" > /dev/null 2>&1; then
|
||||
sleep 0.2
|
||||
killall -9 spotify > /dev/null 2>&1
|
||||
exit 0
|
||||
fi
|
||||
sleep 0.1
|
||||
done
|
||||
' > /dev/null 2>&1 < /dev/null &
|
||||
fi
|
||||
|
||||
success "Spotify theme updated!"
|
||||
exit 0
|
||||
70
config/omarchy/hooks/theme-set.d/10-superfile.sh
Executable file
70
config/omarchy/hooks/theme-set.d/10-superfile.sh
Executable file
|
|
@ -0,0 +1,70 @@
|
|||
#!/bin/bash
|
||||
|
||||
output_file="$HOME/.config/omarchy/current/theme/superfile.toml"
|
||||
|
||||
if ! command -v spf >/dev/null 2>&1; then
|
||||
skipped "Superfile"
|
||||
fi
|
||||
|
||||
if [ ! -f "$output_file" ]; then
|
||||
cat > "$output_file" << EOF
|
||||
|
||||
# ========= Border =========
|
||||
file_panel_border = '#${normal_white}'
|
||||
sidebar_border = '#${normal_white}'
|
||||
footer_border = '#${normal_white}'
|
||||
|
||||
# ========= Border Active =========
|
||||
file_panel_border_active = '#${normal_blue}'
|
||||
sidebar_border_active = '#${normal_blue}'
|
||||
footer_border_active = '#${normal_blue}'
|
||||
modal_border_active = '#${normal_blue}'
|
||||
|
||||
# ========= Background (bg) =========
|
||||
full_screen_bg = '#${primary_background}'
|
||||
file_panel_bg = '#${primary_background}'
|
||||
sidebar_bg = '#${primary_background}'
|
||||
footer_bg = '#${primary_background}'
|
||||
modal_bg = '#${primary_background}'
|
||||
|
||||
# ========= Foreground (fg) =========
|
||||
full_screen_fg = '#${primary_foreground}'
|
||||
file_panel_fg = '#${primary_foreground}'
|
||||
sidebar_fg = '#${primary_foreground}'
|
||||
footer_fg = '#${primary_foreground}'
|
||||
modal_fg = '#${primary_foreground}'
|
||||
|
||||
# ========= Special Color =========
|
||||
cursor = '#${primary_foreground}'
|
||||
correct = '#${normal_green}'
|
||||
error = '#${normal_red}'
|
||||
hint = '#${normal_cyan}'
|
||||
cancel = '#${normal_red}'
|
||||
gradient_color = ['#${normal_black}', "#${bright_black}"]
|
||||
|
||||
# ========= File Panel Special Items =========
|
||||
file_panel_top_directory_icon = '#${normal_black}'
|
||||
file_panel_top_path = '#${bright_black}'
|
||||
file_panel_item_selected_fg = '#${bright_black}'
|
||||
file_panel_item_selected_bg = '#${primary_background}'
|
||||
|
||||
# ========= Sidebar Special Items =========
|
||||
sidebar_title = '#${bright_white}'
|
||||
sidebar_item_selected_fg = '#${bright_black}'
|
||||
sidebar_item_selected_bg = '#${primary_background}'
|
||||
sidebar_divider = '#${normal_white}'
|
||||
|
||||
# ========= Modal Special Items =========
|
||||
modal_cancel_fg = "#383838"
|
||||
modal_cancel_bg = '#${normal_red}'
|
||||
modal_confirm_fg = "#383838"
|
||||
modal_confirm_bg = '#${normal_green}'
|
||||
EOF
|
||||
fi
|
||||
|
||||
mkdir -p "$HOME/.config/superfile/theme/"
|
||||
cp -p -f "$output_file" "$HOME/.config/superfile/theme/omarchy.toml"
|
||||
|
||||
require_restart "spf"
|
||||
success "Superfile theme updated!"
|
||||
exit 0
|
||||
52
config/omarchy/hooks/theme-set.d/10-vicinae.sh
Executable file
52
config/omarchy/hooks/theme-set.d/10-vicinae.sh
Executable file
|
|
@ -0,0 +1,52 @@
|
|||
#!/bin/bash
|
||||
|
||||
output_file="$HOME/.config/omarchy/current/theme/vicinae.toml"
|
||||
|
||||
if ! command -v vicinae >/dev/null 2>&1; then
|
||||
skipped "Vicinae"
|
||||
fi
|
||||
|
||||
if [ ! -f "$output_file" ]; then
|
||||
cat > "$output_file" << EOF
|
||||
[meta]
|
||||
version = 1
|
||||
name = "Omarchy"
|
||||
description = "Follow your Omarchy system theme."
|
||||
variant = "dark"
|
||||
inherits = "vicinae-dark"
|
||||
icon = "$HOME/.local/share/omarchy/icon.png"
|
||||
|
||||
[colors.core]
|
||||
background = "#${primary_background}"
|
||||
foreground = "#${primary_foreground}"
|
||||
secondary_background = "#$(change_shade $primary_background 5)"
|
||||
border = "#${bright_black}"
|
||||
accent = "#${normal_yellow}"
|
||||
|
||||
[colors.list.item.hover]
|
||||
background = "#$(change_shade $primary_background 10)"
|
||||
foreground = "#${primary_foreground}"
|
||||
|
||||
[colors.list.item.selection]
|
||||
background = "#$(change_shade $primary_background 15)"
|
||||
foreground = "#${primary_foreground}"
|
||||
|
||||
[colors.accents]
|
||||
blue = "#${normal_blue}"
|
||||
green = "#${normal_green}"
|
||||
magenta = "#${normal_magenta}"
|
||||
orange = "#${normal_yellow}"
|
||||
purple = "#${bright_magenta}"
|
||||
red = "#${normal_red}"
|
||||
yellow = "#${bright_yellow}"
|
||||
cyan = "#${normal_cyan}"
|
||||
EOF
|
||||
fi
|
||||
|
||||
mkdir -p "$HOME/.local/share/vicinae/themes/"
|
||||
cp -p -f "$output_file" "$HOME/.local/share/vicinae/themes/omarchy.toml"
|
||||
|
||||
vicinae theme set omarchy
|
||||
|
||||
success "Vicinae theme updated!"
|
||||
exit 0
|
||||
182
config/omarchy/hooks/theme-set.d/15-typora.sh
Executable file
182
config/omarchy/hooks/theme-set.d/15-typora.sh
Executable file
|
|
@ -0,0 +1,182 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Typora theme hook - generates CSS with current omarchy theme colors
|
||||
|
||||
new_typora_file="$HOME/.config/omarchy/current/theme/typora.css"
|
||||
typora_dir="$HOME/.config/Typora/themes"
|
||||
|
||||
create_dynamic_theme() {
|
||||
# Calculate darker shade for sidebar
|
||||
sidebar_bg=$(change_shade "$primary_background" -15)
|
||||
# Calculate selection color
|
||||
select_bg=$(change_shade "$normal_blue" -60)
|
||||
# Calculate hover/active colors
|
||||
hover_bg=$(change_shade "$primary_background" 20)
|
||||
|
||||
cat > "$new_typora_file" << EOF
|
||||
@import "night/mermaid.dark.css";
|
||||
@import "night/codeblock.dark.css";
|
||||
@import "night/sourcemode.dark.css";
|
||||
|
||||
:root {
|
||||
--bg-color: #${primary_background};
|
||||
--side-bar-bg-color: #${sidebar_bg};
|
||||
--text-color: #${primary_foreground};
|
||||
|
||||
--select-text-bg-color: #${select_bg};
|
||||
|
||||
--item-hover-bg-color: #${hover_bg};
|
||||
--control-text-color: #${bright_black};
|
||||
--control-text-hover-color: #${primary_foreground};
|
||||
--window-border: 1px solid #${hover_bg};
|
||||
|
||||
--active-file-bg-color: #${hover_bg};
|
||||
--active-file-border-color: #${normal_blue};
|
||||
|
||||
--primary-color: #${normal_blue};
|
||||
|
||||
--active-file-text-color: #${primary_foreground};
|
||||
--item-hover-text-color: #${primary_foreground};
|
||||
|
||||
--rawblock-edit-panel-bd: #${sidebar_bg};
|
||||
|
||||
--search-select-bg-color: #${select_bg};
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 16px;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
background: #${primary_background};
|
||||
background: var(--bg-color);
|
||||
fill: currentColor;
|
||||
line-height: 1.625rem;
|
||||
}
|
||||
|
||||
#write {
|
||||
max-width: 914px;
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 1400px) {
|
||||
#write {
|
||||
max-width: 1024px;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 1800px) {
|
||||
#write {
|
||||
max-width: 1200px;
|
||||
}
|
||||
}
|
||||
|
||||
html,
|
||||
body,
|
||||
button,
|
||||
input,
|
||||
select,
|
||||
textarea,
|
||||
div.code-tooltip-content {
|
||||
color: #${primary_foreground};
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
div.code-tooltip,
|
||||
.md-hover-tip .md-arrow:after {
|
||||
background: #${sidebar_bg};
|
||||
}
|
||||
|
||||
.native-window #md-notification {
|
||||
border: 1px solid #${bright_black};
|
||||
}
|
||||
|
||||
.popover.bottom > .arrow:after {
|
||||
border-bottom-color: #${sidebar_bg};
|
||||
}
|
||||
|
||||
html,
|
||||
body,
|
||||
button,
|
||||
input,
|
||||
select,
|
||||
textarea {
|
||||
font-family: "Inter", "SF Pro", -apple-system, BlinkMacSystemFont, sans-serif;
|
||||
}
|
||||
|
||||
hr {
|
||||
height: 2px;
|
||||
border: 0;
|
||||
margin: 24px 0 !important;
|
||||
}
|
||||
|
||||
/* Headers */
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-family: "SF Pro", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
|
||||
color: #${primary_foreground};
|
||||
}
|
||||
|
||||
/* Links */
|
||||
a {
|
||||
color: #${normal_blue};
|
||||
}
|
||||
|
||||
/* Code */
|
||||
code, pre, .md-fences {
|
||||
font-family: "JetBrainsMono Nerd Font", "Fira Code", monospace;
|
||||
background: #${sidebar_bg};
|
||||
}
|
||||
|
||||
/* Inline code */
|
||||
code {
|
||||
color: #${normal_cyan};
|
||||
padding: 2px 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
/* Blockquotes */
|
||||
blockquote {
|
||||
border-left: 4px solid #${normal_blue};
|
||||
color: #${bright_black};
|
||||
}
|
||||
|
||||
/* Tables */
|
||||
table tr:nth-child(2n) {
|
||||
background: #${sidebar_bg};
|
||||
}
|
||||
|
||||
table th {
|
||||
background: #${hover_bg};
|
||||
}
|
||||
|
||||
/* Scrollbars */
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: #${hover_bg};
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #${bright_black};
|
||||
}
|
||||
EOF
|
||||
}
|
||||
|
||||
# Check if Typora is installed
|
||||
if ! command -v typora >/dev/null 2>&1; then
|
||||
skipped "Typora"
|
||||
fi
|
||||
|
||||
mkdir -p "$typora_dir"
|
||||
|
||||
if [ -f "$new_typora_file" ]; then
|
||||
cp -f "$new_typora_file" "$typora_dir/omarchy.css"
|
||||
else
|
||||
create_dynamic_theme
|
||||
cp -f "$new_typora_file" "$typora_dir/omarchy.css"
|
||||
fi
|
||||
|
||||
success "Typora theme updated!"
|
||||
require_restart "typora"
|
||||
exit 0
|
||||
125
config/omarchy/hooks/theme-set.d/20-nwg-dock-hyprland.sh
Executable file
125
config/omarchy/hooks/theme-set.d/20-nwg-dock-hyprland.sh
Executable file
|
|
@ -0,0 +1,125 @@
|
|||
#!/bin/bash
|
||||
|
||||
# This script respects user's existing nwg-dock-hyprland configuration.
|
||||
# It searches ~/.config/hypr/*.conf for exec/exec-once commands and preserves user flags.
|
||||
# Falls back to default configuration only if no user command is found.
|
||||
|
||||
output_file="$HOME/.config/omarchy/current/theme/nwg-dock.css"
|
||||
default_dock_command="nwg-dock-hyprland -r -mb 10 -mt 10 -i 22 -x -nolauncher"
|
||||
|
||||
if ! command -v nwg-dock-hyprland >/dev/null 2>&1; then
|
||||
skipped "NWG Dock"
|
||||
fi
|
||||
|
||||
# Search for user's nwg-dock-hyprland command in Hyprland config files
|
||||
user_dock_command=""
|
||||
hypr_config_dir="$HOME/.config/hypr"
|
||||
|
||||
if [[ -d "$hypr_config_dir" ]]; then
|
||||
# Find all config files containing nwg-dock-hyprland exec commands
|
||||
mapfile -t dock_files < <(grep -l -E "^\s*(exec|exec-once)\s*=.*nwg-dock-hyprland" "$hypr_config_dir"/*.conf 2>/dev/null)
|
||||
|
||||
# Find all matching command lines
|
||||
mapfile -t dock_commands < <(grep -h -E "^\s*(exec|exec-once)\s*=.*nwg-dock-hyprland" "$hypr_config_dir"/*.conf 2>/dev/null)
|
||||
|
||||
# Check for multiple commands and warn user
|
||||
if [[ ${#dock_commands[@]} -gt 1 ]]; then
|
||||
warning "Multiple nwg-dock-hyprland commands found in Hyprland config:"
|
||||
for file in "${dock_files[@]}"; do
|
||||
warning " - $file"
|
||||
done
|
||||
warning "Using first occurrence. Please consolidate to a single command."
|
||||
fi
|
||||
|
||||
# Extract the command from first match
|
||||
if [[ ${#dock_commands[@]} -gt 0 ]]; then
|
||||
# Remove 'exec' or 'exec-once' prefix and '=' sign, trim whitespace
|
||||
user_dock_command=$(echo "${dock_commands[0]}" | sed 's/^[[:space:]]*exec\(-once\)\?[[:space:]]*=[[:space:]]*//')
|
||||
|
||||
# Validate extraction succeeded
|
||||
if [[ -z "$user_dock_command" || ! "$user_dock_command" =~ nwg-dock-hyprland ]]; then
|
||||
warning "Failed to parse user's nwg-dock-hyprland command: ${dock_commands[0]}"
|
||||
warning "Using default configuration."
|
||||
user_dock_command=""
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ! -f "$output_file" ]]; then
|
||||
mkdir -p "$(dirname "$output_file")"
|
||||
|
||||
cat >"$output_file" <<EOF
|
||||
window {
|
||||
background: #${primary_background}; /* base01 */
|
||||
border-color: #${bright_black}; /* base02 */
|
||||
border: 2px solid #${bright_black};
|
||||
}
|
||||
|
||||
button,
|
||||
image {
|
||||
color: #${bright_white}; /* base07 */
|
||||
}
|
||||
|
||||
button {
|
||||
color: #${normal_white}; /* base05 */
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: rgba($rgb_bright_black, 0.5); /* base02 */
|
||||
}
|
||||
EOF
|
||||
|
||||
mkdir -p "$HOME/.config/nwg-dock-hyprland"
|
||||
style_file="$HOME/.config/nwg-dock-hyprland/style.css"
|
||||
if [[ ! -f $style_file ]]; then
|
||||
cat > $style_file <<EOF
|
||||
@import url("./colors.css");
|
||||
|
||||
window {
|
||||
border-radius: 12px;
|
||||
border-style: solid;
|
||||
border-width: 2px;
|
||||
}
|
||||
|
||||
#box {
|
||||
padding: 6px;
|
||||
}
|
||||
|
||||
button,
|
||||
image {
|
||||
background: none;
|
||||
border-style: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 5px;
|
||||
margin-left: 4px;
|
||||
margin-right: 4px;
|
||||
margin-top: 4px;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
button:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
EOF
|
||||
fi
|
||||
fi
|
||||
|
||||
cp "$output_file" "$HOME/.config/nwg-dock-hyprland/colors.css"
|
||||
|
||||
# Kill existing dock instance
|
||||
killall nwg-dock-hyprland 2>/dev/null
|
||||
|
||||
# Restart dock with user's command or default
|
||||
if [[ -n "$user_dock_command" ]]; then
|
||||
eval "$user_dock_command" &
|
||||
disown
|
||||
else
|
||||
eval "$default_dock_command" &
|
||||
disown
|
||||
fi
|
||||
|
||||
success "Dock theme updated!"
|
||||
128
config/omarchy/hooks/theme-set.d/20-zed.sh
Executable file
128
config/omarchy/hooks/theme-set.d/20-zed.sh
Executable file
|
|
@ -0,0 +1,128 @@
|
|||
#!/bin/bash
|
||||
|
||||
new_zed_file="$HOME/.config/omarchy/current/theme/zed.json"
|
||||
|
||||
create_dynamic_theme() {
|
||||
cat > "$new_zed_file" << EOF
|
||||
{
|
||||
"\$schema": "https://zed.dev/schema/themes/v0.1.0.json",
|
||||
"name": "Omarchyy",
|
||||
"author": "@bypass_",
|
||||
"themes": [
|
||||
{
|
||||
"name": "Omarchy",
|
||||
"appearance": "dark",
|
||||
"style": {
|
||||
"background": "#${primary_background}90",
|
||||
"editor.background": "#${primary_background}90",
|
||||
"editor.foreground": "#${primary_foreground}",
|
||||
"text": "#${primary_foreground}",
|
||||
"text.muted": "#${primary_foreground}70",
|
||||
"text.ignored": "#${primary_foreground}40",
|
||||
"text.placeholder": "#${primary_foreground}50",
|
||||
"ignored": "#${primary_foreground}30",
|
||||
"element.hover": "#${primary_foreground}30",
|
||||
"ghost_element.hover": "#${bright_black}30",
|
||||
"ghost_element.selected": "#${bright_black}30",
|
||||
"ghost_element.active": "#${bright_black}60",
|
||||
"border": "#${normal_black}",
|
||||
"editor.highlighted_line.background": "#${bright_black}10",
|
||||
"editor.active_line.background": "#${bright_black}10",
|
||||
"panel.background": "#${normal_black}90",
|
||||
"title_bar.background": "#${normal_black}90",
|
||||
"title_bar.inactive_background": "#${normal_black}90",
|
||||
"status_bar.background": "#${normal_black}90",
|
||||
"drop_target.background": "#${normal_black}90",
|
||||
"elevated_surface.background": "#${normal_black}",
|
||||
"toolbar.background": "#${normal_black}90",
|
||||
"tab_bar.background": "#${normal_black}90",
|
||||
"tab.inactive_background": "#${normal_black}90",
|
||||
"tab.active_background": "#${bright_black}30",
|
||||
"scrollbar.track.background": "transparent",
|
||||
"scrollbar.track.border": "#${normal_black}",
|
||||
"scrollbar.thumb.background": "#${primary_foreground}",
|
||||
"editor.gutter.background": "#${normal_black}90",
|
||||
"terminal.background": "#${normal_black}10",
|
||||
"terminal.foreground": "#${primary_foreground}",
|
||||
"terminal.dim_foreground": "#${primary_foreground}",
|
||||
"terminal.bright_foreground": "#${primary_foreground}",
|
||||
"terminal.ansi.black": "#${normal_black}",
|
||||
"terminal.ansi.red": "#${normal_red}",
|
||||
"terminal.ansi.green": "#${normal_green}",
|
||||
"terminal.ansi.yellow": "#${normal_yellow}",
|
||||
"terminal.ansi.blue": "#${normal_blue}",
|
||||
"terminal.ansi.magenta": "#${normal_magenta}",
|
||||
"terminal.ansi.cyan": "#${normal_cyan}",
|
||||
"terminal.ansi.white": "#${normal_white}",
|
||||
"terminal.ansi.bright_black": "#${bright_black}",
|
||||
"terminal.ansi.bright_red": "#${bright_red}",
|
||||
"terminal.ansi.bright_green": "#${bright_green}",
|
||||
"terminal.ansi.bright_yellow": "#${bright_yellow}",
|
||||
"terminal.ansi.bright_blue": "#${bright_blue}",
|
||||
"terminal.ansi.bright_magenta": "#${bright_magenta}",
|
||||
"terminal.ansi.bright_cyan": "#${bright_cyan}",
|
||||
"terminal.ansi.bright_white": "#${bright_white}",
|
||||
"modified": "#${normal_red}",
|
||||
"syntax": {
|
||||
"attribute": {
|
||||
"color": "#${normal_white}"
|
||||
},
|
||||
"boolean": {
|
||||
"color": "#${normal_green}"
|
||||
},
|
||||
"comment": {
|
||||
"color": "#${bright_black}"
|
||||
},
|
||||
"comment.doc": {
|
||||
"color": "#${bright_black}"
|
||||
},
|
||||
"constant": {
|
||||
"color": "#${bright_green}"
|
||||
},
|
||||
"function": {
|
||||
"color": "#${bright_cyan}"
|
||||
},
|
||||
"keyword": {
|
||||
"color": "#${normal_blue}"
|
||||
},
|
||||
"number": {
|
||||
"color": "#${normal_magenta}"
|
||||
},
|
||||
"operator": {
|
||||
"color": "#${normal_blue}"
|
||||
},
|
||||
"string": {
|
||||
"color": "#${normal_red}"
|
||||
},
|
||||
"variable": {
|
||||
"color": "#${normal_green}"
|
||||
}
|
||||
},
|
||||
"players": [
|
||||
{
|
||||
"cursor": "#${primary_foreground}",
|
||||
"background": "#${normal_black}",
|
||||
"selection": "#${primary_foreground}30"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
EOF
|
||||
}
|
||||
|
||||
if ! command -v zeditor >/dev/null 2>&1 && ! command -v zed >/dev/null 2>&1; then
|
||||
skipped "Zed"
|
||||
fi
|
||||
|
||||
mkdir -p "$HOME/.config/zed/themes"
|
||||
if [ -f "$new_zed_file" ]; then
|
||||
cp -f "$new_zed_file" "$HOME/.config/zed/themes/omarchy.json"
|
||||
else
|
||||
create_dynamic_theme
|
||||
cp -f "$new_zed_file" "$HOME/.config/zed/themes/omarchy.json"
|
||||
fi
|
||||
|
||||
success "Zed theme updated!"
|
||||
exit 0
|
||||
1290
config/omarchy/hooks/theme-set.d/30-cursor.sh
Executable file
1290
config/omarchy/hooks/theme-set.d/30-cursor.sh
Executable file
File diff suppressed because it is too large
Load diff
1292
config/omarchy/hooks/theme-set.d/30-vscode.sh
Executable file
1292
config/omarchy/hooks/theme-set.d/30-vscode.sh
Executable file
File diff suppressed because it is too large
Load diff
1294
config/omarchy/hooks/theme-set.d/30-windsurf.sh
Executable file
1294
config/omarchy/hooks/theme-set.d/30-windsurf.sh
Executable file
File diff suppressed because it is too large
Load diff
39
config/omarchy/hooks/theme-set.d/40-cava.sh
Executable file
39
config/omarchy/hooks/theme-set.d/40-cava.sh
Executable file
|
|
@ -0,0 +1,39 @@
|
|||
#!/bin/bash
|
||||
|
||||
if ! command -v cava >/dev/null 2>&1; then
|
||||
skipped "Cava"
|
||||
fi
|
||||
|
||||
theme_template="$HOME/.config/omarchy/current/theme/cava_theme"
|
||||
|
||||
if [ ! -f "$theme_template" ]; then
|
||||
cat > "$theme_template" << EOF
|
||||
[color]
|
||||
gradient = 1
|
||||
gradient_count = 8
|
||||
gradient_color_1 = '#${normal_cyan:-${primary_foreground}}'
|
||||
gradient_color_2 = '#${normal_blue:-${primary_foreground}}'
|
||||
gradient_color_3 = '#${bright_blue:-${normal_blue:-${primary_foreground}}}'
|
||||
gradient_color_4 = '#${normal_magenta:-${primary_foreground}}'
|
||||
gradient_color_5 = '#${bright_magenta:-${normal_magenta:-${primary_foreground}}}'
|
||||
gradient_color_6 = '#${bright_cyan:-${normal_cyan:-${primary_foreground}}}'
|
||||
gradient_color_7 = '#${bright_magenta:-${normal_magenta:-${primary_foreground}}}'
|
||||
gradient_color_8 = '#${normal_cyan:-${primary_foreground}}'
|
||||
EOF
|
||||
fi
|
||||
|
||||
theme_dir="$HOME/.config/cava/themes"
|
||||
mkdir -p "$theme_dir"
|
||||
cp -f "$theme_template" "$theme_dir/omarchy"
|
||||
|
||||
config_file="$HOME/.config/cava/config"
|
||||
if [ -f "$config_file" ] && ! grep -q "theme = 'omarchy'" "$config_file"; then
|
||||
sed -i "/^\[color\]/a theme = 'omarchy'" "$config_file"
|
||||
fi
|
||||
|
||||
if pgrep -x cava >/dev/null 2>&1; then
|
||||
( pkill -USR2 cava ) >/dev/null 2>&1 &
|
||||
fi
|
||||
|
||||
success "Cava theme updated!"
|
||||
exit 0
|
||||
304
config/omarchy/hooks/theme-set.d/40-firefox.sh
Executable file
304
config/omarchy/hooks/theme-set.d/40-firefox.sh
Executable file
|
|
@ -0,0 +1,304 @@
|
|||
#!/bin/bash
|
||||
|
||||
output_file="$HOME/.config/omarchy/current/theme/firefox.css"
|
||||
|
||||
if ! command -v firefox >/dev/null 2>&1; then
|
||||
skipped "Firefox"
|
||||
fi
|
||||
|
||||
find_default_profile() {
|
||||
awk -F= '
|
||||
/^\[Install/ { in_install=1 }
|
||||
in_install && /^Default=/ { print $2; exit }
|
||||
' "$HOME/.mozilla/firefox/profiles.ini"
|
||||
}
|
||||
default_profile="$HOME/.mozilla/firefox/$(find_default_profile)"
|
||||
|
||||
enable_userchrome() {
|
||||
local prefs_file="$default_profile/prefs.js"
|
||||
local pref_name="toolkit.legacyUserProfileCustomizations.stylesheets"
|
||||
|
||||
if grep -q "user_pref(\"$pref_name\"" "$prefs_file"; then
|
||||
if grep -q "user_pref(\"$pref_name\", false)" "$prefs_file"; then
|
||||
sed -i.bak "s/user_pref(\"$pref_name\", false);/user_pref(\"$pref_name\", true);/" "$prefs_file"
|
||||
fi
|
||||
else
|
||||
echo "user_pref(\"$pref_name\", true);" >> "$prefs_file"
|
||||
fi
|
||||
}
|
||||
enable_userchrome
|
||||
|
||||
mkdir -p "$default_profile/chrome"
|
||||
|
||||
cat > "$output_file" << EOF
|
||||
:root {
|
||||
--color00: #${primary_background};
|
||||
--color01: #${primary_background};
|
||||
--color02: #${primary_background};
|
||||
--color03: #${normal_white};
|
||||
--color04: #${bright_white};
|
||||
--color05: #${primary_foreground};
|
||||
--color06: #${bright_white};
|
||||
--color07: #${bright_white};
|
||||
--color08: #${normal_red};
|
||||
--color09: #${normal_yellow};
|
||||
--color0A: #${bright_yellow};
|
||||
--color0B: #${normal_green};
|
||||
--color0C: #${normal_cyan};
|
||||
--color0D: #${normal_blue};
|
||||
--color0E: #${normal_magenta};
|
||||
--color0F: #${bright_red};
|
||||
}
|
||||
EOF
|
||||
|
||||
if [[ -d "$default_profile" ]]; then
|
||||
cp "$output_file" "$default_profile/chrome/colors.css"
|
||||
fi
|
||||
|
||||
if [[ ! -f "$default_profile/chrome/userChrome.css" ]]; then
|
||||
cat > "$default_profile/chrome/userChrome.css" << EOF
|
||||
@import url("./colors.css");
|
||||
|
||||
:root {
|
||||
--base00: var(--color00);
|
||||
--base01: color-mix(in srgb, var(--color00) 98%, white);
|
||||
--base02: color-mix(in srgb, var(--color00) 94%, white);
|
||||
--base03: var(--color03);
|
||||
--base04: var(--color04);
|
||||
--base05: var(--color05);
|
||||
--base06: var(--color06);
|
||||
--base07: var(--color07);
|
||||
--base08: var(--color08);
|
||||
--base09: var(--color09);
|
||||
--base0A: var(--color0A);
|
||||
--base0B: var(--color0B);
|
||||
--base0C: var(--color0C);
|
||||
--base0D: var(--color0D);
|
||||
--base0E: var(--color0E);
|
||||
--base0F: var(--color0F);
|
||||
}
|
||||
|
||||
:root {
|
||||
--panel-separator-zap-gradient: linear-gradient(
|
||||
90deg,
|
||||
var(--base0E) 0%,
|
||||
var(--base0F) 52.08%,
|
||||
var(--base0A) 100%
|
||||
) !important;
|
||||
--toolbarbutton-border-radius: 6px !important;
|
||||
--toolbarbutton-icon-fill: var(--base04) !important;
|
||||
--urlbarView-separator-color: var(--base01) !important;
|
||||
--urlbar-box-bgcolor: var(--base01) !important;
|
||||
}
|
||||
|
||||
/* Tabs colors */
|
||||
#tabbrowser-tabs:not([movingtab])
|
||||
> #tabbrowser-arrowscrollbox
|
||||
> .tabbrowser-tab
|
||||
> .tab-stack
|
||||
> .tab-background[multiselected="true"],
|
||||
#tabbrowser-tabs:not([movingtab])
|
||||
> #tabbrowser-arrowscrollbox
|
||||
> .tabbrowser-tab
|
||||
> .tab-stack
|
||||
> .tab-background[selected="true"] {
|
||||
background-image: none !important;
|
||||
background-color: var(--toolbar-bgcolor) !important;
|
||||
}
|
||||
|
||||
/* Inactive tabs color */
|
||||
#navigator-toolbox {
|
||||
background-color: var(--base00) !important;
|
||||
}
|
||||
|
||||
/* Window colors */
|
||||
:root {
|
||||
--toolbar-bgcolor: var(--base01) !important;
|
||||
--tabs-border-color: var(--base01) !important;
|
||||
--lwt-sidebar-background-color: var(--base00) !important;
|
||||
--lwt-toolbar-field-focus: var(--base01) !important;
|
||||
}
|
||||
|
||||
/* Sidebar color */
|
||||
#sidebar-box,
|
||||
.sidebar-placesTree {
|
||||
background-color: var(--base00) !important;
|
||||
}
|
||||
|
||||
.tab-background {
|
||||
border-radius: 6px !important;
|
||||
border: 0px solid rgba(0, 0, 0, 0) !important;
|
||||
}
|
||||
.tab-background[selected] {
|
||||
background-color: var(--base02) !important;
|
||||
}
|
||||
|
||||
#tabbrowser-tabs {
|
||||
margin-left: 1px;
|
||||
margin-top: 3px;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
.tabbrowser-tab[last-visible-tab="true"] {
|
||||
border: 0px solid rgba(0, 0, 0, 0) !important;
|
||||
}
|
||||
|
||||
toolbarbutton {
|
||||
border-radius: 6px !important;
|
||||
}
|
||||
|
||||
/* Url Bar */
|
||||
#urlbar-input {
|
||||
accent-color: var(--base0D) !important;
|
||||
}
|
||||
#urlbar-input-container {
|
||||
background-color: var(--base01) !important;
|
||||
border: 0px solid rgba(0, 0, 0, 0) !important;
|
||||
}
|
||||
|
||||
#urlbar[focused="true"] > #urlbar-background {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
#urlbar-background {
|
||||
border-radius: 6px !important;
|
||||
}
|
||||
|
||||
#navigator-toolbox {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.urlbarView-url {
|
||||
color: var(--base05) !important;
|
||||
}
|
||||
|
||||
#star-button {
|
||||
--toolbarbutton-icon-fill-attention: var(--base0D) !important;
|
||||
}
|
||||
|
||||
#vertical-tabs.customization-target {
|
||||
background-color: var(--base00) !important;
|
||||
}
|
||||
splitter#sidebar-tools-and-extensions-splitter {
|
||||
display: none !important;
|
||||
}
|
||||
.tools-and-extensions[aria-orientation="vertical"] {
|
||||
background-color: var(--base00) !important;
|
||||
}
|
||||
.tools-and-extensions.actions-list {
|
||||
background-color: var(--base00) !important;
|
||||
}
|
||||
#identity-box,
|
||||
#trust-icon-container,
|
||||
#tracking-protection-icon-container {
|
||||
fill: var(--base04) !important;
|
||||
}
|
||||
|
||||
.logo-and-wordmark {
|
||||
display: none !important;
|
||||
}
|
||||
.search-inner-wrapper {
|
||||
margin-top: 10% !important;
|
||||
}
|
||||
|
||||
.urlbar-input::placeholder,
|
||||
.searchbar-textbox::placeholder {
|
||||
opacity: 1;
|
||||
color: var(--base03) !important;
|
||||
}
|
||||
|
||||
.urlbar-input {
|
||||
color: var(--base05) !important;
|
||||
}
|
||||
|
||||
:root {
|
||||
--arrowpanel-background: var(--base01) !important;
|
||||
--arrowpanel-border-color: var(--base00) !important;
|
||||
--color-accent-primary-active: var(--base0D) !important;
|
||||
--color-accent-primary-hover: var(--base0D) !important;
|
||||
--color-accent-primary: var(--base0D) !important;
|
||||
--focus-outline-color: var(--base00) !important;
|
||||
--icon-color-critical: var(--base08) !important;
|
||||
--icon-color-information: var(--base0D) !important;
|
||||
--icon-color-success: var(--base0B) !important;
|
||||
--icon-color-warning: var(--base0A) !important;
|
||||
--outline-color-error: var(--base08) !important;
|
||||
--tab-block-margin: 0 !important;
|
||||
--tab-border-radius: 0 !important;
|
||||
--text-color-error: var(--base08) !important;
|
||||
--toolbar-field-border-color: var(--base00) !important;
|
||||
--toolbar-field-focus-background-color: var(--base02) !important;
|
||||
--toolbar-field-focus-border-color: var(--base00) !important;
|
||||
--toolbarbutton-border-radius: 6px !important;
|
||||
--in-content-page-background: var(--base01) !important;
|
||||
--input-text-background-color: var(--base02) !important;
|
||||
}
|
||||
EOF
|
||||
fi
|
||||
|
||||
if [[ ! -f "$default_profile/chrome/userContent.css" ]]; then
|
||||
cat > "$default_profile/chrome/userContent.css" <<EOF
|
||||
@import url("./colors.css");
|
||||
|
||||
:root {
|
||||
--base00: var(--color00);
|
||||
--base01: color-mix(in srgb, var(--color00) 98%, white);
|
||||
--base02: color-mix(in srgb, var(--color00) 94%, white);
|
||||
--base03: var(--color03);
|
||||
--base04: var(--color04);
|
||||
--base05: var(--color05);
|
||||
--base06: var(--color06);
|
||||
--base07: var(--color07);
|
||||
--base08: var(--color08);
|
||||
--base09: var(--color09);
|
||||
--base0A: var(--color0A);
|
||||
--base0B: var(--color0B);
|
||||
--base0C: var(--color0C);
|
||||
--base0D: var(--color0D);
|
||||
--base0E: var(--color0E);
|
||||
--base0F: var(--color0F);
|
||||
}
|
||||
|
||||
:root {
|
||||
--color-accent-primary-active: var(--base0D) !important;
|
||||
--color-accent-primary-hover: var(--base0D) !important;
|
||||
--color-accent-primary: var(--base0D) !important;
|
||||
--focus-outline-color: var(--base00) !important;
|
||||
--icon-color-critical: var(--base08) !important;
|
||||
--icon-color-information: var(--base0D) !important;
|
||||
--icon-color-success: var(--base0B) !important;
|
||||
--icon-color-warning: var(--base0A) !important;
|
||||
--in-content-page-background: var(--base00) !important;
|
||||
--input-text-background-color: var(--base02) !important;
|
||||
--newtab-background-color-secondary: var(--base02) !important;
|
||||
--newtab-background-color: var(--base01) !important;
|
||||
--newtab-text-primary-color: var(--base05) !important;
|
||||
--newtab-text-secondary-text: var(--base04) !important;
|
||||
--newtab-wallpaper-color: var(--base01) !important;
|
||||
--outline-color-error: var(--base08) !important;
|
||||
--tab-block-margin: 0 !important;
|
||||
--tab-border-radius: 0 !important;
|
||||
--text-color-error: var(--base08) !important;
|
||||
--toolbar-field-border-color: var(--base00) !important;
|
||||
--toolbar-field-border-color: var(--base01) !important;
|
||||
--toolbar-field-focus-background-color: var(--base02) !important;
|
||||
--toolbar-field-focus-border-color: var(--base01) !important;
|
||||
--toolbarbutton-border-radius: 6px !important;
|
||||
}
|
||||
|
||||
body {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.logo-and-wordmark {
|
||||
display: none !important;
|
||||
}
|
||||
.search-inner-wrapper {
|
||||
margin-top: 10% !important;
|
||||
}
|
||||
EOF
|
||||
fi
|
||||
|
||||
require_restart "firefox"
|
||||
success "Firefox theme updated!"
|
||||
exit 0
|
||||
131
config/omarchy/hooks/theme-set.d/40-steam.sh
Executable file
131
config/omarchy/hooks/theme-set.d/40-steam.sh
Executable file
|
|
@ -0,0 +1,131 @@
|
|||
#!/bin/bash
|
||||
|
||||
output_file="$HOME/.config/omarchy/current/theme/steam.css"
|
||||
|
||||
if ! command -v steam >/dev/null 2>&1; then
|
||||
skipped "Steam"
|
||||
fi
|
||||
|
||||
if ! command -v python >/dev/null 2>&1; then
|
||||
skipped "Python 3"
|
||||
fi
|
||||
|
||||
cat > "$output_file" << EOF
|
||||
:root {
|
||||
/* The main accent color and the matching text value */
|
||||
--adw-accent-bg-rgb: ${rgb_normal_blue} !important;
|
||||
--adw-accent-fg-rgb: ${rgb_primary_background} !important;
|
||||
--adw-accent-rgb: ${rgb_normal_blue} !important;
|
||||
|
||||
/* destructive-action buttons */
|
||||
--adw-destructive-bg-rgb: ${rgb_normal_red} !important;
|
||||
--adw-destructive-fg-rgb: ${rgb_primary_foreground} !important;
|
||||
--adw-destructive-rgb: ${rgb_normal_red} !important;
|
||||
|
||||
/* Levelbars, entries, labels and infobars. These don't need text colors */
|
||||
--adw-success-bg-rgb: ${rgb_normal_green} !important;
|
||||
--adw-success-fg-rgb: ${rgb_normal_black} !important;
|
||||
--adw-success-rgb: ${rgb_normal_green} !important;
|
||||
|
||||
--adw-warning-bg-rgb: ${rgb_bright_yellow} !important;
|
||||
--adw-warning-fg-rgb: ${rgb_primary_background} !important;
|
||||
--adw-warning-fg-a: 0.8 !important;
|
||||
--adw-warning-rgb: ${rgb_bright_yellow} !important;
|
||||
|
||||
--adw-error-bg-rgb: ${rgb_normal_red} !important;
|
||||
--adw-error-fg-rgb: ${rgb_normal_black} !important;
|
||||
--adw-error-rgb: ${rgb_normal_red} !important;
|
||||
|
||||
/* Window */
|
||||
--adw-window-bg-rgb: ${rgb_primary_background} !important;
|
||||
--adw-window-fg-rgb: ${rgb_primary_foreground} !important;
|
||||
|
||||
/* Views - e.g. text view or tree view */
|
||||
--adw-view-bg-rgb: ${rgb_normal_black} !important;
|
||||
--adw-view-fg-rgb: ${rgb_primary_foreground} !important;
|
||||
|
||||
/* Header bar, search bar, tab bar */
|
||||
--adw-headerbar-bg-rgb: ${rgb_primary_background} !important;
|
||||
--adw-headerbar-fg-rgb: ${rgb_primary_foreground} !important;
|
||||
--adw-headerbar-border-rgb: ${rgb_bright_black} !important;
|
||||
--adw-headerbar-backdrop-rgb: ${rgb_normal_black} !important;
|
||||
--adw-headerbar-shade-rgb: 0, 0, 0 !important;
|
||||
--adw-headerbar-shade-a: 0.36 !important;
|
||||
--adw-headerbar-darker-shade-rgb: 0, 0, 0 !important;
|
||||
--adw-headerbar-darker-shade-a: 0.9 !important;
|
||||
|
||||
/* Split pane views */
|
||||
--adw-sidebar-bg-rgb: ${rgb_primary_background} !important;
|
||||
--adw-sidebar-fg-rgb: ${rgb_primary_foreground} !important;
|
||||
--adw-sidebar-backdrop-rgb: ${rgb_bright_black} !important;
|
||||
--adw-sidebar-shade-rgb: 0, 0, 0 !important;
|
||||
--adw-sidebar-shade-a: 0.36 !important;
|
||||
--adw-secondary-sidebar-bg-rgb: ${rgb_primary_background} !important;
|
||||
--adw-secondary-sidebar-fg-rgb: ${rgb_primary_foreground} !important;
|
||||
--adw-secondary-sidebar-backdrop-rgb: ${rgb_bright_black} !important;
|
||||
--adw-secondary-sidebar-shade-rgb: 0, 0, 0 !important;
|
||||
--adw-secondary-sidebar-shade-a: 0.36 !important;
|
||||
|
||||
/* Cards, boxed lists */
|
||||
--adw-card-bg-rgb: 255, 255, 255 !important;
|
||||
--adw-card-bg-a: 0.08 !important;
|
||||
--adw-card-fg-rgb: 255, 255, 255 !important;
|
||||
--adw-card-shade-rgb: 0, 0, 0 !important;
|
||||
--adw-card-shade-a: 0.36 !important;
|
||||
|
||||
/* Dialogs */
|
||||
--adw-dialog-bg-rgb: ${rgb_primary_background} !important;
|
||||
--adw-dialog-fg-rgb: ${rgb_primary_foreground} !important;
|
||||
|
||||
/* Popovers */
|
||||
--adw-popover-bg-rgb: ${rgb_primary_background} !important;
|
||||
--adw-popover-fg-rgb: ${rgb_primary_foreground} !important;
|
||||
--adw-popover-shade-rgb: 0, 0, 0 !important;
|
||||
--adw-popover-shade-a: 0.36 !important;
|
||||
|
||||
/* Thumbnails */
|
||||
--adw-thumbnail-bg-rgb: ${rgb_primary_background} !important;
|
||||
|
||||
/* Miscellaneous */
|
||||
--adw-shade-rgb: 0, 0, 0 !important;
|
||||
--adw-shade-a: 0.36 !important;
|
||||
}
|
||||
EOF
|
||||
|
||||
adwaita_location=$HOME/.local/share/steam-adwaita
|
||||
font_path=$(fc-list $(omarchy-font-current) file | grep -ioP '.*\.ttf' | head -n 1)
|
||||
|
||||
install_steam_theme() {
|
||||
if [[ ! -d "$adwaita_location" ]]; then
|
||||
git clone https://github.com/tkashkin/Adwaita-for-Steam $adwaita_location > /dev/null 2>&1
|
||||
fi
|
||||
}
|
||||
modify_steam_theme() {
|
||||
if [[ ! -d "$adwaita_location/adwaita/colorthemes/omarchy" ]]; then
|
||||
mkdir $adwaita_location/adwaita/colorthemes/omarchy/
|
||||
fi
|
||||
}
|
||||
modify_install_script() {
|
||||
if ! grep -q "omarchy" "$adwaita_location/install.py"; then
|
||||
sed -i.bak 's/\("cantarell"\)/\1, "omarchy"/' $adwaita_location/install.py
|
||||
fi
|
||||
}
|
||||
|
||||
install_steam_theme
|
||||
modify_steam_theme
|
||||
modify_install_script
|
||||
|
||||
if [[ ! -d $adwaita_location ]]; then
|
||||
warning "Steam theme installation failed!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cp -p -f "$output_file" "$adwaita_location/adwaita/colorthemes/omarchy/omarchy.css"
|
||||
|
||||
cd $adwaita_location && ./install.py \
|
||||
--color-theme omarchy \
|
||||
--extras library/hide_whats_new > /dev/null 2>&1
|
||||
|
||||
require_restart "steam"
|
||||
success "Steam theme updated!"
|
||||
exit 0
|
||||
314
config/omarchy/hooks/theme-set.d/40-zen.sh
Executable file
314
config/omarchy/hooks/theme-set.d/40-zen.sh
Executable file
|
|
@ -0,0 +1,314 @@
|
|||
#!/bin/bash
|
||||
|
||||
output_file="$HOME/.config/omarchy/current/theme/zen.css"
|
||||
|
||||
if ! command -v zen-browser >/dev/null 2>&1; then
|
||||
skipped "Zen Browser"
|
||||
fi
|
||||
|
||||
find_default_profile() {
|
||||
awk -F= '
|
||||
/^\[Install/ { in_install=1 }
|
||||
in_install && /^Default=/ { print $2; exit }
|
||||
' "$HOME/.zen/profiles.ini"
|
||||
}
|
||||
default_profile="$HOME/.zen/$(find_default_profile)"
|
||||
|
||||
echo $default_profile
|
||||
|
||||
enable_userchrome() {
|
||||
local prefs_file="$default_profile/prefs.js"
|
||||
local pref_name="toolkit.legacyUserProfileCustomizations.stylesheets"
|
||||
if grep -q "user_pref(\"$pref_name\"" "$prefs_file"; then
|
||||
if grep -q "user_pref(\"$pref_name\", false)" "$prefs_file"; then
|
||||
sed -i.bak "s/user_pref(\"$pref_name\", false);/user_pref(\"$pref_name\", true);/" "$prefs_file"
|
||||
fi
|
||||
else
|
||||
echo "user_pref(\"$pref_name\", true);" >> "$prefs_file"
|
||||
fi
|
||||
}
|
||||
enable_userchrome
|
||||
|
||||
mkdir -p "$default_profile/chrome"
|
||||
|
||||
cat > "$output_file" << EOF
|
||||
:root {
|
||||
--color00: #${primary_background};
|
||||
--color01: #${primary_background};
|
||||
--color02: #${primary_background};
|
||||
--color03: #${normal_white};
|
||||
--color04: #${bright_white};
|
||||
--color05: #${primary_foreground};
|
||||
--color06: #${bright_white};
|
||||
--color07: #${bright_white};
|
||||
--color08: #${normal_red};
|
||||
--color09: #${normal_yellow};
|
||||
--color0A: #${bright_yellow};
|
||||
--color0B: #${normal_green};
|
||||
--color0C: #${normal_cyan};
|
||||
--color0D: #${normal_blue};
|
||||
--color0E: #${normal_magenta};
|
||||
--color0F: #${bright_red};
|
||||
}
|
||||
EOF
|
||||
cp "$output_file" "$default_profile/chrome/colors.css"
|
||||
|
||||
if [[ ! -f "$default_profile/chrome/userChrome.css" ]]; then
|
||||
cat > "$default_profile/chrome/userChrome.css" << EOF
|
||||
@import url("./colors.css");
|
||||
|
||||
:root {
|
||||
--base00: var(--color00);
|
||||
--base01: color-mix(in srgb, var(--color00) 98%, white);
|
||||
--base02: color-mix(in srgb, var(--color00) 94%, white);
|
||||
--base03: var(--color03);
|
||||
--base04: var(--color04);
|
||||
--base05: var(--color05);
|
||||
--base06: var(--color06);
|
||||
--base07: var(--color07);
|
||||
--base08: var(--color08);
|
||||
--base09: var(--color09);
|
||||
--base0A: var(--color0A);
|
||||
--base0B: var(--color0B);
|
||||
--base0C: var(--color0C);
|
||||
--base0D: var(--color0D);
|
||||
--base0E: var(--color0E);
|
||||
--base0F: var(--color0F);
|
||||
}
|
||||
|
||||
:root {
|
||||
--panel-separator-zap-gradient: linear-gradient(
|
||||
90deg,
|
||||
var(--base0E) 0%,
|
||||
var(--base0F) 52.08%,
|
||||
var(--base0A) 100%
|
||||
) !important;
|
||||
--toolbarbutton-border-radius: 6px !important;
|
||||
--toolbarbutton-icon-fill: var(--base04) !important;
|
||||
--urlbarView-separator-color: var(--base01) !important;
|
||||
--urlbar-box-bgcolor: var(--base01) !important;
|
||||
}
|
||||
|
||||
/* Tabs colors */
|
||||
#tabbrowser-tabs:not([movingtab])
|
||||
> #tabbrowser-arrowscrollbox
|
||||
> .tabbrowser-tab
|
||||
> .tab-stack
|
||||
> .tab-background[multiselected="true"],
|
||||
#tabbrowser-tabs:not([movingtab])
|
||||
> #tabbrowser-arrowscrollbox
|
||||
> .tabbrowser-tab
|
||||
> .tab-stack
|
||||
> .tab-background[selected="true"] {
|
||||
background-image: none !important;
|
||||
background-color: var(--toolbar-bgcolor) !important;
|
||||
}
|
||||
|
||||
/* Inactive tabs color */
|
||||
#navigator-toolbox {
|
||||
background-color: var(--base00) !important;
|
||||
}
|
||||
|
||||
/* Window colors */
|
||||
:root {
|
||||
--toolbar-bgcolor: var(--base01) !important;
|
||||
--tabs-border-color: var(--base01) !important;
|
||||
--lwt-sidebar-background-color: var(--base00) !important;
|
||||
--lwt-toolbar-field-focus: var(--base01) !important;
|
||||
}
|
||||
|
||||
/* Sidebar color */
|
||||
#sidebar-box,
|
||||
.sidebar-placesTree {
|
||||
background-color: var(--base00) !important;
|
||||
}
|
||||
|
||||
.tab-background {
|
||||
border-radius: 6px !important;
|
||||
border: 0px solid rgba(0, 0, 0, 0) !important;
|
||||
}
|
||||
.tab-background[selected] {
|
||||
background-color: var(--base02) !important;
|
||||
}
|
||||
|
||||
#tabbrowser-tabs {
|
||||
margin-left: 1px;
|
||||
margin-top: 3px;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
.tabbrowser-tab[last-visible-tab="true"] {
|
||||
border: 0px solid rgba(0, 0, 0, 0) !important;
|
||||
}
|
||||
|
||||
toolbarbutton {
|
||||
border-radius: 6px !important;
|
||||
}
|
||||
|
||||
/* Url Bar */
|
||||
#urlbar-input {
|
||||
accent-color: var(--base0D) !important;
|
||||
}
|
||||
#urlbar-input-container {
|
||||
background-color: var(--base01) !important;
|
||||
border: 0px solid rgba(0, 0, 0, 0) !important;
|
||||
}
|
||||
|
||||
#urlbar[focused="true"] > #urlbar-background {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
#urlbar-background {
|
||||
border-radius: 6px !important;
|
||||
}
|
||||
|
||||
#navigator-toolbox {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.urlbarView-url {
|
||||
color: var(--base05) !important;
|
||||
}
|
||||
|
||||
#star-button {
|
||||
--toolbarbutton-icon-fill-attention: var(--base0D) !important;
|
||||
}
|
||||
|
||||
#vertical-tabs.customization-target {
|
||||
background-color: var(--base00) !important;
|
||||
}
|
||||
splitter#sidebar-tools-and-extensions-splitter {
|
||||
display: none !important;
|
||||
}
|
||||
.tools-and-extensions[aria-orientation="vertical"] {
|
||||
background-color: var(--base00) !important;
|
||||
}
|
||||
.tools-and-extensions.actions-list {
|
||||
background-color: var(--base00) !important;
|
||||
}
|
||||
#identity-box,
|
||||
#trust-icon-container,
|
||||
#tracking-protection-icon-container {
|
||||
fill: var(--base04) !important;
|
||||
}
|
||||
|
||||
.logo-and-wordmark {
|
||||
display: none !important;
|
||||
}
|
||||
.search-inner-wrapper {
|
||||
margin-top: 10% !important;
|
||||
}
|
||||
|
||||
.urlbar-input::placeholder,
|
||||
.searchbar-textbox::placeholder {
|
||||
opacity: 1;
|
||||
color: var(--base03) !important;
|
||||
}
|
||||
|
||||
.urlbar-input {
|
||||
color: var(--base05) !important;
|
||||
}
|
||||
|
||||
:root {
|
||||
--arrowpanel-background: var(--base01) !important;
|
||||
--arrowpanel-border-color: var(--base00) !important;
|
||||
--color-accent-primary-active: var(--base0D) !important;
|
||||
--color-accent-primary-hover: var(--base0D) !important;
|
||||
--color-accent-primary: var(--base0D) !important;
|
||||
--focus-outline-color: var(--base00) !important;
|
||||
--icon-color-critical: var(--base08) !important;
|
||||
--icon-color-information: var(--base0D) !important;
|
||||
--icon-color-success: var(--base0B) !important;
|
||||
--icon-color-warning: var(--base0A) !important;
|
||||
--outline-color-error: var(--base08) !important;
|
||||
--tab-block-margin: 0 !important;
|
||||
--tab-border-radius: 0 !important;
|
||||
--text-color-error: var(--base08) !important;
|
||||
--toolbar-field-border-color: var(--base00) !important;
|
||||
--toolbar-field-focus-background-color: var(--base02) !important;
|
||||
--toolbar-field-focus-border-color: var(--base00) !important;
|
||||
--toolbarbutton-border-radius: 6px !important;
|
||||
--in-content-page-background: var(--base01) !important;
|
||||
--input-text-background-color: var(--base02) !important;
|
||||
--zen-main-browser-background: var(--base00) !important;
|
||||
}
|
||||
EOF
|
||||
fi
|
||||
|
||||
if [[ ! -f "$default_profile/chrome/userContent.css" ]]; then
|
||||
cat > "$default_profile/chrome/userContent.css" <<EOF
|
||||
@import url("./colors.css");
|
||||
|
||||
:root {
|
||||
--base00: var(--color00);
|
||||
--base01: color-mix(in srgb, var(--color00) 98%, white);
|
||||
--base02: color-mix(in srgb, var(--color00) 94%, white);
|
||||
--base03: var(--color03);
|
||||
--base04: var(--color04);
|
||||
--base05: var(--color05);
|
||||
--base06: var(--color06);
|
||||
--base07: var(--color07);
|
||||
--base08: var(--color08);
|
||||
--base09: var(--color09);
|
||||
--base0A: var(--color0A);
|
||||
--base0B: var(--color0B);
|
||||
--base0C: var(--color0C);
|
||||
--base0D: var(--color0D);
|
||||
--base0E: var(--color0E);
|
||||
--base0F: var(--color0F);
|
||||
}
|
||||
|
||||
:root {
|
||||
--color-accent-primary-active: var(--base0D) !important;
|
||||
--color-accent-primary-hover: var(--base0D) !important;
|
||||
--color-accent-primary: var(--base0D) !important;
|
||||
--focus-outline-color: var(--base00) !important;
|
||||
--icon-color-critical: var(--base08) !important;
|
||||
--icon-color-information: var(--base0D) !important;
|
||||
--icon-color-success: var(--base0B) !important;
|
||||
--icon-color-warning: var(--base0A) !important;
|
||||
--in-content-page-background: var(--base00) !important;
|
||||
--input-text-background-color: var(--base02) !important;
|
||||
--newtab-background-color-secondary: var(--base02) !important;
|
||||
--newtab-background-color: var(--base01) !important;
|
||||
--newtab-text-primary-color: var(--base05) !important;
|
||||
--newtab-text-secondary-text: var(--base04) !important;
|
||||
--newtab-wallpaper-color: var(--base01) !important;
|
||||
--outline-color-error: var(--base08) !important;
|
||||
--tab-block-margin: 0 !important;
|
||||
--tab-border-radius: 0 !important;
|
||||
--text-color-error: var(--base08) !important;
|
||||
--toolbar-field-border-color: var(--base00) !important;
|
||||
--toolbar-field-border-color: var(--base01) !important;
|
||||
--toolbar-field-focus-background-color: var(--base02) !important;
|
||||
--toolbar-field-focus-border-color: var(--base01) !important;
|
||||
--toolbarbutton-border-radius: 6px !important;
|
||||
--zen-main-browser-background: var(--base00) !important;
|
||||
}
|
||||
|
||||
body {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.logo-and-wordmark {
|
||||
display: none !important;
|
||||
}
|
||||
.search-inner-wrapper {
|
||||
margin-top: 10% !important;
|
||||
}
|
||||
EOF
|
||||
fi
|
||||
|
||||
if pgrep -x "zen-browser" > /dev/null; then
|
||||
pkill -x "zen-browser" > /dev/null
|
||||
sleep 2
|
||||
if pgrep -x "zen-browser" > /dev/null; then
|
||||
pkill -9 -x "zen-browser" > /dev/null
|
||||
sleep 1
|
||||
fi
|
||||
zen-browser > /dev/null &
|
||||
fi
|
||||
|
||||
require_restart "zen-browser"
|
||||
success "Zen Browser theme updated!"
|
||||
exit 0
|
||||
56
config/omarchy/hooks/theme-set.d/50-heroic.sh
Executable file
56
config/omarchy/hooks/theme-set.d/50-heroic.sh
Executable file
|
|
@ -0,0 +1,56 @@
|
|||
#!/bin/bash
|
||||
|
||||
output_file="$HOME/.config/omarchy/current/theme/heroic.css"
|
||||
|
||||
if ! command -v heroic >/dev/null 2>&1; then
|
||||
skipped "Heroic Launcher"
|
||||
fi
|
||||
|
||||
if [[ ! -f "$output_file" ]]; then
|
||||
cat > "$output_file" << EOF
|
||||
body.heroic {
|
||||
--background: #${primary_background};
|
||||
--background-darker: #$(change_shade $primary_background -5);
|
||||
--background-secondary: #$(change_shade $primary_background 5);
|
||||
--background-lighter: #$(change_shade $primary_background 10);
|
||||
--accent: #${normal_blue};
|
||||
--text-default: #${primary_foreground};
|
||||
--navbar-accent: #${normal_blue};
|
||||
--navbar-active-background: #${bright_black};
|
||||
--success: #${normal_green};
|
||||
--success-hover: #${bright_green};
|
||||
--primary: #${normal_blue};
|
||||
--primary-hover: #${bright_blue};
|
||||
--danger: #${normal_red};
|
||||
--danger-hover: #${bright_red};
|
||||
--anticheat-supported: #${normal_green};
|
||||
--anticheat-planned: #${normal_cyan};
|
||||
--icon-disabled: #${bright_red};
|
||||
--cancel-button: #${normal_red};
|
||||
--anticheat-broken: #${normal_red};
|
||||
|
||||
--accent-overlay: var(--accent);
|
||||
--navbar-background: var(--background);
|
||||
--body-background: var(--background-darker);
|
||||
--current-background: var(--body-background);
|
||||
--text-secondary: var(--text-default);
|
||||
--text-tertiary: var(--background);
|
||||
--navbar-active: var(--accent);
|
||||
--input-background: var(--background);
|
||||
--modal-background: var(--body-background);
|
||||
--modal-border: var(--body-background);
|
||||
--anticheat-denied: var(--danger);
|
||||
--anticheat-running: var(--text-default);
|
||||
--text-title: var(--text-default);
|
||||
--icons-background: var(--background-lighter);
|
||||
--action-icon: var(--navbar-accent);
|
||||
--action-icon-hover: var(--text-default);
|
||||
--action-icon-active: var(--accent);
|
||||
--neutral-06: var(--text-default);
|
||||
}
|
||||
EOF
|
||||
fi
|
||||
|
||||
require_restart "heroic"
|
||||
success "Heroic theme updated!"
|
||||
exit 0
|
||||
Loading…
Add table
Add a link
Reference in a new issue