From 9ffa1f2d45ffb68b200454ed213cb9cc507802dc Mon Sep 17 00:00:00 2001 From: Nicole Date: Sun, 12 Apr 2026 11:58:16 +0200 Subject: [PATCH] Theming overhaul --- .bashrc | 5 +- .config/home-manager/flake.lock | 130 +- .config/home-manager/home.nix | 2 +- .config/home-manager/theme.nix | 71 +- .config/kando/SingletonCookie | 2 +- .config/kando/SingletonLock | 2 +- .config/kando/SingletonSocket | 2 +- .config/kando/menus.json | 444 +- .config/kando/session/DIPS | Bin 36864 -> 36864 bytes .config/kando/session/DIPS-wal | Bin 57712 -> 4120032 bytes .../kando/session/DawnGraphiteCache/data_1 | Bin 270336 -> 270336 bytes .config/kando/session/DawnGraphiteCache/index | Bin 262512 -> 262512 bytes .config/kando/session/DawnWebGPUCache/data_1 | Bin 270336 -> 270336 bytes .config/kando/session/DawnWebGPUCache/index | Bin 262512 -> 262512 bytes .config/kando/session/GPUCache/data_0 | Bin 45056 -> 45056 bytes .config/kando/session/GPUCache/data_1 | Bin 532480 -> 532480 bytes .config/kando/session/GPUCache/data_2 | Bin 1056768 -> 1056768 bytes .config/kando/session/GPUCache/index | Bin 262512 -> 262512 bytes .../session/Local Storage/leveldb/000003.log | Bin 152 -> 760 bytes .../kando/session/Local Storage/leveldb/LOG | 6 +- .../session/Local Storage/leveldb/LOG.old | 6 +- .../kando/session/Network Persistent State | 2 +- .config/kando/session/Preferences | 2 +- .../kando/session/Session Storage/000003.log | Bin 726 -> 954 bytes .config/kando/session/Session Storage/LOG | 6 +- .config/kando/session/Session Storage/LOG.old | 6 +- .config/kitty/kitty.conf | 6 +- .config/matugen/config.toml | 43 + .config/matugen/papirus-folders.sh | 42 + .config/matugen/templates/Matugen.colors | 150 + .config/matugen/templates/alacritty.toml | 68 + .config/matugen/templates/btop.theme | 89 + .config/matugen/templates/cava-colors.ini | 19 + .config/matugen/templates/clipse_theme.json | 28 + .config/matugen/templates/colors.css | 7 + .../matugen/templates/cosmic_postprocess.py | 28 + .config/matugen/templates/cosmic_theme.ron | 259 + .config/matugen/templates/dunstrc-colors | 75 + .config/matugen/templates/firefox-colors.css | 9 + .config/matugen/templates/fuzzel.ini | 15 + .config/matugen/templates/ghostty | 22 + .config/matugen/templates/gtk-colors.css | 23 + .config/matugen/templates/helix.toml | 128 + .config/matugen/templates/heroic.css | 51 + .../matugen/templates/hyprland-colors.conf | 4 + .config/matugen/templates/kitty-colors.conf | 49 + .../matugen/templates/kvantum-colors.kvconfig | 567 ++ .config/matugen/templates/kvantum-colors.svg | 6736 +++++++++++++++++ .config/matugen/templates/labwc | 21 + .config/matugen/templates/mako | 16 + .config/matugen/templates/mango.conf | 15 + .config/matugen/templates/matugen.obt | 2476 ++++++ .config/matugen/templates/mcfly.toml | 28 + .config/matugen/templates/micro.micro | 45 + .../matugen/templates/midnight-discord.css | 100 + .config/matugen/templates/neovim/README.md | 153 + .config/matugen/templates/neovim/init.lua | 42 + .config/matugen/templates/neovim/template.lua | 64 + .config/matugen/templates/niri-colors.kdl | 28 + .config/matugen/templates/nvim-colors.vim | 20 + .config/matugen/templates/obsidian.css | 140 + .../matugen/templates/opencode-colors.json | 222 + .config/matugen/templates/papirus-trigger | 1 + .config/matugen/templates/prismlauncher.json | 21 + .../matugen/templates/pywalfox-colors.json | 22 + .config/matugen/templates/qtct-colors.conf | 5 + .config/matugen/templates/quickshell.json | 11 + .config/matugen/templates/quickshell.qml | 7 + .../templates/rmpc/nix-hm-example/README.md | 38 + .../rmpc/nix-hm-example/matugen/default.nix | 40 + .../nix-hm-example/matugen/templates/cava.ini | 17 + .../nix-hm-example/matugen/templates/rmpc.ron | 207 + .config/matugen/templates/rmpc/rmpc.ron | 207 + .config/matugen/templates/rofi-colors.rasi | 47 + .config/matugen/templates/spicetify.ini | 25 + .../matugen/templates/starship-colors.toml | 46 + .config/matugen/templates/steam.css | 30 + .config/matugen/templates/sway-colors.conf | 13 + .../templates/telegram-background-solid.svg | 1 + .../matugen/templates/telegram.tdesktop-theme | 606 ++ .config/matugen/templates/television.toml | 19 + .config/matugen/templates/terminal-sequences | 26 + .../templates/thunderbird-userChrome.css | 22 + .config/matugen/templates/tmux-colors.conf | 18 + .config/matugen/templates/vivaldi.css | 67 + .config/matugen/templates/wezterm_theme.toml | 32 + .config/matugen/templates/windows_term.json | 23 + .../matugen/templates/windows_term_post.ps1 | 10 + .config/matugen/templates/wine.reg | 49 + .config/matugen/templates/yazi-theme.toml | 921 +++ .config/matugen/templates/zathura-colors | 92 + .config/matugen/templates/zed-colors.json | 591 ++ .config/niri/config.kdl | 27 +- .config/solaar/config.yaml | 20 +- 94 files changed, 15152 insertions(+), 583 deletions(-) mode change 120000 => 100644 .config/kitty/kitty.conf create mode 100644 .config/matugen/config.toml create mode 100755 .config/matugen/papirus-folders.sh create mode 100644 .config/matugen/templates/Matugen.colors create mode 100644 .config/matugen/templates/alacritty.toml create mode 100644 .config/matugen/templates/btop.theme create mode 100644 .config/matugen/templates/cava-colors.ini create mode 100644 .config/matugen/templates/clipse_theme.json create mode 100644 .config/matugen/templates/colors.css create mode 100755 .config/matugen/templates/cosmic_postprocess.py create mode 100644 .config/matugen/templates/cosmic_theme.ron create mode 100644 .config/matugen/templates/dunstrc-colors create mode 100644 .config/matugen/templates/firefox-colors.css create mode 100644 .config/matugen/templates/fuzzel.ini create mode 100644 .config/matugen/templates/ghostty create mode 100644 .config/matugen/templates/gtk-colors.css create mode 100644 .config/matugen/templates/helix.toml create mode 100644 .config/matugen/templates/heroic.css create mode 100644 .config/matugen/templates/hyprland-colors.conf create mode 100644 .config/matugen/templates/kitty-colors.conf create mode 100644 .config/matugen/templates/kvantum-colors.kvconfig create mode 100644 .config/matugen/templates/kvantum-colors.svg create mode 100644 .config/matugen/templates/labwc create mode 100644 .config/matugen/templates/mako create mode 100644 .config/matugen/templates/mango.conf create mode 100644 .config/matugen/templates/matugen.obt create mode 100644 .config/matugen/templates/mcfly.toml create mode 100644 .config/matugen/templates/micro.micro create mode 100644 .config/matugen/templates/midnight-discord.css create mode 100644 .config/matugen/templates/neovim/README.md create mode 100644 .config/matugen/templates/neovim/init.lua create mode 100644 .config/matugen/templates/neovim/template.lua create mode 100644 .config/matugen/templates/niri-colors.kdl create mode 100644 .config/matugen/templates/nvim-colors.vim create mode 100644 .config/matugen/templates/obsidian.css create mode 100644 .config/matugen/templates/opencode-colors.json create mode 100644 .config/matugen/templates/papirus-trigger create mode 100644 .config/matugen/templates/prismlauncher.json create mode 100644 .config/matugen/templates/pywalfox-colors.json create mode 100644 .config/matugen/templates/qtct-colors.conf create mode 100644 .config/matugen/templates/quickshell.json create mode 100644 .config/matugen/templates/quickshell.qml create mode 100644 .config/matugen/templates/rmpc/nix-hm-example/README.md create mode 100644 .config/matugen/templates/rmpc/nix-hm-example/matugen/default.nix create mode 100644 .config/matugen/templates/rmpc/nix-hm-example/matugen/templates/cava.ini create mode 100644 .config/matugen/templates/rmpc/nix-hm-example/matugen/templates/rmpc.ron create mode 100644 .config/matugen/templates/rmpc/rmpc.ron create mode 100644 .config/matugen/templates/rofi-colors.rasi create mode 100644 .config/matugen/templates/spicetify.ini create mode 100644 .config/matugen/templates/starship-colors.toml create mode 100644 .config/matugen/templates/steam.css create mode 100644 .config/matugen/templates/sway-colors.conf create mode 100644 .config/matugen/templates/telegram-background-solid.svg create mode 100644 .config/matugen/templates/telegram.tdesktop-theme create mode 100644 .config/matugen/templates/television.toml create mode 100644 .config/matugen/templates/terminal-sequences create mode 100644 .config/matugen/templates/thunderbird-userChrome.css create mode 100644 .config/matugen/templates/tmux-colors.conf create mode 100644 .config/matugen/templates/vivaldi.css create mode 100644 .config/matugen/templates/wezterm_theme.toml create mode 100644 .config/matugen/templates/windows_term.json create mode 100644 .config/matugen/templates/windows_term_post.ps1 create mode 100644 .config/matugen/templates/wine.reg create mode 100644 .config/matugen/templates/yazi-theme.toml create mode 100644 .config/matugen/templates/zathura-colors create mode 100644 .config/matugen/templates/zed-colors.json diff --git a/.bashrc b/.bashrc index ffd7a55..649ee85 100644 --- a/.bashrc +++ b/.bashrc @@ -15,8 +15,11 @@ bind '"\e[B": history-search-forward' bind '"\eOA": history-search-backward' bind '"\eOB": history-search-forward' -fastfetch --config ascii-art +# fastfetch --config ascii-art # uv export PATH="/home/nicole/.local/bin:$PATH" alias kimi='kimi --mcp-config-file /home/nicole/.config/kimi/mcp.json' + +# sudo alias with user envs +alias sudonvim='sudo -E nvim' diff --git a/.config/home-manager/flake.lock b/.config/home-manager/flake.lock index ffb7ff0..c52d141 100644 --- a/.config/home-manager/flake.lock +++ b/.config/home-manager/flake.lock @@ -76,11 +76,11 @@ "quickshell": "quickshell" }, "locked": { - "lastModified": 1770223001, - "narHash": "sha256-9VFJof+LHB74dC0ZHEhsQf4TTFECQm2hNbR3PC6xrjk=", + "lastModified": 1775513957, + "narHash": "sha256-02RnaVim/pEX+JNY4dhbRklEL48f7l+PWziJ3Jy8OfY=", "owner": "AvengeMedia", "repo": "DankMaterialShell", - "rev": "fe156679866fd5633a2c2a70c765410c22ee356a", + "rev": "3194fc3fbef21ab9d0157de20800b2c01337bb38", "type": "github" }, "original": { @@ -96,11 +96,11 @@ ] }, "locked": { - "lastModified": 1769696720, - "narHash": "sha256-CxTvTx7WYKj9usa1uZDUmCqS9+W0QoIeTGDlkhHLVho=", + "lastModified": 1771868032, + "narHash": "sha256-l8+LOd+QJuapv/21+juetZeedrlYY1QNXwcI27ACgiI=", "owner": "AvengeMedia", "repo": "dgop", - "rev": "3f96465aacac7f4f304bacf154f57fc0077ad26d", + "rev": "361b4f7041cd27381ee3eeb36774faf10747e0c3", "type": "github" }, "original": { @@ -112,11 +112,11 @@ "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1764873433, - "narHash": "sha256-1XPewtGMi+9wN9Ispoluxunw/RwozuTRVuuQOmxzt+A=", + "lastModified": 1775176642, + "narHash": "sha256-2veEED0Fg7Fsh81tvVDNYR6SzjqQxa7hbi18Jv4LWpM=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "f7ffd917ac0d253dbd6a3bf3da06888f57c69f92", + "rev": "179704030c5286c729b5b0522037d1d51341022c", "type": "github" }, "original": { @@ -133,11 +133,11 @@ ] }, "locked": { - "lastModified": 1767609335, - "narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=", + "lastModified": 1775087534, + "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "250481aafeb741edfe23d29195671c19b36b6dca", + "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b", "type": "github" }, "original": { @@ -165,20 +165,18 @@ "gnome-shell": { "flake": false, "locked": { - "host": "gitlab.gnome.org", "lastModified": 1767737596, "narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=", "owner": "GNOME", "repo": "gnome-shell", "rev": "ef02db02bf0ff342734d525b5767814770d85b49", - "type": "gitlab" + "type": "github" }, "original": { - "host": "gitlab.gnome.org", "owner": "GNOME", - "ref": "gnome-49", "repo": "gnome-shell", - "type": "gitlab" + "rev": "ef02db02bf0ff342734d525b5767814770d85b49", + "type": "github" } }, "home-manager": { @@ -188,11 +186,11 @@ ] }, "locked": { - "lastModified": 1770164260, - "narHash": "sha256-mQgOAYWlVJyuyXjZN6yxqXWyODvQI5P/UZUCU7IOuYo=", + "lastModified": 1775544097, + "narHash": "sha256-fwI8PbrUT4W+z+J4TAS/D69So/MLan1WZjUsYQpoSvI=", "owner": "nix-community", "repo": "home-manager", - "rev": "4fda26500b4539e0a1e3afba9f0e1616bdad4f85", + "rev": "2bd16b16a77d68a1e14c1b4da725a6590181a706", "type": "github" }, "original": { @@ -213,11 +211,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1770169657, - "narHash": "sha256-wiWbmO2xUoqh5DuSBYVLGOICo9AOcYq9mNPsvCtL7SM=", + "lastModified": 1775526208, + "narHash": "sha256-Z0hOXe2Ddq/zKSuJKyAhKsk2b0WfC4Lgs4118Y8CUD4=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "4c962a3fd37ef268337ed113cbffabfd1fe3ca5c", + "rev": "1bd103a028626e596271fa2111b6b6c81a870f31", "type": "github" }, "original": { @@ -246,11 +244,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1770092965, - "narHash": "sha256-++K1ftjwPqMJzIO8t2GsdkYQzC2LLA5A1w21Uo+SLz4=", + "lastModified": 1775389417, + "narHash": "sha256-6hFJBpP31H97upBDHJVPsm++io+9pjgApbXfxD0dCFo=", "owner": "YaLTeR", "repo": "niri", - "rev": "189917c93329c86ac2ddd89f459c26a028d590ba", + "rev": "d1a0380eed224363749f1704ca3ff2ab1690b7f2", "type": "github" }, "original": { @@ -261,11 +259,11 @@ }, "nix-monitor": { "locked": { - "lastModified": 1766244099, - "narHash": "sha256-PotQG3LnS8LsOnsHtyS5MFBw0qbRvr3886+3nzxL6R4=", + "lastModified": 1771568669, + "narHash": "sha256-lTbQ13lQ3ZPNkdnFmxAMGf1Gjx//80lDDlcJR8msREI=", "owner": "antonjah", "repo": "nix-monitor", - "rev": "bd941a0e71b8f7763b45c22281a44ff554f82666", + "rev": "ef3db9d5a525ddf41355e8c456b40d56480a6626", "type": "github" }, "original": { @@ -276,11 +274,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1770115704, - "narHash": "sha256-KHFT9UWOF2yRPlAnSXQJh6uVcgNcWlFqqiAZ7OVlHNc=", + "lastModified": 1775423009, + "narHash": "sha256-vPKLpjhIVWdDrfiUM8atW6YkIggCEKdSAlJPzzhkQlw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e6eae2ee2110f3d31110d5c222cd395303343b08", + "rev": "68d8aa3d661f0e6bd5862291b5bb263b2a6595c9", "type": "github" }, "original": { @@ -292,11 +290,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1770136044, - "narHash": "sha256-tlFqNG/uzz2++aAmn4v8J0vAkV3z7XngeIIB3rM3650=", + "lastModified": 1775305101, + "narHash": "sha256-/74n1oQPtKG52Yw41cbToxspxHbYz6O3vi+XEw16Qe8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e576e3c9cf9bad747afcddd9e34f51d18c855b4e", + "rev": "36a601196c4ebf49e035270e10b2d103fe39076b", "type": "github" }, "original": { @@ -318,11 +316,11 @@ ] }, "locked": { - "lastModified": 1767810917, - "narHash": "sha256-ZKqhk772+v/bujjhla9VABwcvz+hB2IaRyeLT6CFnT0=", + "lastModified": 1775228139, + "narHash": "sha256-ebbeHmg+V7w8050bwQOuhmQHoLOEOfqKzM1KgCTexK4=", "owner": "nix-community", "repo": "NUR", - "rev": "dead29c804adc928d3a69dfe7f9f12d0eec1f1a4", + "rev": "601971b9c89e0304561977f2c28fa25e73aa7132", "type": "github" }, "original": { @@ -360,11 +358,11 @@ ] }, "locked": { - "lastModified": 1769593411, - "narHash": "sha256-WW00FaBiUmQyxvSbefvgxIjwf/WmRrEGBbwMHvW/7uQ=", + "lastModified": 1775461526, + "narHash": "sha256-pRQ1g7YpFrYBB8B6QUSKb3ttGzcQs3Guu8GwDuuSBt0=", "ref": "refs/heads/master", - "rev": "1e4d804e7f3fa7465811030e8da2bf10d544426a", - "revCount": 732, + "rev": "7c5a6c4bd4be1f258aa47626cf5cde02215adad2", + "revCount": 796, "type": "git", "url": "https://git.outfoxxed.me/outfoxxed/quickshell" }, @@ -399,18 +397,17 @@ ], "nur": "nur", "systems": "systems", - "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", "tinted-tmux": "tinted-tmux", "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1769978605, - "narHash": "sha256-Vjniae6HHJCb9xZLeUOP15aRQXSZuKeeaZFM+gRDCgo=", + "lastModified": 1775429060, + "narHash": "sha256-wbFF5cRxQOCzL/wHOKYm21t5AHPH2Lfp0mVPCOAvEoc=", "owner": "danth", "repo": "stylix", - "rev": "ce22070ec5ce6169a6841da31baea33ce930ed38", + "rev": "d27951a6539951d87f75cf0a7cda8a3a24016019", "type": "github" }, "original": { @@ -434,23 +431,6 @@ "type": "github" } }, - "tinted-foot": { - "flake": false, - "locked": { - "lastModified": 1726913040, - "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", - "owner": "tinted-theming", - "repo": "tinted-foot", - "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-foot", - "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", - "type": "github" - } - }, "tinted-kitty": { "flake": false, "locked": { @@ -470,11 +450,11 @@ "tinted-schemes": { "flake": false, "locked": { - "lastModified": 1767710407, - "narHash": "sha256-+W1EB79Jl0/gm4JqmO0Nuc5C7hRdp4vfsV/VdzI+des=", + "lastModified": 1772661346, + "narHash": "sha256-4eu3LqB9tPqe0Vaqxd4wkZiBbthLbpb7llcoE/p5HT0=", "owner": "tinted-theming", "repo": "schemes", - "rev": "2800e2b8ac90f678d7e4acebe4fa253f602e05b2", + "rev": "13b5b0c299982bb361039601e2d72587d6846294", "type": "github" }, "original": { @@ -486,11 +466,11 @@ "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1767489635, - "narHash": "sha256-e6nnFnWXKBCJjCv4QG4bbcouJ6y3yeT70V9MofL32lU=", + "lastModified": 1772934010, + "narHash": "sha256-x+6+4UvaG+RBRQ6UaX+o6DjEg28u4eqhVRM9kpgJGjQ=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "3c32729ccae99be44fe8a125d20be06f8d7d8184", + "rev": "c3529673a5ab6e1b6830f618c45d9ce1bcdd829d", "type": "github" }, "original": { @@ -502,11 +482,11 @@ "tinted-zed": { "flake": false, "locked": { - "lastModified": 1767488740, - "narHash": "sha256-wVOj0qyil8m+ouSsVZcNjl5ZR+1GdOOAooAatQXHbuU=", + "lastModified": 1772909925, + "narHash": "sha256-jx/5+pgYR0noHa3hk2esin18VMbnPSvWPL5bBjfTIAU=", "owner": "tinted-theming", "repo": "base16-zed", - "rev": "11abb0b282ad3786a2aae088d3a01c60916f2e40", + "rev": "b4d3a1b3bcbd090937ef609a0a3b37237af974df", "type": "github" }, "original": { @@ -535,11 +515,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1770167989, - "narHash": "sha256-rE2WTxKHe3KMG/Zr5YUNeKHkZfWwSFl7yJXrOKnunHg=", + "lastModified": 1773622265, + "narHash": "sha256-wToKwH7IgWdGLMSIWksEDs4eumR6UbbsuPQ42r0oTXQ=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "0947c4685f6237d4f8045482ce0c62feab40b6c4", + "rev": "a879e5e0896a326adc79c474bf457b8b99011027", "type": "github" }, "original": { diff --git a/.config/home-manager/home.nix b/.config/home-manager/home.nix index 5a1ec36..71e241f 100644 --- a/.config/home-manager/home.nix +++ b/.config/home-manager/home.nix @@ -22,7 +22,7 @@ programs.home-manager.enable = true; services.linux-wallpaperengine = { - enable = true; + enable = false; assetsPath = "/mnt/storage/SteamLibrary/steamapps/common/wallpaper_engine/assets"; }; #programs.dankMaterialShell = { diff --git a/.config/home-manager/theme.nix b/.config/home-manager/theme.nix index 17fd077..5f75559 100644 --- a/.config/home-manager/theme.nix +++ b/.config/home-manager/theme.nix @@ -1,56 +1,23 @@ -{ config, pkgs, lib, ... }: - + { config, pkgs, lib, ... }: { - - stylix = { - enable = true; - #base16Scheme = "${pkgs.base16-schemes}/share/themes/rose-pine-moon.yaml"; - base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml"; - polarity = "dark"; - - fonts = { - serif = { - package = pkgs.gyre-fonts; - name = "TeX Gyre Adventor 10"; - }; - - sizes = { - applications = 10; - desktop = 10; - }; - }; - - cursor.package = pkgs.rose-pine-cursor; - cursor.name = "BreezeX-RosePine-Linux"; - cursor.size = 24; - - icons = { - enable = true; - - # Papyrus Dark - #package = pkgs.papirus-icon-theme; - #dark = "Papirus-Dark"; - - # Fluent - package = pkgs.fluent-icon-theme; - dark = "Fluent"; - }; - - targets.nixos-icons.enable = true; - targets.qt = { - enable = true; - platform = "qtct"; - }; + home.pointerCursor = { + package = pkgs.rose-pine-cursor; + name = "BreezeX-RosePine-Linux"; + size = 24; + gtk.enable = true; }; + + home.activation.papirusMutable = lib.hm.dag.entryAfter ["writeBoundary"] '' + if [ ! -d "$HOME/.local/share/icons/Papirus" ]; then + cp -r ${pkgs.papirus-icon-theme}/share/icons/Papirus \ + "$HOME/.local/share/icons/Papirus" + chmod -R u+w "$HOME/.local/share/icons/Papirus" + fi + ''; - #programs.kitty.themeFile = "rose-pine-moon"; - programs.kitty.themeFile = "Catppuccin-Mocha"; - programs.kitty.settings = { - background_opacity = lib.mkForce 0.8; - confirm_os_window_close = 0; - cursor_shape = "beam"; - cursor_trail = 1; + gtk.iconTheme = { + package = pkgs.papirus-icon-theme; + name = "Papirus"; }; - programs.kitty.enable = true; -} - + home.packages = [ pkgs.papirus-icon-theme pkgs.papirus-folders pkgs.gawk pkgs.gtk3 ]; +} diff --git a/.config/kando/SingletonCookie b/.config/kando/SingletonCookie index 565c97e..ccbc366 120000 --- a/.config/kando/SingletonCookie +++ b/.config/kando/SingletonCookie @@ -1 +1 @@ -1840225582167052180 \ No newline at end of file +10525220785151407913 \ No newline at end of file diff --git a/.config/kando/SingletonLock b/.config/kando/SingletonLock index 70999c0..f9d2302 120000 --- a/.config/kando/SingletonLock +++ b/.config/kando/SingletonLock @@ -1 +1 @@ -nixos-5403 \ No newline at end of file +nixos-17564 \ No newline at end of file diff --git a/.config/kando/SingletonSocket b/.config/kando/SingletonSocket index c6d347d..9d0d342 120000 --- a/.config/kando/SingletonSocket +++ b/.config/kando/SingletonSocket @@ -1 +1 @@ -/tmp/scoped_dirSpGAv4/SingletonSocket \ No newline at end of file +/tmp/scoped_dirlSGGRo/SingletonSocket \ No newline at end of file diff --git a/.config/kando/menus.json b/.config/kando/menus.json index 7bb46e8..1b6c674 100644 --- a/.config/kando/menus.json +++ b/.config/kando/menus.json @@ -1,362 +1,5 @@ { "menus": [ - { - "shortcut": "Control+Space", - "shortcutID": "example-menu", - "centered": false, - "root": { - "type": "submenu", - "name": "Example Menu", - "icon": "award_star", - "iconTheme": "material-symbols-rounded", - "children": [ - { - "type": "submenu", - "name": "Apps", - "icon": "apps", - "iconTheme": "material-symbols-rounded", - "children": [ - { - "type": "command", - "data": { - "command": "x-www-browser" - }, - "name": "Web Browser", - "icon": "globe", - "iconTheme": "material-symbols-rounded" - }, - { - "type": "command", - "data": { - "command": "xdg-email" - }, - "name": "E-Mail", - "icon": "mail", - "iconTheme": "material-symbols-rounded" - }, - { - "type": "command", - "data": { - "command": "gimp" - }, - "name": "GIMP", - "icon": "gimp", - "iconTheme": "simple-icons" - }, - { - "type": "command", - "data": { - "command": "xdg-open ~" - }, - "name": "File Browser", - "icon": "folder_shared", - "iconTheme": "material-symbols-rounded" - }, - { - "type": "command", - "data": { - "command": "x-terminal-emulator" - }, - "name": "Terminal", - "icon": "terminal", - "iconTheme": "material-symbols-rounded" - } - ] - }, - { - "type": "submenu", - "name": "Web Links", - "icon": "public", - "iconTheme": "material-symbols-rounded", - "children": [ - { - "type": "uri", - "data": { - "uri": "https://www.google.com" - }, - "name": "Google", - "icon": "google", - "iconTheme": "simple-icons" - }, - { - "type": "uri", - "data": { - "uri": "https://github.com/kando-menu/kando" - }, - "name": "Kando on GitHub", - "icon": "github", - "iconTheme": "simple-icons" - }, - { - "type": "uri", - "data": { - "uri": "https://ko-fi.com/schneegans" - }, - "name": "Kando on Ko-fi", - "icon": "kofi", - "iconTheme": "simple-icons" - }, - { - "type": "uri", - "data": { - "uri": "https://www.youtube.com/@simonschneegans" - }, - "name": "Kando on YouTube", - "icon": "youtube", - "iconTheme": "simple-icons" - }, - { - "type": "uri", - "data": { - "uri": "https://discord.gg/hZwbVSDkhy" - }, - "name": "Kando on Discord", - "icon": "discord", - "iconTheme": "simple-icons" - } - ] - }, - { - "type": "command", - "name": "Next Workspace", - "icon": "arrow_circle_right", - "iconTheme": "material-symbols-rounded", - "data": { - "command": "niri msg action focus-workspace-down", - "detached": true, - "isolated": false, - "delayed": false - } - }, - { - "type": "submenu", - "name": "Clipboard", - "icon": "assignment", - "iconTheme": "material-symbols-rounded", - "children": [ - { - "type": "hotkey", - "data": { - "hotkey": "ControlLeft+KeyV", - "delayed": true - }, - "name": "Paste", - "icon": "content_paste_go", - "iconTheme": "material-symbols-rounded", - "angle": 90 - }, - { - "type": "hotkey", - "data": { - "hotkey": "ControlLeft+KeyC", - "delayed": true - }, - "name": "Copy", - "icon": "content_copy", - "iconTheme": "material-symbols-rounded" - }, - { - "type": "hotkey", - "data": { - "hotkey": "ControlLeft+KeyX", - "delayed": true - }, - "name": "Cut", - "icon": "cut", - "iconTheme": "material-symbols-rounded" - } - ] - }, - { - "type": "submenu", - "name": "Audio", - "icon": "play_circle", - "iconTheme": "material-symbols-rounded", - "children": [ - { - "type": "hotkey", - "data": { - "hotkey": "MediaTrackNext", - "delayed": false - }, - "name": "Next Track", - "icon": "skip_next", - "iconTheme": "material-symbols-rounded", - "angle": 90 - }, - { - "type": "hotkey", - "data": { - "hotkey": "MediaPlayPause", - "delayed": false - }, - "name": "Play / Pause", - "icon": "play_pause", - "iconTheme": "material-symbols-rounded" - }, - { - "type": "hotkey", - "data": { - "hotkey": "AudioVolumeMute", - "delayed": false - }, - "name": "Mute", - "icon": "music_off", - "iconTheme": "material-symbols-rounded" - }, - { - "type": "hotkey", - "data": { - "hotkey": "MediaTrackPrevious", - "delayed": false - }, - "name": "Previous Track", - "icon": "skip_previous", - "iconTheme": "material-symbols-rounded", - "angle": 270 - } - ] - }, - { - "type": "submenu", - "name": "Windows", - "icon": "select_window", - "iconTheme": "material-symbols-rounded", - "children": [ - { - "type": "hotkey", - "data": { - "hotkey": "MetaLeft+ArrowUp", - "delayed": true - }, - "name": "Toggle Maximize", - "icon": "open_in_full", - "iconTheme": "material-symbols-rounded", - "angle": 0 - }, - { - "type": "hotkey", - "data": { - "hotkey": "MetaLeft+ArrowRight", - "delayed": true - }, - "name": "Tile Right", - "icon": "text_select_jump_to_end", - "iconTheme": "material-symbols-rounded", - "angle": 90 - }, - { - "type": "hotkey", - "data": { - "hotkey": "AltLeft+F4", - "delayed": true - }, - "name": "Close Window", - "icon": "cancel_presentation", - "iconTheme": "material-symbols-rounded" - }, - { - "type": "hotkey", - "data": { - "hotkey": "MetaLeft+ArrowLeft", - "delayed": true - }, - "name": "Tile Left", - "icon": "text_select_jump_to_beginning", - "iconTheme": "material-symbols-rounded", - "angle": 270 - } - ] - }, - { - "type": "command", - "name": "Previous Workspace", - "icon": "arrow_circle_left", - "iconTheme": "material-symbols-rounded", - "data": { - "command": "niri msg action focus-workspace-up", - "detached": true, - "isolated": false, - "delayed": false - } - }, - { - "type": "submenu", - "name": "Bookmarks", - "icon": "folder_special", - "iconTheme": "material-symbols-rounded", - "children": [ - { - "type": "command", - "data": { - "command": "xdg-open \"$(xdg-user-dir DOWNLOAD)\"" - }, - "name": "Downloads", - "icon": "download", - "iconTheme": "material-symbols-rounded" - }, - { - "type": "command", - "data": { - "command": "xdg-open \"$(xdg-user-dir VIDEOS)\"" - }, - "name": "Videos", - "icon": "video_camera_front", - "iconTheme": "material-symbols-rounded" - }, - { - "type": "command", - "data": { - "command": "xdg-open \"$(xdg-user-dir PICTURES)\"" - }, - "name": "Pictures", - "icon": "imagesmode", - "iconTheme": "material-symbols-rounded" - }, - { - "type": "command", - "data": { - "command": "xdg-open \"$(xdg-user-dir DOCUMENTS)\"" - }, - "name": "Documents", - "icon": "text_ad", - "iconTheme": "material-symbols-rounded" - }, - { - "type": "command", - "data": { - "command": "xdg-open \"$(xdg-user-dir DESKTOP)\"" - }, - "name": "Desktop", - "icon": "desktop_windows", - "iconTheme": "material-symbols-rounded" - }, - { - "type": "command", - "data": { - "command": "xdg-open ~" - }, - "name": "Home", - "icon": "home", - "iconTheme": "material-symbols-rounded" - }, - { - "type": "command", - "data": { - "command": "xdg-open \"$(xdg-user-dir MUSIC)\"" - }, - "name": "Music", - "icon": "music_note", - "iconTheme": "material-symbols-rounded" - } - ] - } - ] - }, - "anchored": false, - "hoverMode": false, - "conditions": {} - }, { "shortcut": "", "shortcutID": "default-menu", @@ -462,6 +105,27 @@ "icon": "zenbrowser", "iconTheme": "simple-icons-colored", "children": [ + { + "type": "hotkey", + "name": "Compact Mode", + "icon": "view_compact_alt", + "iconTheme": "material-symbols-rounded", + "data": { + "hotkey": "ControlLeft+AltLeft+KeyC", + "delayed": true + } + }, + { + "type": "hotkey", + "name": "Forward", + "icon": "arrow_circle_right", + "iconTheme": "material-symbols-rounded", + "data": { + "hotkey": "AltLeft+ArrowRight", + "delayed": true + }, + "angle": 90 + }, { "type": "hotkey", "name": "Split V", @@ -472,19 +136,6 @@ "delayed": true } }, - { - "type": "command", - "name": "Up", - "icon": "arrow_circle_up", - "iconTheme": "material-symbols-rounded", - "data": { - "command": "niri msg action focus-workspace-up", - "detached": true, - "isolated": false, - "delayed": false - }, - "angle": 0 - }, { "type": "hotkey", "name": "Unsplit", @@ -493,21 +144,7 @@ "data": { "hotkey": "ControlLeft+AltLeft+KeyU", "delayed": true - }, - "angle": 90 - }, - { - "type": "command", - "name": "Down", - "icon": "arrow_circle_down", - "iconTheme": "material-symbols-rounded", - "data": { - "command": "niri msg action focus-workspace-down", - "detached": true, - "isolated": false, - "delayed": false - }, - "angle": 180 + } }, { "type": "hotkey", @@ -518,6 +155,17 @@ "hotkey": "ControlLeft+AltLeft+KeyV", "delayed": true } + }, + { + "type": "hotkey", + "name": "Back", + "icon": "arrow_circle_left", + "iconTheme": "material-symbols-rounded", + "data": { + "hotkey": "AltLeft+ArrowLeft", + "delayed": true + }, + "angle": 270 } ] } @@ -535,19 +183,6 @@ "icon": "gimp", "iconTheme": "simple-icons-colored", "children": [ - { - "type": "command", - "name": "Up", - "icon": "arrow_circle_up", - "iconTheme": "material-symbols-rounded", - "data": { - "command": "niri msg action focus-workspace-up", - "detached": true, - "isolated": false, - "delayed": false - }, - "angle": 0 - }, { "type": "submenu", "name": "Layers", @@ -694,19 +329,6 @@ } ] }, - { - "type": "command", - "name": "Down", - "icon": "arrow_circle_down", - "iconTheme": "material-symbols-rounded", - "data": { - "command": "niri msg action focus-workspace-up", - "detached": true, - "isolated": false, - "delayed": false - }, - "angle": 180 - }, { "type": "hotkey", "name": "Ruler", diff --git a/.config/kando/session/DIPS b/.config/kando/session/DIPS index 90ef34145d811e3d5dc40530f8a933ce90a3a1c9..9968a2f8892294724741d530c3bf6055d6396494 100644 GIT binary patch delta 91 zcmZozz|^pSX#<-9%OeK#%r)3tUrZDKQ`I^3? i;s+N40|O)fD+c~on*{?N@QaBu>oTFMW&FA*zyScmt{{8> delta 88 zcmZozz|^pSX#<-9%VP%q$D0KmZt|;3GcxP4m1O3o7RBcz7MH}QWfrBTFzBzC=wNq$ f4;KRi10(+%2L3mj1p^-OiwHC8a-yqU6yN{=7Wy5$ diff --git a/.config/kando/session/DIPS-wal b/.config/kando/session/DIPS-wal index c8fd4d671d1e7089013498671abb6f171ad3f446..4737b9f7873c3795d52ed4a833768f500606537c 100644 GIT binary patch literal 4120032 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 delta 155 rcmZoTAkc6?V8aasrguye1NGP!3vfD3T%o@)aJ~G-gareLA8`Qyl&3_s diff --git a/.config/kando/session/DawnGraphiteCache/index b/.config/kando/session/DawnGraphiteCache/index index 34307ad93d3ed114cc8eaed374f9518168fd1048..e1a41bb02d5c29f56b828e2e05e962b55d790f51 100644 GIT binary patch delta 26 hcmey+B=Dh0V1fvvZlh?cC}XQAQ>!TRR#BE{MgV#_2WtQT delta 26 hcmey+B=Dh0V1fuEPorq7C}XQAQ>!TRR#BE{MgVvS2TA|{ diff --git a/.config/kando/session/DawnWebGPUCache/data_1 b/.config/kando/session/DawnWebGPUCache/data_1 index 21e2b31d9d7907cd250e1a015bb6c43878b83e94..029bd437fc621471c71278a1f620f1d215f7bb90 100644 GIT binary patch delta 156 scmZoTAkc6?V8aas=06II69aYGr*{2Pty-(UF>t;7#)Jg}h#zqQ09Cn05C8xG delta 155 rcmZoTAkc6?V8aasrguye1NGP!3UE42T%o@)aJ~G-gareLA8`QylaWNT diff --git a/.config/kando/session/DawnWebGPUCache/index b/.config/kando/session/DawnWebGPUCache/index index b3daeb7ea23a89d66430a1d55310a8e0950e24fb..9ccbfcfcf33b9c598e582e2e874a54774a3b438b 100644 GIT binary patch delta 26 hcmey+B=Dh0V1fvvZlh?cC}XQAQ>!TRR#BE{MgV#_2WtQT delta 26 hcmey+B=Dh0V1fuEPorq7C}XQAQ>!TRR#BE{MgVvS2TA|{ diff --git a/.config/kando/session/GPUCache/data_0 b/.config/kando/session/GPUCache/data_0 index 3f0c884e40e30cf63fb46e2ef906a04ef5cf0bc5..40dc0ee87dc60480fd483bc3d2d9d5bb0d1a151c 100644 GIT binary patch delta 2978 zcmYk84NQ~;7{}jZLd2JfAEBT}a4Lv!=W$#LsC<+_2P7g97$l_xB`R#K#I=_NBDu;_ zr(z~%F2uXiVMZ!`3^Q#6Te-(ItYJsi8_tge&a)G38+R|Of;zI;7zK2) zv+QoNE*BjY-fHat79*p9%PgG=Zf#!NL?Ky>_yXPR6!_G21so?w78_%L0d|I>W0tPG zOO7ly#scbXmh>UBYx*ZeX_rA3BjbQO?Bt|mRYn-dk;TY(U{GF=~uf=`O5x&a%8bF z85qmXW#g*-g9GFYs(gSEJusdn)1^II@@|tPi;+MefSn0ZwmYXElOv0b7lFy_G+jTM zcM7u>dtJ&D>JA zu7o97j6?zJ+39o*nie#Vo=g@SR^T&smKTQ|2xmtY8!rK0u=CD2b$qgwrT-R$S%96T zv+3pKJvMqWS&YmEHnG#}x4*rg9a(Hd0}bp%ClAzl{z)C#*(wMzfPIg1HZ_kVS&SqC zo$Q>g?k$Y3Bu5q-F9R3Z$&9btd9#KbS!}!lTxMs7DR}QJr%KW+CoM+i1KljOCj8p^ z>_<8$i;*Otmz}iAj<5RK$dScHGH{a}f8R5nL+#|qVj~5we?Lpdn)B-yc9SHFkyn91 zb~3*%3F-8(YS&&i1Q~V&gTyi=Ct+qhn0-R%?zdHWuLZ_hHH5 zpSyjHjU-u&WB`8bY-{!1@g$!dS%}yd0u$MZ4ErU-Z8bTv*vJG7?1aWG&Tg++11~7S usL+8?!N?+DDoe#K-!?X6{}Epc?~E))&@r*oR@U=oW9bHcV?_n?vF=|Dx=VQg delta 112 zcmZp8z|`=7$@K6kmV*ooObj5P0>o^LK!OFtV_*O=L0}&cb0Fi1jnWeX6d3I{HrC5e koFK4C;e?6+DBicj(Y0AaKlzyJUM diff --git a/.config/kando/session/GPUCache/data_1 b/.config/kando/session/GPUCache/data_1 index 1c82c58e400cd0320e3cbeec8fd11f80e9351008..86536d50ee0f9199d8a5840325bd66c1fdb952ae 100644 GIT binary patch delta 6912 zcma*r30zdw9tZH5I|rCCSwmSaB9}!$Kv{-OK@>g2?nKKtX^SPf-d}LTgzUOz&J@=gR zzpER)RyTS@96yb|R46!wQh`74O9F?#suhYt(~t05#bWZRP=uPl>I}SY>ejGQW8d=9 z($eL9eSP@TxV+DZUrXT?zf)>l4)4GlrSQ8_{J)kQFkJVn@KS5W<5qI8hIEEJWu{)| z0oS3VsRGEy5oG9)x0IKup`UgKl*Q7D|pSN{%#4Fm4al|X+UeL}(M zyU#Ssg8|06M?M^?(kdP69E1K)2@9ILb^@+u@MXbTbJ`I+YNUALbG38j@jys>)A>!f zrV0%MMutgX2#=a5c;d6LpXI?&0EgD!cpkt344BprhViHwDR;tnrjv=ToZcDTM*j)>V6XX zX$DNVDS>!~HB#__cFTwI;1U3P68J+f3eF7JG$g`&->>G;Eu?%Grfl1%?N;*O8axI* z_I0*v?<&W6j5d;6VG!fq^Pw&@YW}b>e`EUk6^-A1XX!Bc*49J(l1^f&YCT`n|XAfE;g-i7Jn!2mf;y( zhG+19I+mq_>B^W*S=1B-ca?|A%CsR|*b|Z^Z|b1)U%jsR1VA?i3|=gStl$x%pv{u* zHhEBQ6dwhm_`0~t<2FL$Uu~ZQ?9RaF+9dcn9u2@dAWVwN{Ok+z@Lb&cxf~}rdKiIJ z@Qk^!T{7qK$c~zqt0Rl#&G|U&a238(FW^hn(6GJ>U=IfV`HBR;$Rj5THyuk=%fmT1 zYz__^I&nEZj3^XC7*p3RnfZA0qVsfjLHQvt$C@|n$M){vv>7Q$DdU5Sq9dP=)Q&C) zkBTY|ovNJ~k+i5V_2snaf+aI@CTAqhPtJ_f8Cr$D9K%d#*pq4a(lx2!g*51db zej^1%VHn3FUn(Z-*=HjsikjgZ&bp0ru5(&?OZ9#bzFA_@uU!CMVECJMk*0M?6kIVM zWM$g!v)skM<#{&_693OJun$OYhP)$Ck{rlFXy5}bHizXzy`}-@jpy9zT|79Ws?M(I zj!LLJXrBqZ55rgOYuGy$&U>N|f)hv6#Fr`;w#fOSCXOWT{Bi{uTVICM4f*o?d=u%8 z$yiDTAKf4uS=8{Hu^wl3K=pQB9L~G@Tx}ra^<(gLZ8yv~EHl)(vO2J)v4Y=%l)mYxAo`ls)RueUbfJ{aHau`!%cH$ zgd3PjGkfM9cav`*oMb+=bKn3V{TXuoo;RlCn~v!#c$7gSU;U$|Qcl!sO7N_h!wsz; z63un0YE~kl>DKOUzylck$Ex|g3r+ajJbI4CZGL;qMmb#6#FMxSy2Ya)j$p(aq9pF( z(L5S=fnU>Ca-v@I9_-f+^>#^kI*`NQhxjnqlD{Vp8VF<>h_uaG{*Ec~BOc|`$c9@F zWVdKhV^X-mu(;V8=#>KS{9`> zr^6LsB}GeKKRMF^4J7G~Ckssgg)z_vu@ZzUziJ9a*M0=+%9Gs;CD7Ro52pbX&Oo2` zLwMqBr&pslcE))ND4ak(V$WEBv<%eH58*;@2TjysRim|lA_x?gSgZvof`O*TNnOJe zu9;4_Zhy`B89^;k zIEnYpR@%==cdo+&sp|0l zBO1UY20XZlg7BvKgDJ)@(7YXr);BDgSx@rjYe&5dfBg)@d+e3+;v)PC&C9pH7Ht7- zBzd#(w1?{Z($Soq08U`Q?t>IG)fPX|%e`yWpvjCVs)utxl3F6V0ri88^s-y5!h`pL3H3*`X`9*fOkM-9Q2^%Wxqz z-DCz@5G+CXu>!I-Jy!Vr;=(!$Xf8lxi)k{bYO*<@>sT$Buu~YbJ|e-q=Hlb3+S*hm z-ab7GDx@d-Y$ScIYDBK|Sn0oY&bQFvG{!8Mx5zw@PcdSX<`Jw!_(1@reobe y_HLcC0Rm<)>gt(21Elrsi%-Z_3D!QwMuIaS9vwcq5t^b;Qs?WA`mwK delta 331 zcmZoTpwMtY!SwJcmV*ooObm<+Kma5*ffyVN41OR!6kLPSDo|Q=vLd7O#DJ-r6&df# zO*UY(nWVtMxe=%_9H@W=D4EX4HhH3gIGA*oddCFO7r_dl*}!%&Fl4d;m5Q;?5#V&1 zxI!Pu{@A3{ro^~SiHSvq1*CL3haFQ0%h!N!@{<$x?QEB{X98m8?UME^&pS37FkX-w I6oh~T01cg2-2eap diff --git a/.config/kando/session/GPUCache/data_2 b/.config/kando/session/GPUCache/data_2 index 98a071281e79ff776d95af1c4b0dfec0b27ceae8..e05206192cf035ed88536ffac35991222ae26c37 100644 GIT binary patch delta 3378 zcmeI!x$fjh836EMwAuv;SQY}1Hee!zJ-}~e*U-e&o_%is64?iD1{oMHe2VZ{q#e)ji|-hJ!GufP88W8=$@-hG>VzP=^B{`w=Z5HQqovxS$!3IorF@6mKwzF3q|1tcjsB=bjWpCZg+*}5&IAYw1XgK{akxU{W-6DgeSO2TXX<` zLP9Vq9&%5Pc(1u!t~b9+F^;^QQuJ;-l1@SpYlre8bOpewR!!UjeV<5~KC&xwrd5oU zEmt@=SfsIX04f2(xigDe@Yrk99cH?Eb!+HOjFWCInP4R}&dujmIbeO141Gm{qZQS) zZjMZMNYL6b3lF44Oz&wMyN--J6eLSoT@`Hl$5ZQ+XPbC+;R-t$!>FQUQa#N**w1AP1keoAZX#YZPnDX-{NSv zOW?X^n9e<$dIW_^QPWl6FrDD`aq;l?6VFMhM0qJe5+FHY0E?|Hr*C?N8|uSZR~GEd~VB)sUSiM&PzSp@t?$ou5+RrrR)e<9G{dq?A>DhduQFyY z`mRc%w$xx@$J+u}!G583p5kL5!AAAwdUvs;Brm_Lr-E8hEoIh+yrUq-;6#1B=PeS0 zv20rcW|aaI-Kspn(rjs{xCize;cf*gVRz2MF;&<(N^iXED9f7HHU34V?SexjQXKNK zv`jVegFp;MwL58a!>332sAa}DCqqMDhNWp_q_F`DeF)%lmuNTdnzoX;yo8*c)tt-9 zPv%9EU_)LDEaO+ENaKaxM9$fs#kcFieIQ^?6mP?+#QltSPovX3i!cnYh!eDza8Coo z1Ssgh%|-zYO)WGW6~UEY66_f%gJ3e;xaJ zMjQ1u%Feq$PIT`!Og)JJJWjEwn$CvQpG5gu-Xr5$)&o3q0g_tWX4|C4yd>&wPxM10HU9ic~ z8x$}_Z{UEI2AV*WjoP5O!27X?)B3`YW)kCT7e<2EQGzHU>ZTVWe4Q@P?5o$^hsAla zDtAjEg*iL=#dHI4zdlB+I72eIQT|m&JK`dmgW<2If%MqvS^R2rK}ug4dmWpu=gm9C zq)5c{Rb&RZ$*+!r1lE;78&w|&PfA22Wjbr^;ZwTQ__UwSWQtU0(^`^MaD8cuSEi=$ z0N2UEV6YPVrf}oL72AWzM7DRoz<>4n-H+b!ryTH94`oBq zAQhOZ7gDW4cyIuq<)VjiMTaefJE9vZq*N(Jow_h?2PZ{)qh`+qdB7GLXyH?!$3h%= zrr0!P;N0aIuZcvw}6K%UO+w)+wZ4Opa>`%DW@zcbO#hCgc>^&#C=Fqfzczfs%t7*K?sPVc0cp148->& z0AVtcm}lacosqUF_eT(;xssTU>mpm#S88(^VDM&4*mxS>|4?c8rt zB`B#v){00FTx~f91)>JrU}e%6w$WfkkCzUaDOiuzK|~Na40>xwfY|Nvl-YdBjLuJ) z)yr2h+b=S2X|XhO9Q;dW_$f2%yvSU#ls?H~+tS>M>T;?frCu=V<-(O@#-^fb(F+0nUAdRP?yQb z;vIK~9gW?2o`aJ*j_rTQTn$5|4fK44F~%ggGm>AQtIVg&${;qg@_5QT(sC+Ku07<} zI|}hFe0|F7j2aFvdVbKj%Q3oanQo-~%iU&xDE_d*sYB>WmzRKiT?dABV*HFTyR(@f_9wFY7d?T4eFmX|BH-j8#k=x!cngckW{>i}WCJtAC^rQ@?5FyoV+> zWzP4VX=wAt7=i+8;7V*1OyE7SM$xbrY41gNeUs;VmjUvs7bs**Y#BvWc{&&`G9%Z? zgz9j_+gqV2p>&=rpcDCJBnzP{PA%--g1oaHSZvQDp_el)i#=6t!wAIt0Ab^H<3cq( ztrb2{JtstcyM;5YjlNjgW-Z%mPZ=GfsJ?bV7ZEcipfy{=8f_zx_Tb=Lh;a6|R#f*y znKmUS5>6pXbdURU%H6oTa%Yd=_6-grCp8}n|Mx%t^VgQwzaf9{#oM<({D1r3%fYYT Ge)>-dJC~3E delta 496 zcmZoT;LvcuLGbV?mV*ooOh5<(EDQ|M69t6@FGAQ1tRO)kV4YYfJuyI>k$Gcbzx>1o a&L)L61;%9xOfNPzG{}$Q!5;<-8+ZZgu+X*u diff --git a/.config/kando/session/GPUCache/index b/.config/kando/session/GPUCache/index index 6963f723e6d414b26617a594de2d81c18c1b0158..52e66870f357693a7ecf572cad2b013a10fc6d1b 100644 GIT binary patch delta 1117 zcmX|AUuaWT9KOGEzTBJIKgLpKT7&B#I4do!7(_%|BVj9}NEs8UPEx6^QIkn=QCl%ZIX)~rRoE9qb?o>O1Ze5K){T0hg?6c}3&BQ(&z#bz~ zqUz$TGA%psJNjv{Ow?#0X7x+bF5v=V_0MOuOlAsmfoL8fim& zo~!Y1rW?>(`zr^8n*4XuM-Mgq30*Te=RDff=rz*XnTZy;)j zVd@4d*8SAw!YG9#E$CUU^28WL1U)eG?efo-PE!`4dQ6y;XQ5chw#EV@bOZe4VYs5!-L}@48Fhjm4`N)7+ZAOy~>LiYQEW!eP7LOAzoe%+F zcRe^q6&-nwxHc+=T9K-gAuQM5DO@)#C^6z@vmdS}GSDM@7I04HH z>fEr#HH#~REnAI?*~LF(8GZwIJUX?F*Zz@N_doq= Ba{2%O delta 732 zcmX|;F-TiM7{}lD-Mx1&YOUCU(Pl{DLA59feS?%BQbH?5%A-Uq#lgX$gVdBRp`=44 zgR~BLhLH+dl#X1%a8wk_xXg+868H;n=vpHEd*ddEtxr0j9hT3#RXtWKv{1WnJVz zCVOTsDGE@!HRD^PJ*hL0~vk3 zEEL6=+6D}A{2H)vrVaoK;>(Y!S^c|*UwKd$`8Xb>atTo_HD?al9NaW zW01S-dnwv_07b5}M@Ypf805ONVNq!oV$Ao7l%4~(bw6gWR-QuOd;OGMfaUHnTq2?84zg}OMQdW5;X`p^~>yUD`V z@8jy^UAC^eUIjY8$FhB`uzjyev(H%BQU_5^ZkBE8IYt=SuUJ&6wGNX8mzfe&CZS2G m6;^3|--$)x23zX8=ooxp`$GyR`Revhwx`YK+vxZY3#@-7vkw6P diff --git a/.config/kando/session/Local Storage/leveldb/000003.log b/.config/kando/session/Local Storage/leveldb/000003.log index ec16822478fc4b7c0f5853a4b25ee8cbf5669699..481408ed0c21ac52a679d721c1b69b4c85643b74 100644 GIT binary patch literal 760 fcmX?+_RN%rfsv5`0ZxnxK?7qnBw(px*o6cD_s?CK delta 6 NcmeytI)ib-3;+rW0>1zN diff --git a/.config/kando/session/Local Storage/leveldb/LOG b/.config/kando/session/Local Storage/leveldb/LOG index babc99e..c643e7f 100644 --- a/.config/kando/session/Local Storage/leveldb/LOG +++ b/.config/kando/session/Local Storage/leveldb/LOG @@ -1,3 +1,3 @@ -2026/02/04-18:01:58.808 1593 Reusing MANIFEST /home/nicole/.config/kando/session/Local Storage/leveldb/MANIFEST-000001 -2026/02/04-18:01:58.810 1593 Recovering log #3 -2026/02/04-18:01:58.810 1593 Reusing old log /home/nicole/.config/kando/session/Local Storage/leveldb/000003.log +2026/04/12-11:43:56.939 44a6 Reusing MANIFEST /home/nicole/.config/kando/session/Local Storage/leveldb/MANIFEST-000001 +2026/04/12-11:43:56.943 44a6 Recovering log #3 +2026/04/12-11:43:56.943 44a6 Reusing old log /home/nicole/.config/kando/session/Local Storage/leveldb/000003.log diff --git a/.config/kando/session/Local Storage/leveldb/LOG.old b/.config/kando/session/Local Storage/leveldb/LOG.old index 98028f6..c369ec8 100644 --- a/.config/kando/session/Local Storage/leveldb/LOG.old +++ b/.config/kando/session/Local Storage/leveldb/LOG.old @@ -1,3 +1,3 @@ -2026/02/04-15:27:15.910 c528 Reusing MANIFEST /home/nicole/.config/kando/session/Local Storage/leveldb/MANIFEST-000001 -2026/02/04-15:27:15.912 c528 Recovering log #3 -2026/02/04-15:27:15.913 c528 Reusing old log /home/nicole/.config/kando/session/Local Storage/leveldb/000003.log +2026/04/10-21:38:28.787 97e7 Reusing MANIFEST /home/nicole/.config/kando/session/Local Storage/leveldb/MANIFEST-000001 +2026/04/10-21:38:28.793 97e7 Recovering log #3 +2026/04/10-21:38:28.794 97e7 Reusing old log /home/nicole/.config/kando/session/Local Storage/leveldb/000003.log diff --git a/.config/kando/session/Network Persistent State b/.config/kando/session/Network Persistent State index 201c52d..219db0e 100644 --- a/.config/kando/session/Network Persistent State +++ b/.config/kando/session/Network Persistent State @@ -1 +1 @@ -{"net":{"http_server_properties":{"servers":[{"anonymization":[],"server":"https://redirector.gvt1.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13417257707331999","port":443,"protocol_str":"quic"}],"anonymization":[],"network_stats":{"srtt":18220},"server":"https://r1---sn-45nufxc-hm2z.gvt1.com"}],"supports_quic":{"address":"2001:b07:5d29:8353:49d5:3999:3a1f:4be7","used_quic":true},"version":5},"network_qualities":{"CAASABiAgICA+P////8B":"4G","CAISABiAgICA+P////8B":"4G"}}} \ No newline at end of file +{"net":{"http_server_properties":{"servers":[{"anonymization":[],"server":"https://redirector.gvt1.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13417257707331999","port":443,"protocol_str":"quic"}],"anonymization":[],"network_stats":{"srtt":18220},"server":"https://r1---sn-45nufxc-hm2z.gvt1.com"}],"supports_quic":{"address":"2001:b07:5d29:8353:49d5:3999:3a1f:4be7","used_quic":true},"version":5},"network_qualities":{"CAASABiAgICA+P////8B":"4G","CAESABiAgICA+P////8B":"4G","CAISABiAgICA+P////8B":"4G","CAYSABiAgICA+P////8B":"Offline"}}} \ No newline at end of file diff --git a/.config/kando/session/Preferences b/.config/kando/session/Preferences index 21520bc..761e1c5 100644 --- a/.config/kando/session/Preferences +++ b/.config/kando/session/Preferences @@ -1 +1 @@ -{"migrated_user_scripts_toggle":true,"partition":{"per_host_zoom_levels":{"14360168047744253002":{"file:///nix/store/w379y70szfig26r0vdgm3bh3qjr6dc93-kando-2.0.0/share/kando/resources/app/.webpack/renderer/menu_window/index.html":1.4390194395059626}}},"spellcheck":{"dictionaries":["en-US"],"dictionary":""}} \ No newline at end of file +{"migrated_user_scripts_toggle":true,"partition":{"per_host_zoom_levels":{"14360168047744253002":{"file:///nix/store/2r27pyvj0wgabvwfj2gf8ydqcf186ck5-kando-2.0.0/share/kando/resources/app/.webpack/renderer/menu_window/index.html":1.4390194395059626,"file:///nix/store/ig0wfwb84wszjb3hx9n4kaxzqjn4a4q0-kando-2.0.0/share/kando/resources/app/.webpack/renderer/menu_window/index.html":1.4390194395059626,"file:///nix/store/rr5r5snlg97m5smaj45aqfi4i143drn5-kando-2.0.0/share/kando/resources/app/.webpack/renderer/menu_window/index.html":1.4390194395059626,"file:///nix/store/w379y70szfig26r0vdgm3bh3qjr6dc93-kando-2.0.0/share/kando/resources/app/.webpack/renderer/menu_window/index.html":1.4390194395059626,"file:///nix/store/ziq65xivv36nx3p8i28l2bgl8ig5m2wv-kando-2.0.0/share/kando/resources/app/.webpack/renderer/menu_window/index.html":1.4390194395059626}}},"spellcheck":{"dictionaries":["en-US"],"dictionary":""}} \ No newline at end of file diff --git a/.config/kando/session/Session Storage/000003.log b/.config/kando/session/Session Storage/000003.log index 7bd83952b36d119fa6bb9a66b17777a05acac083..2e172c60b863a18560a2625f84d567723909e059 100644 GIT binary patch delta 10 Rcmcb{x{H0oHKvIHPXHPr1nK|) delta 7 OcmdnRevNg*H6{QJM*}4Q diff --git a/.config/kando/session/Session Storage/LOG b/.config/kando/session/Session Storage/LOG index 2298044..f790842 100644 --- a/.config/kando/session/Session Storage/LOG +++ b/.config/kando/session/Session Storage/LOG @@ -1,3 +1,3 @@ -2026/02/04-15:33:12.697 c525 Reusing MANIFEST /home/nicole/.config/kando/session/Session Storage/MANIFEST-000001 -2026/02/04-15:33:12.697 c525 Recovering log #3 -2026/02/04-15:33:12.697 c525 Reusing old log /home/nicole/.config/kando/session/Session Storage/000003.log +2026/04/10-11:58:18.883 9c042 Reusing MANIFEST /home/nicole/.config/kando/session/Session Storage/MANIFEST-000001 +2026/04/10-11:58:18.884 9c042 Recovering log #3 +2026/04/10-11:58:18.884 9c042 Reusing old log /home/nicole/.config/kando/session/Session Storage/000003.log diff --git a/.config/kando/session/Session Storage/LOG.old b/.config/kando/session/Session Storage/LOG.old index a945c1a..1d57c24 100644 --- a/.config/kando/session/Session Storage/LOG.old +++ b/.config/kando/session/Session Storage/LOG.old @@ -1,3 +1,3 @@ -2026/02/04-15:04:01.728 907c Reusing MANIFEST /home/nicole/.config/kando/session/Session Storage/MANIFEST-000001 -2026/02/04-15:04:01.728 907c Recovering log #3 -2026/02/04-15:04:01.728 907c Reusing old log /home/nicole/.config/kando/session/Session Storage/000003.log +2026/04/08-15:29:32.943 2d6e Reusing MANIFEST /home/nicole/.config/kando/session/Session Storage/MANIFEST-000001 +2026/04/08-15:29:32.943 2d6e Recovering log #3 +2026/04/08-15:29:32.943 2d6e Reusing old log /home/nicole/.config/kando/session/Session Storage/000003.log diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf deleted file mode 120000 index 94fbfa7..0000000 --- a/.config/kitty/kitty.conf +++ /dev/null @@ -1 +0,0 @@ -/nix/store/5q6xhzmjj64w341bjz25pb594lzbl7aw-home-manager-files/.config/kitty/kitty.conf \ No newline at end of file diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf new file mode 100644 index 0000000..e285fb9 --- /dev/null +++ b/.config/kitty/kitty.conf @@ -0,0 +1,5 @@ +include ./dank-theme.conf +include ./dank-tabs.conf + +background_opacity 0.8 +confirm_os_window_close 0 diff --git a/.config/matugen/config.toml b/.config/matugen/config.toml new file mode 100644 index 0000000..6a5a46d --- /dev/null +++ b/.config/matugen/config.toml @@ -0,0 +1,43 @@ +[config] + +[templates.cava] +input_path = '~/.config/matugen/templates/cava-colors.ini' +output_path = '~/.config/cava/themes/your-theme' +post_hook = 'pkill -USR1 cava' + +[templates.btop] +input_path = '~/.config/matugen/templates/btop.theme' +output_path = '~/.config/btop/themes/matugen.theme' +post_hook = 'pkill -USR2 btop || true' + +[templates.steam] +input_path = '~/.config/matugen/templates/steam.css' +output_path = '~/.config/AdwSteamGtk/custom.css' +post_hook = 'adwaita-steam-gtk -i' + +[templates.papirus] +input_path = '~/.config/matugen/templates/papirus-trigger' +output_path = '/tmp/matugen-primary-color' +post_hook = 'bash ~/.config/matugen/papirus-folders.sh "$(cat /tmp/matugen-primary-color)"' + +[templates.telegram_background] +pre_hook = 'mkdir -p ~/.config/telegram/matugen' +input_path = '~/.config/matugen/templates/telegram-background-solid.svg' +output_path = '~/.config/telegram/matugen/background.svg' +post_hook = 'magick ~/.config/telegram/matugen/background.svg ~/.config/telegram/matugen/background.jpg' +index = 0 + +[templates.telegram] +input_path = '~/.config/matugen/templates/telegram.tdesktop-theme' +output_path = '~/.config/telegram/matugen/colors.tdesktop-theme' +post_hook = 'zip -qj - ~/.config/telegram/matugen/colors.tdesktop-theme ~/.config/telegram/matugen/background.jpg >~/.config/telegram/matugen.tdesktop-theme' +index = 1 + +[templates.starship] +input_path = '~/.config/matugen/templates/starship-colors.toml' +output_path = '~/.config/starship.toml' + +[templates.thunderbird] +input_path = '~/.config/matugen/templates/thunderbird-userChrome.css' +output_path = '~/.thunderbird/v06i5c82.default/chrome/userChrome.css' +post_hook = "touch ~/.cache/wal/.tb-reload" diff --git a/.config/matugen/papirus-folders.sh b/.config/matugen/papirus-folders.sh new file mode 100755 index 0000000..2543266 --- /dev/null +++ b/.config/matugen/papirus-folders.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +HEX="$1" + +R=$((16#${HEX:0:2})) +G=$((16#${HEX:2:2})) +B=$((16#${HEX:4:2})) + +declare -a COLORS=( + "black 0 0 0" + "bluegrey 96 125 139" + "blue 33 150 243" + "breeze 56 189 220" + "brown 121 85 72" + "cyan 0 188 212" + "green 76 175 80" + "grey 158 158 158" + "indigo 63 81 181" + "magenta 171 71 188" + "nordic 94 129 172" + "orange 255 152 0" + "pink 233 30 99" + "red 244 67 54" + "teal 0 150 136" + "violet 126 87 194" + "white 255 255 255" + "yellow 255 235 59" +) + +BEST="" +BEST_DIST=999999999 + +for ENTRY in "${COLORS[@]}"; do + read -r NAME CR CG CB <<< "$ENTRY" + DIST=$(( (R-CR)*(R-CR) + (G-CG)*(G-CG) + (B-CB)*(B-CB) )) + if [ $DIST -lt $BEST_DIST ]; then + BEST_DIST=$DIST + BEST=$NAME + fi +done + +papirus-folders -C "$BEST" -t "$HOME/.local/share/icons/Papirus" diff --git a/.config/matugen/templates/Matugen.colors b/.config/matugen/templates/Matugen.colors new file mode 100644 index 0000000..e2da8dd --- /dev/null +++ b/.config/matugen/templates/Matugen.colors @@ -0,0 +1,150 @@ +[ColorEffects:Disabled] +Color={{colors.surface_dim.default.hex}} +ColorAmount=0 +ColorEffect=0 +ContrastAmount=0.65 +ContrastEffect=1 +IntensityAmount=0.1 +IntensityEffect=2 + +[ColorEffects:Inactive] +ChangeSelectionColor=true +Color={{colors.surface_variant.default.hex}} +ColorAmount=0.025 +ColorEffect=2 +ContrastAmount=0.1 +ContrastEffect=2 +Enable=false +IntensityAmount=0 +IntensityEffect=0 + +[Colors:Button] +BackgroundAlternate={{colors.surface_container_low.default.hex}} +BackgroundNormal={{colors.surface_container_high.default.hex}} +DecorationFocus={{colors.primary.default.hex}} +DecorationHover={{colors.primary.default.hex}} +ForegroundActive={{colors.primary.default.hex}} +ForegroundInactive={{colors.on_surface_variant.default.hex}} +ForegroundLink={{colors.secondary.default.hex}} +ForegroundNegative={{colors.error.default.hex}} +ForegroundNeutral={{colors.tertiary.default.hex}} +ForegroundNormal={{colors.on_surface.default.hex}} +ForegroundPositive={{colors.tertiary_fixed.default.hex}} +ForegroundVisited={{colors.on_secondary_container.default.hex}} + +[Colors:Complementary] +BackgroundAlternate={{colors.surface_container_low.default.hex}} +BackgroundNormal={{colors.surface.default.hex}} +DecorationFocus={{colors.primary.default.hex}} +DecorationHover={{colors.primary.default.hex}} +ForegroundActive={{colors.primary.default.hex}} +ForegroundInactive={{colors.on_surface_variant.default.hex}} +ForegroundLink={{colors.secondary.default.hex}} +ForegroundNegative={{colors.error.default.hex}} +ForegroundNeutral={{colors.tertiary.default.hex}} +ForegroundNormal={{colors.on_primary_container.default.hex}} +ForegroundPositive={{colors.tertiary_fixed.default.hex}} +ForegroundVisited={{colors.on_secondary_container.default.hex}} + +[Colors:Header] +BackgroundAlternate={{colors.surface.default.hex}} +BackgroundNormal={{colors.surface_container.default.hex}} +DecorationFocus={{colors.primary.default.hex}} +DecorationHover={{colors.primary.default.hex}} +ForegroundActive={{colors.primary.default.hex}} +ForegroundInactive={{colors.on_surface_variant.default.hex}} +ForegroundLink={{colors.secondary.default.hex}} +ForegroundNegative={{colors.error.default.hex}} +ForegroundNeutral={{colors.tertiary.default.hex}} +ForegroundNormal={{colors.on_surface.default.hex}} +ForegroundPositive={{colors.tertiary_fixed.default.hex}} +ForegroundVisited={{colors.on_secondary_container.default.hex}} + +[Colors:Header][Inactive] +BackgroundAlternate={{colors.surface_container.default.hex}} +BackgroundNormal={{colors.surface_container.default.hex}} +DecorationFocus={{colors.primary.default.hex}} +DecorationHover={{colors.primary.default.hex}} +ForegroundActive={{colors.primary.default.hex}} +ForegroundInactive={{colors.on_surface_variant.default.hex}} +ForegroundLink={{colors.secondary.default.hex}} +ForegroundNegative={{colors.error.default.hex}} +ForegroundNeutral={{colors.tertiary.default.hex}} +ForegroundNormal={{colors.on_surface.default.hex}} +ForegroundPositive={{colors.tertiary_fixed.default.hex}} +ForegroundVisited={{colors.on_secondary_container.default.hex}} + +[Colors:Selection] +BackgroundAlternate={{colors.surface_container_low.default.hex}} +BackgroundNormal={{colors.primary.default.hex}} +DecorationFocus={{colors.primary.default.hex}} +DecorationHover={{colors.primary.default.hex}} +ForegroundActive={{colors.on_primary.default.hex}} +ForegroundInactive={{colors.on_surface_variant.default.hex}} +ForegroundLink={{colors.secondary_fixed.default.hex}} +ForegroundNegative={{colors.error_container.default.hex}} +ForegroundNeutral={{colors.tertiary_fixed_dim.default.hex}} +ForegroundNormal={{colors.secondary_fixed.default.hex}} +ForegroundPositive={{colors.tertiary_container.default.hex}} +ForegroundVisited={{colors.on_secondary_container.default.hex}} + +[Colors:Tooltip] +BackgroundAlternate={{colors.surface.default.hex}} +BackgroundNormal={{colors.surface_container.default.hex}} +DecorationFocus={{colors.primary.default.hex}} +DecorationHover={{colors.primary.default.hex}} +ForegroundActive={{colors.primary.default.hex}} +ForegroundInactive={{colors.on_surface_variant.default.hex}} +ForegroundLink={{colors.secondary.default.hex}} +ForegroundNegative={{colors.error.default.hex}} +ForegroundNeutral={{colors.tertiary.default.hex}} +ForegroundNormal={{colors.on_background.default.hex}} +ForegroundPositive={{colors.tertiary_fixed.default.hex}} +ForegroundVisited={{colors.on_secondary_container.default.hex}} + +[Colors:View] +BackgroundAlternate={{colors.surface_container.default.hex}} +BackgroundNormal={{colors.background.default.hex}} +DecorationFocus={{colors.primary_container.default.hex}} +DecorationHover={{colors.on_primary.default.hex}} +ForegroundActive={{colors.primary.default.hex}} +ForegroundInactive={{colors.on_surface_variant.default.hex}} +ForegroundLink={{colors.secondary.default.hex}} +ForegroundNegative={{colors.error.default.hex}} +ForegroundNeutral={{colors.tertiary.default.hex}} +ForegroundNormal={{colors.on_background.default.hex}} +ForegroundPositive={{colors.tertiary_fixed.default.hex}} +ForegroundVisited={{colors.on_secondary_container.default.hex}} + +[Colors:Window] +BackgroundAlternate={{colors.primary_container.default.hex}} +BackgroundNormal={{colors.surface_container.default.hex}} +DecorationFocus={{colors.primary.default.hex}} +DecorationHover={{colors.primary.default.hex}} +ForegroundActive={{colors.primary.default.hex}} +ForegroundInactive={{colors.on_surface_variant.default.hex}} +ForegroundLink={{colors.secondary.default.hex}} +ForegroundNegative={{colors.error.default.hex}} +ForegroundNeutral={{colors.tertiary.default.hex}} +ForegroundNormal={{colors.on_background.default.hex}} +ForegroundPositive={{colors.tertiary_fixed.default.hex}} +ForegroundVisited={{colors.on_secondary_container.default.hex}} + +[General] +ColorScheme=Matugen +Name=Matugen + +[Appearance] +color_scheme=Matugen + +[KDE] +contrast=4 + +[WM] +activeBackground={{colors.primary_container.default.hex}} +activeBlend={{colors.on_primary_container.default.hex}} +activeForeground={{colors.on_primary_container.default.hex}} +inactiveBackground={{colors.surface.default.hex}} +inactiveBlend={{colors.on_surface_variant.default.hex}} +inactiveForeground={{colors.on_surface_variant.default.hex}} + diff --git a/.config/matugen/templates/alacritty.toml b/.config/matugen/templates/alacritty.toml new file mode 100644 index 0000000..053e2ce --- /dev/null +++ b/.config/matugen/templates/alacritty.toml @@ -0,0 +1,68 @@ +[colors.primary] +background = '{{colors.background.default.hex}}' +foreground = '{{colors.on_surface.default.hex}}' + +[colors.cursor] +text = '{{colors.on_surface.default.hex}}' +cursor = '{{colors.on_surface_variant.default.hex}}' + +[colors.vi_mode_cursor] +text = '{{colors.background.default.hex}}' +cursor = '{{colors.primary.default.hex}}' + +[colors.search.matches] +foreground = '{{colors.surface_variant.default.hex}}' +background = '{{colors.tertiary.default.hex}}' + +[colors.search.focused_match] +foreground = '{{colors.surface_variant.default.hex}}' +background = '{{colors.primary.default.hex}}' + +[colors.footer_bar] +foreground = '{{colors.surface_variant.default.hex}}' +background = '{{colors.inverse_surface.default.hex}}' + +[colors.hints.start] +foreground = '{{colors.surface_variant.default.hex}}' +background = '{{colors.secondary.default.hex}}' + +[colors.hints.end] +foreground = '{{colors.surface_variant.default.hex}}' +background = '{{colors.secondary.default.hex}}' + +[colors.selection] +text = '{{colors.background.default.hex}}' +background = '{{colors.primary.default.hex}}' + + +[colors.normal] +black = '#181818' +red = '{{colors.error.default.hex}}' +green = '{{colors.primary.default.hex}}' +yellow = '{{colors.inverse_primary.default.hex}}' +blue = '{{colors.primary.default.hex}}' +magenta = '{{colors.tertiary.default.hex}}' +cyan = '{{colors.secondary.default.hex}}' +white = '#BAC2DE' + + +[colors.bright] +black = '#585B70' +red = '#F38BA8' +green = '#A6E3A1' +yellow = '#F9E2AF' +blue = '#89B4FA' +magenta = '#F5C2E7' +cyan = '#94E2D5' +white = '#A6ADC8' + + +[colors.dim] +black = '#45475A' +red = '#F38BA8' +green = '#A6E3A1' +yellow = '#F9E2AF' +blue = '#89B4FA' +magenta = '#F5C2E7' +cyan = '#94E2D5' +white = '#BAC2DE' diff --git a/.config/matugen/templates/btop.theme b/.config/matugen/templates/btop.theme new file mode 100644 index 0000000..d1f8c8d --- /dev/null +++ b/.config/matugen/templates/btop.theme @@ -0,0 +1,89 @@ +# Matugen template for btop + + +# Colors should be in 6 or 2 character hexadecimal or single spaced rgb decimal: "#RRGGBB", "#BW" or "0-255 0-255 0-255" +# example for white: "#ffffff", "#ff" or "255 255 255". + +# All graphs and meters can be gradients +# For single color graphs leave "mid" and "end" variable empty. +# Use "start" and "end" variables for two color gradient +# Use "start", "mid" and "end" for three color gradient + +# Main background, empty for terminal default, need to be empty if you want transparent background +theme[main_bg]="" + +# Main text color +theme[main_fg]="{{colors.on_surface.default.hex}}" + +# Title color for boxes +theme[title]="{{colors.primary.default.hex}}" + +# Highlight color for keyboard shortcuts +theme[hi_fg]="{{colors.secondary.default.hex}}" + +# Background color of selected item in processes box +theme[selected_bg]="{{colors.primary.default.hex}}" + +# Foreground color of selected item in processes box +theme[selected_fg]="{{colors.on_primary.default.hex}}" + +# Color of inactive/disabled text +theme[inactive_fg]="{{colors.on_surface_variant.default.hex}}" + +# Misc colors for processes box including mini cpu graphs, details memory graph and details status text +theme[proc_misc]="{{colors.tertiary.default.hex}}" + +# Cpu box outline color +theme[cpu_box]="{{colors.outline.default.hex}}" + +# Memory/disks box outline color +theme[mem_box]="{{colors.outline.default.hex}}" + +# Net up/down box outline color +theme[net_box]="{{colors.outline.default.hex}}" + +# Processes box outline color +theme[proc_box]="{{colors.outline.default.hex}}" + +# Box divider line and small boxes line color +theme[div_line]="{{colors.outline_variant.default.hex}}" + +# Temperature graph colors +theme[temp_start]="{{colors.secondary.default.hex}}" +theme[temp_mid]="{{colors.primary.default.hex}}" +theme[temp_end]="{{colors.error.default.hex}}" + +# CPU graph colors +theme[cpu_start]="{{colors.secondary.default.hex}}" +theme[cpu_mid]="{{colors.primary.default.hex}}" +theme[cpu_end]="{{colors.error.default.hex}}" + +# Mem/Disk free meter +theme[free_start]="{{colors.secondary.default.hex}}" +theme[free_mid]="" +theme[free_end]="{{colors.secondary_container.default.hex}}" + +# Mem/Disk cached meter +theme[cached_start]="{{colors.tertiary.default.hex}}" +theme[cached_mid]="" +theme[cached_end]="{{colors.tertiary_container.default.hex}}" + +# Mem/Disk available meter +theme[available_start]="{{colors.primary.default.hex}}" +theme[available_mid]="" +theme[available_end]="{{colors.primary_container.default.hex}}" + +# Mem/Disk used meter +theme[used_start]="{{colors.error.default.hex}}" +theme[used_mid]="" +theme[used_end]="{{colors.error_container.default.hex}}" + +# Download graph colors +theme[download_start]="{{colors.secondary.default.hex}}" +theme[download_mid]="{{colors.primary.default.hex}}" +theme[download_end]="{{colors.tertiary.default.hex}}" + +# Upload graph colors +theme[upload_start]="{{colors.secondary.default.hex}}" +theme[upload_mid]="{{colors.primary.default.hex}}" +theme[upload_end]="{{colors.tertiary.default.hex}}" \ No newline at end of file diff --git a/.config/matugen/templates/cava-colors.ini b/.config/matugen/templates/cava-colors.ini new file mode 100644 index 0000000..f4813b2 --- /dev/null +++ b/.config/matugen/templates/cava-colors.ini @@ -0,0 +1,19 @@ +[color] +background = 'default' +foreground = '{{colors.primary.default.hex}}' + +; gradient = 0 +gradient = 1 +gradient_color_1 = '{{colors.primary_container.default.hex}}' +gradient_color_2 = '{{colors.primary.default.hex}}' +gradient_color_3 = '{{colors.on_primary_container.default.hex}}' + +horizontal_gradient = 0 +; horizontal_gradient = 1 +horizontal_gradient_color_1 = '{{colors.primary_container.default.hex}}' +horizontal_gradient_color_2 = '{{colors.primary.default.hex}}' +horizontal_gradient_color_3 = '{{colors.on_primary_container.default.hex}}' +horizontal_gradient_color_4 = '{{colors.primary.default.hex}}' +horizontal_gradient_color_5 = '{{colors.primary_container.default.hex}}' + + diff --git a/.config/matugen/templates/clipse_theme.json b/.config/matugen/templates/clipse_theme.json new file mode 100644 index 0000000..ae9fdd7 --- /dev/null +++ b/.config/matugen/templates/clipse_theme.json @@ -0,0 +1,28 @@ +{ + "useCustom": true, + "TitleFore": "{{colors.on_primary.default.hex}}", + "TitleBack": "{{colors.primary.default.hex}}", + "TitleInfo": "{{colors.tertiary.default.hex}}", + "NormalTitle": "{{colors.on_surface.default.hex}}", + "DimmedTitle": "{{colors.on_surface_variant.default.hex}}", + "SelectedTitle": "{{colors.tertiary.default.hex}}", + "NormalDesc": "{{colors.on_surface_variant.default.hex}}", + "DimmedDesc": "{{colors.on_surface_variant.default.hex}}", + "SelectedDesc": "{{colors.tertiary.default.hex}}", + "StatusMsg": "{{colors.secondary.default.hex}}", + "PinIndicatorColor": "{{colors.tertiary.default.hex}}", + "SelectedBorder": "{{colors.tertiary.default.hex}}", + "SelectedDescBorder": "{{colors.tertiary.default.hex}}", + "FilteredMatch": "{{colors.on_surface.default.hex}}", + "FilterPrompt": "{{colors.secondary.default.hex}}", + "FilterInfo": "{{colors.tertiary.default.hex}}", + "FilterText": "{{colors.on_surface.default.hex}}", + "FilterCursor": "{{colors.tertiary.default.hex}}", + "HelpKey": "{{colors.outline.default.hex}}", + "HelpDesc": "{{colors.on_surface_variant.default.hex}}", + "PageActiveDot": "{{colors.tertiary.default.hex}}", + "PageInactiveDot": "{{colors.on_surface_variant.default.hex}}", + "DividerDot": "{{colors.tertiary.default.hex}}", + "PreviewedText": "{{colors.on_surface.default.hex}}", + "PreviewBorder": "{{colors.tertiary.default.hex}}" +} diff --git a/.config/matugen/templates/colors.css b/.config/matugen/templates/colors.css new file mode 100644 index 0000000..f246856 --- /dev/null +++ b/.config/matugen/templates/colors.css @@ -0,0 +1,7 @@ +/* +* Css Colors +* Generated with Matugen +*/ +<* for name, value in colors *> + @define-color {{name}} {{value.default.hex}}; +<* endfor *> diff --git a/.config/matugen/templates/cosmic_postprocess.py b/.config/matugen/templates/cosmic_postprocess.py new file mode 100755 index 0000000..825b1f1 --- /dev/null +++ b/.config/matugen/templates/cosmic_postprocess.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python3 +import re, sys, pathlib + +def normalize_channels(text: str) -> str: + # Matches lines like: red: 255, or red: 64.0, + pattern = re.compile(r"(red|green|blue|alpha):\s*([0-9]+(?:\.[0-9]+)?)") + def repl(m): + channel = m.group(1) + value = float(m.group(2)) + # alpha stays either 255 or value; we will convert it to 1.0 if >1 and channel==alpha + if channel == 'alpha': + return f"{channel}: {1.0 if value > 1 else value}" + if value > 1: + return f"{channel}: {value/255.0}" + return m.group(0) + return pattern.sub(repl, text) + +def main(): + if len(sys.argv) < 2: + print("Usage: cosmic_postprocess.py ", file=sys.stderr) + sys.exit(1) + path = pathlib.Path(sys.argv[1]).expanduser() + data = path.read_text() + new = normalize_channels(data) + path.write_text(new) + +if __name__ == '__main__': + main() diff --git a/.config/matugen/templates/cosmic_theme.ron b/.config/matugen/templates/cosmic_theme.ron new file mode 100644 index 0000000..1ca23fa --- /dev/null +++ b/.config/matugen/templates/cosmic_theme.ron @@ -0,0 +1,259 @@ +( + palette: Dark(( + name: "matugen-cosmic-dark", + bright_red: ( + red: {{ colors.error.default.red }}, + green: {{ colors.error.default.green }}, + blue: {{ colors.error.default.blue }}, + alpha: 255.0, + ), + bright_green: ( + red: {{ colors.tertiary.default.red }}, + green: {{ colors.tertiary.default.green }}, + blue: {{ colors.tertiary.default.blue }}, + alpha: 255.0, + ), + bright_orange: ( + red: {{ colors.secondary.default.red }}, + green: {{ colors.secondary.default.green }}, + blue: {{ colors.secondary.default.blue }}, + alpha: 255.0, + ), + gray_1: ( + red: {{ colors.surface_dim.default.red }}, + green: {{ colors.surface_dim.default.green }}, + blue: {{ colors.surface_dim.default.blue }}, + alpha: 255.0, + ), + gray_2: ( + red: {{ colors.surface.default.red }}, + green: {{ colors.surface.default.green }}, + blue: {{ colors.surface.default.blue }}, + alpha: 255.0, + ), + neutral_0: ( + red: 0.0, + green: 0.0, + blue: 0.0, + alpha: 1.0, + ), + neutral_1: ( + red: {{ colors.surface_dim.default.red }}, + green: {{ colors.surface_dim.default.green }}, + blue: {{ colors.surface_dim.default.blue }}, + alpha: 255.0, + ), + neutral_2: ( + red: {{ colors.surface.default.red }}, + green: {{ colors.surface.default.green }}, + blue: {{ colors.surface.default.blue }}, + alpha: 255.0, + ), + neutral_3: ( + red: {{ colors.surface_container_low.default.red }}, + green: {{ colors.surface_container_low.default.green }}, + blue: {{ colors.surface_container_low.default.blue }}, + alpha: 255.0, + ), + neutral_4: ( + red: {{ colors.surface_container.default.red }}, + green: {{ colors.surface_container.default.green }}, + blue: {{ colors.surface_container.default.blue }}, + alpha: 255.0, + ), + neutral_5: ( + red: {{ colors.surface_container_high.default.red }}, + green: {{ colors.surface_container_high.default.green }}, + blue: {{ colors.surface_container_high.default.blue }}, + alpha: 255.0, + ), + neutral_6: ( + red: {{ colors.surface_container_highest.default.red }}, + green: {{ colors.surface_container_highest.default.green }}, + blue: {{ colors.surface_container_highest.default.blue }}, + alpha: 255.0, + ), + neutral_7: ( + red: {{ colors.on_surface_variant.default.red }}, + green: {{ colors.on_surface_variant.default.green }}, + blue: {{ colors.on_surface_variant.default.blue }}, + alpha: 255.0, + ), + neutral_8: ( + red: {{ colors.on_surface.default.red }}, + green: {{ colors.on_surface.default.green }}, + blue: {{ colors.on_surface.default.blue }}, + alpha: 255.0, + ), + neutral_9: ( + red: {{ colors.surface_bright.default.red }}, + green: {{ colors.surface_bright.default.green }}, + blue: {{ colors.surface_bright.default.blue }}, + alpha: 255.0, + ), + neutral_10: ( + red: 1.0, + green: 1.0, + blue: 1.0, + alpha: 1.0, + ), + accent_blue: ( + red: {{ colors.primary.default.red }}, + green: {{ colors.primary.default.green }}, + blue: {{ colors.primary.default.blue }}, + alpha: 255.0, + ), + accent_indigo: ( + red: {{ colors.primary.default.red }}, + green: {{ colors.primary.default.green }}, + blue: {{ colors.primary.default.blue }}, + alpha: 255.0, + ), + accent_purple: ( + red: {{ colors.tertiary.default.red }}, + green: {{ colors.tertiary.default.green }}, + blue: {{ colors.tertiary.default.blue }}, + alpha: 255.0, + ), + accent_pink: ( + red: {{ colors.secondary.default.red }}, + green: {{ colors.secondary.default.green }}, + blue: {{ colors.secondary.default.blue }}, + alpha: 255.0, + ), + accent_red: ( + red: {{ colors.error.default.red }}, + green: {{ colors.error.default.green }}, + blue: {{ colors.error.default.blue }}, + alpha: 255.0, + ), + accent_orange: ( + red: {{ colors.secondary.default.red }}, + green: {{ colors.secondary.default.green }}, + blue: {{ colors.secondary.default.blue }}, + alpha: 255.0, + ), + accent_yellow: ( + red: {{ colors.tertiary.default.red }}, + green: {{ colors.tertiary.default.green }}, + blue: {{ colors.tertiary.default.blue }}, + alpha: 255.0, + ), + accent_green: ( + red: {{ colors.tertiary.default.red }}, + green: {{ colors.tertiary.default.green }}, + blue: {{ colors.tertiary.default.blue }}, + alpha: 255.0, + ), + accent_warm_grey: ( + red: {{ colors.on_surface_variant.default.red }}, + green: {{ colors.on_surface_variant.default.green }}, + blue: {{ colors.on_surface_variant.default.blue }}, + alpha: 255.0, + ), + ext_warm_grey: ( + red: {{ colors.outline.default.red }}, + green: {{ colors.outline.default.green }}, + blue: {{ colors.outline.default.blue }}, + alpha: 255.0, + ), + ext_orange: ( + red: {{ colors.secondary.default.red }}, + green: {{ colors.secondary.default.green }}, + blue: {{ colors.secondary.default.blue }}, + alpha: 255.0, + ), + ext_yellow: ( + red: {{ colors.tertiary.default.red }}, + green: {{ colors.tertiary.default.green }}, + blue: {{ colors.tertiary.default.blue }}, + alpha: 255.0, + ), + ext_blue: ( + red: {{ colors.primary.default.red }}, + green: {{ colors.primary.default.green }}, + blue: {{ colors.primary.default.blue }}, + alpha: 255.0, + ), + ext_purple: ( + red: {{ colors.tertiary.default.red }}, + green: {{ colors.tertiary.default.green }}, + blue: {{ colors.tertiary.default.blue }}, + alpha: 255.0, + ), + ext_pink: ( + red: {{ colors.secondary.default.red }}, + green: {{ colors.secondary.default.green }}, + blue: {{ colors.secondary.default.blue }}, + alpha: 255.0, + ), + ext_indigo: ( + red: {{ colors.primary.default.red }}, + green: {{ colors.primary.default.green }}, + blue: {{ colors.primary.default.blue }}, + alpha: 255.0, + ), + )), + spacing: ( + space_none: 0, + space_xxxs: 4, + space_xxs: 8, + space_xs: 12, + space_s: 16, + space_m: 24, + space_l: 32, + space_xl: 48, + space_xxl: 64, + space_xxxl: 128, + ), + corner_radii: ( + radius_0: (0.0, 0.0, 0.0, 0.0), + radius_xs: (4.0, 4.0, 4.0, 4.0), + radius_s: (8.0, 8.0, 8.0, 8.0), + radius_m: (16.0, 16.0, 16.0, 16.0), + radius_l: (32.0, 32.0, 32.0, 32.0), + radius_xl: (160.0, 160.0, 160.0, 160.0), + ), + neutral_tint: Some(( + red: {{ colors.surface_container_high.default.red }}, + green: {{ colors.surface_container_high.default.green }}, + blue: {{ colors.surface_container_high.default.blue }}, + )), + bg_color: Some(( + red: {{ colors.surface.default.red }}, + green: {{ colors.surface.default.green }}, + blue: {{ colors.surface.default.blue }}, + alpha: 0.6, + )), + primary_container_bg: None, + secondary_container_bg: None, + text_tint: Some(( + red: {{ colors.on_surface.default.red }}, + green: {{ colors.on_surface.default.green }}, + blue: {{ colors.on_surface.default.blue }}, + )), + accent: Some(( + red: {{ colors.primary.default.red }}, + green: {{ colors.primary.default.green }}, + blue: {{ colors.primary.default.blue }}, + )), + success: Some(( + red: {{ colors.tertiary.default.red }}, + green: {{ colors.tertiary.default.green }}, + blue: {{ colors.tertiary.default.blue }}, + )), + warning: Some(( + red: {{ colors.secondary.default.red }}, + green: {{ colors.secondary.default.green }}, + blue: {{ colors.secondary.default.blue }}, + )), + destructive: Some(( + red: {{ colors.error.default.red }}, + green: {{ colors.error.default.green }}, + blue: {{ colors.error.default.blue }}, + )), + is_frosted: true, + gaps: (0, 10), + active_hint: 2, + window_hint: None, +) diff --git a/.config/matugen/templates/dunstrc-colors b/.config/matugen/templates/dunstrc-colors new file mode 100644 index 0000000..8d6d085 --- /dev/null +++ b/.config/matugen/templates/dunstrc-colors @@ -0,0 +1,75 @@ +[global] +monitor = 0 +follow = none +width = 400 +height = 400 +origin = top-center +offset = 10x20 +scale = 0 +notification_limit = 0 +progress_bar = true +progress_bar_height = 10 +progress_bar_frame_width = 1 +progress_bar_min_width = 150 +progress_bar_max_width = 300 +indicate_hidden = yes +transparency = 0 +separator_height = 2 +padding = 8 +horizontal_padding = 8 +text_icon_padding = 0 +frame_width = 1 +sort = yes +font = FiraCode 12 +line_height = 0 +markup = full +format = "%s\n%b" +alignment = left +vertical_alignment = center +show_age_threshold = 60 +ellipsize = middle +ignore_newline = no +stack_duplicates = true +hide_duplicate_count = false +show_indicators = yes +icon_position = left +min_icon_size = 0 +max_icon_size = 32 +icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ +icon_path = /usr/share/icons/Papirus-Dark/48x48/actions/:/usr/share/icons/Papirus-Dark/48x48/apps/:/usr/share/icons/Papirus-Dark/48x48/devices/:/usr/share/icons/Papirus-Dark/48x48/emblems/:/usr/share/icons/Papirus-Dark/48x48/emotes/:/usr/share/icons/Papirus-Dark/48x48/mimetypes/:/usr/share/icons/Papirus-Dark/48x48/places/:/usr/share/icons/Papirus-Dark/48x48/status/ +sticky_history = yes +history_length = 20 +browser = /usr/bin/xdg-open +always_run_script = true +title = Dunst +class = Dunst +corner_radius = 8 +ignore_dbusclose = false +force_xwayland = false +force_xinerama = false +mouse_left_click = close_current +mouse_middle_click = do_action, close_current +mouse_right_click = close_all +separator_color = frame +frame_color = "{{colors.primary.default.hex}}" +highlight = "{{colors.primary.default.hex}}" +separator_color= "{{colors.outline.default.hex}}" +[experimental] +per_monitor_dpi = false +[urgency_low] +timeout = 3 +background = "{{colors.surface.default.hex}}" +foreground = "{{colors.on_surface.default.hex}}" +highlight = "{{colors.primary_container.default.hex}}" +[urgency_normal] +timeout = 6 +background = "{{colors.surface.default.hex}}" +foreground = "{{colors.on_surface.default.hex}}" +highlight = "{{colors.primary_container.default.hex}}" +[urgency_critical] +timeout = 0 +background = "{{colors.surface.default.hex}}" +foreground = "{{colors.on_surface.default.hex}}" +highlight = "{{colors.error.default.hex}}" + + diff --git a/.config/matugen/templates/firefox-colors.css b/.config/matugen/templates/firefox-colors.css new file mode 100644 index 0000000..6bc1d60 --- /dev/null +++ b/.config/matugen/templates/firefox-colors.css @@ -0,0 +1,9 @@ +:root { +<* for name, value in colors *> + --{{name}}: {{value.default.hex}}; +<* endfor *> + +<* for name, value in colors *> + --{{name}}_rgb: {{value.default.red}} {{value.default.green}} {{value.default.blue}}; +<* endfor *> +} \ No newline at end of file diff --git a/.config/matugen/templates/fuzzel.ini b/.config/matugen/templates/fuzzel.ini new file mode 100644 index 0000000..68756b1 --- /dev/null +++ b/.config/matugen/templates/fuzzel.ini @@ -0,0 +1,15 @@ +# Fuzzel Colors +# Generated with Matugen + +[colors] +background={{colors.background.default.hex_stripped}}ff +text={{colors.on_surface.default.hex_stripped}}ff +prompt={{colors.secondary.default.hex_stripped}}ff +placeholder={{colors.tertiary.default.hex_stripped}}ff +input={{colors.primary.default.hex_stripped}}ff +match={{colors.tertiary.default.hex_stripped}}ff +selection={{colors.primary.default.hex_stripped}}ff +selection-text={{colors.on_surface.default.hex_stripped}}ff +selection-match={{colors.on_primary.default.hex_stripped}}ff +counter={{colors.secondary.default.hex_stripped}}ff +border={{colors.primary.default.hex_stripped}}ff \ No newline at end of file diff --git a/.config/matugen/templates/ghostty b/.config/matugen/templates/ghostty new file mode 100644 index 0000000..a868c67 --- /dev/null +++ b/.config/matugen/templates/ghostty @@ -0,0 +1,22 @@ +background = {{colors.background.default.hex}} +foreground = {{colors.on_surface.default.hex}} +cursor-color = {{colors.primary.default.hex}} +cursor-text = {{colors.on_primary.default.hex}} +selection-background = {{colors.secondary_container.default.hex}} +selection-foreground = {{colors.on_secondary_container.default.hex}} +palette = 0={{colors.surface_container_high.default.hex}} +palette = 1={{colors.error.default.hex}} +palette = 2={{colors.primary.default.hex}} +palette = 3={{colors.tertiary.default.hex}} +palette = 4={{colors.secondary.default.hex}} +palette = 5={{colors.primary_fixed.default.hex}} +palette = 6={{colors.secondary_fixed.default.hex}} +palette = 7={{colors.on_surface_variant.default.hex}} +palette = 8={{colors.outline.default.hex}} +palette = 9={{colors.error_container.default.hex}} +palette = 10={{colors.primary_container.default.hex}} +palette = 11={{colors.tertiary_container.default.hex}} +palette = 12={{colors.secondary_container.default.hex}} +palette = 13={{colors.inverse_primary.default.hex}} +palette = 14={{colors.outline_variant.default.hex}} +palette = 15={{colors.on_surface.default.hex}} diff --git a/.config/matugen/templates/gtk-colors.css b/.config/matugen/templates/gtk-colors.css new file mode 100644 index 0000000..64abe77 --- /dev/null +++ b/.config/matugen/templates/gtk-colors.css @@ -0,0 +1,23 @@ +/* +* GTK Colors +* Generated with Matugen +*/ + +@define-color accent_color {{colors.primary_fixed_dim.default.hex}}; +@define-color accent_fg_color {{colors.on_primary_fixed.default.hex}}; +@define-color accent_bg_color {{colors.primary_fixed_dim.default.hex}}; +@define-color window_bg_color {{colors.surface_dim.default.hex}}; +@define-color window_fg_color {{colors.on_surface.default.hex}}; +@define-color headerbar_bg_color {{colors.surface_dim.default.hex}}; +@define-color headerbar_fg_color {{colors.on_surface.default.hex}}; +@define-color popover_bg_color {{colors.surface_dim.default.hex}}; +@define-color popover_fg_color {{colors.on_surface.default.hex}}; +@define-color view_bg_color {{colors.surface.default.hex}}; +@define-color view_fg_color {{colors.on_surface.default.hex}}; +@define-color card_bg_color {{colors.surface.default.hex}}; +@define-color card_fg_color {{colors.on_surface.default.hex}}; +@define-color sidebar_bg_color @window_bg_color; +@define-color sidebar_fg_color @window_fg_color; +@define-color sidebar_border_color @window_bg_color; +@define-color sidebar_backdrop_color @window_bg_color; + diff --git a/.config/matugen/templates/helix.toml b/.config/matugen/templates/helix.toml new file mode 100644 index 0000000..0e5502c --- /dev/null +++ b/.config/matugen/templates/helix.toml @@ -0,0 +1,128 @@ +# Helix Theme Template using Material You with improved contrast + +# --- Syntax Elements --- + +"attribute" = "{{ colors.primary.default.hex }}" +"type" = "{{ colors.secondary.default.hex }}" +"type.enum.variant" = "{{ colors.secondary.default.hex }}" +"constructor" = "{{ colors.primary_fixed.default.hex }}" + +"constant" = "{{ colors.tertiary.default.hex }}" +"constant.character" = "{{ colors.tertiary.default.hex }}" +"constant.character.escape" = "{{ colors.tertiary_container.default.hex }}" + +"string" = "{{ colors.primary.default.hex }}" +"string.regexp" = "{{ colors.tertiary_container.default.hex }}" +"string.special" = "{{ colors.primary_fixed.default.hex }}" +"string.special.symbol" = "{{ colors.error.default.hex }}" + +"comment" = { fg = "{{ colors.on_surface_variant.default.hex }}", modifiers = ["italic"] } + +"variable" = "{{ colors.on_background.default.hex }}" +"variable.parameter" = { fg = "{{ colors.error_container.default.hex }}", modifiers = ["italic"] } +"variable.builtin" = "{{ colors.error.default.hex }}" +"variable.other.member" = "{{ colors.primary.default.hex }}" + +"label" = "{{ colors.primary_fixed.default.hex }}" + +"punctuation" = "{{ colors.on_surface_variant.default.hex }}" +"punctuation.special" = "{{ colors.secondary.default.hex }}" + +"keyword" = "{{ colors.primary.default.hex }}" +"keyword.control.conditional" = { fg = "{{ colors.primary.default.hex }}", modifiers = ["italic"] } + +"operator" = "{{ colors.secondary.default.hex }}" + +"function" = "{{ colors.primary.default.hex }}" +"function.macro" = "{{ colors.primary_container.default.hex }}" + +"tag" = "{{ colors.primary.default.hex }}" +"namespace" = { fg = "{{ colors.secondary.default.hex }}", modifiers = ["italic"] } + +"special" = "{{ colors.primary.default.hex }}" + +# --- Markup --- + +"markup.heading.1" = "{{ colors.error.default.hex }}" +"markup.heading.2" = "{{ colors.primary.default.hex }}" +"markup.heading.3" = "{{ colors.secondary.default.hex }}" +"markup.heading.4" = "{{ colors.tertiary.default.hex }}" +"markup.heading.5" = "{{ colors.primary_fixed.default.hex }}" +"markup.heading.6" = "{{ colors.on_primary_fixed_variant.default.hex }}" + +"markup.list" = "{{ colors.secondary.default.hex }}" +"markup.list.unchecked" = "{{ colors.on_surface_variant.default.hex }}" +"markup.list.checked" = "{{ colors.primary_fixed.default.hex }}" + +"markup.bold" = { fg = "{{ colors.primary.default.hex }}", modifiers = ["bold"] } +"markup.italic" = { fg = "{{ colors.secondary.default.hex }}", modifiers = ["italic"] } + +"markup.link.url" = { fg = "{{ colors.primary.default.hex }}", modifiers = ["italic", "underlined"] } +"markup.link.text" = "{{ colors.primary_fixed.default.hex }}" +"markup.link.label" = "{{ colors.tertiary.default.hex }}" +"markup.raw" = "{{ colors.on_tertiary_container.default.hex }}" +"markup.quote" = "{{ colors.tertiary_container.default.hex }}" + +# --- Diff --- + +"diff.plus" = "{{ colors.tertiary.default.hex }}" +"diff.minus" = "{{ colors.error.default.hex }}" +"diff.delta" = "{{ colors.primary.default.hex }}" + +# --- UI Elements --- + +"ui.background" = { fg = "{{ colors.on_background.default.hex }}", bg = "none" } + +"ui.linenr" = { fg = "{{ colors.on_surface_variant.default.hex }}" } +"ui.linenr.selected" = { fg = "{{ colors.primary_fixed.default.hex }}" } + +"ui.statusline" = { fg = "{{ colors.on_primary_container.default.hex }}", bg = "none" } +"ui.statusline.inactive" = { fg = "{{ colors.on_surface_variant.default.hex }}", bg = "none" } +"ui.statusline.normal" = { fg = "{{ colors.background.default.hex }}", bg = "none", modifiers = ["bold"] } +"ui.statusline.insert" = { fg = "{{ colors.background.default.hex }}", bg = "none", modifiers = ["bold"] } +"ui.statusline.select" = { fg = "{{ colors.background.default.hex }}", bg = "none", modifiers = ["bold"] } + +"ui.popup" = { fg = "{{ colors.on_surface.default.hex }}", bg = "none" } +"ui.window" = { fg = "{{ colors.on_surface_variant.default.hex }}" } +"ui.help" = { fg = "{{ colors.on_surface_variant.default.hex }}", bg = "none" } + +"ui.bufferline" = { fg = "{{ colors.on_surface_variant.default.hex }}", bg = "none" } +"ui.bufferline.active" = { fg = "{{ colors.on_primary.default.hex }}", bg = "{{ colors.primary.default.hex }}", underline = { color = "{{ colors.primary.default.hex }}", style = "line" } } +"ui.bufferline.background" = { bg = "none" } + +"ui.text" = "{{ colors.on_background.default.hex }}" +"ui.text.focus" = { fg = "{{ colors.primary.default.hex }}", bg = "none", modifiers = ["bold"] } +"ui.text.inactive" = { fg = "{{ colors.on_surface_variant.default.hex }}" } +"ui.text.directory" = { fg = "{{ colors.primary.default.hex }}" } + +"ui.virtual" = "{{ colors.on_surface_variant.default.hex }}" +"ui.virtual.ruler" = { bg = "none" } +"ui.virtual.indent-guide" = "{{ colors.surface_container_low.default.hex }}" +"ui.virtual.inlay-hint" = { fg = "{{ colors.on_surface_variant.default.hex }}", bg = "none" } +"ui.virtual.jump-label" = { fg = "{{ colors.primary_container.default.hex }}", modifiers = ["bold"] } + +"ui.selection" = { bg = "{{ colors.outline_variant.default.hex }}" } + +"ui.cursor" = { fg = "{{ colors.background.default.hex }}", bg = "{{ colors.on_primary_container.default.hex }}" } +"ui.cursor.primary" = { fg = "{{ colors.background.default.hex }}", bg = "{{ colors.primary_fixed.default.hex }}" } +"ui.cursor.match" = { fg = "{{ colors.on_primary_container.default.hex }}", modifiers = ["bold"] } + +"ui.highlight" = { bg = "{{ colors.secondary_container.default.hex }}", modifiers = ["bold"] } + +"ui.menu" = { fg = "{{ colors.on_surface.default.hex }}", bg = "none" } +"ui.menu.selected" = { fg = "{{ colors.primary.default.hex }}", bg = "none", modifiers = ["bold"] } + +# --- Diagnostics --- + +"diagnostic.error" = { fg = "{{ colors.error.default.hex }}", underline = { color = "{{ colors.error.default.hex }}", style = "curl" } } +"diagnostic.warning" = { fg = "{{ colors.secondary.default.hex }}", underline = { color = "{{ colors.secondary.default.hex }}", style = "curl" } } +"diagnostic.info" = { fg = "{{ colors.tertiary.default.hex }}", underline = { color = "{{ colors.tertiary.default.hex }}", style = "curl" } } +"diagnostic.hint" = { fg = "{{ colors.tertiary_container.default.hex }}", underline = { color = "{{ colors.tertiary_container.default.hex }}", style = "curl" } } +"diagnostic.unnecessary" = { modifiers = ["dim"] } + +# --- Fallbacks (non-template usage) --- + +error = "{{ colors.error.default.hex }}" +warning = "{{ colors.tertiary.default.hex }}" +info = "{{ colors.primary.default.hex }}" +hint = "{{ colors.secondary.default.hex }}" diff --git a/.config/matugen/templates/heroic.css b/.config/matugen/templates/heroic.css new file mode 100644 index 0000000..fb505f3 --- /dev/null +++ b/.config/matugen/templates/heroic.css @@ -0,0 +1,51 @@ +body.matugen { + --accent: {{colors.tertiary.default.hex}}; + --accent-overlay: {{colors.inverse_primary.default.hex}}; + + --primary: {{colors.primary.default.hex}}; + --primary-hover: {{colors.primary_container.default.hex}}; + --navbar-accent: var(--primary); + + --background: {{colors.background.default.hex}}; + --body-background: {{colors.surface.default.hex}}; + --navbar-background: {{colors.surface_container.default.hex}}; + + --background-darker: var(--background); + --current-background: var(--body-background); + --navbar-active-background: {{colors.surface_container_high.default.hex}}; + + --gradient-body-background: linear-gradient( + 90deg, + var(--background-darker) -32px, + var(--body-background) 64px, + var(--body-background) 100% + ); + + --input-background: var(--navbar-background); + --modal-background: var(--body-background); + --modal-border: var(--body-background); + + --success: {{colors.tertiary.default.hex}}; + --success-hover: {{colors.tertiary_container.default.hex}}; + --danger: {{colors.error.default.hex}}; + --danger-hover: {{colors.error_container.default.hex}}; + + --text-default: {{colors.on_surface.default.hex}}; + --text-title: {{colors.on_surface.default.hex}}; + --text-secondary: {{colors.on_surface_variant.default.hex}}; + --text-tertiary: {{colors.outline.default.hex}}; + --text-hover: {{colors.primary.default.hex}}; + + --text-title: {{colors.on_surface.default.hex}}; + --action-icon: {{colors.on_surface.default.hex}}; + --action-icon-hover: {{colors.primary.default.hex}}; + --action-icon-active: {{colors.primary_container.default.hex}}; + --icons-background: {{colors.surface_variant.default.hex}}; + --icon-disabled: {{colors.on_surface_variant.default.hex}}; + + --anticheat-denied: var(--danger); + --anticheat-broken: var(--accent); + --anticheat-running: var(--primary); + --anticheat-supported: var(--success); + --anticheat-planned: {{colors.secondary.default.hex}}; +} diff --git a/.config/matugen/templates/hyprland-colors.conf b/.config/matugen/templates/hyprland-colors.conf new file mode 100644 index 0000000..dd6403a --- /dev/null +++ b/.config/matugen/templates/hyprland-colors.conf @@ -0,0 +1,4 @@ +$image = {{image}} +<* for name, value in colors *> +${{name}} = rgba({{value.default.hex_stripped}}ff) +<* endfor *> diff --git a/.config/matugen/templates/kitty-colors.conf b/.config/matugen/templates/kitty-colors.conf new file mode 100644 index 0000000..f495f72 --- /dev/null +++ b/.config/matugen/templates/kitty-colors.conf @@ -0,0 +1,49 @@ +cursor {{ colors.primary.dark.hex }} +cursor_text_color {{ colors.on_primary.dark.hex }} + +foreground {{ colors.on_surface.dark.hex }} +background {{ colors.surface_container_lowest.dark.hex }} +selection_foreground {{ colors.on_secondary.dark.hex }} +selection_background {{ colors.secondary.dark.hex }} +url_color {{ colors.secondary.dark.hex }} + +#: black 000000 767676 +color0 {{ colors.surface.dark.hex }} +color8 {{ colors.surface_container_highest.dark.hex }} +#: red cc0403 f2201f +color1 {{ base16.base08.dark.hex | lighten: -20.0 }} +color9 {{ base16.base08.dark.hex | lighten: 10.0 }} +#: green 19cb00 23fd00 +color2 {{ colors.secondary_fixed_dim.dark.hex }} +color10 {{ colors.secondary_fixed.dark.hex }} +#: yellow cecb00 fffd00 +color3 {{ colors.tertiary_fixed_dim.dark.hex }} +color11 {{ colors.tertiary_fixed.dark.hex }} +#: blue 0d73cc 1a8fff +color4 {{ colors.on_primary_fixed_variant.dark.hex }} +color12 {{ colors.primary.dark.hex }} +#: magenta cb1ed1 fd28ff +color5 {{ colors.on_secondary_fixed_variant.dark.hex }} +color13 {{ colors.secondary.dark.hex }} +#: cyan 0dcdcd 14ffff +color6 {{ colors.on_tertiary_fixed_variant.dark.hex }} +color14 {{ colors.tertiary.dark.hex }} +#: white dddddd ffffff +color7 {{ colors.on_surface_variant.dark.hex }} +color15 {{ colors.on_surface.dark.hex }} + +mark1_foreground {{ colors.on_primary_fixed.dark.hex }} +mark1_background {{ colors.primary_fixed.dark.hex }} +mark2_foreground {{ colors.on_secondary_fixed.dark.hex }} +mark2_background {{ colors.secondary_fixed.dark.hex }} +mark3_foreground {{ colors.on_tertiary_fixed.dark.hex }} +mark3_background {{ colors.tertiary_fixed.dark.hex }} + +active_tab_foreground {{ colors.on_primary.dark.hex }} +active_tab_background {{ colors.primary.dark.hex }} +inactive_tab_foreground {{ colors.on_primary_container.dark.hex }} +inactive_tab_background {{ colors.primary_container.dark.hex }} + +active_border_color {{ colors.primary.dark.hex }} +inactive_border_color {{ colors.on_primary.dark.hex }} +# bell_border_color #ff5a00 diff --git a/.config/matugen/templates/kvantum-colors.kvconfig b/.config/matugen/templates/kvantum-colors.kvconfig new file mode 100644 index 0000000..9b44d78 --- /dev/null +++ b/.config/matugen/templates/kvantum-colors.kvconfig @@ -0,0 +1,567 @@ +[%General] +author=Vince Liuice, based on KvAdapta by Tsu Jan +comment=An uncomplicated theme inspired by the Materia GTK theme +x11drag=menubar_and_primary_toolbar +alt_mnemonic=true +left_tabs=true +attach_active_tab=true +mirror_doc_tabs=true +group_toolbar_buttons=false +toolbar_item_spacing=0 +toolbar_interior_spacing=2 +spread_progressbar=true +composite=true +menu_shadow_depth=6 +spread_menuitems=true +tooltip_shadow_depth=2 +splitter_width=1 +scroll_width=9 +scroll_arrows=false +scroll_min_extent=60 +slider_width=2 +slider_handle_width=23 +slider_handle_length=22 +tickless_slider_handle_size=22 +center_toolbar_handle=true +check_size=16 +textless_progressbar=false +progressbar_thickness=2 +menubar_mouse_tracking=true +toolbutton_style=1 +double_click=false +translucent_windows=true +blurring=true +popup_blurring=true +vertical_spin_indicators=false +spin_button_width=24 +fill_rubberband=false +merge_menubar_with_toolbar=true +small_icon_size=16 +large_icon_size=32 +button_icon_size=16 +toolbar_icon_size=16 +combo_as_lineedit=true +animate_states=true +button_contents_shift=false +combo_menu=true +hide_combo_checkboxes=true +combo_focus_rect=false +groupbox_top_label=true +inline_spin_indicators=true +joined_inactive_tabs=false +layout_spacing=3 +layout_margin=3 +scrollbar_in_view=true +transient_scrollbar=true +transient_groove=false +submenu_overlap=0 +tooltip_delay=0 +tree_branch_line=true +no_window_pattern=false +opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,trojita,dragon,digikam,qBittorrent +reduce_window_opacity=0 +respect_DE=true +scrollable_menu=false +submenu_delay=150 +no_inactiveness=false +reduce_menu_opacity=0 +click_behavior=0 +contrast=1.00 +dialog_button_layout=0 +intensity=1.00 +saturation=1.00 +shadowless_popup=false +drag_from_buttons=false +menu_blur_radius=10 +tooltip_blur_radius=10 + +[GeneralColors] +window.color={{colors.surface.default.hex}} +base.color={{colors.surface_container_highest.default.hex}} +alt.base.color={{colors.surface_container_low.default.hex}} +button.color={{colors.surface_bright.default.hex}} +light.color={{colors.surface_bright.default.hex}} +mid.light.color={{colors.surface_variant.default.hex}} +dark.color={{colors.surface.default.hex}} +mid.color={{colors.surface_container_low.default.hex}} +highlight.color={{colors.primary.default.hex}} +inactive.highlight.color={{colors.primary_fixed_dim.default.hex}} +text.color={{colors.on_surface.default.hex}} +window.text.color={{colors.on_surface.default.hex}} +button.text.color={{colors.on_surface.default.hex}} +disabled.text.color={{colors.inverse_on_surface.default.hex}} +tooltip.text.color={{colors.on_surface.default.hex}} +highlight.text.color={{colors.on_surface.default.hex}} +link.color={{colors.primary.default.hex}} +link.visited.color={{colors.tertiary_fixed_dim.default.hex}} +progress.indicator.text.color={{colors.on_surface.default.hex}} + +[Hacks] +transparent_ktitle_label=true +transparent_dolphin_view=true +transparent_pcmanfm_sidepane=true +blur_translucent=true +transparent_menutitle=true +respect_darkness=true +kcapacitybar_as_progressbar=true +force_size_grip=true +iconless_pushbutton=true +iconless_menu=false +disabled_icon_opacity=100 +lxqtmainmenu_iconsize=16 +normal_default_pushbutton=true +single_top_toolbar=true +tint_on_mouseover=0 +transparent_pcmanfm_view=true +no_selection_tint=true +transparent_arrow_button=true +middle_click_scroll=false +opaque_colors=false +kinetic_scrolling=false +scroll_jump_workaround=true +centered_forms=false +noninteger_translucency=false +blur_only_active_window=false +style_vertical_toolbars=false + +[PanelButtonCommand] +frame=true +frame.element=button +frame.top=6 +frame.bottom=6 +frame.left=6 +frame.right=6 +interior=true +interior.element=button +indicator.size=8 +text.normal.color={{colors.on_surface.default.hex}} +text.focus.color={{colors.on_surface.default.hex}} +text.press.color={{colors.on_surface.default.hex}} +text.toggle.color={{colors.on_surface.default.hex}} +text.shadow=0 +text.margin=4 +text.iconspacing=4 +indicator.element=arrow +frame.expansion=0 + +[PanelButtonTool] +inherits=PanelButtonCommand +text.normal.color={{colors.on_surface.default.hex}} +text.focus.color={{colors.on_surface.default.hex}} +text.press.color={{colors.on_surface.default.hex}} +text.toggle.color={{colors.on_surface.default.hex}} +text.bold=false +indicator.element=arrow +indicator.size=0 +frame.expansion=0 + +[ToolbarButton] +frame=true +frame.element=tbutton +interior.element=tbutton +frame.top=16 +frame.bottom=16 +frame.left=16 +frame.right=16 +indicator.element=tarrow +text.normal.color={{colors.on_surface.default.hex}} +text.focus.color={{colors.on_surface.default.hex}} +text.press.color={{colors.on_surface.default.hex}} +text.toggle.color={{colors.on_surface.default.hex}} +text.bold=false +frame.expansion=32 + +[Dock] +inherits=PanelButtonCommand +interior.element=dock +frame.element=dock +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 +text.normal.color={{colors.on_surface.default.hex}} + +[DockTitle] +inherits=PanelButtonCommand +frame=false +interior=false +text.normal.color={{colors.on_surface.default.hex}} +text.focus.color={{colors.on_surface.default.hex}} +text.bold=false + +[IndicatorSpinBox] +inherits=PanelButtonCommand +frame=true +interior=true +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +indicator.element=spin +indicator.size=8 +text.normal.color={{colors.on_surface.default.hex}} +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 + +[RadioButton] +inherits=PanelButtonCommand +frame=false +interior.element=radio +text.normal.color={{colors.on_surface.default.hex}} +text.focus.color={{colors.on_surface.default.hex}} +min_width=+0.3font +min_height=+0.3font + +[CheckBox] +inherits=PanelButtonCommand +frame=false +interior.element=checkbox +text.normal.color={{colors.on_surface.default.hex}} +text.focus.color={{colors.on_surface.default.hex}} +min_width=+0.3font +min_height=+0.3font + +[Focus] +inherits=PanelButtonCommand +frame=true +frame.element=focus +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +frame.patternsize=14 + +[GenericFrame] +inherits=PanelButtonCommand +frame=true +interior=false +frame.element=common +interior.element=common +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 + +[LineEdit] +inherits=PanelButtonCommand +frame.element=lineedit +interior.element=lineedit +frame.top=6 +frame.bottom=6 +frame.left=6 +frame.right=6 +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 + +[ToolbarLineEdit] +frame.element=lineedit +interior.element=lineedit + +[DropDownButton] +inherits=PanelButtonCommand +indicator.element=arrow-down + +[IndicatorArrow] +indicator.element=arrow +indicator.size=8 + +[ToolboxTab] +inherits=PanelButtonCommand +text.normal.color={{colors.on_surface.default.hex}} +text.press.color={{colors.on_surface.default.hex}} +text.focus.color={{colors.on_surface.default.hex}} + +[Tab] +inherits=PanelButtonCommand +interior.element=tab +text.margin.left=8 +text.margin.right=8 +text.margin.top=2 +text.margin.bottom=2 +frame.element=tab +indicator.element=tab +indicator.size=22 +frame.top=9 +frame.bottom=3 +frame.left=6 +frame.right=6 +text.normal.color={{colors.on_surface.default.hex}} +text.focus.color={{colors.on_surface.default.hex}} +text.press.color={{colors.on_surface.default.hex}} +text.toggle.color={{colors.on_surface.default.hex}} +frame.expansion=0 +text.bold=false + +[TabFrame] +inherits=PanelButtonCommand +frame.element=tabframe +interior.element=tabframe +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 + +[TreeExpander] +inherits=PanelButtonCommand +indicator.size=8 +indicator.element=tree + +[HeaderSection] +inherits=PanelButtonCommand +interior.element=header +frame.element=header +frame.top=0 +frame.bottom=1 +frame.left=1 +frame.right=1 +text.normal.color={{colors.on_surface.default.hex}} +text.focus.color={{colors.on_surface.default.hex}} +text.press.color={{colors.on_surface.default.hex}} +text.toggle.color={{colors.on_surface.default.hex}} +frame.expansion=0 + +[SizeGrip] +indicator.element=resize-grip + +[Toolbar] +inherits=PanelButtonCommand +indicator.element=toolbar +indicator.size=5 +text.margin=0 +interior.element=menubar +frame.element=menubar +text.normal.color={{colors.on_surface.default.hex}} +text.focus.color={{colors.on_surface.default.hex}} +text.press.color={{colors.on_surface.default.hex}} +text.toggle.color={{colors.on_surface.default.hex}} +frame.left=0 +frame.right=0 +frame.top=0 +frame.bottom=4 +frame.expansion=0 + +[Slider] +inherits=PanelButtonCommand +frame.element=slider +focusFrame=true +interior.element=slider +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 + +[SliderCursor] +inherits=PanelButtonCommand +frame=false +interior.element=slidercursor + +[Progressbar] +inherits=PanelButtonCommand +frame.element=progress +interior.element=progress +text.margin=0 +text.normal.color={{colors.on_surface.default.hex}} +text.focus.color={{colors.on_surface.default.hex}} +text.press.color={{colors.on_surface.default.hex}} +text.toggle.color={{colors.on_surface.default.hex}} +text.bold=false +frame.expansion=8 + +[ProgressbarContents] +inherits=PanelButtonCommand +frame=true +frame.element=progress-pattern +interior.element=progress-pattern + +[ItemView] +inherits=PanelButtonCommand +text.margin=0 +frame.element=itemview +interior.element=itemview +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=4 +text.margin.right=4 +text.normal.color={{colors.on_surface.default.hex}} +text.focus.color={{colors.on_surface.default.hex}} +text.press.color={{colors.on_surface.default.hex}} +text.toggle.color={{colors.on_surface.default.hex}} +min_width=+0.3font +min_height=+0.3font +frame.expansion=0 + +[Splitter] +indicator.size=48 + +[Scrollbar] +inherits=PanelButtonCommand +indicator.element=arrow +indicator.size=12 + +[ScrollbarSlider] +inherits=PanelButtonCommand +frame.element=scrollbarslider +interior=false +frame.left=5 +frame.right=5 +frame.top=5 +frame.bottom=5 +indicator.element=grip +indicator.size=12 + +[ScrollbarGroove] +inherits=PanelButtonCommand +interior=false +frame=false + +[Menu] +inherits=PanelButtonCommand +frame.top=10 +frame.bottom=10 +frame.left=10 +frame.right=10 +frame.element=menu +interior.element=menu +text.normal.color={{colors.on_surface.default.hex}} +text.shadow=false +frame.expansion=0 +text.bold=false + +[MenuItem] +inherits=PanelButtonCommand +frame=true +frame.element=menuitem +interior.element=menuitem +indicator.element=menuitem +text.normal.color={{colors.on_surface.default.hex}} +text.focus.color={{colors.on_surface.default.hex}} +text.margin.top=3 +text.margin.bottom=3 +text.margin.left=6 +text.margin.right=6 +frame.top=0 +frame.bottom=0 +frame.left=6 +frame.right=6 +text.bold=false +frame.expansion=0 + +[MenuBar] +inherits=PanelButtonCommand +frame.element=menubar +interior.element=menubar +frame.bottom=0 +text.normal.color={{colors.on_surface.default.hex}} +text.focus.color={{colors.on_surface.default.hex}} +text.press.color={{colors.on_surface.default.hex}} +text.toggle.color={{colors.on_surface.default.hex}} +frame.expansion=0 +text.bold=false + +[MenuBarItem] +inherits=PanelButtonCommand +interior=true +interior.element=menubaritem +frame.element=menubaritem +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.margin.left=4 +text.margin.right=4 +text.margin.top=0 +text.margin.bottom=0 +text.normal.color={{colors.on_surface.default.hex}} +text.focus.color={{colors.on_surface.default.hex}} +text.press.color={{colors.on_surface.default.hex}} +text.toggle.color={{colors.on_surface.default.hex}} +text.bold=false +min_width=+0.3font +min_height=+0.3font +frame.expansion=0 + +[TitleBar] +inherits=PanelButtonCommand +frame=false +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 +interior.element=titlebar +indicator.size=16 +indicator.element=mdi +text.normal.color=#787878 +text.focus.color={{colors.on_surface.default.hex}} +text.bold=false +text.italic=true +frame.expansion=0 + +[ComboBox] +inherits=PanelButtonCommand +frame.element=combo +interior.element=combo +frame.top=6 +frame.bottom=6 +frame.left=6 +frame.right=6 +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 +text.focus.color={{colors.on_surface.default.hex}} +text.press.color={{colors.on_surface.default.hex}} +text.toggle.color={{colors.on_surface.default.hex}} + +[GroupBox] +inherits=GenericFrame +frame=false +text.shadow=0 +text.margin=0 +text.normal.color={{colors.on_surface.default.hex}} +text.focus.color={{colors.on_surface.default.hex}} +text.bold=false +frame.expansion=0 + +[TabBarFrame] +inherits=GenericFrame +frame=true +frame.element=tabBarFrame +interior=false +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 + +[ToolTip] +inherits=GenericFrame +frame.top=6 +frame.bottom=6 +frame.left=6 +frame.right=6 +interior=true +text.shadow=0 +text.margin=0 +interior.element=tooltip +frame.element=tooltip +frame.expansion=6 + +[StatusBar] +inherits=GenericFrame +frame=false +interior=false + +[Window] +interior=true +interior.element=window +frame=true +frame.element=window +frame.bottom=10 +frame.top=10 diff --git a/.config/matugen/templates/kvantum-colors.svg b/.config/matugen/templates/kvantum-colors.svg new file mode 100644 index 0000000..6de9d61 --- /dev/null +++ b/.config/matugen/templates/kvantum-colors.svg @@ -0,0 +1,6736 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.config/matugen/templates/labwc b/.config/matugen/templates/labwc new file mode 100644 index 0000000..d977d78 --- /dev/null +++ b/.config/matugen/templates/labwc @@ -0,0 +1,21 @@ +window.active.border.color: {{colors.primary.default.hex}} +window.inactive.border.color: {{colors.background.default.hex}} +window.active.title.bg.color: {{colors.primary_container.default.hex}} +window.active.label.text.color: {{colors.on_primary_container.default.hex}} +window.inactive.label.text.color: {{colors.on_secondary_container.default.hex}} +window.inactive.title.bg.color: {{colors.secondary_container.default.hex}} +window.inactive.button.unpressed.image.color: {{colors.on_secondary_container.default.hex}} +window.active.button.unpressed.image.color: {{colors.on_primary_container.default.hex}} +window.button.hover.bg.color: {{colors.background.default.hex_alpha|set_alpha: 0.2}} + +menu.items.bg.color: {{colors.secondary_container.default.hex}} +menu.items.text.color: {{colors.on_secondary_container.default.hex}} +menu.items.active.bg.color: {{colors.primary_container.default.hex}} +menu.items.active.text.color: {{colors.on_primary_container.default.hex}} +menu.separator.color: {{colors.tertiary_container.default.hex}} +menu.title.bg.color: {{colors.on_tertiary_container.default.hex}} + +osd.bg.color: {{colors.secondary_container.default.hex}} +osd.label.text.color: {{colors.on_secondary_container.default.hex}} + +snapping.overlay.edge.bg.color: {{colors.primary_container.default.hex_alpha|set_alpha: 0.5}} diff --git a/.config/matugen/templates/mako b/.config/matugen/templates/mako new file mode 100644 index 0000000..d94cc0d --- /dev/null +++ b/.config/matugen/templates/mako @@ -0,0 +1,16 @@ +# Material You colors + +background-color={{colors.on_primary.default.hex}} +text-color={{colors.tertiary.default.hex}} +border-color={{colors.tertiary_container.default.hex}} +# Per-mode settings + +[mode=do-not-disturb] +invisible=1 +on-notify=none + +[mode=silent] +on-notify=none + +[urgency=high] +border-color={{colors.error_container.default.hex}} diff --git a/.config/matugen/templates/mango.conf b/.config/matugen/templates/mango.conf new file mode 100644 index 0000000..a046e55 --- /dev/null +++ b/.config/matugen/templates/mango.conf @@ -0,0 +1,15 @@ +rootcolor={{colors.background.dark.hex_stripped}}ff + +bordercolor={{colors.outline_variant.dark.hex_stripped}}ff + +focuscolor={{colors.primary_container.dark.hex_stripped}}ff + +maxmizescreencolor={{colors.secondary.dark.hex_stripped}}ff + +urgentcolor={{colors.error.dark.hex_stripped}}ff + +scratchpadcolor={{colors.tertiary.dark.hex_stripped}}ff + +globalcolor={{colors.secondary_container.dark.hex_stripped}}ff + +overlaycolor={{colors.tertiary_container.dark.hex_stripped}}ff diff --git a/.config/matugen/templates/matugen.obt b/.config/matugen/templates/matugen.obt new file mode 100644 index 0000000..8e40a19 --- /dev/null +++ b/.config/matugen/templates/matugen.obt @@ -0,0 +1,2476 @@ +@OBSThemeMeta { + name: 'Matugen'; + id: 'com.obsproject.matugen'; + author: 'Matugen Generator'; + dark: 'true'; +} + +@OBSThemeVars { + /* --- MATUGEN COLOR MAPPING --- */ + + /* Primary Accents (Blue mapping) */ + --blue1: {{colors.primary_fixed.default.hex}}; + --blue2: {{colors.primary_container.default.hex}}; + --blue3: {{colors.primary.default.hex}}; + --blue4: {{colors.on_primary_container.default.hex}}; + --blue5: {{colors.inverse_primary.default.hex}}; + + /* Error / Danger (Red mapping) */ + --red1: #E85E75; + --red2: {{colors.error_container.default.hex}}; + --red3: {{colors.error.default.hex}}; + --red4: {{colors.on_error_container.default.hex}}; + --red5: #7D1224; + + /* Secondary Accents (Pink mapping -> Secondary) */ + --pink1: {{colors.secondary_fixed.default.hex}}; + --pink2: {{colors.secondary_container.default.hex}}; + --pink3: {{colors.secondary.default.hex}}; + --pink4: {{colors.on_secondary_container.default.hex}}; + /* ИСПРАВЛЕНО: inverse_secondary -> on_secondary (это темный цвет в темной теме) */ + --pink5: {{colors.on_secondary.default.hex}}; + + /* Tertiary Accents (Teal mapping -> Tertiary) */ + --teal1: {{colors.tertiary_fixed.default.hex}}; + --teal2: {{colors.tertiary_container.default.hex}}; + --teal3: {{colors.tertiary.default.hex}}; + --teal4: {{colors.on_tertiary_container.default.hex}}; + /* ИСПРАВЛЕНО: inverse_tertiary -> on_tertiary */ + --teal5: {{colors.on_tertiary.default.hex}}; + + /* Purple mapping */ + --purple1: #997FDC; + --purple2: {{colors.secondary_fixed_dim.default.hex}}; + --purple3: {{colors.secondary.default.hex}}; + --purple4: {{colors.on_secondary_container.default.hex}}; + --purple5: #3D2380; + + /* Green & Yellow (Static) */ + --green1: #59D966; + --green2: #37D247; + --green3: #25A231; + --green4: #1E8528; + --green5: #17641E; + + --yellow1: #EABC48; + --yellow2: #E5AF24; + --yellow3: #B88A16; + --yellow4: #926E11; + --yellow5: #6E520D; + + /* Neutrals / Greys (Surface Mapping) */ + --grey1: {{colors.outline.default.hex}}; + --grey2: {{colors.outline_variant.default.hex}}; + --grey3: {{colors.surface_container_highest.default.hex}}; + --grey4: {{colors.surface_container_high.default.hex}}; + --grey5: {{colors.surface_container.default.hex}}; + --grey6: {{colors.surface.default.hex}}; + --grey7: {{colors.surface_dim.default.hex}}; + --grey8: {{colors.shadow.default.hex}}; + + /* Text */ + --white1: {{colors.on_surface.default.hex}}; + --white2: {{colors.on_surface_variant.default.hex}}; + --white3: {{colors.on_surface_variant.default.hex}}; + --white4: #C2C2C2; + --white5: #ADADAD; + + --black1: {{colors.inverse_surface.default.hex}}; + --black2: #1F1F1F; + --black3: #333333; + --black4: #474747; + --black5: #5C5C5C; + + /* --- Base Theme Logic --- */ + --bg_window: var(--grey7); + --bg_base: var(--grey6); + --bg_preview: var(--grey8); + + --primary: var(--blue3); + --primary_light: var(--blue2); + --primary_lighter: var(--blue1); + --primary_dark: var(--blue4); + --primary_darker: var(--blue5); + + --warning: var(--yellow3); + --danger: var(--red3); + + --text: var(--white1); + --text_light: var(--white2); + --text_muted: var(--grey1); + + --text_disabled: var(--text_muted); + --text_inactive: var(--white2); + + /* Layout */ + --font_base_value: var(--obsFontScale); + --padding_base_value: var(--obsPadding); + --spacing_base_value: calc(2 + calc(var(--obsPadding) / 2)); + + --highlight_width: 1px; + --highlight_color: var(--primary_lighter); + --border_highlight: "transparent"; + + /* OS Fixes */ + --os_mac_font_base_value: calc(1.2 * var(--obsFontScale)); + + --font_base: calc(1pt * var(--font_base_value)); + --font_small: max(7pt, calc(0.8pt * var(--font_base_value))); + --font_xsmall: max(6.25pt, calc(0.85pt * var(--font_base_value))); + --font_large: calc(1.1pt * var(--font_base_value)); + --font_xlarge: calc(1.5pt * var(--font_base_value)); + --font_heading: calc(2.5pt * var(--font_base_value)); + + --icon_base: calc(calc(max(2, var(--obsPadding)) * 1px) + 12px); + --icon_small: calc(4px + var(--font_base_value)); + + --spacing_base: min(max(1px, calc(0.4 * var(--spacing_base_value))), 2px); + --spacing_large: min(max(2px, calc(1px * var(--spacing_base_value))), 4px); + --spacing_small: max(1px, calc(0.25px * var(--spacing_base_value))); + --spacing_title: 4px; + + --padding_base: calc(0.5px * var(--padding_base_value)); + --padding_large: min(max(1px, calc(1px * var(--padding_base_value))), 5px); + --padding_xlarge: min(max(2px, calc(1.75px * var(--padding_base_value))), 10px); + --padding_small: max(0px, calc(0.25px * var(--padding_base_value))); + + --padding_container: max(4px, var(--padding_base)); + --padding_wide: min(calc(12px + max(var(--padding_base_value), 4)), 24px); + --padding_menu: calc(4px + calc(2 * var(--padding_base_value))); + --padding_menubar: max(6px, calc(2px + calc(1.25 * var(--padding_base_value)))); + + --padding_base_border: calc(var(--padding_base) + 1px); + --spinbox_button_height: calc(var(--input_height_half) - 1px); + + --volume_slider: calc(calc(4px + var(--font_base_value)) / 4); + --volume_slider_box: calc(var(--volume_slider) * 4); + --volume_slider_label: calc(var(--volume_slider_box) * 2); + + --scrollbar_size: 12px; + --settings_scrollbar_size: calc(var(--scrollbar_size) + 9px); + --scrollbar_handle: var(--grey4); + --scrollbar_bg: var(--grey6); + --scrollbar_hover: var(--grey3); + --scrollbar_down: var(--grey2); + --scrollbar_border: var(--grey2); + + /* Inputs / Controls */ + --border_color: var(--grey4); + --border_radius: 4px; + --border_radius_small: 2px; + --border_radius_large: 6px; + + --input_font_scale: calc(var(--font_base_value) * 2.2); + --input_font_padding: calc(var(--padding_base_value) * 2); + + --input_height_base: max(calc(var(--input_font_scale) + var(--input_font_padding)), 24); + --input_padding: calc(2px + var(--padding_base)); + --input_text_padding: max(calc(6px + var(--padding_base)), 8px); + --input_height: calc(var(--input_height_base) - calc(var(--input_padding) * 2px)); + --input_height_half: calc(var(--input_height_base) / 2); + + --input_bg: var(--grey4); + --input_bg_hover: var(--grey7); + --input_bg_focus: var(--grey7); + + --list_item_bg_selected: var(--primary); + --list_item_bg_hover: var(--primary_light); + + --input_border: var(--grey1); + --input_border_width: 1px; + --input_border_hover: var(--grey1); + --input_border_focus: var(--primary); + + --spacing_input: var(--spacing_base); + + --button_bg: var(--input_bg); + --button_bg_hover: var(--grey3); + --button_bg_down: var(--grey7); + --button_bg_disabled: var(--grey6); + + --button_border_width: var(--input_border_width); + --button_border: var(--button_bg); + --button_border_hover: var(--grey1); + --button_border_focus: var(--grey1); + + --tab_bg: var(--button_bg_disabled); + --tab_bg_hover: var(--button_bg_hover); + --tab_bg_down: var(--primary); + --tab_bg_disabled: var(--button_bg_disabled); + + --tab_border: var(--border_color); + --tab_border_hover: var(--button_border_hover); + --tab_border_focus: var(--primary_lighter); + --tab_border_selected: var(--primary); + + --tab_padding_base: calc(5px + var(--padding_base)); + --tab_padding_large: calc(9px + var(--padding_base)); + + --preview_scale_width: calc(calc(var(--input_text_padding) * 3.5) * calc(var(--font_base_value) / 10)); + --separator_hover: var(--white1); + + --action_row_base: calc(var(--input_height_base) * 0.75); + --action_row_height: calc(var(--action_row_base) + calc(var(--action_row_padding) * 2)); + --action_row_border: 3px; + --action_row_input_width: calc(var(--action_row_base) * 4); + --action_row_collapse: calc(var(--action_row_base) + var(--padding_large)); + --action_row_collapse_radius: calc(var(--action_row_collapse) / 2); + --action_row_padding: calc(var(--padding_large) * 1.5); + --action_row_padding_x: calc(var(--action_row_padding) * 2); + --action_row_padding_nested: calc(var(--action_row_padding_x) * 1.5); + + --toggle_border: 1; + --toggle_margin: 3; + --toggle_width: calc(var(--action_row_base) * 1.8); + --toggle_height: calc(var(--action_row_base) * 0.9); + --toggle_handle: calc(calc(calc(var(--toggle_height) * 0.9) - calc(var(--toggle_border) * 2)) - var(--toggle_margin)); + --toggle_radius: calc(var(--toggle_height) / 2); + + /* Qt Palette variables */ + --palette_window: var(--bg_window); + --palette_windowText: var(--text); + --palette_base: var(--bg_base); + --palette_light: var(--grey2); + --palette_mid: var(--grey7); + --palette_dark: var(--grey6); + --palette_highlight: var(--primary); + --palette_highlightedText: var(--text); + --palette_text: var(--text); + --palette_link: var(--blue2); + --palette_linkVisited: var(--blue2); + --palette_button: var(--button_bg); + --palette_buttonText: var(--text); + --palette_text_active: var(--text); + --palette_text_disabled: var(--text_disabled); + --palette_text_inactive: var(--text_inactive); +} + +.bg_window { + background-color: var(--bg_window); +} + +.bg-base { + background-color: var(--bg_base); +} + +.text-title { + font-size: var(--font_large); + font-weight: bold; +} + +.text-heading { + font-size: var(--font_heading); + font-weight: bold; +} + +.text-large { + font-size: var(--font_large); +} + +.text-bright { + color: var(--primary_light); +} + +.text-muted { + color: var(--text_muted); +} + +.text-warning { + color: var(--warning); +} + +.text-danger { + color: var(--danger); +} + +.text-success { + color: var(--green3); +} + +.frame-notice { + background: var(--grey8); + border: 1px solid var(--grey6); + border-radius: var(--border_radius); + padding: var(--padding_xlarge) var(--padding_large); +} + +.frame-notice QLabel { + padding: var(--padding_large) 0px; +} + +.dialog-container { + padding: var(--padding_large) var(--padding_xlarge); +} + +.dialog-frame { + background-color: var(--grey6); + border-radius: var(--border_radius); + border: 1px solid var(--border_color); + margin: var(--spacing_base); +} + +.dialog-frame > QWidget { + margin: var(--spacing_base) 0; +} + +.button-primary { + background-color: var(--primary_dark); + border-color: var(--primary); + outline: none; +} + +.button-primary:hover, +.button-primary:focus { + background-color: var(--primary); + border-color: var(--white3); +} + +.button-primary:hover { + border-color: var(--primary_light); +} + +.margin { + margin: var(--spacing_base); +} + +.margin-x { + margin-left: var(--spacing_base); + margin-right: var(--spacing_base); +} + +.margin-left { + margin-left: var(--spacing_base); +} + +.margin-right { + margin-right: var(--spacing_base); +} + +.margin-y { + margin-top: var(--spacing_base); + margin-bottom: var(--spacing_base); +} + +.margin-top { + margin-top: var(--spacing_base); +} + +.margin-bottom { + margin-bottom: var(--spacing_base); +} + +/* Icon Overrides */ + +.icon-plus { + qproperty-icon: url(theme:Dark/plus.svg); +} + +.icon-minus { + qproperty-icon: url(theme:Dark/minus.svg); +} + +.icon-trash { + qproperty-icon: url(theme:Dark/trash.svg); +} + +.icon-clear { + qproperty-icon: url(theme:Dark/entry-clear.svg); +} + +.icon-gear { + qproperty-icon: url(theme:Dark/settings/general.svg); +} + +.icon-dots-vert { + qproperty-icon: url(theme:Dark/dots-vert.svg); +} + +.icon-refresh { + qproperty-icon: url(theme:Dark/refresh.svg); +} + +.icon-cogs { + qproperty-icon: url(theme:Dark/cogs.svg); +} + +.icon-touch { + qproperty-icon: url(theme:Dark/interact.svg); +} + +.icon-up { + qproperty-icon: url(theme:Dark/up.svg); +} + +.icon-down { + qproperty-icon: url(theme:Dark/down.svg); +} + +.icon-pause { + qproperty-icon: url(theme:Dark/media-pause.svg); +} + +.icon-filter { + qproperty-icon: url(theme:Dark/filter.svg); +} + +.icon-revert { + qproperty-icon: url(theme:Dark/revert.svg); +} + +.icon-save { + qproperty-icon: url(theme:Dark/save.svg); +} + +.icon-close { + qproperty-icon: url(theme:Dark/close.svg); +} + +/* Media icons */ + +.icon-media-play { + qproperty-icon: url(theme:Dark/media/media_play.svg); +} + +.icon-media-pause { + qproperty-icon: url(theme:Dark/media/media_pause.svg); +} + +.icon-media-restart { + qproperty-icon: url(theme:Dark/media/media_restart.svg); +} + +.icon-media-stop { + qproperty-icon: url(theme:Dark/media/media_stop.svg); +} + +.icon-media-next { + qproperty-icon: url(theme:Dark/media/media_next.svg); +} + +.icon-media-prev { + qproperty-icon: url(theme:Dark/media/media_previous.svg); +} + +/* Default widget style, we override only what is needed. */ + +QWidget { + alternate-background-color: var(--bg_base); + color: var(--text); + selection-background-color: var(--primary); + selection-color: var(--text); + font-size: var(--font_base); + font-family: 'Open Sans', '.AppleSystemUIFont', Helvetica, Arial, 'MS Shell Dlg', sans-serif; +} + +QWidget:disabled { + color: var(--text_disabled); +} + +/* Container windows */ + +QDialog, +QMainWindow, +QStatusBar, +QMenuBar, +QMenu { + background-color: var(--bg_window); +} + +/* macOS Separator Fix */ + +QMainWindow::separator { + background: transparent; + width: var(--spacing_large); + height: var(--spacing_large); + margin: 0px; +} + +QMainWindow::separator:hover { + border: 1px solid var(--separator_hover); + margin: 1px; +} + +/* General Widgets */ + +QLabel, +QGroupBox, +QCheckBox { + background: transparent; +} + +QComboBox, +QCheckBox, +QPushButton, +QSpinBox, +QDoubleSpinBox { + margin-top: var(--spacing_input); + margin-bottom: var(--spacing_input); +} + +QListView QWidget, +QListWidget QWidget { + margin-top: 0; + margin-bottom: 0; +} + +* [frameShape="1"], +* [frameShape="2"], +* [frameShape="3"], +* [frameShape="4"], +* [frameShape="5"], +* [frameShape="6"] { + border: 1px solid var(--bg_base); +} + +QCheckBox, +QGroupBox, +QMenuBar, +QRadioButton { + spacing: var(--spacing_small); +} + +/* Misc */ + +QAbstractItemView { + background-color: var(--bg_base); +} + +QToolTip { + background-color: var(--bg_base); + color: var(--text); + border: none; +} + +QProgressBar { + text-align: center; + border-radius: 4px; + border-top: 2px solid transparent; +} + +QProgressBar::chunk { + background: var(--blue3); + border-top: 1px solid var(--blue2); + border-bottom: 2px solid var(--blue4); + border-radius: var(--border_radius_small); +} + +/* Context Menu */ + +QMenu::indicator { + left: var(--padding_large); +} + +QMenu::icon { + left: var(--padding_xlarge); +} + +QMenu::separator { + background: var(--border_color); + height: 1px; + margin: var(--spacing_base) var(--spacing_large); +} + +QMenu::item:disabled { + color: var(--text_disabled); + background: transparent; +} + +QMenu::right-arrow { + image: url(theme:Dark/expand.svg); +} + +/* Top Menu Bar Items */ +QMenuBar::item { + background-color: transparent; + padding: var(--padding_large) var(--padding_menubar); +} + +QMenuBar::item:selected { + background: var(--primary); +} + +/* Item Lists */ +QListWidget { + border-radius: var(--border_radius); +} + +QListWidget::item { + color: var(--text); +} + +QListView, +QListWidget, +QMenu { + padding: var(--spacing_base); + outline: none; +} + +QMenu { + border: 1px solid var(--border_color); +} + +QListWidget::item, +SourceTreeItem { + padding: var(--padding_large) var(--padding_large); +} + +QMenu::item { + padding: var(--padding_large) var(--padding_menu); + padding-right: 20px; +} + +QListView::item, +QListWidget::item, +QMenu::item { + border-radius: var(--border_radius); + color: var(--text); + border: 1px solid transparent; +} + +SourceTreeItem { + border-radius: var(--border_radius); + color: var(--text); +} + +/* Temporary fix for plugins affected by fix in #11555 */ +QListView::item, +QListWidget::item, +SourceTreeItem { + min-height: var(--padding_menu); +} + +SourceTreeItem .checkbox-icon { + margin-right: 0; + margin-left: var(--spacing_large); +} + +SourceTree .indicator-expand { + margin-right: var(--spacing_large); + margin-left: 0; +} + +QMenu::item:selected, +QListView::item:selected, +QListWidget::item:selected { + background-color: var(--primary); + border-color: var(--primary_light); +} + +QMenu::item:hover, +QListView::item:hover, +QListWidget::item:hover { + background: var(--grey4); + border: 1px solid var(--grey3); +} + +QMenu::item:focus, +QListView::item:focus, +QListWidget::item:focus, +QMenu::item:selected:focus, +QListView::item:selected:focus, +QListWidget::item:selected:focus { + border: 1px solid var(--white3); +} + +QMenu::item:selected:hover, +QListView::item:selected:hover, +QListWidget::item:selected:hover { + background: var(--primary_light); + border: 1px solid var(--primary_lighter); + color: var(--text); +} + +QListView::item:disabled, +QListView::item:disabled:hover, +QListWidget::item:disabled, +QListWidget::item:disabled:hover { + background: transparent; + color: var(--text_disabled); +} + +QListView QLineEdit, +QListWidget QLineEdit { + padding: 0; + padding-bottom: 1px; + margin: 0; + border: var(--input_border_width) solid var(--white1); + border-radius: var(--border_radius); +} + +QListView QLineEdit:focus, +QListWidget QLineEdit:focus { + border: 1px solid var(--grey1); +} + +/* Settings QList */ + +OBSBasicSettings QScrollBar:vertical { + width: var(--settings_scrollbar_size); + margin-left: 9px; +} + +OBSBasicSettings QScrollBar:horizontal { + height: var(--settings_scrollbar_size); +} + +/* Settings properties view */ +OBSBasicSettings #PropertiesContainer { + background-color: var(--bg_base); +} + +/* Dock Widget */ +OBSDock > QWidget { + background: var(--bg_base); + border-bottom-left-radius: var(--border_radius); + border-bottom-right-radius: var(--border_radius); + border: 1px solid var(--border_color); + border-top: none; +} + +OBSDock QToolBar { + padding: 1px; + margin: 0px; + border-top: 1px solid var(--border_color); + spacing: 0; +} + +OBSDock QToolBar::separator { + background: transparent; + width: var(--spacing_large); + border: none; +} + +OBSDock QToolBar QToolButton { + background: transparent; + border: 1px solid transparent; + margin: 1px; + margin-top: 2px; + padding: var(--padding_large); + max-width: var(--icon_small); + max-height: var(--icon_small); +} + +OBSDock QToolBar QToolButton:hover { + border-color: var(--grey1); +} + +OBSDock QToolBar QToolButton:disabled { + background: var(--grey7); +} + +#transitionsFrame { + padding: var(--padding_container); +} + +OBSDock QLabel { + background: transparent; +} + +QDockWidget { + font-size: var(--font_base); + font-weight: bold; + + titlebar-close-icon: url(theme:Dark/close.svg); + titlebar-normal-icon: url(theme:Dark/popout.svg); +} + +QDockWidget::title { + text-align: left; + background-color: var(--button_bg); + padding: var(--padding_large); + border-top-left-radius: var(--border_radius); + border-top-right-radius: var(--border_radius); +} + +QDockWidget::close-button, +QDockWidget::float-button { + border: none; + border-radius: var(--border_radius); + background: transparent; + margin-right: 1px; + min-width: var(--icon_base); + min-height: var(--icon_base); + icon-size: var(--icon_base); + padding: var(--padding_base); +} + +QDockWidget::close-button:hover, +QDockWidget::float-button:hover { + background: var(--button_bg_hover); +} + +QDockWidget::close-button:pressed, +QDockWidget::float-button:pressed { + background: var(--button_bg_down); + padding: 1px -1px -1px 1px; +} + +QAbstractScrollArea { + border-radius: var(--border_radius); +} + +/* ScrollAreaContents */ +QScrollArea > QWidget > QWidget { + background: transparent; +} + +/* Qt enforces a padding inside its status bar, so we + * oversize it and use margin to crunch it back down + */ +OBSBasicStatusBar { + margin-top: var(--spacing_large); + border-top: 1px solid var(--border_color); + background: var(--bg_base); +} + +StatusBarWidget > QFrame { + border: 0px solid var(--border_color); + border-left-width: 1px; + padding: 0px var(--padding_xlarge) var(--padding_small); +} + +/* Group Box */ + +QGroupBox { + background: var(--bg_base); + border-radius: var(--border_radius); + padding-top: var(--input_height_base); + padding-bottom: var(--padding_large); + font-weight: bold; + margin-bottom: var(--spacing_large); +} + +QGroupBox::title { + subcontrol-origin: margin; + left: var(--spacing_title); + top: var(--spacing_title); +} + + +/* ScrollBars */ + +QScrollBar { + background-color: var(--scrollbar_bg); + margin: 0px; + border-radius: var(--border_radius); + border: 1px solid var(--grey6); +} + +::corner { + background-color: var(--bg_window); + border: none; +} + +QScrollBar:vertical { + width: var(--scrollbar_size); +} + +QScrollBar::add-line:vertical, +QScrollBar::sub-line:vertical { + border: none; + background: none; + height: 0px; +} + +QScrollBar::up-arrow:vertical, +QScrollBar::down-arrow:vertical, +QScrollBar::add-page:vertical, +QScrollBar::sub-page:vertical { + border: none; + background: none; + color: none; +} + +QScrollBar:horizontal { + height: var(--scrollbar_size); +} + +QScrollBar::add-line:horizontal, +QScrollBar::sub-line:horizontal { + border: none; + background: none; + width: 0px; +} + +QScrollBar::left-arrow:horizontal, +QScrollBar::right-arrow:horizontal, +QScrollBar::add-page:horizontal, +QScrollBar::sub-page:horizontal { + border: none; + background: none; + color: none; +} + +QScrollBar::handle { + background-color: var(--scrollbar_handle); + margin: 2px; + border-radius: var(--border_radius_small); + border: 1px solid var(--scrollbar_handle); +} + +QScrollBar::handle:hover { + background-color: var(--scrollbar_hover); + border-color: var(--scrollbar_border); +} + +QScrollBar::handle:pressed { + background-color: var(--scrollbar_down); + border-color: var(--scrollbar_down); +} + +QScrollBar::handle:vertical { + min-height: 32px; +} + +QScrollBar::handle:horizontal { + min-width: 32px; +} + +QScrollBar::handle:disabled { + background: transparent; + border-color: transparent; +} + +OBSDock QScrollBar { + border-radius: 0; +} + +OBSDock QListWidget::corner { + background: transparent; + border-top: 1px solid var(--border_color); + border-left: 1px solid var(--border_color); +} + +OBSDock QScrollBar:horizontal { + border-top: 1px solid var(--border_color); +} + +OBSDock QScrollBar:vertical { + border-left: 1px solid var(--border_color); +} + +/* Source Context Bar */ + +#contextContainer { + background-color: var(--bg_base); + margin-top: 4px; + border-radius: var(--border_radius); +} + +#contextContainer QPushButton { + padding-left: 12px; + padding-right: 12px; +} + +QPushButton#sourcePropertiesButton { + qproperty-icon: url(theme:Dark/settings/general.svg); + icon-size: var(--icon_base); +} + +QPushButton#sourceFiltersButton { + qproperty-icon: url(theme:Dark/filter.svg); + icon-size: var(--icon_base); +} + +/* Scenes and Sources toolbar */ + +QToolBar { + background-color: transparent; + border: none; + margin: var(--spacing_base) 0px; + spacing: var(--spacing_base); +} + +QToolBarExtension { + background: var(--button_bg); + min-width: 12px; + max-width: 12px; + padding: 4px 0px; + margin-left: 0px; + + qproperty-icon: url(theme:Dark/dots-vert.svg); +} + + +/* Tab Widget */ + +/* The tab widget frame */ +QTabWidget::pane { + border-top: 4px solid var(--tab_bg); +} + +QTabBar { + outline: none; +} + +QTabWidget::tab-bar { + alignment: left; +} + +QTabBar QToolButton { + background: var(--button_bg); + border: none; +} + +QTabBar::tab:top { + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} + +QTabBar::tab:bottom { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} + +QTabBar::tab { + background: var(--tab_bg); + color: var(--text); + border: none; + padding: var(--tab_padding_base) var(--tab_padding_large); + min-width: 50px; + margin: 1px 0px; + margin-right: 2px; + border: 1px solid var(--tab_border); +} + +QTabBar::tab:pressed { + background: var(--tab_bg_down); +} + +QTabBar::tab:hover { + background: var(--tab_bg_hover); + border-color: var(--tab_border_hover); + color: var(--text); +} + +QTabBar::tab:focus { + border-color: var(--tab_border_focus); +} + +QTabBar::tab:selected { + background: var(--tab_bg_down); + color: var(--text); +} + +QTabBar::tab:top { + border-bottom: 0px solid transparent; + margin-bottom: 0px; +} + +QTabBar::tab:bottom { + border-top: 0px solid transparent; + margin-top: 0px; +} + +QTabBar QToolButton { + background: var(--button_bg); + min-width: 16px; + padding: 0px; +} + +/* ComboBox */ + +QComboBox, +QDateTimeEdit { + background-color: var(--input_bg); + border: 1px solid var(--input_bg); + border-radius: var(--border_radius); + padding: var(--input_padding) var(--input_text_padding); + height: var(--input_height); +} + +QComboBox QAbstractItemView { + padding: var(--spacing_base) var(--spacing_large); + border: 1px solid var(--border_color); + outline: none; +} + +QComboBox QAbstractItemView::item { + padding: var(--padding_large) var(--padding_xlarge); +} + +QComboBox QAbstractItemView::item:selected, +QComboBox QAbstractItemView::item:hover { + background-color: var(--list_item_bg_selected); +} + +QComboBox:hover, +QComboBox:focus, +QDateTimeEdit:hover, +QDateTimeEdit:selected { + border-color: var(--input_border_hover); +} + +QComboBox:on { + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; +} + +QComboBox::drop-down, +QDateTimeEdit::drop-down { + border: none; + border-left: 1px solid var(--grey6); + width: var(--input_height); +} + +QComboBox::down-arrow, +QDateTimeEdit::down-arrow { + qproperty-alignment: AlignTop; + image: url(theme:Dark/collapse.svg); + width: 100%; +} + +QComboBox:editable:hover { + background-color: var(--input_bg_hover); + border-color: var(--input_border_hover); +} + +QComboBox:on, +QDateTimeEdit:on, +QComboBox:editable:focus { + background-color: var(--input_bg_focus); + border-color: var(--input_border_focus); +} + +QComboBox::drop-down:editable, +QDateTimeEdit::drop-down:editable { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +QComboBox::down-arrow:editable, +QDateTimeEdit::down-arrow:editable { + qproperty-alignment: AlignTop; + image: url(theme:Dark/collapse.svg); + width: 100%; +} + +/* Textedits etc */ + +QLineEdit, +QTextEdit, +QPlainTextEdit { + background-color: var(--input_bg); + border: none; + border-radius: var(--border_radius); + padding: var(--input_padding) var(--input_text_padding); + border: 1px solid var(--input_bg); + height: var(--input_height); +} + +QLineEdit:hover, +QTextEdit:hover, +QPlainTextEdit:hover { + background-color: var(--input_bg_hover); + border-color: var(--input_border_hover); +} + +QLineEdit:focus, +QTextEdit:focus, +QPlainTextEdit:focus { + background-color: var(--input_bg_focus); + border-color: var(--input_border_focus); +} + +QLineEdit:read-only, +QLineEdit:read-only:hover, +QLineEdit:read-only:focus { + background-color: transparent; + border-color: var(--input_bg); +} + +QTextEdit:!editable, +QTextEdit:!editable:hover, +QTextEdit:!editable:focus { + background-color: var(--input_bg); +} + +/* Spinbox and doubleSpinbox */ + +QSpinBox, +QDoubleSpinBox { + background-color: var(--input_bg); + border: var(--input_border_width) solid var(--input_bg); + border-radius: var(--border_radius); + padding: var(--input_padding) var(--input_text_padding); + height: var(--input_height); + max-height: var(--input_height); +} + +QSpinBox:hover, +QDoubleSpinBox:hover { + background-color: var(--input_bg_hover); + border-color: var(--input_border_hover); +} + +QSpinBox:focus, +QDoubleSpinBox:focus { + background-color: var(--input_bg_focus); + border-color: var(--input_border_focus); +} + +QSpinBox::up-button, +QDoubleSpinBox::up-button { + subcontrol-origin: padding; + /* position at the top right corner */ + subcontrol-position: top right; + + width: var(--input_height); + height: var(--spinbox_button_height); + border-left: 1px solid var(--grey6); + border-bottom: 1px solid transparent; + border-radius: 0px; + border-top-right-radius: var(--border_radius_small); +} + +QSpinBox::down-button, +QDoubleSpinBox::down-button { + subcontrol-origin: padding; + /* position at the top right corner */ + subcontrol-position: bottom right; + + width: var(--input_height); + height: var(--spinbox_button_height); + border-left: 1px solid var(--grey6); + border-top: 1px solid var(--grey6); + border-radius: 0px; + border-bottom-right-radius: var(--border_radius_small); +} + +QSpinBox::up-button:hover, +QSpinBox::down-button:hover, +QDoubleSpinBox::up-button:hover, +QDoubleSpinBox::down-button:hover { + background-color: var(--button_bg_hover); +} + +QSpinBox::up-button:pressed, +QSpinBox::down-button:pressed, +QDoubleSpinBox::up-button:pressed, +QDoubleSpinBox::down-button:pressed { + background-color: var(--button_bg_down); +} + +QSpinBox::up-button:disabled, +QSpinBox::up-button:off, +QSpinBox::down-button:disabled, +QSpinBox::down-button:off { + background-color: var(--button_bg_disabled); +} + +QDoubleSpinBox::up-button:disabled, +QDoubleSpinBox::up-button:off, +QDoubleSpinBox::down-button:disabled, +QDoubleSpinBox::down-button:off { + background-color: var(--button_bg_disabled); +} + +QSpinBox::up-arrow, +QDoubleSpinBox::up-arrow { + image: url(theme:Dark/up.svg); + width: 100%; + margin: 2px; +} + +QSpinBox::down-arrow, +QDoubleSpinBox::down-arrow { + image: url(theme:Dark/down.svg); + width: 100%; + padding: 2px; +} + +/* Controls Dock */ +#controlsFrame { + padding: var(--padding_container); +} + +#controlsFrame QPushButton { + margin: var(--spacing_base) var(--spacing_small); +} + +#streamButton, +#recordButton, +#replayBufferButton, +#broadcastButton { + padding: var(--padding_large); +} + +#pauseRecordButton, +#saveReplayButton, +#virtualCamConfigButton { + padding: var(--padding_large) var(--padding_large); + width: var(--input_height); + max-width: var(--input_height); +} + +/* Primary Control Button Checked Coloring */ +#streamButton:!hover:!pressed.state-active, +#recordButton:!hover:!pressed.state-active, +#pauseRecordButton:!hover:!pressed.state-active, +#replayBufferButton:!hover:!pressed.state-active, +#virtualCamButton:!hover:!pressed.state-active, +#modeSwitch:!hover:!pressed.state-active, +#broadcastButton:!hover:!pressed.state-active { + background: var(--primary); +} + +/* Primary Control Button Hover Coloring */ +#streamButton:hover:!pressed.state-active, +#recordButton:hover:!pressed.state-active, +#pauseRecordButton:hover:!pressed.state-active, +#replayBufferButton:!pressed.state-active, +#virtualCamButton:!pressed.state-active, +#modeSwitch:hover:!pressed.state-active, +#broadcastButton:hover:!pressed.state-active { + background: var(--primary_light); + color: var(--text); +} + + +/* Buttons */ + +QPushButton { + background-color: var(--button_bg); + color: var(--text); + border: 1px solid var(--button_border); + border-radius: var(--border_radius); + height: var(--input_height); + max-height: var(--input_height); + margin-top: var(--spacing_input); + margin-bottom: var(--spacing_input); + padding: var(--input_padding) var(--padding_wide); + icon-size: var(--icon_base); + outline: none; +} + +QPushButton:hover { + background-color: var(--button_bg_hover); +} + +QPushButton:hover, +QPushButton:focus { + border-color: var(--button_border_hover); +} + +QPushButton::flat { + background-color: var(--button_bg); +} + +QPushButton:checked { + background-color: var(--primary); + border-color: var(--primary_light); +} + +QPushButton:checked:hover, +QPushButton:checked:focus { + border-color: var(--primary_lighter); +} + +QPushButton:pressed, +QPushButton:pressed:hover { + background-color: var(--button_bg_down); + border-color: var(--button_border); +} + +QPushButton:disabled { + background-color: var(--button_bg_disabled); + border-color: var(--button_border); +} + +QPushButton::menu-indicator { + image: url(theme:Dark/down.svg); + subcontrol-position: right; + subcontrol-origin: padding; + width: 25px; +} + +QToolButton { + border: 1px solid var(--button_border); +} + +QToolButton, +.btn-tool { + background-color: var(--button_bg); + padding: var(--padding_base) var(--padding_base); + margin: 0px 0px; + border: 1px solid var(--button_border); + border-radius: var(--border_radius); + icon-size: var(--icon_base); +} + +QToolButton:last-child, +.btn-tool:last-child { + margin-right: 0px; +} + +QToolButton:hover, +QToolButton:focus, +.btn-tool:hover, +.btn-tool:focus, +.indicator-mute::indicator:hover, +.indicator-mute::indicator:focus { + border-color: var(--button_border); + background-color: var(--button_bg_hover); +} + +QToolButton:pressed, +QToolButton:pressed:hover, +.btn-tool:pressed, +.btn-tool:pressed:hover { + background-color: var(--button_bg_down); + border-color: var(--button_border); +} + +QToolButton:disabled, +.btn-tool:disabled { + background-color: var(--button_bg_disabled); + border-color: transparent; +} + +/* Sliders */ + +QSlider::groove { + background-color: var(--grey4); + border: none; + border-radius: 2px; +} + +QSlider::groove:horizontal { + height: 4px; +} + +QSlider::groove:vertical { + width: 4px; +} + +QSlider::sub-page:horizontal { + background-color: var(--blue2); + border-radius: 2px; +} + +QSlider::sub-page:horizontal:disabled { + background-color: var(--grey4); + border-radius: 2px; +} + +QSlider::add-page:horizontal:disabled { + background-color: var(--grey7); + border-radius: 2px; +} + +QSlider::add-page:vertical { + background-color: var(--blue2); + border-radius: 2px; +} + +QSlider::add-page:vertical:disabled { + background-color: var(--grey4); + border-radius: 2px; +} + +QSlider::sub-page:vertical:disabled { + background-color: var(--grey7); + border-radius: 2px; +} + +QSlider::handle { + background-color: var(--white1); + border-radius: var(--border_radius); +} + +QSlider::handle:horizontal { + height: 10px; + width: 20px; + /* Handle is placed by default on the contents rect of the groove. Expand outside the groove */ + margin: -3px 0; +} + +QSlider::handle:vertical { + width: 10px; + height: 20px; + /* Handle is placed by default on the contents rect of the groove. Expand outside the groove */ + margin: 0 -3px; +} + +QSlider::handle:hover { + background-color: var(--white4); +} + +QSlider::handle:pressed { + background-color: var(--white3); +} + +QSlider::handle:disabled { + background-color: var(--white5); +} + +/* Volume Control */ + +#stackedMixerArea QPushButton { + width: var(--icon_base); + height: var(--icon_base); + background-color: var(--button_bg); + padding: var(--padding_base_border) var(--padding_base_border); + margin: 0px; + border: var(--highlight_width) solid var(--button_border); + border-radius: var(--border_radius); + icon-size: var(--icon_base); +} + +/* This is an incredibly cursed but necessary fix */ +#stackedMixerArea QPushButton:!hover { + background-color: var(--button_bg); +} + +#stackedMixerArea QPushButton:hover { + background-color: var(--button_bg_hover); + border-color: var(--button_border_hover); +} + +#stackedMixerArea QPushButton:pressed { + background-color: var(--button_bg_down); +} + +#stackedMixerArea { + border: none; + padding: 0px; +} + +VolControl { + background: var(--bg_base); +} + +VolControl QLabel { + font-size: var(--font_small); + margin: var(--spacing_small) 0px; +} + +VolControl #volLabel { + padding: var(--padding_base) 0px var(--padding_base); + text-align: center; + font-size: var(--font_base); + color: var(--text_muted); +} + +/* Horizontal Mixer */ +#hMixerScrollArea VolControl { + padding: 0px var(--padding_xlarge) var(--padding_base); + border-bottom: 1px solid var(--border_color); +} + +#hMixerScrollArea VolControl QSlider { + margin: 0px 0px var(--padding_base); +} + +#hMixerScrollArea VolControl QSlider::groove:horizontal { + background: var(--bg_window); + height: var(--volume_slider); +} + +/* Vertical Mixer */ +#vMixerScrollArea VolControl { + padding: var(--padding_container) 0px var(--padding_container); + border-right: 1px solid var(--border_color); +} + +#vMixerScrollArea VolControl QSlider { + width: var(--volume_slider_box); + margin: 0px var(--padding_xlarge); +} + +#vMixerScrollArea VolControl #volLabel { + padding: var(--padding_base) 0px var(--padding_base); + min-width: var(--volume_slider_label); + margin-left: var(--padding_xlarge); + text-align: center; +} + +#vMixerScrollArea VolControl QSlider::groove:vertical { + background: var(--bg_window); + width: var(--volume_slider); +} + +#vMixerScrollArea VolControl #volMeterFrame { + padding: var(--padding_large) var(--padding_xlarge) var(--padding_large) 0px; +} + +#vMixerScrollArea VolControl QLabel { + padding: 0px var(--padding_large); +} + +#vMixerScrollArea VolControl QPushButton { + margin-left: var(--spacing_base); + margin-right: var(--padding_xlarge); +} + +#vMixerScrollArea VolControl .indicator-mute { + margin-left: var(--padding_xlarge); +} + +VolumeMeter { + background: transparent; +} + +VolumeMeter { + qproperty-backgroundNominalColor: var(--green5); + qproperty-backgroundWarningColor: var(--yellow5); + qproperty-backgroundErrorColor: var(--red5); + qproperty-foregroundNominalColor: var(--green2); + qproperty-foregroundWarningColor: var(--yellow2); + qproperty-foregroundErrorColor: var(--red2); + qproperty-magnitudeColor: rgb(0, 0, 0); + qproperty-majorTickColor: var(--white1); + qproperty-minorTickColor: var(--grey1); +} + +/* Status Bar */ + +QStatusBar::item { + border: none; +} + +/* Table View */ + +QTableView { + background: var(--bg_base); + gridline-color: var(--grey1); +} + +QTableView::item { + margin: 0px; + padding: 0px; +} + +QTableView QLineEdit { + background: var(--input_bg_focus); + padding: 0; + margin: 0; +} + +QTableView QPushButton, +QTableView QToolButton { + padding: 0px; + margin: -1px; + border-radius: 0px; +} + +QHeaderView::section { + background-color: var(--button_bg); + color: var(--text); + border: none; + border-left: 1px solid var(--bg_window); + border-right: 1px solid var(--bg_window); + padding: 3px 0px; + margin-bottom: 2px; +} + +/* Canvas / Preview background color */ + +OBSQTDisplay { + qproperty-displayBackgroundColor: var(--bg_preview); +} + +/* Filters Window */ + +OBSBasicFilters #widget, +OBSBasicFilters #widget_2 { + margin: 0px; + padding: 0px; + padding-bottom: var(--padding_base); +} + +OBSBasicFilters #widget QPushButton, +OBSBasicFilters #widget_2 QPushButton { + min-width: 16px; + padding: var(--padding_base) var(--padding_large); + margin-top: 0px; +} + +/* Preview/Program labels */ + +.label-preview-title { + font-size: var(--font_xlarge); + font-weight: bold; + color: var(--text_light); + margin-bottom: 4px; +} + +/* Settings Icons */ + +OBSBasicSettings { + qproperty-generalIcon: url(theme:Dark/settings/general.svg); + qproperty-appearanceIcon: url(theme:Dark/settings/appearance.svg); + qproperty-streamIcon: url(theme:Dark/settings/stream.svg); + qproperty-outputIcon: url(theme:Dark/settings/output.svg); + qproperty-audioIcon: url(theme:Dark/settings/audio.svg); + qproperty-videoIcon: url(theme:Dark/settings/video.svg); + qproperty-hotkeysIcon: url(theme:Dark/settings/hotkeys.svg); + qproperty-accessibilityIcon: url(theme:Dark/settings/accessibility.svg); + qproperty-advancedIcon: url(theme:Dark/settings/advanced.svg); +} + +/* Checkboxes */ + +QCheckBox::indicator, +QGroupBox::indicator, +QTableView::indicator { + width: var(--icon_base); + height: var(--icon_base); + margin-right: var(--spacing_large); +} + +QGroupBox::indicator { + margin-left: 2px; +} + +QCheckBox::indicator:unchecked, +QGroupBox::indicator:unchecked, + + +QCheckBox::indicator:unchecked:hover, +QGroupBox::indicator:unchecked:hover, + + +QCheckBox::indicator:checked, +QGroupBox::indicator:checked, + + +QCheckBox::indicator:checked:hover, +QGroupBox::indicator:checked:hover, + + +QCheckBox::indicator:checked:disabled, +QGroupBox::indicator:checked:disabled, + + +QCheckBox::indicator:unchecked:disabled, +QGroupBox::indicator:unchecked:disabled, + + +/* Icon Checkboxes */ +.checkbox-icon { + outline: none; + background: transparent; + max-width: var(--icon_base); + max-height: var(--icon_base); + padding: var(--padding_base); + margin-right: var(--spacing_large); + border: var(--highlight_width) solid transparent; + border-radius: var(--border_radius); +} + +.checkbox-icon::indicator { + width: var(--icon_base); + height: var(--icon_base); +} + +.checkbox-icon:hover, +.checkbox-icon:focus { + border-color: var(--primary_lighter); +} + +/* Locked CheckBox */ + +.indicator-lock::indicator:checked, +.indicator-lock::indicator:checked:hover { + image: url(theme:Dark/locked.svg); +} + +.indicator-lock::indicator:unchecked, +.indicator-lock::indicator:unchecked:hover { + image: url(:res/images/unlocked.svg); +} + +/* Visibility CheckBox */ + +.indicator-visibility::indicator:checked, +.indicator-visibility::indicator:checked:hover { + image: url(theme:Dark/visible.svg); +} + +.indicator-visibility::indicator:unchecked, +.indicator-visibility::indicator:unchecked:hover { + image: url(:res/images/invisible.svg); +} + +/* Mute CheckBox */ + +.indicator-mute { + outline: none; +} + +.indicator-mute::indicator, +.indicator-mute::indicator:unchecked { + width: var(--icon_base); + height: var(--icon_base); + background-color: var(--button_bg); + padding: var(--padding_base_border) var(--padding_base_border); + margin: 0px; + border: var(--highlight_width) solid var(--button_border); + border-radius: var(--border_radius); + icon-size: var(--icon_base); +} + +.indicator-mute::indicator:hover, +.indicator-mute::indicator:unchecked:hover { + background-color: var(--button_bg_hover); + padding: var(--padding_base_border) var(--padding_base_border); + margin: 0px; + border: var(--highlight_width) solid var(--button_border_hover); + icon-size: var(--icon_base); +} + +.indicator-mute::indicator:pressed, +.indicator-mute::indicator:pressed:hover { + background-color: var(--button_bg_down); + border-color: var(--button_border); +} + +.indicator-mute::indicator:checked { + image: url(theme:Dark/mute.svg); +} + +.indicator-mute::indicator:indeterminate { + image: url(theme:Dark/unassigned.svg); +} + +.indicator-mute::indicator:unchecked { + image: url(theme:Dark/settings/audio.svg); +} + +.indicator-mute::indicator:unchecked:hover { + image: url(theme:Dark/settings/audio.svg); +} + +.indicator-mute::indicator:unchecked:focus { + image: url(theme:Dark/settings/audio.svg); +} + +.indicator-mute::indicator:checked:hover { + image: url(theme:Dark/mute.svg); +} + +.indicator-mute::indicator:checked:focus { + image: url(theme:Dark/mute.svg); +} + +.indicator-mute::indicator:checked:disabled { + image: url(theme:Dark/mute.svg); +} + +.indicator-mute::indicator:unchecked:disabled { + image: url(theme:Dark/settings/audio.svg); +} + +#hotkeyFilterReset { + margin-top: 0px; +} + +OBSHotkeyWidget { + padding: 8px 0px; + margin: 2px 0px; +} + +OBSHotkeyLabel { + padding: 4px 0px; +} + +OBSHotkeyWidget QPushButton { + min-width: 16px; + padding: var(--padding_base); + margin-top: 0px; + margin-left: var(--spacing_base); +} + + +/* Sources List Group Collapse Checkbox */ + +.indicator-expand::indicator:checked, +.indicator-expand::indicator:checked:hover { + image: url(theme:Dark/expand.svg); +} + +.indicator-expand::indicator:unchecked, +.indicator-expand::indicator:unchecked:hover { + image: url(theme:Dark/collapse.svg); +} + +/* Source Icons */ + +.source-icon { + margin-right: var(--spacing_large); +} + +OBSBasic { + qproperty-imageIcon: url(theme:Dark/sources/image.svg); + qproperty-colorIcon: url(theme:Dark/sources/brush.svg); + qproperty-slideshowIcon: url(theme:Dark/sources/slideshow.svg); + qproperty-audioInputIcon: url(theme:Dark/sources/microphone.svg); + qproperty-audioOutputIcon: url(theme:Dark/settings/audio.svg); + qproperty-desktopCapIcon: url(theme:Dark/settings/video.svg); + qproperty-windowCapIcon: url(theme:Dark/sources/window.svg); + qproperty-gameCapIcon: url(theme:Dark/sources/gamepad.svg); + qproperty-cameraIcon: url(theme:Dark/sources/camera.svg); + qproperty-textIcon: url(theme:Dark/sources/text.svg); + qproperty-mediaIcon: url(theme:Dark/sources/media.svg); + qproperty-browserIcon: url(theme:Dark/sources/globe.svg); + qproperty-groupIcon: url(theme:Dark/sources/group.svg); + qproperty-sceneIcon: url(theme:Dark/sources/scene.svg); + qproperty-defaultIcon: url(theme:Dark/sources/default.svg); + qproperty-audioProcessOutputIcon: url(theme:Dark/sources/windowaudio.svg); +} + +/* Scene Tree Grid Mode */ + +SceneTree { + qproperty-gridItemWidth: 154; + qproperty-gridItemHeight: var(--input_height_base); +} + +.list-grid SceneTree::item { + color: var(--text); + background-color: var(--button_bg); + border-radius: var(--border_radius); + margin: var(--spacing_base); +} + +.list-grid SceneTree::item:selected { + background-color: var(--list_item_bg_selected); +} + +.list-grid SceneTree::item:checked { + background-color: var(--primary); +} + +.list-grid SceneTree::item:hover { + background-color: var(--list_item_bg_hover); +} + +.list-grid SceneTree::item:selected:hover { + background-color: var(--list_item_bg_hover); +} + +/* Studio Mode T-Bar */ + +.slider-tbar { + height: 24px; +} + +.slider-tbar::groove:horizontal { + height: 8px; +} + +.slider-tbar::sub-page:horizontal { + background: var(--blue2); +} + +.slider-tbar::handle:horizontal { + width: 12px; + height: 24px; + margin: -24px 0px; +} + +/* YouTube Integration */ +OBSYoutubeActions { + qproperty-thumbPlaceholder: url(theme:Dark/sources/image.svg); +} + +#ytEventList QLabel { + color: var(--text); + background-color: var(--button_bg); + border: none; + border-radius: var(--border_radius); + padding: 4px 20px; +} + +#ytEventList QLabel:hover { + background-color: var(--button_bg_hover); +} + +#ytEventList .row-selected { + background-color: var(--primary); + border: none; +} + +#ytEventList .row-selected:hover { + background-color: var(--primary_light); + color: var(--text); +} + +/* Calendar Widget */ +QDateTimeEdit::down-arrow { + qproperty-alignment: AlignTop; + image: url(theme:Dark/down.svg); + width: 100%; +} + +QDateTimeEdit:on { + background-color: var(--grey7); +} + +/* Calendar Top Bar */ +QCalendarWidget QWidget#qt_calendar_navigationbar { + background-color: var(--bg_base); + padding: var(--padding_base) var(--padding_large); +} + +/* Calendar Top Bar Buttons */ +QCalendarWidget QToolButton { + background-color: var(--button_bg); + padding: 2px 16px; + border-radius: var(--border_radius); + margin: var(--spacing_base); +} + +#qt_calendar_monthbutton::menu-indicator { + image: url(theme:Dark/down.svg); + subcontrol-position: right; + padding-top: var(--padding_small); + padding-right: var(--padding_base); + height: 10px; + width: 10px; +} + +QCalendarWidget #qt_calendar_prevmonth { + padding: var(--padding_small); + qproperty-icon: url(theme:Dark/left.svg); + icon-size: var(--icon_base); +} + +QCalendarWidget #qt_calendar_nextmonth { + padding: var(--padding_small); + qproperty-icon: url(theme:Dark/right.svg); + icon-size: var(--icon_base); +} + +QCalendarWidget QToolButton:hover { + background-color: var(--button_bg_hover); + border-radius: var(--border_radius); +} + +QCalendarWidget QToolButton:pressed { + background-color: var(--button_bg_down); +} + +/* Month Dropdown Menu */ +QCalendarWidget QMenu {} + +/* Year spinbox */ +QCalendarWidget QSpinBox { + background-color: var(--input_bg); + border: none; + border-radius: var(--border_radius); + margin: 0px var(--spacing_base) 0px 0px; + padding: var(--padding_base) 16px; +} + +QCalendarWidget QSpinBox::up-button { + subcontrol-origin: border; + subcontrol-position: top right; + width: 16px; +} + +QCalendarWidget QSpinBox::down-button { + subcontrol-origin: border; + subcontrol-position: bottom right; + width: 16px; +} + +QCalendarWidget QSpinBox::up-arrow { + width: 10px; + height: 10px; +} + +QCalendarWidget QSpinBox::down-arrow { + width: 10px; + height: 10px; +} + +/* Days of the Week Bar */ +QCalendarWidget QWidget { + alternate-background-color: var(--grey7); +} + +QCalendarWidget QAbstractItemView:enabled { + background-color: var(--bg_base); + color: var(--text); +} + +QCalendarWidget QAbstractItemView:disabled { + color: var(--text_disabled); +} + +/* VirtualCam Plugin Fixes */ + +#VirtualProperties QWidget { + margin-top: 0; + margin-bottom: 0; +} + +/* Disable icons on QDialogButtonBox */ +QDialogButtonBox { + dialogbuttonbox-buttons-have-icons: 0; +} + +/* Stats dialog */ +OBSBasicStats { + background: var(--bg_base); +} + +/* Advanced audio dialog */ +OBSBasicAdvAudio #scrollAreaWidgetContents { + background: var(--bg_base); +} + +#previewScalePercent, +#previewScalingMode { + background: transparent; + color: var(--text_muted); + font-size: var(--font_xsmall); + height: 14px; + max-height: 14px; + padding: 0px; + margin: 0; + border: none; + border-radius: 0; +} + +#previewXContainer { + border: 1px solid var(--grey6); +} + +#previewScalePercent { + padding: 0px var(--input_text_padding); + min-width: var(--preview_scale_width); +} + +#previewScalingMode { + padding: 0px var(--input_text_padding); + border: 1px solid var(--grey6); +} + +#previewScalingMode:hover, +#previewScalingMode:focus { + border-color: var(--input_border_hover); +} + +#previewScalingMode:on { + background-color: var(--input_bg_focus); + border-color: var(--input_border_focus); +} + +#previewXScrollBar, +#previewYScrollBar { + background: transparent; + border: 1px solid var(--grey6); + border-radius: 0; +} + +#previewXScrollBar { + border-left: none; + height: 16px; +} + +#previewXScrollBar::handle, +#previewYScrollBar::handle { + margin: 3px; +} + +#previewYScrollBar { + width: 16px; +} + +#previewZoomInButton { + border: none; + border-radius: 0px; + outline: none; +} + +#previewZoomOutButton { + border: none; + border-radius: 0px; + outline: none; +} + +#previewZoomInButton:!hover, +#previewZoomOutButton:!hover { + background-color: transparent; +} + +#previewZoomInButton:pressed, +#previewZoomOutButton:pressed { + background-color: var(--button_bg); +} + +#previewZoomInButton:focus, +#previewZoomOutButton:focus { + border: 1px solid var(--input_border_hover); +} + +/* Idian Widgets */ +idian--Group { + border-radius: var(--border_radius); + font-weight: bold; + margin: 0 0 var(--spacing_base); + min-width: 300px; + max-width: 600px; +} + +idian--Group .header .title { + font-weight: bold; + padding: var(--padding_large) 0; +} + +idian--Group .header .description { + color: var(--text_muted); + padding: var(--spacing_small) 0; +} + +idian--PropertiesList { + border-width: 0; + padding: 0; + margin: var(--spacing_base) 0; +} + +idian--Row { + background: var(--grey5); + margin: 0; + padding: var(--action_row_padding) var(--action_row_padding_x); +} + +idian--Row.keyFocus { + background: var(--grey4); + border: var(--highlight_width) solid var(--grey4); +} + +idian--Row.cursor-pointer.hover { + background: var(--grey4); + border: var(--highlight_width) solid var(--grey1); +} + +idian--Row.first { + border-top-left-radius: var(--border_radius); + border-top-right-radius: var(--border_radius); +} + +idian--Row.last { + border-bottom-left-radius: var(--border_radius); + border-bottom-right-radius: var(--border_radius); +} + +idian--Row > QLabel.description { + font-size: var(--font_small); + color: var(--text_muted); +} + +idian--ToggleSwitch { + qproperty-background: var(--grey6); + qproperty-background_hover: var(--grey7); + qproperty-background_checked: var(--primary); + qproperty-background_checked_hover: var(--primary_light); + + min-width: var(--toggle_width); + min-height: var(--toggle_height); + + border-radius: var(--toggle_radius); + + qproperty-handleColor: var(--white1); + qproperty-handleSize: var(--toggle_handle); + + border: var(--highlight_width) solid transparent; +} + +idian--ToggleSwitch:hover { + border-color: var(--grey4); +} + +idian--ToggleSwitch:checked:hover { + border-color: var(--white1); +} + +idian--ToggleSwitch.keyFocus { + border-color: var(--highlight_color); +} + +idian--Row idian--ToggleSwitch:hover, +idian--Row.hover > idian--ToggleSwitch.row-buddy { + border-color: var(--grey1); +} + +idian--Row idian--ToggleSwitch:checked:hover, +idian--Row.hover idian--ToggleSwitch.row-buddy:checked { + border-color: var(--white1); +} + +idian--Row QComboBox { + background-color: transparent; + min-height: var(--action_row_base); + max-height: var(--action_row_base); + min-width: var(--action_row_input_width); + border: var(--highlight_width) solid transparent; + padding: 0; + padding-left: var(--padding_xlarge); + margin: 0; +} + +idian--Row QComboBox:focus { + border-color: transparent; +} + +idian--Row QComboBox:hover { + border-color: var(--grey1); +} + +idian--Row QComboBox.keyFocus { + border-color: var(--highlight_color); +} + +idian--Row QComboBox::drop-down { + border: none; +} + +idian--Row QComboBox::down-arrow { + image: url(theme:Dark/collapse.svg); +} + +idian--Row QComboBox QAbstractItemView { + outline: none; +} + +idian--Row QComboBox QAbstractItemView::item { + background-color: var(--bg_base); + padding: var(--padding_base) var(--padding_large); +} + +idian--Row QComboBox QAbstractItemView::item:hover, +idian--Row QComboBox QAbstractItemView::item:selected { + background-color: var(--list_item_bg_selected); + padding: var(--padding_base) var(--padding_large); +} + +idian--Row QPushButton, +idian--Row QSpinBox, +idian--Row QDoubleSpinBox { + margin: 0; + padding: var(--padding_base) var(--action_row_padding_x); +} + +idian--PropertiesListSpacer { + max-height: var(--spacing_small); + min-height: var(--spacing_small); + background-color: var(--bg_window); +} + +idian--Row idian--CheckBox { + outline: none; +} + +idian--Row idian--CheckBox::indicator, +idian--Row idian--CheckBox::indicator:unchecked:hover { + border: var(--highlight_width) solid transparent; + border-radius: var(--border_radius); +} + +idian--Row.hover > idian--CheckBox.row-buddy::indicator, +idian--Row > idian--CheckBox::indicator:unchecked:hover, +idian--Row > idian--CheckBox::indicator:hover { + border-color: var(--grey1); +} + +idian--Row.hover > idian--CheckBox.row-buddy::indicator:unchecked, + + +idian--Row idian--CheckBox.keyFocus::indicator, + + +idian--Row idian--CheckBox.keyFocus::indicator, +idian--Row idian--CheckBox.keyFocus::indicator:unchecked, +idian--Row idian--CheckBox.keyFocus::indicator:hover, +idian--Row idian--CheckBox.keyFocus::indicator:unchecked:hover { + border-color: var(--highlight_color); +} + +idian--CollapsibleRow { + margin: 0; + padding: 0; + border: none; +} + +idian--CollapsibleRow.keyFocus { + border: var(--highlight_width) solid var(--highlight_color); +} + +idian--CollapsibleRow idian--PropertiesList { + border-radius: 0; + border-left: 1px solid var(--grey5); + border-right: 1px solid var(--grey5); + border-bottom: 1px solid var(--grey5); + margin: var(--spacing_small) 0px 0px; +} + +idian--CollapsibleRow idian--PropertiesList idian--Row { + background-color: var(--grey6); + padding-left: var(--action_row_padding_nested); +} + +idian--CollapsibleRow idian--Row.first, +idian--CollapsibleRow idian--Row.last { + border-radius: 0; +} + +idian--CollapsibleRow idian--PropertiesList idian--ToggleSwitch { + qproperty-background: var(--grey7); + qproperty-background_hover: var(--grey6); +} + +idian--ExpandButton { + background: transparent; + min-width: var(--action_row_collapse); + max-width: var(--action_row_collapse); + min-height: var(--action_row_collapse); + max-height: var(--action_row_collapse); + border: none; +} + +idian--ExpandButton::indicator { + background: var(--grey5); + border-radius: var(--action_row_collapse_radius); + padding: var(--padding_large); + image: url(theme:Dark/down.svg); + border: var(--highlight_width) solid var(--grey5); +} + +idian--ExpandButton::indicator:checked { + image: url(theme:Dark/up.svg); +} + +idian--ExpandButton.keyFocus, +idian--ExpandButton.keyFocus::indicator { + border-color: var(--highlight_color); +} + +idian--RowFrame .btn-frame { + background: var(--grey5); + padding: var(--action_row_padding) var(--action_row_padding_x); +} + +idian--RowFrame.hover .btn-frame { + background: var(--grey4); +} + +idian--RowFrame.hover idian--Row, +idian--RowFrame.hover idian--Row.hover { + background: var(--grey4); + border: 2px solid var(--grey1); + border-right: none; +} + +idian--RowFrame.hover .row-buddy { + background: var(--grey4); + border: 2px solid var(--grey1); + border-left: none; +} + +idian--RowFrame.hover idian--ExpandButton::indicator { + border-color: var(--grey1); +} diff --git a/.config/matugen/templates/mcfly.toml b/.config/matugen/templates/mcfly.toml new file mode 100644 index 0000000..5bf280a --- /dev/null +++ b/.config/matugen/templates/mcfly.toml @@ -0,0 +1,28 @@ +# Matugen template for McFly +# Uses crossterm named colors — hex is not supported by McFly's color parser. +# Named colors are resolved by the terminal emulator, which matugen +# themes separately, so the accent color tracks the Material You palette. + +[colors.menubar] +bg = "dark_blue" +fg = "aqua" + +[colors.darkmode] +prompt = "dark_blue" +timing = "dark_grey" +results_fg = "grey" +results_bg = "black" +results_hl = "dark_blue" +results_selection_fg = "black" +results_selection_bg = "dark_blue" +results_selection_hl = "white" + +[colors.lightmode] +prompt = "dark_blue" +timing = "grey" +results_fg = "black" +results_bg = "white" +results_hl = "dark_blue" +results_selection_fg = "white" +results_selection_bg = "dark_blue" +results_selection_hl = "black" diff --git a/.config/matugen/templates/micro.micro b/.config/matugen/templates/micro.micro new file mode 100644 index 0000000..b057922 --- /dev/null +++ b/.config/matugen/templates/micro.micro @@ -0,0 +1,45 @@ +color-link default "{{ colors.on_surface.default.hex }}" +color-link comment "{{ colors.outline.default.hex }}" +color-link selection "{{ colors.on_primary.default.hex }},{{ colors.primary_container.default.hex }}" +color-link hlsearch "{{ colors.secondary.default.hex }}" + +color-link identifier "{{ colors.primary.default.hex }}" +color-link identifier.class "{{ colors.primary.default.hex }}" +color-link identifier.var "{{ colors.primary.default.hex }}" + +color-link constant "{{ colors.tertiary.default.hex }}" +color-link constant.number "{{ colors.tertiary.default.hex }}" +color-link constant.string "{{ colors.secondary.default.hex }}" + +color-link symbol "{{ colors.tertiary_container.default.hex }}" +color-link symbol.brackets "{{ colors.on_surface_variant.default.hex }}" +color-link symbol.tag "{{ colors.primary.default.hex }}" + +color-link type "{{ colors.primary.default.hex }}" +color-link type.keyword "{{ colors.secondary.default.hex }}" + +color-link special "{{ colors.tertiary_container.default.hex }}" +color-link statement "{{ colors.primary_container.default.hex }}" +color-link preproc "{{ colors.tertiary_container.default.hex }}" + +color-link underlined "{{ colors.secondary.default.hex }}" +color-link error "bold {{ colors.error.default.hex }}" +color-link todo "bold {{ colors.tertiary.default.hex }}" + +color-link diff-added "{{ colors.secondary.default.hex }}" +color-link diff-modified "{{ colors.tertiary.default.hex }}" +color-link diff-deleted "{{ colors.error.default.hex }}" + +color-link gutter-error "{{ colors.error.default.hex }}" +color-link gutter-warning "{{ colors.tertiary.default.hex }}" + +color-link scrollbar "{{ colors.on_surface_variant.default.hex }}" +color-link statusline "{{ colors.on_surface.default.hex }},{{ colors.surface.default.hex }}" +color-link tabbar "{{ colors.on_surface.default.hex }},{{ colors.surface.default.hex }}" +color-link indent-char "{{ colors.surface_variant.default.hex }}" +color-link line-number "{{ colors.outline_variant.default.hex }}" +color-link current-line-number "{{ colors.primary.default.hex }}" + +color-link cursor-line "{{ colors.surface_variant.default.hex }},{{ colors.on_surface.default.hex }}" +color-link color-column "{{ colors.surface_variant.default.hex }}" +color-link type.extended "default" \ No newline at end of file diff --git a/.config/matugen/templates/midnight-discord.css b/.config/matugen/templates/midnight-discord.css new file mode 100644 index 0000000..1c12cbd --- /dev/null +++ b/.config/matugen/templates/midnight-discord.css @@ -0,0 +1,100 @@ +/** + * @name midnight + * @description A dark, rounded discord theme. + * @author refact0r + * @version 1.6.2 + * @invite nz87hXyvcy + * @website https://github.com/refact0r/midnight-discord + * @source https://github.com/refact0r/midnight-discord/blob/master/midnight.theme.css + * @authorId 508863359777505290 + * @authorLink https://www.refact0r.dev +*/ + +/* IMPORTANT: make sure to enable dark mode in discord settings for the theme to apply properly!!! */ + +@import url('https://refact0r.github.io/midnight-discord/build/midnight.css'); + +/* customize things here */ +:root { + /* font, change to 'gg sans' for default discord font*/ + --font: 'figtree'; + + /* top left corner text */ + --corner-text: 'Midnight'; + + /* color of status indicators and window controls */ + --online-indicator: {{colors.inverse_primary.default.hex}}; /* change to #23a55a for default green */ + --dnd-indicator: {{colors.error.default.hex}}; /* change to #f13f43 for default red */ + --idle-indicator: {{colors.tertiary_container.default.hex}}; /* change to #f0b232 for default yellow */ + --streaming-indicator: {{colors.on_primary.default.hex}}; /* change to #593695 for default purple */ + + /* accent colors */ + --accent-1: {{colors.tertiary.default.hex}}; /* links */ + --accent-2: {{colors.primary.default.hex}}; /* general unread/mention elements, some icons when active */ + --accent-3: {{colors.primary.default.hex}}; /* accent buttons */ + --accent-4: {{colors.surface_bright.default.hex}}; /* accent buttons when hovered */ + --accent-5: {{colors.primary_fixed_dim.default.hex}}; /* accent buttons when clicked */ + --accent-new: {{colors.inverse_primary.default.hex}}; /* user panel mute & deafen buttons */ + --mention: {{colors.surface.default.hex}}; /* mentions & mention messages */ + --mention-hover: {{colors.surface_bright.default.hex}}; /* mentions & mention messages when hovered */ + + /* text colors */ + --text-0: {{colors.surface.default.hex}}; /* text on colored elements */ + --text-1: {{colors.on_surface.default.hex}}; /* other normally white text */ + --text-2: {{colors.on_surface.default.hex}}; /* headings and important text */ + --text-3: {{colors.on_surface_variant.default.hex}}; /* normal text */ + --text-4: {{colors.on_surface_variant.default.hex}}; /* icon buttons and channels */ + --text-5: {{colors.outline.default.hex}}; /* muted channels/chats and timestamps */ + + /* background and dark colors */ + --bg-1: {{colors.surface_variant.default.hex}}; /* dark buttons when clicked */ + --bg-2: {{colors.surface_container_high.default.hex}}; /* dark buttons */ + --bg-3: {{colors.surface_container_low.default.hex}}; /* spacing, secondary elements */ + --bg-4: {{colors.surface.default.hex}}; /* main background color */ + --hover: {{colors.surface_bright.default.hex}}; /* channels and buttons when hovered */ + --active: {{colors.surface_bright.default.hex}}; /* channels and buttons when clicked or selected */ + --message-hover: {{colors.surface_bright.default.hex}}; /* messages when hovered */ + + /* amount of spacing and padding */ + --spacing: 12px; + + /* animations */ + /* ALL ANIMATIONS CAN BE DISABLED WITH REDUCED MOTION IN DISCORD SETTINGS */ + --list-item-transition: 0.2s ease; /* channels/members/settings hover transition */ + --unread-bar-transition: 0.2s ease; /* unread bar moving into view transition */ + --moon-spin-transition: 0.4s ease; /* moon icon spin */ + --icon-spin-transition: 1s ease; /* round icon button spin (settings, emoji, etc.) */ + + /* corner roundness (border-radius) */ + --roundness-xl: 22px; /* roundness of big panel outer corners */ + --roundness-l: 20px; /* popout panels */ + --roundness-m: 16px; /* smaller panels, images, embeds */ + --roundness-s: 12px; /* members, settings inputs */ + --roundness-xs: 10px; /* channels, buttons */ + --roundness-xxs: 8px; /* searchbar, small elements */ + + /* direct messages moon icon */ + /* change to block to show, none to hide */ + --discord-icon: none; /* discord icon */ + --moon-icon: block; /* moon icon */ + --moon-icon-url: url('https://upload.wikimedia.org/wikipedia/commons/c/c4/Font_Awesome_5_solid_moon.svg'); /* custom icon url */ + --moon-icon-size: auto; + + /* filter uncolorable elements to fit theme */ + /* (just set to none, they're too much work to configure) */ + --login-bg-filter: saturate(0.3) hue-rotate(-15deg) brightness(0.4); /* login background artwork */ + --green-to-accent-3-filter: hue-rotate(56deg) saturate(1.43); /* add friend page explore icon */ + --blurple-to-accent-3-filter: hue-rotate(304deg) saturate(0.84) brightness(1.2); /* add friend page school icon */ +} + +/* Selected chat/friend text */ +.selected_f5eb4b, +.selected_f6f816 .link_d8bfb3 { + color: var(--text-0) !important; + background: var(--accent-3) !important; +} + +.selected_f6f816 .link_d8bfb3 * { + color: var(--text-0) !important; + fill: var(--text-0) !important; +} diff --git a/.config/matugen/templates/neovim/README.md b/.config/matugen/templates/neovim/README.md new file mode 100644 index 0000000..500522b --- /dev/null +++ b/.config/matugen/templates/neovim/README.md @@ -0,0 +1,153 @@ +# Matugen + Neovim + +> [!NOTE] +> This theme is primarily a proof-of-concept with sample colors chosen. While +> it is usable and somewhat complete, the colors themselves may not necessarily +> look the best, so it's important you style them accordingly if you are +> unsatisfied with the result. Additionally, this setup only styles basic +> Neovim colors + Lualine. Other plugins that manage their own highlight groups +> are not covered by this guide (e.g. Neogit) + + +## The `base16-colorscheme` Plugin + +As with any program broad and free as Neovim, there are infinite ways to go +about styling it. However, the easiest approach is to utilize +the `base16-colorscheme` plugin. This plugin allows you to pass in an arbitrary +list of 16 color values, and it will automatically propagate them to all +highlight groups in a reasonable fashion. + +```lua +-- THIS IS NOT THE ENTIRE TEMPLATE FILE +-- To see why, continue reading below... +require('base16-colorscheme').setup({ + base00 = "{{colors.background.default.hex}}", + base01 = "{{colors.surface_container_lowest.default.hex}}", + base02 = "{{colors.surface_container_low.default.hex}}", + base03 = "{{colors.outline_variant.default.hex}}", + base04 = "{{colors.on_surface_variant.default.hex}}", + base05 = "{{colors.on_surface.default.hex}}", + base06 = "{{colors.inverse_on_surface.default.hex}}", + base07 = "{{colors.surface_bright.default.hex}}", + base08 = "{{colors.tertiary.default.hex | lighten: -5}}", + base09 = "{{colors.tertiary.default.hex}}", + base0A = "{{colors.secondary.default.hex}}", + base0B = "{{colors.primary.default.hex}}", + base0C = "{{colors.tertiary_container.default.hex}}", + base0D = "{{colors.primary_container.default.hex}}", + base0E = "{{colors.secondary_container.default.hex}}", + base0F = "{{colors.secondary.default.hex | lighten: -10}}", +}) +``` + +While this `.setup()` call takes care of mostly everything, some additional +calls to `nvim_set_hl` may be needed to tweak colors to your liking: + +``` lua +-- Make selected text stand out more +vim.api.nvim_set_hl(0, 'Visual', { + bg = '{{colors.primary_container.default.hex}}', + fg = '{{colors.background.default.hex}}', +}) +``` + +## Lualine (and plugins that manage their own colors) + +Because Lualine has its own specific named highlight groups, the +`base16-colorscheme` plugin cannot style it within its `setup` function. +Thankfully, Lualine is flexible enough to offer the following configuration +option, which aids the process a little: + +```lua +require('lualine').setup({ + options = { + theme = "base16", + } +}) +``` + +Setting this option tells Lualine to base its highlight group colors off of +some internal 16 base values (which `base16-colorscheme` sets). While this helps, +it unfortunately does not give us full hot-reloading out of the box. In addition +to this, Lualine must be **re-sourced upon every matugen update** in order to +refresh its colors. + +If you are using an unmodified (or simple) Lualine configuration, all you need +to do add a `require('lualine').setup({})` to the end of matugen's +`template.lua`, which will re-setup Lualine as the output file gets sourced. +However, if your Lualine setup is a bit complex, it can be sub-optimal to copy +its entire setup function into the matugen template file. + +One solution to this is to refactor your Lualine setup into its own file, and +then just call `dofile()` on said file from both your `init.lua` and matugen +template. _(This is not necessary, but helps tidy your configuration up)_ + +## Init Hook + +It's a good idea to attempt to source matugen's generated file upon Neovim's +startup, falling back to a default colorscheme when the matugen file is +unavailable. The following code snippet can be added in your `init.lua` or +adjacent to safely perform this source: + +```lua +local function source_matugen() + -- Update this with the location of your output file + local matugen_path = os.getenv("HOME") .. "/.config/nvim/generated.lua" -- dofile doesn't expand $HOME or ~ + + local file, err = io.open(matugen_path, "r") + -- If the matugen file does not exist (yet or at all), we must initialize a color scheme ourselves + if err ~= nil then + -- Some placeholder theme, this will be overwritten once matugen kicks in + vim.cmd('colorscheme base16-catppuccin-mocha') + + -- Optionally print something to the user + vim.print("A matugen style file was not found, but that's okay! The colorscheme will dynamically change if matugen runs!") + else + dofile(matugen_path) + io.close(file) + end +end +``` + +## Updating Neovim with New Colors + +Neovim does not support hot-reloading directly, so we must register an +`autocmd` to listen process signals and execute Lua code as a result. This is +fairly simply, as shown below: + +> [!NOTE] The below `autocmd` is only tested for Linux. Separate workarounds +> may be required for other systems. + +```lua +-- Register an autocmd to listen for matugen updates +vim.api.nvim_create_autocmd("Signal", { + pattern = "SIGUSR1", + callback = auxiliary_function, +}) + + +-- Main entrypoint on matugen reloads +local function auxiliary_function() + -- Load the matugen style file to get all the new colors + source_matugen() + + -- Because reloading base16 overwrites lualine configuration, just source lualine here + dofile(os.getenv("HOME") .. '/.config/nvim/config/plugins/lualine-nvim.lua') -- path of your lualine setup + + -- Any other options you wish to set upon matugen reloads can also go here! + vim.api.nvim_set_hl(0, "Comment", { italic = true }) +end +``` + +## Matugen Config + +Create an entry in matugen's `config.toml` as shown below: + +```toml +[templates.neovim] +input_path = './template.lua' +output_path = '~/.config/nvim/generated.lua' +post_hook = 'pkill -SIGUSR1 nvim' +``` + +With any luck, your Neovim should now be stylized to match your wallpaper! diff --git a/.config/matugen/templates/neovim/init.lua b/.config/matugen/templates/neovim/init.lua new file mode 100644 index 0000000..c8fc139 --- /dev/null +++ b/.config/matugen/templates/neovim/init.lua @@ -0,0 +1,42 @@ +-- An example subset of your init.lua + +local function source_matugen() + -- Update this with the location of your output file + local matugen_path = os.getenv("HOME") .. "/.config/nvim/matugen.lua" -- dofile doesn't expand $HOME or ~ + + local file, err = io.open(matugen_path, "r") + -- If the matugen file does not exist (yet or at all), we must initialize a color scheme ourselves + if err ~= nil then + -- Some placeholder theme, this will be overwritten once matugen kicks in + vim.cmd('colorscheme base16-catppuccin-mocha') + + -- Optionally print something to the user + vim.print("A matugen style file was not found, but that's okay! The colorscheme will dynamically change if matugen runs!") + else + dofile(matugen_path) + io.close(file) + end +end + +-- Main entrypoint on matugen reloads +local function auxiliary_function() + -- Load the matugen style file to get all the new colors + local matugen_path = os.getenv("HOME") .. "/.config/nvim/generated.lua" + source_matugen() + + -- Because reloading base16 overwrites lualine configuration, just source lualine here + dofile(os.getenv("HOME") .. '/.config/nvim/config/plugins/lualine-nvim.lua') -- path of your lualine setup + + -- Any other options you wish to set upon matugen reloads can also go here! + vim.api.nvim_set_hl(0, "Comment", { italic = true }) +end + +-- Register an autocmd to listen for matugen updates +vim.api.nvim_create_autocmd("Signal", { + pattern = "SIGUSR1", + callback = auxiliary_function, +}) + +-- Additionally call this function once on startup to query for matugen's theme +-- or set a default +auxiliary_function() diff --git a/.config/matugen/templates/neovim/template.lua b/.config/matugen/templates/neovim/template.lua new file mode 100644 index 0000000..a3933f7 --- /dev/null +++ b/.config/matugen/templates/neovim/template.lua @@ -0,0 +1,64 @@ +-- Generated by Matugen + +require('base16-colorscheme').setup({ + base00 = "{{colors.background.default.hex}}", + base01 = "{{colors.surface_container_lowest.default.hex}}", + base02 = "{{colors.surface_container_low.default.hex}}", + base03 = "{{colors.outline_variant.default.hex}}", + base04 = "{{colors.on_surface_variant.default.hex}}", + base05 = "{{colors.on_surface.default.hex}}", + base06 = "{{colors.inverse_on_surface.default.hex}}", + base07 = "{{colors.surface_bright.default.hex}}", + + base08 = "{{colors.tertiary.default.hex | lighten: -5}}", + base09 = "{{colors.tertiary.default.hex}}", + base0A = "{{colors.secondary.default.hex}}", + base0B = "{{colors.primary.default.hex}}", + base0C = "{{colors.tertiary_container.default.hex}}", + base0D = "{{colors.primary_container.default.hex}}", + base0E = "{{colors.secondary_container.default.hex}}", + base0F = "{{colors.secondary.default.hex | lighten: -10}}", +}) + + +-- We first theme base16, but we also need to fix some other colors that don't +-- contrast well by default + +-- Helper function to set multiple highlight groups at once +local function set_hl_mutliple(groups, value) + for _, v in pairs(groups) do + vim.api.nvim_set_hl(0, v, value) + end +end + +-- Make selected text stand out more +vim.api.nvim_set_hl(0, 'Visual', { + bg = '{{colors.primary_container.default.hex}}', + fg = '{{colors.on_primary_container.default.hex}}', -- normal text contrast +}) + +-- Make "string" text contrast better +set_hl_mutliple({ 'String', 'TSString' }, { + fg = '{{colors.tertiary.default.hex | lighten: -15.0 }}', +}) + +-- Grey out comments +set_hl_mutliple({ 'TSComment', 'Comment' }, { + fg = '{{colors.outline.default.hex}}', + italic = true, +}) + +-- Color in other highlight groups as you see fit! + +set_hl_mutliple({ 'TSMethod', 'Method' }, { + fg = '{{colors.tertiary.default.hex}}', +}) + + +set_hl_mutliple({ 'TSFunction', 'Function' }, { + fg = '{{colors.secondary.default.hex}}', +}) + +set_hl_mutliple({ 'Keyword', 'TSKeyword', 'TSKeywordFunction', 'TSRepeat' }, { + fg = '{{colors.inverse_primary.default.hex}}', +}) diff --git a/.config/matugen/templates/niri-colors.kdl b/.config/matugen/templates/niri-colors.kdl new file mode 100644 index 0000000..68a54ae --- /dev/null +++ b/.config/matugen/templates/niri-colors.kdl @@ -0,0 +1,28 @@ +layout { + focus-ring { + active-color "{{colors.primary.default.hex}}" + inactive-color "{{colors.outline.default.hex}}" + urgent-color "{{colors.error.default.hex}}" + } + + border { + active-color "{{colors.primary.default.hex}}" + inactive-color "{{colors.outline.default.hex}}" + urgent-color "{{colors.error.default.hex}}" + } + + shadow { + color "{{colors.shadow.default.hex}}70" + } + + tab-indicator { + active-color "{{colors.primary.default.hex}}" + inactive-color "{{colors.outline.default.hex}}" + urgent-color "{{colors.error.default.hex}}" + } + + insert-hint { + color "{{colors.primary.default.hex}}80" + } +} + diff --git a/.config/matugen/templates/nvim-colors.vim b/.config/matugen/templates/nvim-colors.vim new file mode 100644 index 0000000..943a2dd --- /dev/null +++ b/.config/matugen/templates/nvim-colors.vim @@ -0,0 +1,20 @@ +hi Comment guibg=None guifg={{ base16.base03.dark.hex }} + +hi Delimiter guibg=None guifg={{ base16.base05.dark.hex }} +hi Operator guibg=None guifg={{ base16.base05.dark.hex }} + +hi Todo guibg=None guifg={{ base16.base06.dark.hex }} + +hi Identifier guibg=None guifg={{ base16.base08.dark.hex }} +hi Constant guibg=None guifg={{ base16.base09.dark.hex }} +hi Type guibg=None guifg={{ base16.base0a.dark.hex }} +hi String guibg=None guifg={{ base16.base0b.dark.hex }} +hi Special guibg=None guifg={{ base16.base0c.dark.hex }} +hi PreProc guibg=None guifg={{ base16.base0c.dark.hex }} +hi Function guibg=None guifg={{ base16.base0d.dark.hex }} +hi Statement guibg=None guifg={{ base16.base0e.dark.hex }} + +hi Error guibg={{ colors.error_container.dark.hex }} guifg={{ colors.on_error_container.dark.hex }} +hi StatusLine guibg={{ colors.primary.dark.hex }} guifg={{ colors.on_primary.dark.hex }} +hi StatusLineNC guibg={{ colors.primary_container.dark.hex }} guifg={{ colors.on_primary_container.dark.hex }} +hi Selection guibg={{ base16.base02.dark.hex }} diff --git a/.config/matugen/templates/obsidian.css b/.config/matugen/templates/obsidian.css new file mode 100644 index 0000000..eb2618b --- /dev/null +++ b/.config/matugen/templates/obsidian.css @@ -0,0 +1,140 @@ +/* Matugen Obsidian Dynamic Colors Snippet + * Place output in: /.obsidian/snippets/matugen.css + * Then enable it in: Settings → Appearance → CSS Snippets + */ + +.theme-dark, .theme-light { + + /* ── Material You RGB helpers ──────────────────────────── */ + --mat-bg-rgb: {{colors.background.default.red}}, {{colors.background.default.green}}, {{colors.background.default.blue}}; + --mat-surface-rgb: {{colors.surface.default.red}}, {{colors.surface.default.green}}, {{colors.surface.default.blue}}; + --mat-on-surface-rgb: {{colors.on_surface.default.red}}, {{colors.on_surface.default.green}}, {{colors.on_surface.default.blue}}; + --mat-primary-rgb: {{colors.primary.default.red}}, {{colors.primary.default.green}}, {{colors.primary.default.blue}}; + --mat-on-primary-rgb: {{colors.on_primary.default.red}}, {{colors.on_primary.default.green}}, {{colors.on_primary.default.blue}}; + + /* ── Core Backgrounds ──────────────────────────────────── */ + --background-primary: {{colors.background.default.hex}}; + --background-primary-alt: {{colors.surface_dim.default.hex}}; + --background-secondary: {{colors.surface_container_low.default.hex}}; + --background-secondary-alt: {{colors.surface_container.default.hex}}; + + /* ── Titlebar ──────────────────────────────────────────── */ + --titlebar-background: {{colors.surface_dim.default.hex}}; + --titlebar-background-focused: {{colors.surface_container_low.default.hex}}; + --titlebar-text-color: {{colors.on_surface.default.hex}}; + + /* ── Borders & Dividers ────────────────────────────────── */ + --background-modifier-border: {{colors.outline_variant.default.hex}}; + --background-modifier-border-focus: {{colors.outline.default.hex}}; + --background-modifier-border-hover: {{colors.outline.default.hex}}; + + /* ── Text Colors ───────────────────────────────────────── */ + --text-normal: {{colors.on_surface.default.hex}}; + --text-muted: {{colors.on_surface_variant.default.hex}}; + --text-faint: {{colors.outline.default.hex}}; + --text-on-accent: {{colors.on_primary.default.hex}}; + --text-selection: rgba({{colors.primary.default.red}}, {{colors.primary.default.green}}, {{colors.primary.default.blue}}, 0.25); + + /* ── Accent & Interactive ──────────────────────────────── */ + --interactive-accent: {{colors.primary.default.hex}}; + --interactive-accent-hover: {{colors.primary_container.default.hex}}; + --interactive-accent-rgb: {{colors.primary.default.red}}, {{colors.primary.default.green}}, {{colors.primary.default.blue}}; + --text-accent: {{colors.primary.default.hex}}; + --text-accent-hover: {{colors.primary_container.default.hex}}; + + /* ── Hover & Active Modifiers ──────────────────────────── */ + --background-modifier-hover: rgba(var(--mat-on-surface-rgb), 0.06); + --background-modifier-active-hover: rgba(var(--mat-primary-rgb), 0.15); + --background-modifier-success: {{colors.tertiary_container.default.hex}}; + --background-modifier-error: {{colors.error_container.default.hex}}; + --background-modifier-error-hover: {{colors.error.default.hex}}; + + /* ── Obsidian Color Scale (--color-base-XX) ────────────── */ + --color-base-00: {{colors.background.default.hex}}; + --color-base-05: {{colors.surface_dim.default.hex}}; + --color-base-10: {{colors.surface_container_lowest.default.hex}}; + --color-base-20: {{colors.surface_container_low.default.hex}}; + --color-base-25: {{colors.surface_container.default.hex}}; + --color-base-30: {{colors.surface_container_high.default.hex}}; + --color-base-35: {{colors.surface_container_highest.default.hex}}; + --color-base-40: {{colors.outline_variant.default.hex}}; + --color-base-50: {{colors.outline.default.hex}}; + --color-base-60: {{colors.on_surface_variant.default.hex}}; + --color-base-70: {{colors.on_surface.default.hex}}; + --color-base-100: {{colors.inverse_surface.default.hex}}; + + /* ── Semantic Colors ───────────────────────────────────── */ + --color-red: {{colors.error.default.hex}}; + --color-orange: {{colors.tertiary.default.hex}}; + --color-yellow: {{colors.secondary.default.hex}}; + --color-green: {{colors.tertiary_container.default.hex}}; + --color-cyan: {{colors.secondary_container.default.hex}}; + --color-blue: {{colors.primary.default.hex}}; + --color-purple: {{colors.secondary.default.hex}}; + --color-pink: {{colors.tertiary.default.hex}}; + + /* ── Headings ──────────────────────────────────────────── */ + --h1-color: {{colors.primary.default.hex}}; + --h2-color: {{colors.primary.default.hex}}; + --h3-color: {{colors.secondary.default.hex}}; + --h4-color: {{colors.tertiary.default.hex}}; + --h5-color: {{colors.on_surface_variant.default.hex}}; + --h6-color: {{colors.outline.default.hex}}; + + /* ── Links ─────────────────────────────────────────────── */ + --link-color: {{colors.primary.default.hex}}; + --link-color-hover: {{colors.on_primary_container.default.hex}}; + --link-external-color: {{colors.tertiary.default.hex}}; + --link-unresolved-color: {{colors.outline.default.hex}}; + + /* ── Tags ──────────────────────────────────────────────── */ + --tag-color: {{colors.on_primary_container.default.hex}}; + --tag-background: {{colors.primary_container.default.hex}}; + --tag-border-color: {{colors.primary.default.hex}}; + --tag-color-hover: {{colors.on_primary.default.hex}}; + --tag-background-hover: {{colors.primary.default.hex}}; + + /* ── Checkboxes ────────────────────────────────────────── */ + --checkbox-color: {{colors.primary.default.hex}}; + --checkbox-color-hover: {{colors.primary_container.default.hex}}; + --checkbox-border-color: {{colors.outline.default.hex}}; + --checkbox-marker-color: {{colors.on_primary.default.hex}}; + + /* ── Code Blocks ───────────────────────────────────────── */ + --code-background: {{colors.surface_container_low.default.hex}}; + --code-normal: {{colors.on_surface.default.hex}}; + --code-comment: {{colors.outline.default.hex}}; + --code-function: {{colors.primary.default.hex}}; + --code-important: {{colors.error.default.hex}}; + --code-keyword: {{colors.secondary.default.hex}}; + --code-operator: {{colors.tertiary.default.hex}}; + --code-property: {{colors.on_surface_variant.default.hex}}; + --code-punctuation: {{colors.outline_variant.default.hex}}; + --code-string: {{colors.tertiary.default.hex}}; + --code-tag: {{colors.error.default.hex}}; + --code-value: {{colors.secondary.default.hex}}; + + /* ── Scrollbar ─────────────────────────────────────────── */ + --scrollbar-thumb-bg: rgba(var(--mat-on-surface-rgb), 0.12); + --scrollbar-active-thumb-bg: rgba(var(--mat-on-surface-rgb), 0.25); + --scrollbar-bg: transparent; + + /* ── Inputs ────────────────────────────────────────────── */ + --input-shadow: none; + --input-shadow-hover: 0 0 0 2px {{colors.outline.default.hex}}; + + /* ── Graph View ────────────────────────────────────────── */ + --graph-node: {{colors.primary.default.hex}}; + --graph-node-unresolved: {{colors.outline.default.hex}}; + --graph-node-focused: {{colors.on_primary_container.default.hex}}; + --graph-node-tag: {{colors.secondary.default.hex}}; + --graph-node-attachment: {{colors.tertiary.default.hex}}; + --graph-line: {{colors.outline_variant.default.hex}}; + --graph-background: {{colors.background.default.hex}}; + +} + +/* ── Active line highlight ─────────────────────────────────── */ +.cm-active { + background-color: rgba(var(--mat-on-surface-rgb), 0.03) !important; +} \ No newline at end of file diff --git a/.config/matugen/templates/opencode-colors.json b/.config/matugen/templates/opencode-colors.json new file mode 100644 index 0000000..2d46be8 --- /dev/null +++ b/.config/matugen/templates/opencode-colors.json @@ -0,0 +1,222 @@ +{ + "$schema": "https://opencode.ai/theme.json", + "defs": { + "primary": "{{colors.primary.default.hex}}", + "on_primary": "{{colors.on_primary.default.hex}}", + "secondary": "{{colors.secondary.default.hex}}", + "on_secondary": "{{colors.on_secondary.default.hex}}", + "surface": "{{colors.surface.default.hex}}", + "on_surface": "{{colors.on_surface.default.hex}}", + "surface_variant": "{{colors.surface_variant.default.hex}}", + "on_surface_variant": "{{colors.on_surface_variant.default.hex}}", + "background": "{{colors.surface.default.hex}}", + "on_background": "{{colors.on_surface.default.hex}}", + "error": "{{colors.error.default.hex}}", + "on_error": "{{colors.on_error.default.hex}}", + "outline": "{{colors.outline.default.hex}}", + "outline_variant": "{{colors.outline_variant.default.hex}}" + }, + "theme": { + "primary": { + "dark": "primary", + "light": "primary" + }, + "secondary": { + "dark": "secondary", + "light": "secondary" + }, + "accent": { + "dark": "primary", + "light": "primary" + }, + "error": { + "dark": "error", + "light": "error" + }, + "warning": { + "dark": "secondary", + "light": "secondary" + }, + "success": { + "dark": "secondary", + "light": "secondary" + }, + "info": { + "dark": "primary", + "light": "primary" + }, + "text": { + "dark": "on_surface", + "light": "on_surface" + }, + "textMuted": { + "dark": "on_surface_variant", + "light": "on_surface_variant" + }, + "background": { + "dark": "background", + "light": "background" + }, + "backgroundPanel": { + "dark": "surface_variant", + "light": "surface_variant" + }, + "backgroundElement": { + "dark": "surface_variant", + "light": "surface_variant" + }, + "border": { + "dark": "outline_variant", + "light": "outline_variant" + }, + "borderActive": { + "dark": "outline", + "light": "outline" + }, + "borderSubtle": { + "dark": "outline_variant", + "light": "outline_variant" + }, + "diffAdded": { + "dark": "secondary", + "light": "secondary" + }, + "diffRemoved": { + "dark": "error", + "light": "error" + }, + "diffContext": { + "dark": "surface_variant", + "light": "surface_variant" + }, + "diffHunkHeader": { + "dark": "surface_variant", + "light": "surface_variant" + }, + "diffHighlightAdded": { + "dark": "secondary", + "light": "secondary" + }, + "diffHighlightRemoved": { + "dark": "error", + "light": "error" + }, + "diffAddedBg": { + "dark": "surface_variant", + "light": "surface_variant" + }, + "diffRemovedBg": { + "dark": "surface_variant", + "light": "surface_variant" + }, + "diffContextBg": { + "dark": "surface_variant", + "light": "surface_variant" + }, + "diffLineNumber": { + "dark": "on_surface_variant", + "light": "on_surface_variant" + }, + "diffAddedLineNumberBg": { + "dark": "surface_variant", + "light": "surface_variant" + }, + "diffRemovedLineNumberBg": { + "dark": "surface_variant", + "light": "surface_variant" + }, + "markdownText": { + "dark": "on_surface", + "light": "on_surface" + }, + "markdownHeading": { + "dark": "primary", + "light": "primary" + }, + "markdownLink": { + "dark": "primary", + "light": "primary" + }, + "markdownLinkText": { + "dark": "secondary", + "light": "secondary" + }, + "markdownCode": { + "dark": "secondary", + "light": "secondary" + }, + "markdownBlockQuote": { + "dark": "surface_variant", + "light": "surface_variant" + }, + "markdownEmph": { + "dark": "secondary", + "light": "secondary" + }, + "markdownStrong": { + "dark": "primary", + "light": "primary" + }, + "markdownHorizontalRule": { + "dark": "surface_variant", + "light": "surface_variant" + }, + "markdownListItem": { + "dark": "primary", + "light": "primary" + }, + "markdownListEnumeration": { + "dark": "secondary", + "light": "secondary" + }, + "markdownImage": { + "dark": "primary", + "light": "primary" + }, + "markdownImageText": { + "dark": "secondary", + "light": "secondary" + }, + "markdownCodeBlock": { + "dark": "on_surface", + "light": "on_surface" + }, + "syntaxComment": { + "dark": "on_surface_variant", + "light": "on_surface_variant" + }, + "syntaxKeyword": { + "dark": "primary", + "light": "primary" + }, + "syntaxFunction": { + "dark": "secondary", + "light": "secondary" + }, + "syntaxVariable": { + "dark": "on_surface", + "light": "on_surface" + }, + "syntaxString": { + "dark": "secondary", + "light": "secondary" + }, + "syntaxNumber": { + "dark": "secondary", + "light": "secondary" + }, + "syntaxType": { + "dark": "primary", + "light": "primary" + }, + "syntaxOperator": { + "dark": "on_surface", + "light": "on_surface" + }, + "syntaxPunctuation": { + "dark": "on_surface_variant", + "light": "on_surface_variant" + } + } +} + diff --git a/.config/matugen/templates/papirus-trigger b/.config/matugen/templates/papirus-trigger new file mode 100644 index 0000000..714fcd3 --- /dev/null +++ b/.config/matugen/templates/papirus-trigger @@ -0,0 +1 @@ +{{colors.primary.default.hex_stripped}} diff --git a/.config/matugen/templates/prismlauncher.json b/.config/matugen/templates/prismlauncher.json new file mode 100644 index 0000000..798ab45 --- /dev/null +++ b/.config/matugen/templates/prismlauncher.json @@ -0,0 +1,21 @@ +{ + "colors": { + "AlternateBase": "{{colors.surface.default.hex}}", + "Base": "{{colors.surface.default.hex}}", + "BrightText": "{{colors.secondary.default.hex}}", + "Button": "{{colors.surface_variant.default.hex}}", + "ButtonText": "{{colors.on_surface.default.hex}}", + "Highlight": "{{colors.primary.default.hex}}", + "HighlightedText": "{{colors.on_primary.default.hex}}", + "Link": "{{colors.primary.default.hex}}", + "Text": "{{colors.on_surface.default.hex}}", + "ToolTipBase": "{{colors.surface_variant.default.hex}}", + "ToolTipText": "{{colors.on_surface.default.hex}}", + "Window": "{{colors.surface.default.hex}}", + "WindowText": "{{colors.on_surface.default.hex}}", + "fadeAmount": 0.5, + "fadeColor": "{{colors.surface_variant.default.hex}}" + }, + "name": "Matugen", + "widgets": "Fusion" +} diff --git a/.config/matugen/templates/pywalfox-colors.json b/.config/matugen/templates/pywalfox-colors.json new file mode 100644 index 0000000..6a67aec --- /dev/null +++ b/.config/matugen/templates/pywalfox-colors.json @@ -0,0 +1,22 @@ +{ + "wallpaper": "{{image}}", + "alpha": "100", + "colors": { + "color0": "{{colors.surface.dark.hex}}", + "color1": "", + "color2": "", + "color3": "{{colors.primary.default.hex}}", + "color4": "", + "color5": "{{colors.secondary.default.hex}}", + "color6": "", + "color7": "{{colors.surface_container_highest.default.hex}}", + "color8": "", + "color9": "", + "color10": "{{colors.primary.default.hex}}", + "color11": "", + "color12": "", + "color13": "{{colors.secondary.default.hex}}", + "color14": "", + "color15": "{{colors.on_background.default.hex}}" + } +} diff --git a/.config/matugen/templates/qtct-colors.conf b/.config/matugen/templates/qtct-colors.conf new file mode 100644 index 0000000..5d35cb4 --- /dev/null +++ b/.config/matugen/templates/qtct-colors.conf @@ -0,0 +1,5 @@ +[ColorScheme] +active_colors={{colors.on_background.default.hex}}, {{colors.surface.default.hex}}, #ffffff, #cacaca, #9f9f9f, #b8b8b8, {{colors.on_background.default.hex}}, #ffffff, {{colors.on_surface.default.hex}}, {{colors.background.default.hex}}, {{colors.background.default.hex}}, {{colors.shadow.default.hex}}, {{colors.primary_container.default.hex}}, {{colors.on_primary_container.default.hex}}, {{colors.secondary.default.hex}}, {{colors.primary.default.hex}}, {{colors.surface.default.hex}}, {{colors.scrim.default.hex}}, {{colors.surface.default.hex}}, {{colors.on_surface.default.hex}}, {{colors.secondary.default.hex}} +disabled_colors={{colors.on_background.default.hex}}, {{colors.surface.default.hex}}, #ffffff, #cacaca, #9f9f9f, #b8b8b8, {{colors.on_background.default.hex}}, #ffffff, {{colors.on_surface.default.hex}}, {{colors.background.default.hex}}, {{colors.background.default.hex}}, {{colors.shadow.default.hex}}, {{colors.primary_container.default.hex}}, {{colors.on_primary_container.default.hex}}, {{colors.secondary.default.hex}}, {{colors.primary.default.hex}}, {{colors.surface.default.hex}}, {{colors.scrim.default.hex}}, {{colors.surface.default.hex}}, {{colors.on_surface.default.hex}}, {{colors.secondary.default.hex}} +inactive_colors={{colors.on_background.default.hex}}, {{colors.surface.default.hex}}, #ffffff, #cacaca, #9f9f9f, #b8b8b8, {{colors.on_background.default.hex}}, #ffffff, {{colors.on_surface.default.hex}}, {{colors.background.default.hex}}, {{colors.background.default.hex}}, {{colors.shadow.default.hex}}, {{colors.primary_container.default.hex}}, {{colors.on_primary_container.default.hex}}, {{colors.secondary.default.hex}}, {{colors.primary.default.hex}}, {{colors.surface.default.hex}}, {{colors.scrim.default.hex}}, {{colors.surface.default.hex}}, {{colors.on_surface.default.hex}}, {{colors.secondary.default.hex}} + diff --git a/.config/matugen/templates/quickshell.json b/.config/matugen/templates/quickshell.json new file mode 100644 index 0000000..dce17ae --- /dev/null +++ b/.config/matugen/templates/quickshell.json @@ -0,0 +1,11 @@ +{ + "md3": {<* for name, color in colors *> + "{{ name }}": "{{ color.default.hex }}"<* if {{ loop.last }} *><* else *>,<* endif *><* endfor *> + }, + "palette": {<* for name, palette in palettes *><* for shade, color in palette *> + "{{ name }}{{ shade }}": "{{ color.hex }}"<* if {{ loop.last }} *><* else *>,<* endif *><* endfor *><* if {{ loop.last }} *><* else *>,<* endif *><* endfor *> + }, + "base16": {<* for name, color in base16 *> + "{{ name }}": "{{ color.default.hex }}"<* if {{ loop.last }} *><* else *>,<* endif *><* endfor *> + } +} diff --git a/.config/matugen/templates/quickshell.qml b/.config/matugen/templates/quickshell.qml new file mode 100644 index 0000000..09933d9 --- /dev/null +++ b/.config/matugen/templates/quickshell.qml @@ -0,0 +1,7 @@ +import QtQuick + +QtObject { + <* for name, value in colors *> + readonly property color {{name}}: "{{value.default.hex}}" + <* endfor *> +} diff --git a/.config/matugen/templates/rmpc/nix-hm-example/README.md b/.config/matugen/templates/rmpc/nix-hm-example/README.md new file mode 100644 index 0000000..f4cd7b3 --- /dev/null +++ b/.config/matugen/templates/rmpc/nix-hm-example/README.md @@ -0,0 +1,38 @@ +# Example Nix Home Manager Module + +This module includes matugen and configures rmpc and cava. + +To use, import it in your `home.nix`: + +``` + imports = [ + ./matugen + ... + ]; +``` + +## How does it work? + +The module: + +- creates a `~/.config/matugen/config.toml` preset with templates for rmpc and cava. +This tells Matugen that when it runs, it should process the files in `./templates` +and store the results into the appropriate target directories. +- installs the `./templates/` folder and it contents at `~/.config/matugen/templates/` +- imports and enables Matugen + +## Notes + +- Rmpc needs to be enabled in your NixOS/Home Manager modules separately. +- `~/.config/rmpc/config.ron` needs to be edited to use the theme: +``` + theme: Some("matugen"), +``` +- I am yet to figure out if there's a way to modularize the rmpc config, such +that the UI layout would not need to be altered just because the colors change. +As such, if the layout included here is not to your liking, you'd need to edit +`./templates/rmpc.ron` accodringly. +- In this theme, cava is embedded in rmpc. While rmpc allows us to set the bar +colors in three different ways (single, rows, gradient), `horizontal_gradient` +does not appear to be supported at the moment. +See [Cava/Theming](https://rmpc.mierak.dev/next/configuration/cava/#theming) diff --git a/.config/matugen/templates/rmpc/nix-hm-example/matugen/default.nix b/.config/matugen/templates/rmpc/nix-hm-example/matugen/default.nix new file mode 100644 index 0000000..5e0ea4f --- /dev/null +++ b/.config/matugen/templates/rmpc/nix-hm-example/matugen/default.nix @@ -0,0 +1,40 @@ +{inputs, config, ...}: +let + cfgdir = "${config.home.homeDirectory}/.config"; +in { + # Make sure to include matugen in your flake.nix inputs: + # ```nix + # { + # ... + # inputs = { + # ... + # matugen.url = "github:/InioX/Matugen"; + # }; + # ... + # } + # ``` + imports = [ + inputs.matugen.nixosModules.default + ]; + + home.file."matugen/templates" = { + source = ./templates; + target = "${cfgdir}/matugen/templates"; + recursive = true; + }; + + home.file.".config/matugen/config.toml".text = '' +[config] + +[templates.cava] +input_path = '${./templates/cava.ini}' +output_path = '${cfgdir}/cava/themes/matugen.ini' +post_hook = 'pkill -USR1 cava' + +[templates.rmpc] +input_path = '${./templates/rmpc.ron}' +output_path = '${cfgdir}/rmpc/themes/matugen.ron' + ''; + + programs.matugen.enable = true; +} diff --git a/.config/matugen/templates/rmpc/nix-hm-example/matugen/templates/cava.ini b/.config/matugen/templates/rmpc/nix-hm-example/matugen/templates/cava.ini new file mode 100644 index 0000000..b3222a5 --- /dev/null +++ b/.config/matugen/templates/rmpc/nix-hm-example/matugen/templates/cava.ini @@ -0,0 +1,17 @@ +[color] +background = 'default' +foreground = '{{colors.primary.default.hex}}' + +; gradient = 0 +gradient = 1 +gradient_color_1 = '{{colors.primary_container.default.hex}}' +gradient_color_2 = '{{colors.primary.default.hex}}' +gradient_color_3 = '{{colors.on_primary_container.default.hex}}' + +horizontal_gradient = 0 +; horizontal_gradient = 1 +horizontal_gradient_color_1 = '{{colors.primary_container.default.hex}}' +horizontal_gradient_color_2 = '{{colors.primary.default.hex}}' +horizontal_gradient_color_3 = '{{colors.on_primary_container.default.hex}}' +horizontal_gradient_color_4 = '{{colors.primary.default.hex}}' +horizontal_gradient_color_5 = '{{colors.primary_container.default.hex}}' diff --git a/.config/matugen/templates/rmpc/nix-hm-example/matugen/templates/rmpc.ron b/.config/matugen/templates/rmpc/nix-hm-example/matugen/templates/rmpc.ron new file mode 100644 index 0000000..aab7d0d --- /dev/null +++ b/.config/matugen/templates/rmpc/nix-hm-example/matugen/templates/rmpc.ron @@ -0,0 +1,207 @@ +#![enable(implicit_some)] +#![enable(unwrap_newtypes)] +#![enable(unwrap_variant_newtypes)] +( + default_album_art_path: None, + show_song_table_header: true, + draw_borders: true, + format_tag_separator: " | ", + browser_column_widths: [20, 38, 42], + background_color: None, + text_color: Some("{{ colors.secondary.default.hex }}"), + header_background_color: None, + modal_background_color: None, + modal_backdrop: false, + preview_label_style: (fg: "{{ colors.primary.default.hex }}"), + preview_metadata_group_style: (fg: "{{ colors.tertiary.default.hex }}", modifiers: "Bold"), + tab_bar: ( + active_style: (fg: "{{ colors.on_secondary.default.hex }}", bg: "{{ colors.secondary.default.hex }}", modifiers: "Bold"), + inactive_style: (fg: "{{ colors.secondary.default.hex }}", modifiers: "Bold"), + ), + highlighted_item_style: (fg: "{{ colors.secondary.default.hex }}", modifiers: "Bold"), + current_item_style: (fg: "{{ colors.secondary.default.hex }}", bg: "{{ colors.inverse_primary.default.hex }}", modifiers: "Bold"), + borders_style: (fg: "{{ colors.secondary.default.hex }}"), + highlight_border_style: (fg: "{{ colors.secondary.default.hex }}"), + symbols: ( + song: "S", + dir: "D", + playlist: "P", + marker: "M", + ellipsis: "...", + song_style: None, + dir_style: None, + playlist_style: None, + ), + level_styles: ( + info: (fg: "blue", bg: "black"), + warn: (fg: "yellow", bg: "black"), + error: (fg: "red", bg: "black"), + debug: (fg: "light_green", bg: "black"), + trace: (fg: "magenta", bg: "black"), + ), + progress_bar: ( + symbols: ["[", "-", ">", " ", "]"], + track_style: ( + fg: "{{ colors.on_secondary.default.hex }}", + ), + elapsed_style: ( + fg: "{{ colors.secondary.default.hex }}", + ), + thumb_style: ( + fg: "{{ colors.secondary.default.hex }}", + ), + use_track_when_empty: false, + ), + scrollbar: ( + symbols: ["│", "█", "▲", "▼"], + track_style: (fg: "{{ colors.secondary.default.hex }}"), + ends_style: (fg: "{{ colors.secondary_fixed.default.hex }}"), + thumb_style: (fg: "{{ colors.primary.default.hex }}"), + ), + song_table_format: [ + ( + prop: ( + kind: Property(Artist), + style: (fg: "{{ colors.primary_fixed.default.hex }}"), + default: (kind: Text("Unknown"), style: (fg: "{{ colors.primary_fixed.default.hex }}")) + ), + width: "20%", + ), + ( + prop: ( + kind: Property(Title), + style: (fg: "{{ colors.primary.default.hex }}"), + default: (kind: Text("Unknown"), style: (fg: "{{ colors.primary_fixed.default.hex }}")) + ), + width: "35%", + ), + ( + prop: (kind: Property(Album), style: (fg: "{{ colors.primary_fixed.default.hex }}"), + default: (kind: Text("Unknown Album"), style: (fg: "{{ colors.primary_fixed.default.hex }}")) + ), + width: "30%", + ), + ( + prop: (kind: Property(Duration), style: (fg: "{{ colors.primary.default.hex }}"), + default: (kind: Text("-"), style: (fg: "{{ colors.primary_fixed.default.hex }}")) + ), + width: "15%", + alignment: Right, + ), + ], + components: {}, + layout: Split( + direction: Vertical, + panes: [ + ( + pane: Pane(Header), + size: "2", + ), + ( + pane: Pane(Tabs), + size: "3", + ), + ( + pane: Pane(TabContent), + size: "100%", + ), + ( + pane: Pane(ProgressBar), + size: "1", + ), + ], + ), + header: ( + rows: [ + ( + left: [ + (kind: Text("["), style: (fg: "{{ colors.tertiary.default.hex }}", modifiers: "Bold")), + ( + kind: Property(Status(StateV2(playing_label: "Playing", paused_label: "Paused", stopped_label: "Stopped"))), + style: (fg: "{{ colors.tertiary.default.hex }}", modifiers: "Bold") + ), + (kind: Text("]"), style: (fg: "{{ colors.tertiary.default.hex }}", modifiers: "Bold")) + ], + center: [ + (kind: Property(Song(Title)), style: (modifiers: "Bold"), + default: (kind: Text("No Song"), style: (modifiers: "Bold")) + ) + ], + right: [ + (kind: Property(Widget(ScanStatus)), style: (fg: "{{ colors.primary.default.hex }}")), + (kind: Property(Widget(Volume)), style: (fg: "{{ colors.primary.default.hex }}")) + ] + ), + ( + left: [ + (kind: Property(Status(Elapsed))), + (kind: Text(" / ")), + (kind: Property(Status(Duration))), + (kind: Text(" (")), + (kind: Property(Status(Bitrate))), + (kind: Text(" kbps)")) + ], + center: [ + (kind: Property(Song(Artist)), style: (fg: "{{ colors.tertiary.default.hex }}", modifiers: "Bold"), + default: (kind: Text("Unknown"), style: (fg: "{{ colors.tertiary.default.hex }}", modifiers: "Bold")) + ), + (kind: Text(" - ")), + (kind: Property(Song(Album)), + style: (fg: "{{ colors.primary.default.hex }}"), + default: (kind: Text("Unknown Album")) + ) + ], + right: [ + ( + kind: Property(Widget(States( + active_style: (fg: "{{ colors.primary.default.hex }}", modifiers: "Bold"), + separator_style: (fg: "{{ colors.primary.default.hex }}"))) + ), + style: (fg: "{{ colors.secondary_fixed_dim.default.hex }}") + ), + ] + ), + ], + ), + browser_song_format: [ + ( + kind: Group([ + (kind: Property(Track), style: (fg: "{{ colors.primary.default.hex }}")), + (kind: Text(" ")), + ]) + ), + ( + kind: Group([ + (kind: Property(Artist), style: (fg: "{{ colors.primary.default.hex }}")), + (kind: Text(" - ")), + (kind: Property(Title), style: (fg: "{{ colors.primary.default.hex }}")), + ]), + default: (kind: Property(Filename), style: (fg: "{{ colors.primary.default.hex }}")) + ), + ], + lyrics: ( + timestamp: false + ), + cava: ( + + bar_width: 2, // width of a single bar in columns + bar_spacing: 1, // free space between bars in columns + + orientation: Bottom, + + // A simple color gradient. + // This is a map where keys are percent values of the height where the + // color starts. After that it is linearly interpolated towards the next + // value. Keys must be between 0 and 100 and if the first or last key + // are not 0 and 100 respectively, the lowest and highest value will be + // used as 0 and 100. + // Only hex and RGB colors are supported here and your terminal must + // support them as well! + // rmpc does not support `horizontal_gradient` (yet?) + bar_color: Gradient({ + 0: "{{colors.primary_container.default.hex}}", + 50: "{{colors.primary.default.hex}}", + 100: "{{colors.on_primary_container.default.hex}}" + }) + ), +) diff --git a/.config/matugen/templates/rmpc/rmpc.ron b/.config/matugen/templates/rmpc/rmpc.ron new file mode 100644 index 0000000..aab7d0d --- /dev/null +++ b/.config/matugen/templates/rmpc/rmpc.ron @@ -0,0 +1,207 @@ +#![enable(implicit_some)] +#![enable(unwrap_newtypes)] +#![enable(unwrap_variant_newtypes)] +( + default_album_art_path: None, + show_song_table_header: true, + draw_borders: true, + format_tag_separator: " | ", + browser_column_widths: [20, 38, 42], + background_color: None, + text_color: Some("{{ colors.secondary.default.hex }}"), + header_background_color: None, + modal_background_color: None, + modal_backdrop: false, + preview_label_style: (fg: "{{ colors.primary.default.hex }}"), + preview_metadata_group_style: (fg: "{{ colors.tertiary.default.hex }}", modifiers: "Bold"), + tab_bar: ( + active_style: (fg: "{{ colors.on_secondary.default.hex }}", bg: "{{ colors.secondary.default.hex }}", modifiers: "Bold"), + inactive_style: (fg: "{{ colors.secondary.default.hex }}", modifiers: "Bold"), + ), + highlighted_item_style: (fg: "{{ colors.secondary.default.hex }}", modifiers: "Bold"), + current_item_style: (fg: "{{ colors.secondary.default.hex }}", bg: "{{ colors.inverse_primary.default.hex }}", modifiers: "Bold"), + borders_style: (fg: "{{ colors.secondary.default.hex }}"), + highlight_border_style: (fg: "{{ colors.secondary.default.hex }}"), + symbols: ( + song: "S", + dir: "D", + playlist: "P", + marker: "M", + ellipsis: "...", + song_style: None, + dir_style: None, + playlist_style: None, + ), + level_styles: ( + info: (fg: "blue", bg: "black"), + warn: (fg: "yellow", bg: "black"), + error: (fg: "red", bg: "black"), + debug: (fg: "light_green", bg: "black"), + trace: (fg: "magenta", bg: "black"), + ), + progress_bar: ( + symbols: ["[", "-", ">", " ", "]"], + track_style: ( + fg: "{{ colors.on_secondary.default.hex }}", + ), + elapsed_style: ( + fg: "{{ colors.secondary.default.hex }}", + ), + thumb_style: ( + fg: "{{ colors.secondary.default.hex }}", + ), + use_track_when_empty: false, + ), + scrollbar: ( + symbols: ["│", "█", "▲", "▼"], + track_style: (fg: "{{ colors.secondary.default.hex }}"), + ends_style: (fg: "{{ colors.secondary_fixed.default.hex }}"), + thumb_style: (fg: "{{ colors.primary.default.hex }}"), + ), + song_table_format: [ + ( + prop: ( + kind: Property(Artist), + style: (fg: "{{ colors.primary_fixed.default.hex }}"), + default: (kind: Text("Unknown"), style: (fg: "{{ colors.primary_fixed.default.hex }}")) + ), + width: "20%", + ), + ( + prop: ( + kind: Property(Title), + style: (fg: "{{ colors.primary.default.hex }}"), + default: (kind: Text("Unknown"), style: (fg: "{{ colors.primary_fixed.default.hex }}")) + ), + width: "35%", + ), + ( + prop: (kind: Property(Album), style: (fg: "{{ colors.primary_fixed.default.hex }}"), + default: (kind: Text("Unknown Album"), style: (fg: "{{ colors.primary_fixed.default.hex }}")) + ), + width: "30%", + ), + ( + prop: (kind: Property(Duration), style: (fg: "{{ colors.primary.default.hex }}"), + default: (kind: Text("-"), style: (fg: "{{ colors.primary_fixed.default.hex }}")) + ), + width: "15%", + alignment: Right, + ), + ], + components: {}, + layout: Split( + direction: Vertical, + panes: [ + ( + pane: Pane(Header), + size: "2", + ), + ( + pane: Pane(Tabs), + size: "3", + ), + ( + pane: Pane(TabContent), + size: "100%", + ), + ( + pane: Pane(ProgressBar), + size: "1", + ), + ], + ), + header: ( + rows: [ + ( + left: [ + (kind: Text("["), style: (fg: "{{ colors.tertiary.default.hex }}", modifiers: "Bold")), + ( + kind: Property(Status(StateV2(playing_label: "Playing", paused_label: "Paused", stopped_label: "Stopped"))), + style: (fg: "{{ colors.tertiary.default.hex }}", modifiers: "Bold") + ), + (kind: Text("]"), style: (fg: "{{ colors.tertiary.default.hex }}", modifiers: "Bold")) + ], + center: [ + (kind: Property(Song(Title)), style: (modifiers: "Bold"), + default: (kind: Text("No Song"), style: (modifiers: "Bold")) + ) + ], + right: [ + (kind: Property(Widget(ScanStatus)), style: (fg: "{{ colors.primary.default.hex }}")), + (kind: Property(Widget(Volume)), style: (fg: "{{ colors.primary.default.hex }}")) + ] + ), + ( + left: [ + (kind: Property(Status(Elapsed))), + (kind: Text(" / ")), + (kind: Property(Status(Duration))), + (kind: Text(" (")), + (kind: Property(Status(Bitrate))), + (kind: Text(" kbps)")) + ], + center: [ + (kind: Property(Song(Artist)), style: (fg: "{{ colors.tertiary.default.hex }}", modifiers: "Bold"), + default: (kind: Text("Unknown"), style: (fg: "{{ colors.tertiary.default.hex }}", modifiers: "Bold")) + ), + (kind: Text(" - ")), + (kind: Property(Song(Album)), + style: (fg: "{{ colors.primary.default.hex }}"), + default: (kind: Text("Unknown Album")) + ) + ], + right: [ + ( + kind: Property(Widget(States( + active_style: (fg: "{{ colors.primary.default.hex }}", modifiers: "Bold"), + separator_style: (fg: "{{ colors.primary.default.hex }}"))) + ), + style: (fg: "{{ colors.secondary_fixed_dim.default.hex }}") + ), + ] + ), + ], + ), + browser_song_format: [ + ( + kind: Group([ + (kind: Property(Track), style: (fg: "{{ colors.primary.default.hex }}")), + (kind: Text(" ")), + ]) + ), + ( + kind: Group([ + (kind: Property(Artist), style: (fg: "{{ colors.primary.default.hex }}")), + (kind: Text(" - ")), + (kind: Property(Title), style: (fg: "{{ colors.primary.default.hex }}")), + ]), + default: (kind: Property(Filename), style: (fg: "{{ colors.primary.default.hex }}")) + ), + ], + lyrics: ( + timestamp: false + ), + cava: ( + + bar_width: 2, // width of a single bar in columns + bar_spacing: 1, // free space between bars in columns + + orientation: Bottom, + + // A simple color gradient. + // This is a map where keys are percent values of the height where the + // color starts. After that it is linearly interpolated towards the next + // value. Keys must be between 0 and 100 and if the first or last key + // are not 0 and 100 respectively, the lowest and highest value will be + // used as 0 and 100. + // Only hex and RGB colors are supported here and your terminal must + // support them as well! + // rmpc does not support `horizontal_gradient` (yet?) + bar_color: Gradient({ + 0: "{{colors.primary_container.default.hex}}", + 50: "{{colors.primary.default.hex}}", + 100: "{{colors.on_primary_container.default.hex}}" + }) + ), +) diff --git a/.config/matugen/templates/rofi-colors.rasi b/.config/matugen/templates/rofi-colors.rasi new file mode 100644 index 0000000..e6506e2 --- /dev/null +++ b/.config/matugen/templates/rofi-colors.rasi @@ -0,0 +1,47 @@ +* { + primary: {{colors.primary.default.hex}}; + primary-fixed: {{colors.primary_fixed.default.hex}}; + primary-fixed-dim: {{colors.primary_fixed_dim.default.hex}}; + on-primary: {{colors.on_primary.default.hex}}; + on-primary-fixed: {{colors.on_primary_fixed.default.hex}}; + on-primary-fixed-variant: {{colors.on_primary_fixed_variant.default.hex}}; + primary-container: {{colors.primary_container.default.hex}}; + on-primary-container: {{colors.on_primary_container.default.hex}}; + secondary: {{colors.secondary.default.hex}}; + secondary-fixed: {{colors.secondary_fixed.default.hex}}; + secondary-fixed-dim: {{colors.secondary_fixed_dim.default.hex}}; + on-secondary: {{colors.on_secondary.default.hex}}; + on-secondary-fixed: {{colors.on_secondary_fixed.default.hex}}; + on-secondary-fixed-variant: {{colors.on_secondary_fixed_variant.default.hex}}; + secondary-container: {{colors.secondary_container.default.hex}}; + on-secondary-container: {{colors.on_secondary_container.default.hex}}; + tertiary: {{colors.tertiary.default.hex}}; + tertiary-fixed: {{colors.tertiary_fixed.default.hex}}; + tertiary-fixed-dim: {{colors.tertiary_fixed_dim.default.hex}}; + on-tertiary: {{colors.on_tertiary.default.hex}}; + on-tertiary-fixed: {{colors.on_tertiary_fixed.default.hex}}; + on-tertiary-fixed-variant: {{colors.on_tertiary_fixed_variant.default.hex}}; + tertiary-container: {{colors.tertiary_container.default.hex}}; + on-tertiary-container: {{colors.on_tertiary_container.default.hex}}; + error: {{colors.error.default.hex}}; + on-error: {{colors.on_error.default.hex}}; + error-container: {{colors.error_container.default.hex}}; + on-error-container: {{colors.on_error_container.default.hex}}; + surface: {{colors.surface.default.hex}}; + on-surface: {{colors.on_surface.default.hex}}; + on-surface-variant: {{colors.on_surface_variant.default.hex}}; + outline: {{colors.outline.default.hex}}; + outline-variant: {{colors.outline_variant.default.hex}}; + shadow: {{colors.shadow.default.hex}}; + scrim: {{colors.scrim.default.hex}}; + inverse-surface: {{colors.inverse_surface.default.hex}}; + inverse-on-surface: {{colors.inverse_on_surface.default.hex}}; + inverse-primary: {{colors.inverse_primary.default.hex}}; + surface-dim: {{colors.surface_dim.default.hex}}; + surface-bright: {{colors.surface_bright.default.hex}}; + surface-container-lowest: {{colors.surface_container_lowest.default.hex}}; + surface-container-low: {{colors.surface_container_low.default.hex}}; + surface-container: {{colors.surface_container.default.hex}}; + surface-container-high: {{colors.surface_container_high.default.hex}}; + surface-container-highest: {{colors.surface_container_highest.default.hex}}; +} diff --git a/.config/matugen/templates/spicetify.ini b/.config/matugen/templates/spicetify.ini new file mode 100644 index 0000000..3235f91 --- /dev/null +++ b/.config/matugen/templates/spicetify.ini @@ -0,0 +1,25 @@ +[matugen] +main = {{ colors.background.default.hex_stripped }} +main-secondary = {{ colors.surface_bright.default.hex_stripped }} +accent = {{ colors.primary.default.hex_stripped }} +button = {{ colors.primary.default.hex_stripped }} +button-secondary = {{ colors.secondary.default.hex_stripped }} +button-active = {{ colors.primary_fixed.default.hex_stripped }} +button-disabled = {{ colors.surface_bright.default.hex_stripped }} + +misc = {{ colors.tertiary.default.hex_stripped }} +subtext = {{ colors.on_surface_variant.default.hex_stripped }} +text = {{ colors.on_background.default.hex_stripped }} +sidebar = {{ colors.surface.default.hex_stripped }} +player = {{ colors.surface.default.hex_stripped }} +card = {{ colors.surface_bright.default.hex_stripped }} +notification = {{ colors.surface.default.hex_stripped }} +notification-error = {{ colors.error.default.hex_stripped }} +shadow = {{ colors.shadow.default.hex_stripped }} + +nav-active-text = {{ colors.primary.default.hex_stripped }} +nav-active = {{ colors.primary.default.hex_stripped }} +tab-active = {{ colors.surface.default.hex_stripped }} +play-button = {{ colors.primary.default.hex_stripped }} + +playback-bar = {{ colors.primary_fixed.default.hex_stripped }} diff --git a/.config/matugen/templates/starship-colors.toml b/.config/matugen/templates/starship-colors.toml new file mode 100644 index 0000000..d13f28d --- /dev/null +++ b/.config/matugen/templates/starship-colors.toml @@ -0,0 +1,46 @@ +format = ''' +$directory$git_branch$rust$python +$character''' + +palette = 'colors' + +[palettes.colors] +mustard = '#af8700' # example +color1 = '{{colors.primary_fixed_dim.default.hex}}' +color2 = '{{colors.on_primary.default.hex}}' +color3 = '{{colors.on_surface_variant.default.hex}}' +color4 = '{{colors.surface_container.default.hex}}' +color5 = '{{colors.on_primary.default.hex}}' +color6 = '{{colors.surface_dim.default.hex}}' +color7 = '{{colors.surface.default.hex}}' +color8 = '{{colors.primary.default.hex}}' +color9 = '{{colors.tertiary.default.hex}}' + +# Prompt symbols +[character] +success_symbol = "[](color9 bold)" +error_symbol = "[](@{error})" +vicmd_symbol = "[](#f9e2af)" + +[directory] +format = "[](fg:color1 bg:color4)[󰉋](bg:color1 fg:color2)[ ](fg:color1 bg:color4)[$path ](fg:color3 bg:color4)[ ](fg:color4)" + +[directory.substitutions] +"Documents" = "󰈙 " +"Downloads" = " " +"Music" = " " +"Pictures" = " " + +[git_branch] +format = "[](fg:color8 bg:color4)[ ](bg:color8 fg:color5)[](fg:color8 bg:color4)[(bg:color8 fg:color5) $branch](fg:color3 bg:color4)[](fg:color4) " + +[time] +format = "[](fg:color8 bg:color4)[ ](bg:color8 fg:color5)[](fg:color8 bg:color4)[(bg:color8 fg:color5) $time](fg:color3 bg:color4)[](fg:color4) " +disabled = false +time_format = "%R" # Hour:Minute Format + +[python] +format = "[](fg:color8 bg:color4)[${symbol}${version}](bg:color8 fg:color5)[](fg:color8 bg:color4)[(bg:color8 fg:color5)( ${virtualenv})](fg:color3 bg:color4)[](fg:color4) " +symbol = '🐍' +# pyenv_version_name = true +pyenv_prefix = 'venv' diff --git a/.config/matugen/templates/steam.css b/.config/matugen/templates/steam.css new file mode 100644 index 0000000..4a2211b --- /dev/null +++ b/.config/matugen/templates/steam.css @@ -0,0 +1,30 @@ +/* +* GTK 4 Colors +* Converted from Matugen template +*/ + +:root { + --adw-accent-rgb: {{ colors.primary.default.red }} {{ colors.primary.default.green }} {{ colors.primary.default.blue }}; + --adw-accent-bg-rgb: {{ colors.primary.default.red }} {{ colors.primary.default.green }} {{ colors.primary.default.blue }}; + --adw-accent-fg-rgb: {{ colors.on_primary.default.red }} {{ colors.on_primary.default.green }} {{ colors.on_primary.default.blue }}; + + --adw-window-bg-rgb: {{ colors.background.default.red }} {{ colors.background.default.green }} {{ colors.background.default.blue }}; + --adw-window-fg-rgb: {{ colors.on_background.default.red }} {{ colors.on_background.default.green }} {{ colors.on_background.default.blue }}; + + --adw-headerbar-bg-rgb: {{ colors.surface_dim.default.red }} {{ colors.surface_dim.default.green }} {{ colors.surface_dim.default.blue }}; + --adw-headerbar-fg-rgb: {{ colors.on_surface.default.red }} {{ colors.on_surface.default.green }} {{ colors.on_surface.default.blue }}; + + --adw-popover-bg-rgb: {{ colors.surface_dim.default.red }} {{ colors.surface_dim.default.green }} {{ colors.surface_dim.default.blue }}; + --adw-popover-fg-rgb: {{ colors.on_surface.default.red }} {{ colors.on_surface.default.green }} {{ colors.on_surface.default.blue }}; + + --adw-view-bg-rgb: {{ colors.surface.default.red }} {{ colors.surface.default.green }} {{ colors.surface.default.blue }}; + --adw-view-fg-rgb: {{ colors.on_surface.default.red }} {{ colors.on_surface.default.green }} {{ colors.on_surface.default.blue }}; + + --adw-card-bg-rgb: {{ colors.surface.default.red }} {{ colors.surface.default.green }} {{ colors.surface.default.blue }}; + --adw-card-fg-rgb: {{ colors.on_surface.default.red }} {{ colors.on_surface.default.green }} {{ colors.on_surface.default.blue }}; + + --adw-sidebar-bg-rgb: {{ colors.background.default.red }} {{ colors.background.default.green }} {{ colors.background.default.blue }}; + --adw-sidebar-fg-rgb: {{ colors.on_background.default.red }} {{ colors.on_background.default.green }} {{ colors.on_background.default.blue }}; + --adw-sidebar-border-rgb: {{ colors.background.default.red }} {{ colors.background.default.green }} {{ colors.background.default.blue }}; + --adw-sidebar-backdrop-rgb: {{ colors.background.default.red }} {{ colors.background.default.green }} {{ colors.background.default.blue }}; +} diff --git a/.config/matugen/templates/sway-colors.conf b/.config/matugen/templates/sway-colors.conf new file mode 100644 index 0000000..7ebaa63 --- /dev/null +++ b/.config/matugen/templates/sway-colors.conf @@ -0,0 +1,13 @@ +# Sway Window colors +# Generated with Matugen + +# Window: border, background, text, indicator, child_border + +#Windows #border #background #text #indicator #child_border +client.focused {{colors.primary_container.default.hex}} {{colors.primary_container.default.hex}} {{colors.on_primary_container.default.hex}} {{colors.primary_container.default.hex}} {{colors.primary_container.default.hex}} +client.unfocused {{colors.primary_container.default.hex}} {{colors.background.default.hex}} {{colors.on_secondary.default.hex}} {{colors.secondary_container.default.hex}} {{colors.secondary_fixed_dim.default.hex}} +client.focused_inactive {{colors.primary_fixed_dim.default.hex}} {{colors.primary_fixed.default.hex}} {{colors.surface.default.hex}} +client.placeholder {{colors.shadow.default.hex}} {{colors.scrim.default.hex}} {{colors.on_background.default.hex}} +client.urgent {{colors.tertiary.default.hex}} {{colors.tertiary_container.default.hex}} {{colors.on_tertiary.default.hex}} +# client.background {{colors.background.default.hex}} + diff --git a/.config/matugen/templates/telegram-background-solid.svg b/.config/matugen/templates/telegram-background-solid.svg new file mode 100644 index 0000000..edda3f4 --- /dev/null +++ b/.config/matugen/templates/telegram-background-solid.svg @@ -0,0 +1 @@ + diff --git a/.config/matugen/templates/telegram.tdesktop-theme b/.config/matugen/templates/telegram.tdesktop-theme new file mode 100644 index 0000000..dab7a0f --- /dev/null +++ b/.config/matugen/templates/telegram.tdesktop-theme @@ -0,0 +1,606 @@ +// vim: filetype=qml + +windowBg: {{colors.surface_container.default.hex}} /* #282e33 */; // white: fallback for background +windowFg: {{colors.on_surface.default.hex}} /* #f5f5f5 */; // black: fallback for text +windowBgOver: {{colors.surface_container_high.default.hex}} /* #313b43 */; // light gray: fallback for background with mouse over +windowBgRipple: {{colors.surface_container_highest.default.hex}} /* #3f4850 */; // darker gray: fallback for ripple effect +windowFgOver: {{colors.on_surface.default.hex | auto_lightness: 5}} /* #e9ecf0 */; // black: fallback for text with mouse over +windowSubTextFg: {{colors.on_surface_variant.default.hex}} /* #82868a */; // gray: fallback for additional text +windowSubTextFgOver: {{colors.on_surface_variant.default.hex | auto_lightness: 5}} /* #797b7f */; // darker gray: fallback for additional text with mouse over +windowBoldFg: windowFg /* #e9e8e8 */; // dark gray: fallback for bold text +windowBoldFgOver: windowBoldFg /* #e9e9e9 */; // dark gray: fallback for bold text with mouse over +windowBgActive: {{colors.primary.default.hex}} /* #3fc1b0 */; // bright blue: fallback for blue filled active areas +windowFgActive: {{colors.on_primary.default.hex}} /* #ffffff */; // white: fallback for text on active areas (NOTE(eqrfns): this unfortunately can be used in radically different (and unexpected) places) +windowActiveTextFg: {{colors.primary.default.hex}} /* #4be1c3 */; // online blue: fallback for active text like online status +windowShadowFg: {{colors.shadow.default.hex}}; // black: fallback for shadow +windowShadowFgFallback: windowBg; // gray: fallback for shadow without opacity +shadowFg: {{colors.shadow.default.hex}}18; // most shadows (including opacity) +slideFadeOutBg: {{colors.scrim.default.hex}}3c; // slide animation (chat to profile) fade out filling +slideFadeOutShadowFg: windowShadowFg; // slide animation (chat to profile) fade out right section shadow +imageBg: {{colors.scrim.default.hex}}; // image background fallback (when photo size is less than minimum allowed) +imageBgTransparent: {{colors.on_surface.default.hex}} /* #ffffff */; // image background when displaying an image with opacity where no opacity is needed +activeButtonBg: {{colors.primary_container.default.hex}} /* #2da192 */; // default active button background (NOTE(eqrfns): this is also used for folder icons in "My folders" list) +activeButtonBgOver: {{colors.primary_container.default.hex | auto_lightness: 5}} /* #32a896 */; // default active button background with mouse over +activeButtonBgRipple: {{colors.inverse_primary.default.hex}} /* #42b8a6 */; // default active button ripple effect +activeButtonFg: {{colors.on_primary_container.default.hex}} /* #ffffff */; // default active button text +activeButtonFgOver: {{colors.on_primary_container.default.hex}} /* #ffffff */; // default active button text with mouse over +activeButtonSecondaryFg: {{colors.on_primary_container.default.hex}} /* #8ee4d9 */; // default active button additional text (selected messages counter in forward / delete buttons) +activeButtonSecondaryFgOver: activeButtonSecondaryFg; // default active button additional text with mouse over +activeLineFg: {{colors.primary.default.hex}} /* #3ee2c9 */; // default active line (like code input field bottom border when you log in and field is focused) +activeLineFgError: {{colors.error.default.hex}} /* #f57878 */; // default active line for error state (like code input field bottom border when you log in and you've entered incorrect code) +lightButtonBg: {{colors.surface_container.default.hex}} /* #282e33 */; // default light button background (like buttons in boxes) +lightButtonBgOver: {{colors.surface_container_high.default.hex}} /* #313b43 */; // default light button background with mouse over +lightButtonBgRipple: {{ colors.surface_container_highest.default.hex }} /* #3c474f */; // default light button ripple effect +lightButtonFg: {{colors.primary.default.hex}} /* #79e8d9 */; // default light button text +lightButtonFgOver: lightButtonFg; // default light button text with mouse over +attentionButtonFg: {{colors.error.default.hex}} /* #f57474 */; // default attention button text (like confirm button on log out) +attentionButtonFgOver: {{colors.error.default.hex | auto_lightness: 5}} /* #e76060 */; // default attention button text with mouse over +attentionButtonBgOver: {{colors.on_error.default.hex}}64 /* #613a3a64 */; // default attention button background with mouse over +attentionButtonBgRipple: {{colors.on_error_container.default.hex}} /* #f4c3c2 */; // default attention button ripple effect +outlineButtonBg: windowBg; // default left outlined button background (like shared media links in profiles) +outlineButtonBgOver: {{colors.surface_container_high.default.hex}} /* #313b43 */; // default left outlined button background with mouse over +outlineButtonOutlineFg: {{colors.primary.default.hex}} /* #29baa7 */; // default left outlined button left outline border (NOTE(eqrfns): outlineButton* colors seem unused?) +outlineButtonBgRipple: {{colors.surface_container_highest.default.hex}} /* #3c474f */; // default left outlined button ripple effect +menuBg: {{colors.surface_container.default.hex}} /* #282e33 */; // default popup menu background +menuBgOver: {{colors.on_surface.default.hex}} /* #ffffff */; // default popup menu item background with mouse over +menuBgRipple: {{colors.surface_container_high.default.hex}} /* #26292d */; // default popup menu item ripple effect +menuIconFg: {{colors.outline.default.hex}} /* #808080 */; // default popup menu item icon (like main menu) +menuIconFgOver: {{colors.on_surface_variant.default.hex}} /* #dcdcdc */; // default popup menu item icon with mouse over +menuSubmenuArrowFg: #ff00ff /*#757575 */ ; // default popup menu submenu arrow icon (like in message field context menu in case of RTL system language) (NOTE(eqrfns): seems unused?) +menuFgDisabled: {{colors.on_surface_variant.default.hex}} /* #737373 */; // default popup menu item disabled text (like unavailable items in message field context menu) (NOTE(eqrfns): this shows up for a split second in context menus sometimes) +menuSeparatorFg: {{colors.surface_container_highest.default.hex}} /* #42484d */; // default popup menu separator (like in message field context menu) +scrollBarBg: {{colors.on_surface.default.hex}}53 /* #ffffff53 */; // default scroll bar current rectangle, the bar itself (like in chats list) +scrollBarBgOver: {{colors.on_surface.default.hex}}7a /* #ffffff7a */; // default scroll bar current rectangle with mouse over it +scrollBg: {{colors.on_surface.default.hex}}1a /* #ffffff1a */; // default scroll bar background +scrollBgOver: {{colors.on_surface.default.hex}}2c /* #ffffff2c */; // default scroll bar background with mouse over the scroll bar +smallCloseIconFg: {{colors.outline.default.hex}} /* #6d6d6d */; // small X icon (like in Show all sessions box to the right for sessions termination) +smallCloseIconFgOver: {{colors.on_surface_variant.default.hex}} /* #a3a3a3 */; // small X icon with mouse over +radialFg: {{colors.scrim.default.hex | invert}} /* windowFgActive */; // default radial loader line (like in Media Viewer when loading a photo) +radialBg: {{colors.scrim.default.hex}}56; // default radial loader background (like in Media Viewer when loading a photo) +placeholderFg: {{colors.on_surface_variant.default.hex}} /* #818991 */; // default input field placeholder when field is not focused (like in phone input field when you log in) +placeholderFgActive: {{colors.outline.default.hex}} /* #5d6165 */; // default input field placeholder when field is focused +inputBorderFg: {{colors.outline.default.hex}} /* #6f6f6f */; // default input field bottom border (like in code input field when you log in and field is not focused) +filterInputBorderFg: {{colors.surface_container_highest.default.hex}} /* #3d444b */; // default rounded input field border (like in chats list search field when field is focused) +filterInputInactiveBg: {{colors.surface_container_highest.default.hex}} /* #3d444b */; // default rounded input field background (like in chats list search field when field is inactive) +checkboxFg: {{colors.outline.default.hex}} /* #6c6c6c */; // default unchecked checkbox rounded rectangle (and also emoji category icons) +sliderBgInactive: {{colors.outline.default.hex}} /* #545454 */; // default slider not active bar (like in Settings when you choose interface scale or custom notifications count) +sliderBgActive: windowBgActive; // default slider active bar (like in Settings when you choose interface scale or custom notifications count) (NOTE(eqrfns): this is actualy a highlight bar under the emoji/sticker/gif tabs?) +tooltipBg: {{colors.surface_container.default.hex}} /* #282e33 */; // tooltip background (like when you put mouse over the message timestamp and wait) +tooltipFg: {{colors.on_surface_variant.default.hex}} /* #9a9e9c */; // tooltip text +tooltipBorderFg: {{colors.surface_container_high.default.hex}} /* #313b43 */; // tooltip border +titleShadow: {{colors.shadow.default.hex}}03; // one pixel line shadow at the bottom of custom window title +titleBg: {{colors.surface_container_highest.default.hex}} /* #3a4047 */; // custom window title background when window is inactive +titleBgActive: titleBg; // custom window title background when window is active +titleButtonBg: titleBg; // custom window title minimize/maximize/restore button background when window is inactive (Windows only) +titleButtonFg: {{colors.on_surface_variant.default.hex}} /* #8b9096 */; // custom window title minimize/maximize/restore button icon when window is inactive (Windows only) +titleButtonBgOver: #4c535b; // custom window title minimize/maximize/restore button background with mouse over when window is inactive (Windows only) +titleButtonFgOver: #e0e0e0; // custom window title minimize/maximize/restore button icon with mouse over when window is inactive (Windows only) +titleButtonBgActive: titleButtonBg; // custom window title minimize/maximize/restore button background when window is active (Windows only) +titleButtonFgActive: titleButtonFg; // custom window title minimize/maximize/restore button icon when window is active (Windows only) +titleButtonBgActiveOver: titleButtonBgOver; // custom window title minimize/maximize/restore button background with mouse over when window is active (Windows only) +titleButtonFgActiveOver: titleButtonFgOver; // custom window title minimize/maximize/restore button icon with mouse over when window is active (Windows only) +titleButtonCloseBg: titleButtonBg; // custom window title close button background when window is inactive (Windows only) +titleButtonCloseFg: titleButtonFg; // custom window title close button icon when window is inactive (Windows only) +titleButtonCloseBgOver: {{colors.error_container.default.hex}} /* #e81123 */; // custom window title close button background with mouse over when window is inactive (Windows only) +titleButtonCloseFgOver: {{colors.on_error_container.default.hex}} /* windowFgActive */; // custom window title close button icon with mouse over when window is inactive (Windows only) +titleButtonCloseBgActive: titleButtonCloseBg; // custom window title close button background when window is active (Windows only) +titleButtonCloseFgActive: titleButtonCloseFg; // custom window title close button icon when window is active (Windows only) +titleButtonCloseBgActiveOver: titleButtonCloseBgOver; // custom window title close button background with mouse over when window is active (Windows only) +titleButtonCloseFgActiveOver: titleButtonCloseFgOver; // custom window title close button icon with mouse over when window is active (Windows only) +titleFg: {{colors.outline.default.hex}} /* #666666 */; // custom window title text when window is inactive (macOS only) +titleFgActive: {{colors.outline.default.hex}} /* #808080 */; // custom window title text when window is active (macOS only) +trayCounterBg: #f23c34; // tray icon counter background +trayCounterBgMute: #888888; // tray icon counter background if all unread messages are muted +trayCounterFg: #ffffff; // tray icon counter text +trayCounterBgMacInvert: #ffffff; // tray icon counter background when tray icon is pressed or when dark theme of macOS is used (macOS only) +trayCounterFgMacInvert: #ffffff01; // tray icon counter text when tray icon is pressed or when dark theme of macOS is used (macOS only) +layerBg: {{colors.scrim.default.hex}}7f; // box and main menu background layer fade +cancelIconFg: {{colors.outline.default.hex}} /* #666666 */; // default for settings close icon and box search cancel icon +cancelIconFgOver: {{colors.on_surface_variant.default.hex}} /* #dcdcdc */; // default for settings close icon and box search cancel icon with mouse over +boxBg: windowBg; // box background +boxTextFg: windowFg; // box text +boxTextFgGood: {{colors.primary.default.hex}} /* #56dbce */; // accepted box text (like when choosing username that is not occupied) (NOTE(eqrfns): this is also used for the selected messages checkmark background) +boxTextFgError: {{colors.error.default.hex}} /* #d84d4d */; // rejecting box text (like when choosing username that is occupied) +boxTitleFg: {{colors.on_surface_variant.default.hex}} /* #ebebeb */; // box title text +boxSearchBg: {{colors.surface_container.default.hex}} /* #282e33 */; // box search field background (like in contacts box) +boxTitleAdditionalFg: {{colors.outline.default.hex}} /* #808080 */; // box title additional text (like in create group box when you see chosen members count) +boxTitleCloseFg: cancelIconFg; // settings close icon and box search cancel icon (like in contacts box) +boxTitleCloseFgOver: cancelIconFgOver; // settings close icon and box search cancel icon (like in contacts box) with mouse over +membersAboutLimitFg: {{colors.outline.default.hex}} /* #5e6065 */; // text in channel members box about the limit (max 200 last members are shown) (NOTE(eqrfns): haven't seen this yet) +contactsBg: {{colors.surface_container.default.hex}} /* #222528 */; // contacts (and some other) box row background +contactsBgOver: {{colors.surface_container.default.hex}} /* #282e33 */; // contacts (and some other) box row background with mouse over +contactsNameFg: boxTextFg; // contacts (and some other) box row name text +contactsStatusFg: {{colors.outline.default.hex}} /* #808080 */; // contacts (and some other) box row additional text (like last seen stamp) +contactsStatusFgOver: {{colors.outline.default.hex}} /* #808080 */; // contacts (and some other) box row additional text (like last seen stamp) with mouse over +contactsStatusFgOnline: {{colors.primary.default.hex}} /* #55e1d3 */; // contacts (and some other) box row active additional text (like online status) +photoCropFadeBg: layerBg; // avatar crop box fade background (when choosing a new photo in Settings or for a group) +photoCropPointFg: {{colors.on_surface.default.hex}}7f /* #ffffff7f */; // avatar crop box corner rectangles (when choosing a new photo in Settings or for a group) +callArrowFg: {{colors.tertiary.default.hex}} /* #2bc7b7 */; // received phone call arrow (NOTE(eqrfns): this is not the color you see in chats, instead this is used by the "Calls" overview you can find in the hamburger menu) +callArrowMissedFg: {{colors.error.default.hex}} /* #dd5b4a */; // missed phone call arrow (in calls list box) +introBg: windowBg; // login background +introTitleFg: {{colors.on_surface_variant.default.hex}} /* #eeeeee */; // login title text +introDescriptionFg: {{colors.on_surface_variant.default.hex}}99 /* #999999 */; // login description text +introErrorFg: {{colors.error.default.hex}} /* #999999 */; // login error text (like when providing a wrong log in code) +introCoverTopBg: {{colors.primary_container.default.hex}} /* #188173 */; // intro gradient top (from) (NOTE(eqrfns): haven't checked this) +introCoverBottomBg: {{colors.primary_container.default.hex}} /* #188173 */; // intro gradient bottom (to) +introCoverIconsFg: {{colors.on_primary_container.default.hex}} /* #34a493 */; // intro cloud graphics +introCoverPlaneTrace: {{colors.on_primary_container.default.hex}} /* #329d8f */; // intro plane traces +introCoverPlaneInner: #ced9e2; // intro plane part (NOTE(eqrfns): haven't seen this yet) +introCoverPlaneOuter: #97a9b5; // intro plane part (NOTE(eqrfns): haven't seen this yet) +introCoverPlaneTop: #ffffff; // intro plane part (NOTE(eqrfns): haven't seen this yet) +dialogsMenuIconFg: menuIconFg; // main menu and lock telegram icon +dialogsMenuIconFgOver: menuIconFgOver; // main menu and lock telegram icon with mouse over +dialogsBg: windowBg; // chat list background +dialogsNameFg: {{colors.on_surface.default.hex}} /* #f5f5f5 */; // chat list name text +dialogsChatIconFg: dialogsNameFg; // chat list group or channel icon +dialogsDateFg: {{colors.outline.default.hex}} /* #6d727c */; // chat list date text +dialogsTextFg: {{colors.outline.default.hex}} /* #8d939e */; // chat list message text +dialogsTextFgService: {{colors.on_surface_variant.default.hex}} /* #ebebeb */; // chat list group sender name text (or media message type text) +dialogsDraftFg: {{colors.error.default.hex}} /* #ec6657 */; // chat list draft label +dialogsVerifiedIconBg: {{colors.secondary.default.hex}} /* #53edde */; // chat list verified icon background +dialogsVerifiedIconFg: {{colors.surface_container.default.hex}} /* #282e33 */; // chat list verified icon check (NOTE(eqrfns): not sure where this is used, but it is referenced in the code) +dialogsSendingIconFg: {{colors.outline.default.hex}} /* #727272 */; // chat list sending message icon (clock) +dialogsSentIconFg: {{colors.primary.default.hex}} /* #20eed9 */; // chat list sent message tick / double tick icon +dialogsUnreadBg: {{colors.primary_container.default.hex}} /* #05a091 */; // chat list unread badge background for not muted chat +dialogsUnreadBgMuted: {{colors.primary_container.default.hex | saturate: -50, "hsl" | auto_lightness: 5}}99 /* #495159 */; // chat list unread badge background for muted chat (NOTE(eqrfns): this is also used for the "pinned" icon, and also for folder icons in the "add to folder" submenu of a chat "More" menu. I hate this...) +dialogsUnreadFg: {{colors.on_primary_container.default.hex}} /* #ffffff */; // chat list unread badge text +dialogsOnlineBadgeFg: {{colors.primary.default.hex}} /* #0ae7d1 */; // chat list online status +dialogsBgOver: {{colors.surface_container_highest.default.hex}} /* #353c43 */; // chat list background with mouse over +dialogsNameFgOver: windowBoldFgOver; // chat list name text with mouse over +dialogsChatIconFgOver: dialogsNameFgOver; // chat list group or channel icon with mouse over +dialogsDateFgOver: {{colors.outline.default.hex}} /* #6d727c */; // chat list date text with mouse over +dialogsTextFgOver: {{colors.on_surface_variant.default.hex}} /* #a3a7ae */; // chat list message text with mouse over +dialogsTextFgServiceOver: {{colors.on_surface.default.hex}} /* #f0f0f0 */; // chat list group sender name text with mouse over +dialogsDraftFgOver: dialogsDraftFg; // chat list draft label with mouse over +dialogsVerifiedIconBgOver: {{colors.secondary.default.hex}} /* #53edde */; // chat list verified icon background with mouse over +dialogsVerifiedIconFgOver: dialogsVerifiedIconFg; // chat list verified icon check with mouse over +dialogsSendingIconFgOver: dialogsSendingIconFg; // chat list sending message icon (clock) with mouse over +dialogsSentIconFgOver: {{colors.primary.default.hex}} /* #41f0de */; // chat list sent message tick / double tick icon with mouse over +dialogsUnreadBgOver: {{colors.primary_container.default.hex}} /* #009687 */; // chat list unread badge background for not muted chat with mouse over +dialogsUnreadBgMutedOver: {{colors.primary_container.default.hex | saturate: -40, "hsl" | auto_lightness: 5}}99 /* #555e67 */; // chat list unread badge background for muted chat with mouse over +dialogsUnreadFgOver: dialogsUnreadFg; // chat list unread badge text with mouse over +dialogsBgActive: {{colors.primary_container.default.hex}} /* #009687 */; // chat list background for current (active) chat +dialogsNameFgActive: {{colors.on_primary_container.default.hex}} /* windowFgActive */; // chat list name text for current (active) chat +dialogsChatIconFgActive: dialogsNameFgActive; // chat list group or channel icon for current (active) chat +dialogsDateFgActive: {{colors.on_primary_container.default.hex}} /* windowFgActive */; // chat list date text for current (active) chat +dialogsTextFgActive: {{colors.on_primary_container.default.hex}} /* windowFgActive */; // chat list message text for current (active) chat +dialogsTextFgServiceActive: dialogsTextFgActive; // chat list group sender name text for current (active) chat +dialogsDraftFgActive: {{colors.on_primary_container.default.hex}}99 /* #c6f7f3 */; // chat list draft label for current (active) chat +dialogsVerifiedIconBgActive: dialogsTextFgActive; // chat list verified icon background for current (active) chat +dialogsVerifiedIconFgActive: dialogsBgActive; // chat list verified icon check for current (active) chat +dialogsSendingIconFgActive: {{colors.on_primary_container.default.hex}}99 /* #ffffff99 */; // chat list sending message icon (clock) for current (active) chat +dialogsSentIconFgActive: dialogsTextFgActive; // chat list sent message tick / double tick icon for current (active) chat +dialogsUnreadBgActive: dialogsTextFgActive; // chat list unread badge background for not muted chat for current (active) chat +dialogsUnreadBgMutedActive: {{colors.on_primary_container.default.hex}}99 /* #cbf7e8 */; // chat list unread badge background for muted chat for current (active) chat +dialogsUnreadFgActive: {{colors.primary_container.default.hex}} /* #039d8e */; // chat list unread badge text for current (active) chat +dialogsOnlineBadgeFgActive: {{colors.on_primary_container.default.hex}} /* #ffffff */; // chat list online status for current (active) chat +dialogsRippleBg: {{colors.surface_variant.default.hex}} /* #43474d */; // +dialogsRippleBgActive: {{colors.inverse_primary.default.hex}} /* #12a796 */; // +dialogsForwardBg: dialogsBgActive; // forwarding panel background (when forwarding messages in the smallest window size) +dialogsForwardFg: dialogsNameFgActive; // forwarding panel text (when forwarding messages in the smallest window size) +searchedBarBg: {{colors.surface_container_highest.default.hex}} /* #3a4047 */; // search results bar background (in chats list, contacts box..) +searchedBarFg: {{colors.on_surface_variant.default.hex}} /* #a8a8a8 */; // search results bar text (in chats list, contacts box..) +topBarBg: {{colors.surface_container.default.hex}} /* #282e33 */; // top bar background (in chat view, media overview..) +emojiPanBg: windowBg; // emoji panel background +emojiPanCategories: {{colors.surface_container_low.default.hex}} /* #20262b */; // emoji panel categories background +emojiPanHeaderFg: {{colors.outline.default.hex}}/* #90949a */; // emoji panel section header text +emojiPanHeaderBg: {{colors.on_surface.default.hex}}f2 /* #fffffff2 */; // emoji panel section header background +stickerPanDeleteBg: {{colors.scrim.default.hex}}cc; // delete X button background for custom sent stickers in stickers panel (legacy) +stickerPanDeleteFg: windowFgActive; // delete X button icon for custom sent stickers in stickers panel (legacy) +stickerPreviewBg: {{colors.scrim.default.hex}}b0; // sticker and GIF preview background (when you press and hold on a sticker) +historyTextInFg: windowFg; // inbox message text +historyTextInFgSelected: {{colors.on_primary_container.default.hex}} /* #ffffff */; // inbox message selected text or text in a selected message +historyTextOutFg: {{colors.on_secondary_container.default.hex}} /* #e4ecf2 */; // outbox message text +historyTextOutFgSelected: {{colors.on_primary_container.default.hex}} /* #ffffff */; // outbox message selected text or text in a selected message +historyLinkInFg: {{colors.primary.default.hex}} /* #37e1ca */; // inbox message link +historyLinkInFgSelected: {{colors.on_secondary_container.default.hex | auto_lightness: -5}} /* #a7fff3 */; // inbox message link in a selected text or message +historyLinkOutFg: {{colors.on_secondary_container.default.hex | blend: {{colors.tertiary.default.hex}}, 0.5}} /* #37e1ca */; // outbox message link +historyLinkOutFgSelected: {{colors.on_secondary_container.default.hex | auto_lightness: -5}} /* #a7fff3 */; // outbox message link in a selected text or message +historyFileNameInFg: historyTextInFg; // inbox media filename text +historyFileNameInFgSelected: historyTextInFgSelected /* #ffffff */; // inbox media filename text in a selected message +historyFileNameOutFg: historyTextOutFg; // outbox media filename text +historyFileNameOutFgSelected: historyTextOutFgSelected /* #ffffff */; // outbox media filename text in a selected message +historyOutIconFg: {{colors.on_secondary_container.default.hex}} /* #40e6c5 */; // outbox message tick / double tick icon +historyOutIconFgSelected: {{colors.on_primary_container.default.hex}} /* #ffffff */; // outbox message tick / double tick icon in a selected message +historyIconFgInverted: {{colors.secondary.dark.hex}} /* windowFgActive */; // media message tick / double tick icon (like in sent photo) (NOTE(eqrfns): forcing the dark theme looks better here IMO) +historySendingOutIconFg: {{colors.on_secondary_container.default.hex}} /* #9dfadd */; // outbox sending message icon (clock) +historySendingInIconFg: {{colors.outline.default.hex}} /* #76838b */; // inbox sending message icon (clock) (like in sent messages to yourself or in sent messages to a channel) +historySendingInvertedIconFg: {{colors.on_surface.default.hex}}c8 /* #ffffffc8 */; // media sending message icon (clock) (like in sent photo) +historyCallArrowInFg: {{colors.tertiary.default.hex}} /* #26c2ab */; // received phone call arrow +historyCallArrowInFgSelected: {{colors.on_primary_container.default.hex}} /* #ffffff */; // received phone call arrow in a selected message +historyCallArrowMissedInFg: callArrowMissedFg; // missed phone call arrow +historyCallArrowMissedInFgSelected: {{colors.on_primary_container.default.hex}} /* #ffffff */; // missed phone call arrow in a selected message +historyCallArrowOutFg: {{colors.on_secondary_container.default.hex}} /* #ffffff */; // outgoing phone call arrow +historyCallArrowOutFgSelected: {{colors.on_primary_container.default.hex}} /* #ffffff */; // outgoing phone call arrow +historyUnreadBarBg: {{colors.surface_container_highest.default.hex}} /* #33393f */; // new unread messages bar background +historyUnreadBarBorder: shadowFg; // new unread messages bar shadow +historyUnreadBarFg: {{colors.primary.default.hex}} /* #3cd3bf */; // new unread messages bar text +historyForwardChooseBg: {{colors.scrim.default.hex}}4c; // forwarding messages in a large window size "choose recipient" background +historyForwardChooseFg: {{colors.primary.default.hex}} /* windowFgActive */; // forwarding messages in a large window size "choose recipient" text +historyPeer1NameFg: {{colors.primary.default.hex | blend: {{"#ec7577" | to_color}}, 1.0 | harmonize: {{colors.primary.default.hex}}}} /* #ec7577 */; // red group member name +historyPeer1NameFgSelected: historyTextInFgSelected /* #ffffff */; // red group member name in a selected message +historyPeer1UserpicBg: #ff845e; // red userpic background +historyPeer2NameFg: {{colors.primary.default.hex | blend: {{"#86d67f" | to_color}}, 1.0 | harmonize: {{colors.primary.default.hex}}}} /* #86d67f */; // green group member name +historyPeer2NameFgSelected: historyTextInFgSelected /* #ffffff */; // green group member name in a selected message +historyPeer2UserpicBg: #9ad164; // green userpic background +historyPeer3NameFg: {{colors.primary.default.hex | blend: {{"#e4c054" | to_color}}, 1.0 | harmonize: {{colors.primary.default.hex}}}} /* #e4c054 */; // yellow group member name +historyPeer3NameFgSelected: historyTextInFgSelected /* #ffffff */; // yellow group member name in a selected message +historyPeer3UserpicBg: #e5ca77; // yellow userpic background (actually unused) +historyPeer4NameFg: {{colors.primary.default.hex | blend: {{"#68c7f3" | to_color}}, 1.0 | harmonize: {{colors.primary.default.hex}}}} /* #68c7f3 */; // blue group member name +historyPeer4NameFgSelected: historyTextInFgSelected /* #ffffff */; // blue group member name in a selected message +historyPeer4UserpicBg: #5caffa; // blue userpic background +historyPeer5NameFg: {{colors.primary.default.hex | blend: {{"#b383f3" | to_color}}, 1.0 | harmonize: {{colors.primary.default.hex}}}} /* #b383f3 */; // purple group member name +historyPeer5NameFgSelected: historyTextInFgSelected /* #ffffff */; // purple group member name in a selected message +historyPeer5UserpicBg: #b694f9; // purple userpic background +historyPeer6NameFg: {{colors.primary.default.hex | blend: {{"#e16794" | to_color}}, 1.0 | harmonize: {{colors.primary.default.hex}}}} /* #e16794 */; // pink group member name +historyPeer6NameFgSelected: historyTextInFgSelected /* #ffffff */; // pink group member name in a selected message +historyPeer6UserpicBg: #ff8aac; // pink userpic background +historyPeer7NameFg: {{colors.primary.default.hex | blend: {{"#57c9e0" | to_color}}, 1.0 | harmonize: {{colors.primary.default.hex}}}} /* #57c9e0 */; // sea group member name +historyPeer7NameFgSelected: historyTextInFgSelected /* #ffffff */; // sea group member name in a selected message +historyPeer7UserpicBg: #5bcbe3; // sea userpic background +historyPeer8NameFg: {{colors.primary.default.hex | blend: {{"#efb05d" | to_color}}, 1.0 | harmonize: {{colors.primary.default.hex}}}} /* #efb05d */; // orange group member name +historyPeer8NameFgSelected: historyTextInFgSelected /* #ffffff */; // orange group member name in a selected message +historyPeer8UserpicBg: #febb5b; // orange userpic background +historyPeerUserpicFg: #ffffff /* windowFgActive */; // default userpic initials +historyScrollBarBg: {{colors.on_surface_variant.default.hex}}7a /* #8989897a */; // scroll bar current rectangle, the bar itself in the chat view (adjusted) +historyScrollBarBgOver: {{colors.outline.default.hex}}bc /* #6b6b6bbc */; // scroll bar current rectangle with mouse over it in the chat view (adjusted) +historyScrollBg: {{colors.outline.default.hex | auto_lightness: 5}}4c /* #5f5f5f4c */; // scroll bar background (adjusted) +historyScrollBgOver: {{colors.outline.default.hex}}6b /* #6262626b */; // scroll bar background with mouse over the scroll bar (adjusted) +historyPeer1UserpicBg2: #d45246; // the second red userpic background +historyPeer2UserpicBg2: #46ba43; // the second green userpic background +historyPeer3UserpicBg2: #e5ca77; // the second yellow userpic background (actually unused) +historyPeer4UserpicBg2: #408acf; // the second blue userpic background +historyPeer5UserpicBg2: #6c61df; // the second purple userpic background +historyPeer6UserpicBg2: #d95574; // the second pink userpic background +historyPeer7UserpicBg2: #359ad4; // the second sea userpic background +historyPeer8UserpicBg2: #f68136; // the second orange userpic background +historyPeerSavedMessagesBg2: historyPeer4UserpicBg2; // the second saved messages userpic background +msgInBg: {{colors.surface_container_high.default.hex}} /* #33393f */; // inbox message background +msgInBgSelected: {{colors.primary_container.default.hex}} /* #009687 */; // inbox selected message background (and background of selected text in those messages) +msgOutBg: {{colors.secondary_container.default.hex}} /* #2a2f33 */; // outbox message background +msgOutBgSelected: {{colors.primary_container.default.hex}} /* #009687 */; // outbox selected message background (and background of selected text in those messages) +msgSelectOverlay: {{colors.primary.default.hex}}4c /* #35d4bf4c */; // overlay which is filling the media parts of selected messages (like in selected photo message) +msgStickerOverlay: {{colors.primary.default.hex}}7f /* #35d4bf7f */; // overlay which is filling the selected sticker message (NOTE(eqrfns): this color is somehow bugged, it randomy does not get updated when I change the theme) +msgInServiceFg: windowActiveTextFg; // inbox message information text (like information about a forwarded message original sender) +msgInServiceFgSelected: {{colors.on_surface.default.hex}} /* #ffffff */; // inbox selected message information text (like information about a forwarded message original sender) +msgOutServiceFg: {{colors.on_secondary_container.default.hex}} /* #60e5ca */; // outbox message information text (like information about a forwarded message original sender) +msgOutServiceFgSelected: {{colors.on_secondary_container.default.hex}} /* #ffffff */; // outbox message information text (like information about a forwarded message original sender) +msgInShadow: {{colors.shadow.default.hex}}00; // inbox message shadow (below the bubble) +msgInShadowSelected: {{colors.shadow.default.hex}}00; // inbox selected message shadow (below the bubble) +msgOutShadow: {{colors.shadow.default.hex}}00; // outbox message shadow (below the bubble) +msgOutShadowSelected: {{colors.primary_container.default.hex}}00 /* #37a78d00 */; // outbox selected message shadow (below the bubble) +msgInDateFg: {{colors.secondary.default.hex}} /* #828d94 */; // inbox message time text +msgInDateFgSelected: {{colors.on_primary_container.default.hex}} /* #ffffff */; // inbox selected message time text +msgOutDateFg: {{colors.on_secondary_container.default.hex}}99 /* #737f87 */; // outbox message time text +msgOutDateFgSelected: {{colors.on_primary_container.default.hex}} /* #ffffff */; // outbox selected message time text +msgServiceFg: {{colors.secondary.default.hex}}; // service message text (like date dividers or service message about the group title being changed) +msgServiceBg: {{colors.surface_variant.default.hex}}c8 /* #363c43c8 */; // service message background (like in a service message about group title being changed) (adjusted) +msgServiceBgSelected: {{colors.inverse_primary.default.hex}} /* #009687 */; // service message selected text background (like in a service message about group title being changed) (adjusted) +msgInReplyBarColor: {{colors.primary.default.hex}} /* #32ceb7 */; // inbox message reply outline (NOTE(eqrfns): this can be seen at east in the interface scale preview) +msgInReplyBarSelColor: {{colors.on_surface.default.hex}} /* #ffffff */; // inbox selected message reply outline (NOTE(eqrfns): coudn't figure out how to see this) +msgOutReplyBarColor: {{colors.on_secondary_container.default.hex}} /* #32ceb7 */; // outbox message reply outline +msgOutReplyBarSelColor: {{colors.on_primary_container.default.hex}} /* #ffffff */; // outbox selected message reply outline +msgImgReplyBarColor: msgServiceFg; // sticker message reply outline (NOTE(eqrfns): this is the color of the text that shows up when you reply with a sticker. This took me some time to figure out) +msgInMonoFg: {{colors.tertiary.default.hex | auto_lightness: -10}} /* #5aab9f */; // inbox message monospace text (like a message sent with `test` text) +msgOutMonoFg: {{colors.on_secondary_container.default.hex | auto_lightness: 5 | blend: {{colors.tertiary.default.hex}}, 1.0}} /* #c2f2ec */; // outbox message monospace text (NOTE(eqrfns): not sure if this is OK) +msgInMonoFgSelected: {{colors.on_primary_container.default.hex | auto_lightness: -5}} /* #a7fff3 */; // inbox message monospace text in a selected text or message +msgOutMonoFgSelected: {{colors.on_primary_container.default.hex | auto_lightness: -5}} /* #c9fff8 */; // outbox message monospace text in a selected text or message +msgDateImgFg: {{colors.secondary.dark.hex}} /* msgServiceFg */; // media message time text (like time text in a sent photo) (NOTE(eqrfns): forced dark theme looks better IMO) +msgDateImgBg: {{colors.scrim.default.hex}}54; // media message time bubble background (like time bubble in a sent photo) or file with thumbnail download icon circle background +msgDateImgBgOver: {{colors.scrim.default.hex}}74; // media message download icon circle background with mouse over (like file with thumbnail download icon) +msgDateImgBgSelected: {{colors.scrim.default.hex}}87 /* #1c706587 */; // selected media message time bubble background +msgFileThumbLinkInFg: lightButtonFg; // inbox media file message with thumbnail download / open with button text +msgFileThumbLinkInFgSelected: lightButtonFgOver; // inbox selected media file message with thumbnail download / open with button text +msgFileThumbLinkOutFg: {{colors.on_secondary_container.default.hex}} /* #60e5ca */; // outbox media file message with thumbnail download / open with button text +msgFileThumbLinkOutFgSelected: {{colors.on_primary_container.default.hex}} /* #ffffff */; // outbox selected media file message with thumbnail download / open with button text +msgFileInBg: {{colors.primary.default.hex}} /* #50d4c2 */; // inbox audio file download circle background (NOTE(eqrfns): this is actually used for ANY file) +msgFileInBgOver: {{colors.primary.default.hex | auto_lightness: 10}} /* #48cfbd */; // inbox audio file download circle background with mouse over (NOTE(eqrfns): this is actualy for the play circle in the audio files overiew) +msgFileInBgSelected: {{colors.on_primary_container.default.hex}} /* #ffffff */; // inbox selected audio file download circle background (NOTE(eqrfns): this is used both for the overview, and for the chat history) +msgFileOutBg: {{colors.on_secondary_container.default.hex}} /* #11bfab */; // outbox audio file download circle background +msgFileOutBgOver: {{colors.on_secondary_container.default.hex | auto_lightness: 10}} /* #ffffff */; // outbox audio file download circle background with mouse over (NOTE(eqrfns): seems to be unused in the source code?) +msgFileOutBgSelected: {{colors.on_primary_container.default.hex}} /* #ffffff */; // outbox selected audio file download circle background +msgFile1Bg: #72b1df; // blue shared links / files without image square thumbnail +msgFile1BgDark: #5c9ece; // blue shared files without image download circle background +msgFile1BgOver: #5294c4; // blue shared files without image download circle background with mouse over +msgFile1BgSelected: #5099d0; // blue shared files without image download circle background if file is selected +msgFile2Bg: #5fbe67; // green shared links / shared files without image square thumbnail +msgFile2BgDark: #4da859; // green shared files without image download circle background +msgFile2BgOver: #44a050; // green shared files without image download circle background with mouse over +msgFile2BgSelected: #50ac9b; // green shared files without image download circle background if file is selected +msgFile3Bg: #e47272; // red shared links / shared files without image square thumbnail +msgFile3BgDark: #cd5b5e; // red shared files without image download circle background +msgFile3BgOver: #c35154; // red shared files without image download circle background with mouse over +msgFile3BgSelected: #9f6a82; // red shared files without image download circle background if file is selected +msgFile4Bg: #efc274; // yellow shared links / shared files without image square thumbnail +msgFile4BgDark: #e6a561; // yellow shared files without image download circle background +msgFile4BgOver: #dc9c5a; // yellow shared files without image download circle background with mouse over +msgFile4BgSelected: #b19d84; // yellow shared files without image download circle background if file is selected +historyFileInIconFg: msgInBg /* #33393f */; // inbox file without thumbnail (like audio file) download arrow icon +historyFileInIconFgSelected: msgInBgSelected /* #009687 */; // inbox selected file without thumbnail (like audio file) download arrow icon +historyFileInRadialFg: {{colors.surface_container_highest.default.hex}} /* #33393f */; // inbox file without thumbnail (like audio file) radial download animation line +historyFileInRadialFgSelected: historyFileInIconFgSelected; // inbox selected file without thumbnail (like audio file) radial download animation line +historyFileOutIconFg: msgOutBg /* #33393f */; // outbox file without thumbnail (like audio file) download arrow icon +historyFileOutIconFgSelected: msgOutBgSelected /* #009687 */; // outbox selected file without thumbnail (like audio file) download arrow icon +historyFileOutRadialFg: historyFileOutIconFg; // outbox file without thumbnail (like audio file) radial download animation line +historyFileOutRadialFgSelected: historyFileOutIconFgSelected /* #009687 */; // outbox selected file without thumbnail (like audio file) radial download animation line (NOTE(eqrfns): you need to start downloading the file and then select the message to see this) +historyFileThumbIconFg: {{colors.on_surface.default.hex}} /* #efefef */; // file with thumbnail (or photo / video) download arrow icon +historyFileThumbIconFgSelected: {{colors.on_surface.default.hex}} /* #ffffff */; // selected file with thumbnail (or photo / video) download arrow icon +historyFileThumbRadialFg: historyFileThumbIconFg; // file with thumbnail (or photo / video) radial download animation line +historyFileThumbRadialFgSelected: {{colors.on_surface.default.hex}} /* #ffffff */; // selected file with thumbnail (or photo / video) radial download animation line +historyVideoMessageProgressFg: historyFileThumbIconFg; // radial playback progress in round video messages +msgWaveformInActive: windowBgActive; // inbox voice message active waveform lines (like played part of currently playing voice message) +msgWaveformInActiveSelected: {{colors.on_primary_container.default.hex}} /* #ffffff */; // inbox selected voice message active waveform lines (like played part of currently playing voice message) +msgWaveformInInactive: {{colors.outline.default.hex}} /* #5d6b76 */; // inbox voice message inactive waveform lines (like upcoming part of currently playing voice message) +msgWaveformInInactiveSelected: {{colors.on_primary_container.default.hex}}80 /* #41d1be */; // inbox selected voice message inactive waveform lines (like upcoming part of currently playing voice message) +msgWaveformOutActive: {{colors.on_secondary_container.default.hex}} /* #11bfab */; // outbox voice message active waveform lines (like played part of currently playing voice message) +msgWaveformOutActiveSelected: {{colors.on_primary_container.default.hex}} /* #ffffff */; // outbox selected voice message active waveform lines (like played part of currently playing voice message) +msgWaveformOutInactive: {{colors.on_secondary_container.default.hex}}80 /* #596874 */; // outbox voice message inactive waveform lines (like upcoming part of currently playing voice message) +msgWaveformOutInactiveSelected: {{colors.on_primary_container.default.hex}}80 /* #41d1be */; // outbox selected voice message inactive waveform lines (like upcoming part of currently playing voice message) +msgBotKbOverBgAdd: {{colors.on_surface.default.hex}}14 /* #ffffff14 */; // this is painted over a bot inline keyboard button (which has msgServiceBg background) when mouse is over that button +msgBotKbIconFg: msgServiceFg; // bot inline keyboard button icon in the top-right corner (like in @vote bot when a poll is ready to be shared) +msgBotKbRippleBg: {{colors.on_surface_variant.default.hex}}10 /* #9e9d9d10 */; // bot inline keyboard button ripple effect +mediaInFg: msgInDateFg; // inbox media message status text (like in file that is being downloaded) +mediaInFgSelected: msgInDateFgSelected; // inbox selected media message status text (like in file that is being downloaded) +mediaOutFg: msgOutDateFg; // outbox media message status text (like in file that is being downloaded) +mediaOutFgSelected: msgOutDateFgSelected; // outbox selected media message status text (like in file that is being downloaded) +youtubePlayIconBg: #e83131c8; // youtube play icon background (when a link to a youtube video with a webpage preview is sent) NOTE(eqrfns): deliberately a static color +youtubePlayIconFg: #ffffff /* windowFgActive */; // youtube play icon arrow (when a link to a youtube video with a webpage preview is sent) NOTE(eqrfns): deliberately a static color +videoPlayIconBg: {{colors.scrim.default.hex}}7f; // other video play icon background (like when a link to a vimeo video with a webpage preview is sent) +videoPlayIconFg: {{colors.on_surface.default.hex}} /* #ffffff */; // other video play icon arrow (like when a link to a vimeo video with a webpage preview is sent) +toastBg: {{colors.shadow.default.hex}}b2; // toast notification background (like when you click on your t.me link when editing your username) +toastFg: {{colors.shadow.default.hex | invert}} /* windowFgActive */; // toast notification text (like when you click on your t.me link when editing your username) +reportSpamBg: {{colors.surface_container_highest.default.hex}} /* #363c42 */; // report spam panel background (like a non contact user writes your for the first time) +reportSpamFg: windowFg; // report spam panel text (when you send a report from that panel) +historyToDownBg: {{colors.secondary_container.default.hex}} /* #434d57 */; // arrow button background (to scroll to the end of the viewed chat) +historyToDownBgOver: {{colors.secondary_container.default.hex | auto_lightness: 10}} /* #515b65 */; // arrow button background with mouse over +historyToDownBgRipple: {{colors.secondary_container.default.hex | auto_lightness: 20}} /* #636d77 */; // arrow button ripple effect +historyToDownFg: {{colors.on_secondary_container.default.hex}} /* #adb4ba */; // arrow button icon +historyToDownFgOver: {{colors.on_secondary_container.default.hex}} /* menuIconFgOver */; // arrow button icon with mouse over +historyToDownShadow: {{colors.shadow.default.hex}}40; // arrow button shadow +historyComposeAreaBg: {{colors.surface_container.default.hex}} /* #282e33 */; // history compose area background (message write area / reply information / forwarding information) +historyComposeAreaFg: historyTextInFg; // history compose area text +historyComposeAreaFgService: msgInDateFg; // history compose area text when replying to a media message +historyComposeIconFg: menuIconFg; // history compose area icon (like emoji, attach, bot command..) +historyComposeIconFgOver: menuIconFgOver; // history compose area icon with mouse over +historySendIconFg: windowBgActive; // send message icon +historySendIconFgOver: windowBgActive; // send message icon with mouse over +historyPinnedBg: historyComposeAreaBg; // pinned message area background +historyReplyBg: historyComposeAreaBg; // reply / forward / edit message area background +historyReplyIconFg: windowBgActive; // reply / forward / edit message left icon +historyReplyCancelFg: cancelIconFg; // reply / forward / edit message cancel button +historyReplyCancelFgOver: cancelIconFgOver; // reply / forward / edit message cancel button with mouse over +historyComposeButtonBg: historyComposeAreaBg; // unblock / join channel / mute channel button background +historyComposeButtonBgOver: {{colors.surface_container_high.default.hex}} /* #31363c */; // unblock / join channel / mute channel button background with mouse over +historyComposeButtonBgRipple: {{colors.surface_container_low.default.hex}} /* #272b2f */; // unblock / join channel / mute channel button ripple effect +overviewCheckBg: {{colors.scrim.default.hex}}40; // shared files / links checkbox background for not selected rows when some rows are selected +overviewCheckFg: {{colors.on_surface.default.hex}} /* #ffffff */; // shared files / links checkbox icon for not selected rows when some rows are selected +overviewCheckFgActive: {{colors.on_primary.default.hex}} /* #ffffff */; // shared files / links checkbox icon for selected rows (NOTE(eqrfns): this is used over primary (boxTextFgGood al least)) +overviewPhotoSelectOverlay: {{colors.primary.default.hex}}33 /* #40ace333 */; // shared photos / videos / links fill for selected rows +profileStatusFgOver: #ff00ff /* #9c9c9c */; // group members list in group profile user last seen text with mouse over (NOTE(eqrfns): seems unused in the sources?) +profileVerifiedCheckBg: windowBgActive; // profile verified check icon background +profileVerifiedCheckFg: {{colors.on_surface.default.hex}} /* #ffffff */; // profile verified check icon tick +profileAdminStartFg: windowBgActive; // group members list admin star icon +notificationsBoxMonitorFg: windowFg; // custom notifications settings box monitor color +notificationsBoxScreenBg: dialogsBgActive; // #6389a8; // custom notifications settings box monitor screen background +notificationSampleUserpicFg: windowBgActive; // custom notifications settings box small sample userpic placeholder +notificationSampleCloseFg: {{colors.on_surface.default.hex}} /* #d7d7d7 */; // custom notifications settings box small sample close button placeholder (NOTE(eqrfns): haven't seen this) +notificationSampleTextFg: {{colors.on_surface.default.hex}} /* #d7d7d7 */; // custom notifications settings box small sample text placeholder (NOTE(eqrfns): haven't seen this) +notificationSampleNameFg: {{colors.on_surface_variant.default.hex}} /* #939393 */; // custom notifications settings box small sample name placeholder (NOTE(eqrfns): haven't seen this) +changePhoneSimcardFrom: notificationSampleTextFg; // change phone number box left simcard icon +changePhoneSimcardTo: notificationSampleNameFg; // change phone number box right simcard and plane icons +mainMenuBg: windowBg; // main menu background +mainMenuCoverBg: windowBgActive /* #009687 */; // main menu top cover background (NOTE(eqrfns): these "cover" colors don't seem to show up anywhere) +mainMenuCoverFg: windowFgActive; // main menu top cover text +mainMenuCloudFg: activeButtonFg; // main menu top cover saved messages / archive button icon +mainMenuCloudBg: activeButtonBg /* #0e837d */; // main menu top cover saved messages / archive button background +mediaPlayerBg: windowBg; // audio file player background +mediaPlayerActiveFg: windowBgActive; // audio file player playback progress already played part +mediaPlayerInactiveFg: sliderBgInactive; // audio file player playback progress upcoming (not played yet) part with mouse over +mediaPlayerDisabledFg: #9dd1ef; // audio file player loading progress (when you're playing an audio file and switch to the previous one which is not loaded yet) +mediaviewFileBg: windowBg; // file rectangle background (when you view a png file in Media Viewer and go to a previous, not loaded yet, file) +mediaviewFileNameFg: windowFg; // file name in file rectangle +mediaviewFileSizeFg: windowSubTextFg; // file size text in file rectangle +mediaviewFileRedCornerFg: #d55959; // red file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .pdf) +mediaviewFileYellowCornerFg: #e8a659; // yellow file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .zip) +mediaviewFileGreenCornerFg: #49a957; // green file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .exe) +mediaviewFileBlueCornerFg: #599dcf; // blue file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .dmg) +mediaviewFileExtFg: activeButtonFg; // file extension text in file thumbnail placeholder in file rectangle +mediaviewMenuBg: #ff00ff /* #383838 */; // context menu in Media Viewer background (NOTE(eqrfns): seems defined, but unreferenced in the sources) +mediaviewMenuBgOver: {{colors.surface_container_highest.dark.hex}} /* #505050 */; // context menu item background with mouse over (NOTE(eqrfns): this is actually the inactive side of the playback speed control slider for some reason) +mediaviewMenuBgRipple: #ff00ff /* #676767 */; // context menu item ripple effect (NOTE(eqrfns): also unused?) +mediaviewMenuFg: {{colors.on_surface.dark.hex}} /* windowFgActive */; // context menu item text +mediaviewBg: {{colors.surface_container_low.dark.hex}}eb /* #222222eb */; // Media Viewer background +mediaviewVideoBg: imageBg; // Media Viewer background when viewing a video in full screen +mediaviewControlBg: {{colors.scrim.default.hex}}3c; // controls background (like next photo / previous photo) +mediaviewControlFg: {{colors.primary.dark.hex}} /* windowFgActive */; // controls icon (like next photo / previous photo) +mediaviewCaptionBg: {{colors.surface_container_lowest.dark.hex}}a9 /* #11111180 */; // caption text background (when viewing photo with caption) +mediaviewCaptionFg: mediaviewControlFg; // caption text +mediaviewTextLinkFg: {{colors.primary.dark.hex}} /* #66f7e4 */; // caption text link +mediaviewSaveMsgBg: toastBg; // save to file toast message background in Media Viewer +mediaviewSaveMsgFg: toastFg; // save to file toast message text +mediaviewPlaybackActive: {{colors.on_surface_variant.dark.hex}} /* #c7c7c7 */; // video playback progress already played part +mediaviewPlaybackInactive: {{colors.on_surface_variant.dark.hex}}55 /* #252525 */; // video playback progress upcoming (not played yet) part +mediaviewPlaybackActiveOver: {{colors.on_surface.dark.hex}} /* #ffffff */; // video playback progress already played part with mouse over +mediaviewPlaybackInactiveOver: {{colors.on_surface_variant.dark.hex}}aa /* #474747 */; // video playback progress upcoming (not played yet) part with mouse over (NOTE(eqrfns): this actually only shows up when rewinding the video. I assume this is the "buffered" part, but not sure) +mediaviewPlaybackProgressFg: {{colors.on_surface.dark.hex}}c7 /* #ffffffc7 */; // video playback progress text +mediaviewPlaybackIconFg: mediaviewPlaybackActive; // video playback controls icon +mediaviewPlaybackIconFgOver: mediaviewPlaybackActiveOver; // video playback controls icon with mouse over +mediaviewTransparentBg: {{colors.on_surface.default.hex}} /* #ffffff */; // transparent filling part (when viewing a transparent .png file in Media Viewer) (NOTE(eqrfns): this is one of the checkerboard colors) +mediaviewTransparentFg: {{colors.on_surface_variant.default.hex}} /* #cccccc */; // another transparent filling part (NOTE(eqrfns): this is annother checkerboard color) +notificationBg: windowBg; // custom notification window background +callBg: {{colors.surface_container.dark.hex}}f2 /* #26282cf2 */; // phone call popup background +callNameFg: {{colors.on_surface.dark.hex}} /* #ffffff */; // phone call popup name text +callFingerprintBg: {{colors.scrim.dark.hex}}66; // phone call popup emoji fingerprint background +callStatusFg: {{colors.on_surface_variant.dark.hex}} /* #aaabac */; // phone call popup status text (NOTE(eqrfns): haven't seen this on Linux) +callIconFg: {{colors.on_surface.dark.hex}} /* #ffffff */; // phone call popup answer, hangup and mute mic icon +callAnswerBg: {{colors.primary_container.dark.hex}} /* #5ad1bf */; // phone call popup answer button background (NOTE(eqrfns): this is one of those "bugged" colors that sometimes get stuck on theme change) +callAnswerRipple: {{colors.inverse_primary.dark.hex}} /* #42c2b1 */; // phone call popup answer button ripple effect +callAnswerBgOuter: {{colors.primary.dark.hex}}26 /* #3febc926 */; // phone call popup answer button outer ripple effect +callHangupBg: {{colors.error_container.dark.hex}} /* #d75a5a */; // phone call popup hangup button background +callHangupRipple: {{colors.on_error_container.dark.hex}}19 /* #c04646 */; // phone call popup hangup button ripple effect +callCancelBg: {{colors.on_surface.dark.hex}} /* #ffffff */; // phone call popup line busy cancel button background +callCancelFg: {{colors.inverse_on_surface.dark.hex}}; // phone call popup line busy cancel button icon +callCancelRipple: #f1f1f1; // phone call popup line busy cancel button ripple effect +callMuteRipple: {{colors.on_surface.default.hex}}12 /* #ffffff12 */; // phone call popup mute mic ripple effect +callBarBg: dialogsBgActive; // active phone call bar background +callBarMuteRipple: dialogsRippleBgActive; // active phone call bar mute and hangup button ripple effect +callBarBgMuted: #8f8f8f; // phone call bar with muted mic background +callBarUnmuteRipple: #7f7f7f; // phone call bar with muted mic mute and hangup button ripple effect +callBarFg: dialogsNameFgActive; // phone call bar text and icons +importantTooltipBg: toastBg; // +importantTooltipFg: toastFg; // +importantTooltipFgLink: {{colors.primary.dark.hex}} /* #65fce8 */; // group call important tooltip text link color (NOTE(eqrfns): haven't seen this yet) +filterInputActiveBg: {{colors.surface_container_highest.default.hex}} /* #3d444b */; // default rounded input field active background (like in chats list search field when field is focused) +botKbBg: {{colors.surface_container_highest.default.hex}} /* #3d444b */; // bot keyboard button background +botKbDownBg: {{colors.surface_variant.default.hex}} /* #494f55 */; // bot keyboard button ripple effect +emojiIconFg: {{colors.outline.default.hex}} /* #6c7278 */; // emoji category icon +emojiIconFgActive: #ff00ff /* #36cdb9 */; // active emoji category icon (NOTE(eqrfns): seems to be missing in the sources) +overviewCheckBorder: {{colors.outline.default.hex}} /* #e4eaef */; // shared media round checkbox border +sideBarBg: {{colors.surface_container_lowest.default.hex}} /* #18191d */; // filters side bar background +sideBarBgActive: {{colors.surface_container.default.hex}} /* #282e33 */; // filters side bar active background +sideBarBgRipple: {{colors.surface_container_low.default.hex}} /* #22272b */; // filters side bar ripple effect +sideBarTextFg: {{colors.outline.default.hex}} /* #8d939e */; // filters side bar text +sideBarTextFgActive: {{colors.primary.default.hex}} /* #24c9b9 */; // filters side bar active item text +sideBarIconFg: {{colors.outline.default.hex}} /* #8d939e */; // filters side bar icon +sideBarIconFgActive: {{colors.primary.default.hex}} /* #25dbc9 */; // filters side bar active item icon +sideBarBadgeBg: {{colors.primary.default.hex}} /* #25dbc9 */; // filters side bar badge background +sideBarBadgeBgMuted: {{colors.outline.default.hex}} /* #8d939e */; // filters side bar unimportant badge background +statisticsChartInactive: {{colors.surface_container_high.default.hex}} /* #313a43d8 */; // inactive area in footer of statistic charts (NOTE(eqrfns): haven't seen this) +statisticsChartActive: {{colors.outline_variant.default.hex}} /* #596879d8 */; // sides in footer of statistic charts (NOTE(eqrfns): haven't seen this) + +// The following colors are not automatically exported into a theme as of Telegram Desktop 6.6.4. +// You can find them in the Telegram/lib_ui/ui/colors.palette file of the Telegram Desktop sources. +groupCallMenuBg: {{colors.surface_container.dark.hex}} /* #292d33 */; // group members list in group profile user last seen text with mouse over (NOTE(eqrfns): this is also used as a context menu background in media view) +groupCallMenuBgOver: {{colors.surface_container_high.dark.hex}} /* #343940 */; // group call popup menu with mouse over +groupCallMenuBgRipple: {{colors.surface_container_highest.dark.hex}} /* #3a4047 */; // group call popup menu ripple effect +groupCallMembersFg: {{colors.on_surface.dark.hex}} /* #ffffff */; // group call member name text (NOTE(eqrfns): this is used for the media view context menu text) +sideBarBadgeFg: {{colors.surface_container_lowest.default.hex}} /* #ffffff */; // filters side bar badge text (NOTE(eqrfns): this is used for sidebar counters) +callBgOpaque: {{colors.surface_container_low.dark.hex}} /* #1b1f23 */; // phone call popup background +callBgButton: {{colors.surface_container_lowest.dark.hex}}7f /* #1b1f237f */; // phone call window control buttons bg (NOTE(eqrfns): this is used for the top bar with signal strength and random emojis) +callIconBg: {{colors.on_surface.dark.hex}}1f /* #ffffff1f */; // phone call mute mic and camera button background +callIconBgActive: {{colors.on_surface.dark.hex}}e5 /* #ffffffe5 */; // phone call line busy cancel, muted mic and camera button background +callIconFgActive: {{colors.inverse_on_surface.dark.hex}} /* #222222 */; // phone call line busy cancel, muted mic and camera icon +callIconActiveRipple: {{colors.inverse_on_surface.dark.hex}}19 /* #f1f1f1 */; // phone call line busy cancel, muted mic and camera ripple effect +groupCallBg: {{colors.surface_container_low.dark.hex}} /* #1a2026 */; // group call popup background +groupCallActiveFg: {{colors.primary.dark.hex}} /* #4db8ff */; // group call active controls text (NOTE(eqrfns): this is used for regular calls too) +groupCallMembersBg: {{colors.surface_container.dark.hex}} /* #2c333d */; // group call members list background +groupCallMembersBgOver: {{colors.surface_container_high.dark.hex}} /* #323a45 */; // group call members list row with mouse over +groupCallMembersBgRipple: {{colors.surface_container_highest.dark.hex}} /* #39424f */; // group call member row ripple effect +groupCallMemberActiveIcon: {{colors.tertiary.dark.hex}} /* #8deb90 */; // group call active member icon +groupCallMemberActiveStatus: {{colors.tertiary.dark.hex}} /* #8deb90 */; // group call active member status text +groupCallMemberInactiveIcon: {{colors.outline.dark.hex}} /* #84888f */; // group call inactive member icon +groupCallMemberInactiveStatus: {{colors.secondary.dark.hex}} /* #61c0ff */; // group call inactive member status text +groupCallMemberMutedIcon: {{colors.error.dark.hex}} /* #ed7372 */; // group call muted by admin member icon +groupCallMemberNotJoinedStatus: {{colors.on_surface_variant.dark.hex}} /* #91979e */; // group call non joined member status text +groupCallIconFg: {{colors.on_surface.dark.hex}} /* #ffffff */; // group call mute / settings / leave icon +// I'll leave these group call button colors as they are for now. +groupCallLive1: #0dcc39; // group call live button color1 +groupCallLive2: #0bb6bd; // group call live button color2 +groupCallMuted1: #0992ef; // group call muted button color1 +groupCallMuted2: #16ccfb; // group call muted button color2 +groupCallForceMutedBar1: #c65493; // group call force muted top bar color1 +groupCallForceMutedBar2: #7a6af1; // group call force muted top bar color2 +groupCallForceMutedBar3: #5f95e8; // group call force muted top bar color3 +groupCallForceMuted1: #4f9cff; // group call force muted button color1 +groupCallForceMuted2: #9b52e9; // group call force muted button color2 +groupCallForceMuted3: #eb5353; // group call force muted button color3 +groupCallLeaveBg: #f75c5c7f; // group call leave button background +groupCallLeaveBgRipple: #f75c5c9e; // group call leave button ripple effect +groupCallVideoTextFg: #ffffffe0; // group call text over video +groupCallVideoSubTextFg: #ffffffc0; // group call additional text over video +// NOTE(eqrfns): These "chart" colors are also used for syntax highlighting! +// Unfortunately, there is probably no way to make them look good with high-contrast themes in both inbox and outbox messages +// if using non-surface background (like secondary_container, as in my case) for outbox messages. +statisticsChartLineBlue: {{colors.primary.default.hex | blend: {{"#327fe5" | to_color}}, 1.0 | harmonize: {{colors.primary.default.hex}}}} /* #327fe5 */; // represents blue color on statistical charts +statisticsChartLineGreen: {{colors.primary.default.hex | blend: {{"#61c752" | to_color}}, 1.0 | harmonize: {{colors.primary.default.hex}}}} /* #61c752 */; // represents green color on statistical charts +statisticsChartLineRed: {{colors.primary.default.hex | blend: {{"#e05356" | to_color}}, 1.0 | harmonize: {{colors.primary.default.hex}}}} /* #e05356 */; // represents red color on statistical charts +statisticsChartLineGolden: {{colors.primary.default.hex | blend: {{"#eba52d" | to_color}}, 1.0 | harmonize: {{colors.primary.default.hex}}}} /* #eba52d */; // represents golden color on statistical charts +statisticsChartLineLightblue: {{colors.primary.default.hex | blend: {{"#58a8ed" | to_color}}, 1.0 | harmonize: {{colors.primary.default.hex}}}} /* #58a8ed */; // represents lightblue color on statistical charts +statisticsChartLineLightgreen: {{colors.primary.default.hex | blend: {{"#8fcf39" | to_color}}, 1.0 | harmonize: {{colors.primary.default.hex}}}} /* #8fcf39 */; // represents lightgreen color on statistical charts +statisticsChartLineOrange: {{colors.primary.default.hex | blend: {{"#f28c39" | to_color}}, 1.0 | harmonize: {{colors.primary.default.hex}}}} /* #f28c39 */; // represents orange color on statistical charts +statisticsChartLineIndigo: {{colors.primary.default.hex | blend: {{"#7f79f3" | to_color}}, 1.0 | harmonize: {{colors.primary.default.hex}}}} /* #7f79f3 */; // represents indigo color on statistical charts +statisticsChartLinePurple: {{colors.primary.default.hex | blend: {{"#9f79e8" | to_color}}, 1.0 | harmonize: {{colors.primary.default.hex}}}} /* #9f79e8 */; // represents purple color on statistical charts +statisticsChartLineCyan: {{colors.primary.default.hex | blend: {{"#40d0ca" | to_color}}, 1.0 | harmonize: {{colors.primary.default.hex}}}} /* #40d0ca */; // represents cyan color on statistical charts +//botKbColor: windowBoldFgOver; // bot keyboard button text +//botKbPrimaryBg: #298acfcc; // bot keyboard Primary button background +//botKbDangerBg: #e05356cc; // bot keyboard Danger button background +//botKbSuccessBg: #61c752cc; // bot keyboard Success button background +//botKbInlinePrimaryBg: #378eaeb3; // inline bot keyboard Primary button background +//botKbInlineDangerBg: #c9543eb3; // inline bot keyboard Danger button background +//botKbInlineSuccessBg: #489d38b3; // inline bot keyboard Success button background +//boxDividerBg: windowBgOver; // gray divider in boxes and layers +//boxDividerFg: windowShadowFg; // gray divider shadow in boxes and layers +//paymentsTipActive: #01ad0f; // tip button text in payments checkout form +//dialogsArchiveFg: #525252 | dialogsNameFg; // chat list archive name text +//dialogsScamFg: dialogsDraftFg; // chat list scam label +//dialogsArchiveFgOver: #525252 | dialogsNameFgOver; // chat list archive name text with mouse over +//dialogsScamFgOver: dialogsDraftFgOver; // chat list scam label with mouse over +//dialogsScamFgActive: dialogsDraftFgActive; // chat list scam label for current (active) chat +//emojiSubIconFgActive: #666666 | windowBoldFg; // active emoji subcategory icon +//stickerPanPremium1: #5a99ff; // premium sticker pack icon gradient 1 +//stickerPanPremium2: #45b9f3; // premium sticker pack icon gradient 2 +//historyPeerSavedMessagesBg: historyPeer4UserpicBg; // saved messages userpic background +//historyPeerArchiveUserpicBg: dialogsUnreadBgMuted; // archive folder userpic background +//settingsIconBg1: #f06964; // red settings icon background +//settingsIconBg2: #6dc534; // green settings icon background +//settingsIconBg3: #ed9f20; // light-orange settings icon background +//settingsIconBg4: #56b3f5; // light-blue settings icon background +//settingsIconBg5: #7595ff; // dark-blue settings icon background +//settingsIconBg6: #b580e2; // purple settings icon background +//settingsIconBg8: #f2925b; // dark-orange settings icon background +//settingsIconBgArchive: #9da2b0; // archive main menu icon background +//settingsIconFg: #ffffff; // settings icon shape +//mapPointDrop: #fd4444; // geo location marker background +//mapPointDot: #ffffff; // geo location marker point +//overviewCheckBgActive: windowBgActive; // shared media / files / links checkbox background for selected rows +//mediaviewPlaybackIconRipple: #ffffff14; // video playback controls ripple effect +//mediaviewPipControlsFg: #ffffffd9; // picture-in-picture controls +//mediaviewPipControlsFgOver: #ffffff; // picture-in-picture controls with mouse over +//mediaviewPipPlaybackActive: #ffffffda; // picture-in-picture playback progress already played part +//mediaviewPipPlaybackInactive: #ffffff26; // picture-in-picture playback progress upcoming (not played yet) part +//outdatedFg: #ffffff; // operating system version is outdated bar text +//outdateSoonBg: #e08543; // operating system version is soon outdated bar background +//outdatedBg: #e05745; // operating system version is already outdated bar background +//spellUnderline: #ff000088 | attentionButtonFg; // misspelled words +//walletTitleBg: #121213; // wallet window title background when window is inactive +//walletTitleBgActive: walletTitleBg; // wallet window title background when window is active +//walletTitleButtonBg: walletTitleBg; // wallet window title minimize/maximize/restore button background when window is inactive (Windows only) +//walletTitleButtonFg: #5a5a5b; // wallet window title minimize/maximize/restore button icon when window is inactive (Windows only) +//walletTitleButtonBgOver: #373738; // wallet window title minimize/maximize/restore button background with mouse over when window is inactive (Windows only) +//walletTitleButtonFgOver: #747475; // wallet window title minimize/maximize/restore button icon with mouse over when window is inactive (Windows only) +//walletTitleButtonBgActive: walletTitleButtonBg; // wallet window title minimize/maximize/restore button background when window is active (Windows only) +//walletTitleButtonFgActive: walletTitleButtonFg; // wallet window title minimize/maximize/restore button icon when window is active (Windows only) +//walletTitleButtonBgActiveOver: walletTitleButtonBgOver; // wallet window title minimize/maximize/restore button background with mouse over when window is active (Windows only) +//walletTitleButtonFgActiveOver: walletTitleButtonFgOver; // wallet window title minimize/maximize/restore button icon with mouse over when window is active (Windows only) +//walletTitleButtonCloseBg: walletTitleButtonBg; // wallet window title close button background when window is inactive (Windows only) +//walletTitleButtonCloseFg: walletTitleButtonFg; // wallet window title close button icon when window is inactive (Windows only) +//walletTitleButtonCloseBgOver: titleButtonCloseBgOver; // wallet window title close button background with mouse over when window is inactive (Windows only) +//walletTitleButtonCloseFgOver: titleButtonCloseFgOver; // wallet window title close button icon with mouse over when window is inactive (Windows only) +//walletTitleButtonCloseBgActive: walletTitleButtonCloseBg; // wallet window title close button background when window is active (Windows only) +//walletTitleButtonCloseFgActive: walletTitleButtonCloseFg; // wallet window title close button icon when window is active (Windows only) +//walletTitleButtonCloseBgActiveOver: walletTitleButtonCloseBgOver; // wallet window title close button background with mouse over when window is active (Windows only) +//walletTitleButtonCloseFgActiveOver: walletTitleButtonCloseFgOver; // wallet window title close button icon with mouse over when window is active (Windows only) +//walletTopBg: #1e1f21; // wallet top part background +//walletBalanceFg: #ffffff; // wallet balance text +//walletSubBalanceFg: #f9f9f9; // wallet balance label text +//walletTopLabelFg: #999999; // wallet top updated label text +//walletTopIconFg: walletTopLabelFg; // wallet top refresh and menu icons +//walletTopIconRipple: #ffffff12; // wallet top menu icon ripple effect +//songCoverOverlayFg: #00000066; // song cover overlay +//photoEditorItemBaseHandleFg: #3ccaef; // photo editor handle circle +//premiumButtonBg1: #55a5ff; // upgrade to premium button gradient 1 +//premiumButtonBg2: #a767ff; // upgrade to premium button gradient 2 +//premiumButtonBg3: #db5c9d; // upgrade to premium button gradient 3 +//premiumButtonFg: #ffffff; // upgrade to premium button text +//premiumIconBg1: #f38926; // icon in premium settings gradient 1 +//premiumIconBg2: #e44456; // icon in premium settings gradient 2 +//premiumIconBg3: #4acd43; // icon in premium settings gradient 3 +//creditsBg1: #ffb222; // credits icon gradient 1, normal +//creditsBg2: #FFD951; // credits icon gradient 2, light +//creditsBg3: #f0b400; // credits icon gradient 3, dark +//creditsFg: #ba7000; // credits text on light background +//creditsStroke: #da8735; // credits icon stroke +//currencyFg: #168acd; // currency icon, blue +//rankAdminFg: #49a355; // admin badge text and pill, green +//rankOwnerFg: #956ac8; // owner badge text and pill, purple +//rankUserFg: windowSubTextFg; // regular user badge text, gray diff --git a/.config/matugen/templates/television.toml b/.config/matugen/templates/television.toml new file mode 100644 index 0000000..8e080c7 --- /dev/null +++ b/.config/matugen/templates/television.toml @@ -0,0 +1,19 @@ +# Television Colors +# Generated with Matugen + +background = '{{colors.surface.default.hex}}' +border_fg = '{{colors.outline.default.hex}}' +text_fg = '{{colors.on_surface.default.hex}}' +dimmed_text_fg = '{{colors.on_surface_variant.default.hex}}' +input_text_fg = '{{colors.secondary.default.hex}}' +result_count_fg = '{{colors.secondary.default.hex}}' +result_name_fg = '{{colors.on_surface.default.hex}}' +result_line_number_fg = '{{colors.secondary.default.hex}}' +result_value_fg = '{{colors.secondary.default.hex}}' +selection_bg = '{{colors.primary.default.hex}}' +selection_fg = '{{colors.on_primary.default.hex}}' +match_fg = '{{colors.inverse_primary.default.hex}}' +preview_title_fg = '{{colors.tertiary.default.hex}}' +channel_mode_fg = '{{colors.tertiary.default.hex}}' +remote_control_mode_fg = '{{colors.secondary.default.hex}}' +send_to_channel_mode_fg = '{{colors.tertiary.default.hex}}' diff --git a/.config/matugen/templates/terminal-sequences b/.config/matugen/templates/terminal-sequences new file mode 100644 index 0000000..fce83a0 --- /dev/null +++ b/.config/matugen/templates/terminal-sequences @@ -0,0 +1,26 @@ +]4;0;{{colors.surface.dark.hex}} +\]4;8;{{colors.surface_container_high.dark.hex}} +\]4;1;{{colors.error.dark.hex | auto_lightness: 15 }} +\]4;9;{{colors.error.dark.hex | auto_lightness: 10 }} +\]4;2;{{colors.tertiary.dark.hex | auto_lightness: 25 }} +\]4;10;{{colors.tertiary.dark.hex | auto_lightness: 10 }} +\]4;3;{{colors.tertiary.dark.hex | auto_lightness: 20 }} +\]4;11;{{colors.tertiary_fixed.dark.hex | auto_lightness: 10 }} +\]4;4;{{colors.secondary.dark.hex | auto_lightness: 25 }} +\]4;12;{{colors.secondary.dark.hex | auto_lightness: 10 }} +\]4;5;{{colors.secondary.dark.hex | auto_lightness: 20 }} +\]4;13;{{colors.secondary_fixed.dark.hex| auto_lightness: 10 }} +\]4;6;{{colors.primary.dark.hex | auto_lightness: 10 }} +\]4;14;{{colors.primary.dark.hex | auto_lightness: -5 }} +\]4;7;{{colors.on_surface_variant.dark.hex}} +\]4;15;{{colors.on_surface.dark.hex}} +\]11;{{colors.surface.dark.hex}} +\]19;{{colors.surface.dark.hex}} +\]4;232;{{colors.surface.dark.hex}} +\]4;257;{{colors.surface.dark.hex}} +\]708;{{colors.surface.dark.hex}} +\]10;{{colors.on_surface.dark.hex}} +\]17;{{colors.on_surface.dark.hex}} +\]4;256;{{colors.on_surface.dark.hex}} +\]12;{{colors.on_surface.dark.hex}} +\]13;{{colors.on_surface.dark.hex}} \ No newline at end of file diff --git a/.config/matugen/templates/thunderbird-userChrome.css b/.config/matugen/templates/thunderbird-userChrome.css new file mode 100644 index 0000000..aaaef8a --- /dev/null +++ b/.config/matugen/templates/thunderbird-userChrome.css @@ -0,0 +1,22 @@ +/* Auto-generated by matugen — do not edit manually */ +/* Wallpaper: {{image}} */ +*|*:root { + /* Folder pane */ + --sidebar-background-color: {{colors.surface.dark.hex}} !important; + --sidebar-text-color: {{colors.on_background.default.hex}} !important; + + /* Thread/message list */ + --tree-view-bg: {{colors.surface.dark.hex}} !important; + --tree-view-color: {{colors.on_background.default.hex}} !important; + + /* Selection */ + --treeitem-background-selected: {{colors.secondary.default.hex}} !important; + --treeitem-background-hover: {{colors.primary.default.hex}} !important; + --listbox-selected-bg: {{colors.secondary.default.hex}} !important; + --listbox-focused-selected-bg: {{colors.secondary.default.hex}} !important; + + /* Message pane */ + #messagePane { + background-color: {{colors.surface.dark.hex}} !important; + } +} diff --git a/.config/matugen/templates/tmux-colors.conf b/.config/matugen/templates/tmux-colors.conf new file mode 100644 index 0000000..f35e432 --- /dev/null +++ b/.config/matugen/templates/tmux-colors.conf @@ -0,0 +1,18 @@ +# Auto-generated by Matugen + +set -g status-bg "{{colors.surface_container_lowest.default.hex}}" +set -gq @thm_bar_bg "{{colors.surface_container_lowest.default.hex}}" + +set -gq @thm_bg "{{colors.surface.default.hex}}" +set -gq @thm_fg "{{colors.on_surface.default.hex}}" +set -gq @thm_primary "{{colors.primary.default.hex}}" +set -gq @thm_inverse_primary "{{colors.inverse_primary.default.hex}}" +set -gq @thm_surface_low "{{colors.surface_container_low.default.hex}}" +set -gq @thm_surface "{{colors.surface_container.default.hex}}" +set -gq @thm_surface_variant "{{colors.surface_container_high.default.hex}}" +set -gq @thm_outline "{{colors.outline_variant.default.hex}}" +set -gq @thm_text_variant "{{colors.on_surface_variant.default.hex}}" + +# Some variables/options must be re-set, which can be done here +set -g status-style "bg=#{@thm_bg},fg=#{@thm_fg}" +set -g window-active-style "bg=#{@thm_bg},fg=#{@thm_fg}" diff --git a/.config/matugen/templates/vivaldi.css b/.config/matugen/templates/vivaldi.css new file mode 100644 index 0000000..37b48b7 --- /dev/null +++ b/.config/matugen/templates/vivaldi.css @@ -0,0 +1,67 @@ +#browser { +--colorFg: {{colors.on_surface.default.rgb}} !important; /* foreground text */ +--colorFgAlpha: {{colors.on_surface.default.rgba | set_alpha: 0.10}} !important; /* foreground text */ +--colorFgIntense: {{colors.on_surface.default.rgb}} !important; /* foreground text */ +--colorFgFaded: {{colors.on_surface.default.rgb | set_lightness: -10.0}} !important; /* unfocused window foreground text */ +--colorFgFadedMore: {{colors.on_surface.default.rgb | set_lightness: -15.0}} !important; /* unfocused window foreground text */ +--colorFgFadedMost: {{colors.on_surface.default.rgb | set_lightness: -25.0}} !important; /* unfocused window foreground text */ +--colorBg: {{colors.secondary_container.default.rgb}} !important; /* adress bar and selected tab and settings sidebar */ +--colorBgAlpha: {{colors.secondary_container.default.rgba | set_alpha: 0.90}} !important; /* adress bar and selected tab and settings sidebar */ +--colorBgAlphaHeavy: {{colors.secondary_container.default.rgba | set_alpha: 0.65}} !important; /* adress bar and selected tab and settings sidebar */ +--colorBgAlphaHeavier: {{colors.secondary_container.default.rgba | set_alpha: 0.25}} !important; /* adress bar and selected tab and settings sidebar */ +--colorBgAlphaBlur: {{colors.surface.default.rgb}} !important; /* adress bar and selected tab */ +--colorBgDark: {{colors.surface.default.rgb}} !important; /* n/a */ +--colorBgDarker: {{colors.surface.default.rgb | set_lightness: -10.0}} !important; /* n/a */ +--colorBgLight: {{colors.surface.default.rgb | set_lightness: 5.0}} !important; /* unfocused adress bar and selected tab */ +--colorBgLighter: {{colors.surface.default.rgb | set_lightness: 15.0}} !important; /* unfocused adress bar and selected tab */ +--colorBgLightIntense: {{colors.surface_dim.default.rgb | set_lightness: 15.0}} !important; /* n/a */ +--colorBgIntense: {{colors.surface_dim.default.rgb}} !important; /* search field */ +--colorBgIntenser: {{colors.surface_dim.default.rgb | set_lightness: -5.0}} !important; /* search field */ +--colorBgIntserAlpha: {{colors.surface_dim.default.rgba | set_lightness: -5.0 | set_alpha: 0.92}} !important; /* search field */ +--colorBgInverse: {{colors.surface_variant.default.rgb}} !important; /* only on crtl+f => not found */ +--colorBgInverser: {{colors.surface_variant.default.rgb | set_lightness: 10.0}} !important; /* only on crtl+f => not found */ +--colorBgFaded: {{colors.primary.default.rgb}} !important; /* n/a */ +--colorHighlightBg: {{colors.primary.default.rgb}} !important; /* text highlight and search field border */ +--colorHighlightBgFaded: {{colors.primary_fixed_dim.default.rgb | set_lightness: 10.0}} !important; /* text highlight and search field border */ +--colorHighlightBgAlpha: {{colors.primary.default.rgba | set_alpha: 0.10}} !important; /* text highlight and search field border */ +--colorHighlightBgDark: {{colors.inverse_primary .default.rgb | set_lightness: -10.0}} !important; /* text highlight and search field border */ +--colorHighlightFg: {{colors.on_primary.default.rgb}} !important; /* selected text */ +--colorHighlightFgAlpha: {{colors.on_primary.default.rgba | set_alpha: 0.50}} !important; /* selected text */ +--colorHighlightFgAlphaHeavy: {{colors.on_primary.default.rgba | set_alpha: 0.25}} !important; /* selected text */ +--colorAccentBg: {{colors.surface.default.rgb}} !important; /* tab bg color */ +--colorAccentBgAlpha: {{colors.surface.default.rgba | set_alpha: 0.55}} !important; /* tab bg color */ +--colorAccentBgAlphaHeavy: {{colors.surface.default.rgba | set_alpha: 0.35}} !important; /* tab bg color */ +--colorAccentBgDark: {{colors.surface_container_low.default.rgb}} !important; /* n/a */ +--colorAccentBgDarker: {{colors.surface_container_lowest.default.rgb}} !important; /* n/a */ +--colorAccentBgFaded: {{colors.surface_dim.default.rgb}} !important; /* unfocused tab bg color */ +--colorAccentBgFadedMore: {{colors.surface_container_low.default.rgb}} !important; /* n/a */ +--colorAccentBgFadedMost: {{colors.surface_container_lowest.default.rgb}} !important; /* n/a */ +--colorAccentBorder: {{colors.outline_variant.default.rgb}} !important; /* n/a */ +--colorAccentBorderDark: {{colors.outline_variant.default.rgb | set_lightness: -10.0}} !important; /* n/a */ +--colorAccentFg: {{colors.on_surface.default.rgb}} !important; /* tab titles and vivaldi sign */ +--colorAccentFgFaded: {{colors.on_surface_variant.default.rgb | set_lightness: -20.0}} !important; /* tab titles and vivaldi sign */ +--colorAccentFgAlpha: {{colors.on_surface.default.rgba | set_alpha: 0.15}} !important; /* tab titles and vivaldi sign */ +--colorAccentFgAlphaHeavy: {{colors.on_surface.default.rgba | set_alpha: 0.35}} !important; /* tab titles and vivaldi sign */ +--colorBorder: {{colors.outline.default.rgb}} !important; /* some borders */ +--colorBorderDisabled: {{colors.surface_tint.default.rgb}} !important; /* some borders disabled */ +--colorBorderSubtle: {{colors.outline.default.rgb | set_lightness: -5.0}} !important; /* some borders disabled */ +--colorBorderIntense: {{colors.outline_variant.default.rgb}} !important; /* some borders disabled */ +--colorSuccessBg: rgb(118 100.00% 32.75%); +--colorSuccessBgAlpha: rgba(118 100.00% 32.75% / 0.10); +--colorSuccessFg: rgb(0 0.00% 100.00%); +--colorWarningBg: rgb(48 100.00% 50.00%); +--colorWarningBgAlpha: rgba(48 100.00% 50.00% / 0.10); +--colorWarningFg: rgb(0 0.00% 0.00%); +--colorErrorBg: {{colors.error_container.default.rgb}} !important; +--colorErrorBgAlpha: {{colors.error_container.default.rgba | set_alpha: 0.10}} !important; +--colorErrorFg: {{colors.on_error.default.rgb}} !important; +/* --colorWindowBg: {{colors.error.default.rgb}} !important; new page monotone bg (replaces image background) */ +/* --colorWindowFg: {{colors.error.default.rgb}} !important; fg for previos*/ +} + +/* in some color schemes settings appear too bright. this is meant to fix it. */ +.vivaldi-settings, +.settings-content, +.settings-sidebar { + background-color: {{colors.surface.default.rgb}} !important; +} diff --git a/.config/matugen/templates/wezterm_theme.toml b/.config/matugen/templates/wezterm_theme.toml new file mode 100644 index 0000000..7640228 --- /dev/null +++ b/.config/matugen/templates/wezterm_theme.toml @@ -0,0 +1,32 @@ +[colors] +background = "{{colors.background.default.hex}}" +foreground = "{{colors.on_surface.default.hex}}" +cursor_bg = "{{colors.on_surface.default.hex}}" +cursor_border = "{{colors.on_surface.default.hex}}" +cursor_fg = "{{colors.on_surface_variant.default.hex}}" +selection_bg = "{{colors.secondary_fixed_dim.default.hex}}" +selection_fg = "{{colors.on_secondary.default.hex}}" + +split = "{{colors.secondary_fixed_dim.default.hex}}" + +ansi = [ + "#191919", + "#D90202", + "#7FB11B", + "#FFD739", + "#3570D7", + "#BE84FF", + "#66D9EF", + "#F8F8F8" +] + +brights = [ + "#4D4D4D", + "#FF4747", + "#A0D04D", + "#FFEB4D", + "#6A9FF7", + "#D9A6FF", + "#80F5FF", + "#FFFFFF" +] diff --git a/.config/matugen/templates/windows_term.json b/.config/matugen/templates/windows_term.json new file mode 100644 index 0000000..adc829f --- /dev/null +++ b/.config/matugen/templates/windows_term.json @@ -0,0 +1,23 @@ +{ + "name": "Matugen Dark Generated Theme", + "black": "{{colors.surface.dark.hex}}", + "red": "{{colors.error.dark.hex | auto_lightness: 15 }}", + "green": "{{colors.tertiary.dark.hex | auto_lightness: 25 }}", + "yellow": "{{colors.tertiary.dark.hex | auto_lightness: 20 }}", + "blue": "{{colors.secondary.dark.hex | auto_lightness: 25 }}", + "purple": "{{colors.secondary.dark.hex | auto_lightness: 20 }}", + "cyan": "{{colors.primary.dark.hex | auto_lightness: 10 }}", + "white": "{{colors.on_surface_variant.dark.hex}}", + "brightBlack": "{{colors.surface_container_high.dark.hex}}", + "brightRed": "{{colors.error.dark.hex | auto_lightness: 10 }}", + "brightGreen": "{{colors.tertiary.dark.hex | auto_lightness: 10 }}", + "brightYellow": "{{colors.tertiary_fixed.dark.hex | auto_lightness: 10 }}", + "brightBlue": "{{colors.secondary.dark.hex | auto_lightness: 10 }}", + "brightPurple": "{{colors.secondary_fixed.dark.hex| auto_lightness: 10 }}", + "brightCyan": "{{colors.primary.dark.hex | auto_lightness: -5 }}", + "brightWhite": "{{colors.on_surface.dark.hex}}", + "background": "{{colors.surface.dark.hex}}", + "foreground": "{{colors.on_surface.dark.hex}}", + "selectionBackground": "{{colors.primary.dark.hex}}", + "cursorColor": "{{colors.on_surface.dark.hex}}" +} \ No newline at end of file diff --git a/.config/matugen/templates/windows_term_post.ps1 b/.config/matugen/templates/windows_term_post.ps1 new file mode 100644 index 0000000..c39c18e --- /dev/null +++ b/.config/matugen/templates/windows_term_post.ps1 @@ -0,0 +1,10 @@ +# Path to Windows Terminal settings +$p = "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json" +# Load the new scheme from the specified JSON file +$n = Get-Content "C:\Windows\Temp\matugen_windows_term.json" | ConvertFrom-Json +# Load existing settings +$s = Get-Content $p | ConvertFrom-Json +# Remove any existing scheme with the same name and add the new scheme +$s.schemes = @($s.schemes | Where-Object { $_.name -ne $n.name }) + $n +# Save the updated settings back to the file with sufficient depth to preserve structure +$s | ConvertTo-Json -Depth 10 | Set-Content $p \ No newline at end of file diff --git a/.config/matugen/templates/wine.reg b/.config/matugen/templates/wine.reg new file mode 100644 index 0000000..a5b0fa0 --- /dev/null +++ b/.config/matugen/templates/wine.reg @@ -0,0 +1,49 @@ +Windows Registry Editor Version 5.00 + +[HKEY_CURRENT_USER\Software\Wine\X11 Driver] +"Decorated"="N" + +[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes] +"AppsUseClassicTheme"=dword:00000001 + +Windows Registry Editor Version 5.00 + +[HKEY_CURRENT_USER\Control Panel\Colors] +"ActiveBorder"="{{ colors.background.default.red }} {{ colors.background.default.green }} {{ colors.background.default.blue }}" +"ActiveTitle"="{{ colors.surface_dim.default.red }} {{ colors.surface_dim.default.green }} {{ colors.surface_dim.default.blue }}" +"AppWorkSpace"="{{ colors.surface.default.red }} {{ colors.surface.default.green }} {{ colors.surface.default.blue }}" +"Background"="{{ colors.background.default.red }} {{ colors.background.default.green }} {{ colors.background.default.blue }}" + +"ButtonAlternativeFace"="{{ colors.primary.default.red }} {{ colors.primary.default.green }} {{ colors.primary.default.blue }}" +"ButtonDkShadow"="{{ colors.background.default.red }} {{ colors.background.default.green }} {{ colors.background.default.blue }}" +"ButtonFace"="{{ colors.background.default.red }} {{ colors.background.default.green }} {{ colors.background.default.blue }}" +"ButtonHilight"="{{ colors.background.default.red }} {{ colors.background.default.green }} {{ colors.background.default.blue }}" +"ButtonLight"="{{ colors.background.default.red }} {{ colors.background.default.green }} {{ colors.background.default.blue }}" +"ButtonShadow"="{{ colors.background.default.red }} {{ colors.background.default.green }} {{ colors.background.default.blue }}" +"ButtonText"="{{ colors.on_background.default.red }} {{ colors.on_background.default.green }} {{ colors.on_background.default.blue }}" + +"GradientActiveTitle"="{{ colors.surface_dim.default.red }} {{ colors.surface_dim.default.green }} {{ colors.surface_dim.default.blue }}" +"GradientInactiveTitle"="{{ colors.surface_dim.default.red }} {{ colors.surface_dim.default.green }} {{ colors.surface_dim.default.blue }}" +"GrayText"="{{ colors.secondary_container.default.red }} {{ colors.secondary_container.default.green }} {{ colors.secondary_container.default.blue }}" + +"Hilight"="{{ colors.primary_container.default.red }} {{ colors.primary_container.default.green }} {{ colors.primary_container.default.blue }}" +"HilightText"="{{ colors.primary.default.red }} {{ colors.primary.default.green }} {{ colors.primary.default.blue }}" + +"InactiveBorder"="{{ colors.background.default.red }} {{ colors.background.default.green }} {{ colors.background.default.blue }}" +"InactiveTitle"="{{ colors.surface_dim.default.red }} {{ colors.surface_dim.default.green }} {{ colors.surface_dim.default.blue }}" +"InactiveTitleText"="{{ colors.on_background.default.red }} {{ colors.on_background.default.green }} {{ colors.on_background.default.blue }}" + +"InfoText"="{{ colors.on_surface.default.red }} {{ colors.on_surface.default.green }} {{ colors.on_surface.default.blue }}" +"InfoWindow"="{{ colors.surface.default.red }} {{ colors.surface.default.green }} {{ colors.surface.default.blue }}" + +"Menu"="{{ colors.background.default.red }} {{ colors.background.default.green }} {{ colors.background.default.blue }}" +"MenuBar"="{{ colors.surface_dim.default.red }} {{ colors.surface_dim.default.green }} {{ colors.surface_dim.default.blue }}" +"MenuHilight"="{{ colors.background.default.red }} {{ colors.background.default.green }} {{ colors.background.default.blue }}" +"MenuText"="{{ colors.on_background.default.red }} {{ colors.on_background.default.green }} {{ colors.on_background.default.blue }}" + +"Scrollbar"="{{ colors.surface_container_low.default.red }} {{ colors.surface_container_low.default.green }} {{ colors.surface_container_low.default.blue }}" +"TitleText"="{{ colors.on_background.default.red }} {{ colors.on_background.default.green }} {{ colors.on_background.default.blue }}" + +"Window"="{{ colors.surface_container_low.default.red }} {{ colors.surface_container_low.default.green }} {{ colors.surface_container_low.default.blue }}" +"WindowFrame"="{{ colors.background.default.red }} {{ colors.background.default.green }} {{ colors.background.default.blue }}" +"WindowText"="{{ colors.on_background.default.red }} {{ colors.on_background.default.green }} {{ colors.on_background.default.blue }}" diff --git a/.config/matugen/templates/yazi-theme.toml b/.config/matugen/templates/yazi-theme.toml new file mode 100644 index 0000000..a82f620 --- /dev/null +++ b/.config/matugen/templates/yazi-theme.toml @@ -0,0 +1,921 @@ +# : Manager [[[ + +[mgr] +cwd = { fg = "{{colors.on_surface.default.hex}}" } + +# Find +find_keyword = { fg = "{{colors.error.default.hex}}", bold = true, italic = true, underline = true } +find_position = { fg = "{{colors.error.default.hex}}", bold = true, italic = true } + +# Marker +marker_copied = { fg = "{{colors.tertiary_fixed.default.hex | auto_lightness: 20.0}}", bg = "{{colors.tertiary_fixed.default.hex | auto_lightness: 20.0}}" } +marker_cut = { fg = "{{colors.tertiary_fixed.default.hex}}", bg = "{{colors.tertiary_fixed.default.hex}}" } +marker_marked = { fg = "{{colors.error.default.hex}}", bg = "{{colors.error.default.hex}}" } +marker_selected = { fg = "{{colors.tertiary.default.hex}}", bg = "{{colors.tertiary.default.hex}}" } + +# Count +count_copied = { fg = "{{colors.on_tertiary_fixed.default.hex}}", bg = "{{colors.tertiary_fixed.default.hex}}" } +count_cut = { fg = "{{colors.on_tertiary_fixed.default.hex}}", bg = "{{colors.tertiary_fixed.default.hex}}" } +count_selected = { fg = "{{colors.on_primary.default.hex}}", bg = "{{colors.tertiary.default.hex}}" } + +# Border +border_symbol = "│" +border_style = { fg = "{{colors.surface_tint.default.hex}}" } + +# : ]]] + + +# : Indicator [[[ + +[indicator] +padding = { open = "█", close = "█" } + +# : ]]] + + +# : Tabs [[[ + +[tabs] +active = { fg = "{{colors.primary.default.hex}}", bold = true, bg = "{{colors.surface.default.hex}}" } +inactive = { fg = "{{colors.secondary.default.hex}}", bg = "{{colors.surface.default.hex}}" } +sep_inner = { open = "[", close = "]" } + +# : ]]] + + +# : Mode [[[ + +[mode] +# Mode +normal_main = { bg = "{{colors.primary.default.hex}}", fg = "{{colors.on_primary.default.hex}}", bold = true } +normal_alt = { bg = "{{colors.surface_variant.default.hex}}", fg = "{{colors.on_surface_variant.default.hex}}" } + +# Select mode +select_main = { bg = "{{colors.secondary.default.hex}}", fg = "{{colors.on_secondary.default.hex}}", bold = true } +select_alt = { bg = "{{colors.surface_variant.default.hex}}", fg = "{{colors.on_surface_variant.default.hex}}" } + +# Unset mode +unset_main = { bg = "{{colors.tertiary.default.hex}}", fg = "{{colors.on_tertiary.default.hex}}", bold = true } +unset_alt = { bg = "{{colors.surface_variant.default.hex}}", fg = "{{colors.on_surface_variant.default.hex}}" } + +# : ]]] + + +# : Status [[[ + +[status] +sep_left = { open = "🭁", close = "🭠" } +sep_right = { open = "🭁", close = "🭠" } + +# Permissions +perm_type = { fg = "{{colors.secondary.default.hex | auto_lightness: 30.0}}" } +perm_write = { fg = "{{colors.tertiary.default.hex | auto_lightness: 30.0}}" } +perm_read = { fg = "{{colors.error.default.hex | auto_lightness: 30.0}}" } +perm_exec = { fg = "{{colors.tertiary_fixed.default.hex | auto_lightness: 30.0}}" } +perm_sep = { fg = "{{colors.primary_fixed.default.hex | auto_lightness: 30.0}}" } + +# Progress +progress_label = { bold = true } +progress_normal = { fg = "{{colors.primary.default.hex}}", bg = "{{colors.surface_bright.default.hex}}" } +progress_error = { fg = "{{colors.error.default.hex}}", bg = "{{colors.surface_bright.default.hex}}" } + +# : ]]] + + +# : Which [[[ + +[which] +cols = 3 +mask = { bg = "{{colors.surface_bright.default.hex}}" } +cand = { fg = "{{colors.primary.default.hex}}" } +rest = { fg = "{{colors.on_primary.default.hex}}" } +desc = { fg = "{{colors.on_surface.default.hex}}" } +separator = " ▶ " +separator_style = { fg = "{{colors.on_surface.default.hex}}" } + +# : ]]] + + +# : Notify [[[ + +[notify] +title_info = { fg = "{{colors.tertiary.default.hex}}" } +title_warn = { fg = "{{colors.primary.default.hex}}" } +title_error = { fg = "{{colors.error.default.hex}}" } + +# : ]]] + + +# : Picker [[[ + +[pick] +border = { fg = "{{colors.primary.default.hex}}" } +active = { fg = "{{colors.tertiary.default.hex}}", bold = true } +inactive = {} + +# : ]]] + + +# : Input [[[ + +[input] +border = { fg = "{{colors.primary.default.hex}}" } +value = { fg = "{{colors.on_surface.default.hex}}" } + +# : ]]] + + +# : Completion [[[ + +[cmp] +border = { fg = "{{colors.primary.default.hex}}", bg = "{{colors.on_primary.default.hex}}" } + +# : ]]] + + +# : Tasks [[[ + +[tasks] +border = { fg = "{{colors.primary.default.hex}}" } +title = {} +hovered = { fg = "{{colors.tertiary_fixed.default.hex}}", underline = true } + +# : ]]] + + +# : Help [[[ + +[help] +on = { fg = "{{colors.on_surface.default.hex}}" } +run = { fg = "{{colors.on_surface.default.hex}}" } +footer = { fg = "{{colors.on_secondary.default.hex}}", bg = "{{colors.secondary.default.hex}}" } + +# : ]]] + + +# : File-specific styles [[[ + +[filetype] + +rules = [ + # Images + { mime = "image/*", fg = "#94e2d5" }, + + # Media + { mime = "{audio,video}/*", fg = "#f9e2af" }, + + # Archives + { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#f5c2e7" }, + + # Documents + { mime = "application/{pdf,doc,rtf}", fg = "#a6e3a1" }, + + # Special files + { name = "*", is = "orphan", bg = "{{colors.error_container.default.hex}}" }, + { name = "*", is = "exec", fg = "{{colors.on_error_container.default.hex}}" }, + + # Fallback + { url = "*", fg = "{{colors.on_surface.default.hex}}" }, + { url = "*/", fg = "{{colors.surface_tint.default.hex}}" }, +] + +# : ]]] + +[icon] +globs = [] +dirs = [ + { name = ".config", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".git", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".github", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".npm", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "Desktop", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "Development", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "Documents", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "Downloads", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "Library", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "Movies", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "Music", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "Pictures", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "Public", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "Videos", text = "", fg = "{{colors.primary.default.hex}}" }, +] +files = [ + { name = ".babelrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".bash_profile", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".bashrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".clang-format", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".clang-tidy", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".codespellrc", text = "󰓆", fg = "{{colors.primary.default.hex}}" }, + { name = ".condarc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".dockerignore", text = "󰡨", fg = "{{colors.primary.default.hex}}" }, + { name = ".ds_store", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".editorconfig", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".env", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".eslintignore", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".eslintrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".git-blame-ignore-revs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".gitattributes", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".gitconfig", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".gitignore", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".gitlab-ci.yml", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".gitmodules", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".gtkrc-2.0", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".gvimrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".justfile", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".luacheckrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".luaurc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".mailmap", text = "󰊢", fg = "{{colors.primary.default.hex}}" }, + { name = ".nanorc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".npmignore", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".npmrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".nuxtrc", text = "󱄆", fg = "{{colors.primary.default.hex}}" }, + { name = ".nvmrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".pnpmfile.cjs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".pre-commit-config.yaml", text = "󰛢", fg = "{{colors.primary.default.hex}}" }, + { name = ".prettierignore", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".prettierrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".prettierrc.cjs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".prettierrc.js", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".prettierrc.json", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".prettierrc.json5", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".prettierrc.mjs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".prettierrc.toml", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".prettierrc.yaml", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".prettierrc.yml", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".pylintrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".settings.json", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".SRCINFO", text = "󰣇", fg = "{{colors.primary.default.hex}}" }, + { name = ".vimrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".Xauthority", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".xinitrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".Xresources", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".xsession", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".zprofile", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".zshenv", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = ".zshrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "_gvimrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "_vimrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "AUTHORS", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "AUTHORS.txt", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "brewfile", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "bspwmrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "build", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "build.gradle", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "build.zig.zon", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "bun.lock", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "bun.lockb", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cantorrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "checkhealth", text = "󰓙", fg = "{{colors.primary.default.hex}}" }, + { name = "cmakelists.txt", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "code_of_conduct", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "code_of_conduct.md", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "commit_editmsg", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "commitlint.config.js", text = "󰜘", fg = "{{colors.primary.default.hex}}" }, + { name = "commitlint.config.ts", text = "󰜘", fg = "{{colors.primary.default.hex}}" }, + { name = "compose.yaml", text = "󰡨", fg = "{{colors.primary.default.hex}}" }, + { name = "compose.yml", text = "󰡨", fg = "{{colors.primary.default.hex}}" }, + { name = "config", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "containerfile", text = "󰡨", fg = "{{colors.primary.default.hex}}" }, + { name = "copying", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "copying.lesser", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "Directory.Build.props", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "Directory.Build.targets", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "Directory.Packages.props", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "docker-compose.yaml", text = "󰡨", fg = "{{colors.primary.default.hex}}" }, + { name = "docker-compose.yml", text = "󰡨", fg = "{{colors.primary.default.hex}}" }, + { name = "dockerfile", text = "󰡨", fg = "{{colors.primary.default.hex}}" }, + { name = "eslint.config.cjs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "eslint.config.js", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "eslint.config.mjs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "eslint.config.ts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ext_typoscript_setup.txt", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "favicon.ico", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fp-info-cache", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fp-lib-table", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "FreeCAD.conf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "Gemfile", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gnumakefile", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "go.mod", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "go.sum", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "go.work", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gradle-wrapper.properties", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gradle.properties", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gradlew", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "groovy", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gruntfile.babel.js", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gruntfile.coffee", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gruntfile.js", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gruntfile.ts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gtkrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gulpfile.babel.js", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gulpfile.coffee", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gulpfile.js", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gulpfile.ts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "hypridle.conf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "hyprland.conf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "hyprlandd.conf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "hyprlock.conf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "hyprpaper.conf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "hyprsunset.conf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "i18n.config.js", text = "󰗊", fg = "{{colors.primary.default.hex}}" }, + { name = "i18n.config.ts", text = "󰗊", fg = "{{colors.primary.default.hex}}" }, + { name = "i3blocks.conf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "i3status.conf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "index.theme", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ionic.config.json", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "Jenkinsfile", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "justfile", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kalgebrarc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kdeglobals", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kdenlive-layoutsrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kdenliverc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kritadisplayrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kritarc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "license", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "license.md", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "lxde-rc.xml", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "lxqt.conf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "makefile", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "mix.lock", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "mpv.conf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "next.config.cjs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "next.config.js", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "next.config.ts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "node_modules", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "nuxt.config.cjs", text = "󱄆", fg = "{{colors.primary.default.hex}}" }, + { name = "nuxt.config.js", text = "󱄆", fg = "{{colors.primary.default.hex}}" }, + { name = "nuxt.config.mjs", text = "󱄆", fg = "{{colors.primary.default.hex}}" }, + { name = "nuxt.config.ts", text = "󱄆", fg = "{{colors.primary.default.hex}}" }, + { name = "package-lock.json", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "package.json", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "PKGBUILD", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "platformio.ini", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "playwright.config.cjs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "playwright.config.cts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "playwright.config.js", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "playwright.config.mjs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "playwright.config.mts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "playwright.config.ts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "pnpm-lock.yaml", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "pnpm-workspace.yaml", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "pom.xml", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "prettier.config.cjs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "prettier.config.js", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "prettier.config.mjs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "prettier.config.ts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "prisma.config.mts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "prisma.config.ts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "procfile", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "PrusaSlicer.ini", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "PrusaSlicerGcodeViewer.ini", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "py.typed", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "QtProject.conf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "rakefile", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "readme", text = "󰂺", fg = "{{colors.primary.default.hex}}" }, + { name = "readme.md", text = "󰂺", fg = "{{colors.primary.default.hex}}" }, + { name = "rmd", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "robots.txt", text = "󰚩", fg = "{{colors.primary.default.hex}}" }, + { name = "security", text = "󰒃", fg = "{{colors.primary.default.hex}}" }, + { name = "security.md", text = "󰒃", fg = "{{colors.primary.default.hex}}" }, + { name = "settings.gradle", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "svelte.config.js", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "sxhkdrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "sym-lib-table", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "tailwind.config.js", text = "󱏿", fg = "{{colors.primary.default.hex}}" }, + { name = "tailwind.config.mjs", text = "󱏿", fg = "{{colors.primary.default.hex}}" }, + { name = "tailwind.config.ts", text = "󱏿", fg = "{{colors.primary.default.hex}}" }, + { name = "tmux.conf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "tmux.conf.local", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "tsconfig.json", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "unlicense", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vagrantfile", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vercel.json", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vite.config.cjs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vite.config.cts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vite.config.js", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vite.config.mjs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vite.config.mts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vite.config.ts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vitest.config.cjs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vitest.config.cts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vitest.config.js", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vitest.config.mjs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vitest.config.mts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vitest.config.ts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vlcrc", text = "󰕼", fg = "{{colors.primary.default.hex}}" }, + { name = "webpack", text = "󰜫", fg = "{{colors.primary.default.hex}}" }, + { name = "weston.ini", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "workspace", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "wrangler.jsonc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "wrangler.toml", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "xdph.conf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "xmobarrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "xmobarrc.hs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "xmonad.hs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "xorg.conf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "xsettingsd.conf", text = "", fg = "{{colors.primary.default.hex}}" }, +] +exts = [ + { name = "3gp", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "3mf", text = "󰆧", fg = "{{colors.primary.default.hex}}" }, + { name = "7z", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "a", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "aac", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ada", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "adb", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ads", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ai", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "aif", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "aiff", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "android", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ape", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "apk", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "apl", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "app", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "applescript", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "asc", text = "󰦝", fg = "{{colors.primary.default.hex}}" }, + { name = "asm", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ass", text = "󰨖", fg = "{{colors.primary.default.hex}}" }, + { name = "astro", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "avif", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "awk", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "azcli", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "bak", text = "󰁯", fg = "{{colors.primary.default.hex}}" }, + { name = "bash", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "bat", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "bazel", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "bib", text = "󱉟", fg = "{{colors.primary.default.hex}}" }, + { name = "bicep", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "bicepparam", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "bin", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "blade.php", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "blend", text = "󰂫", fg = "{{colors.primary.default.hex}}" }, + { name = "blp", text = "󰺾", fg = "{{colors.primary.default.hex}}" }, + { name = "bmp", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "bqn", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "brep", text = "󰻫", fg = "{{colors.primary.default.hex}}" }, + { name = "bz", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "bz2", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "bz3", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "bzl", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "c", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "c++", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cache", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cast", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cbl", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ccm", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cfc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cfg", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cfm", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cjs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "clj", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cljc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cljd", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cljs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cmake", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cob", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cobol", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "coffee", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "conda", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "conf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "config.ru", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cow", text = "󰆚", fg = "{{colors.primary.default.hex}}" }, + { name = "cp", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cpp", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cppm", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cpy", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cr", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "crdownload", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cs", text = "󰌛", fg = "{{colors.primary.default.hex}}" }, + { name = "csh", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cshtml", text = "󱦗", fg = "{{colors.primary.default.hex}}" }, + { name = "cson", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "csproj", text = "󰪮", fg = "{{colors.primary.default.hex}}" }, + { name = "css", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "csv", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cu", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cue", text = "󰲹", fg = "{{colors.primary.default.hex}}" }, + { name = "cuh", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cxx", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "cxxm", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "d", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "d.ts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "dart", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "db", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "dconf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "desktop", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "diff", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "dll", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "doc", text = "󰈬", fg = "{{colors.primary.default.hex}}" }, + { name = "Dockerfile", text = "󰡨", fg = "{{colors.primary.default.hex}}" }, + { name = "dockerignore", text = "󰡨", fg = "{{colors.primary.default.hex}}" }, + { name = "docx", text = "󰈬", fg = "{{colors.primary.default.hex}}" }, + { name = "dot", text = "󱁉", fg = "{{colors.primary.default.hex}}" }, + { name = "download", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "drl", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "dropbox", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "dump", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "dwg", text = "󰻫", fg = "{{colors.primary.default.hex}}" }, + { name = "dxf", text = "󰻫", fg = "{{colors.primary.default.hex}}" }, + { name = "ebook", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ebuild", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "edn", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "eex", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ejs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "el", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "elc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "elf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "elm", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "eln", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "env", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "eot", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "epp", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "epub", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "erb", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "erl", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ex", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "exe", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "exs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "f#", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "f3d", text = "󰻫", fg = "{{colors.primary.default.hex}}" }, + { name = "f90", text = "󱈚", fg = "{{colors.primary.default.hex}}" }, + { name = "fbx", text = "󰆧", fg = "{{colors.primary.default.hex}}" }, + { name = "fcbak", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fcmacro", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fcmat", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fcparam", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fcscript", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fcstd", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fcstd1", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fctb", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fctl", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fdmdownload", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "feature", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fish", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "flac", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "flc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "flf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fnl", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fodg", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fodp", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fods", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fodt", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "frag", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fsi", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fsscript", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "fsx", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gcode", text = "󰐫", fg = "{{colors.primary.default.hex}}" }, + { name = "gd", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gemspec", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "geom", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gif", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "git", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "glb", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gleam", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "glsl", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gnumakefile", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "go", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "godot", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gpr", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gql", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gradle", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "graphql", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gresource", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "gv", text = "󱁉", fg = "{{colors.primary.default.hex}}" }, + { name = "gz", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "h", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "haml", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "hbs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "heex", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "hex", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "hh", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "hpp", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "hrl", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "hs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "htm", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "html", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "http", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "huff", text = "󰡘", fg = "{{colors.primary.default.hex}}" }, + { name = "hurl", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "hx", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "hxx", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ical", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "icalendar", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ico", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ics", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ifb", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ifc", text = "󰻫", fg = "{{colors.primary.default.hex}}" }, + { name = "ige", text = "󰻫", fg = "{{colors.primary.default.hex}}" }, + { name = "iges", text = "󰻫", fg = "{{colors.primary.default.hex}}" }, + { name = "igs", text = "󰻫", fg = "{{colors.primary.default.hex}}" }, + { name = "image", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "img", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "import", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "info", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ini", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ino", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ipynb", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "iso", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ixx", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "jar", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "java", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "jl", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "jpeg", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "jpg", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "js", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "json", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "json5", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "jsonc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "jsx", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "jwmrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "jxl", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kbx", text = "󰯄", fg = "{{colors.primary.default.hex}}" }, + { name = "kdb", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kdbx", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kdenlive", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kdenlivetitle", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kicad_dru", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kicad_mod", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kicad_pcb", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kicad_prl", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kicad_pro", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kicad_sch", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kicad_sym", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kicad_wks", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ko", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kpp", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kra", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "krz", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ksh", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kt", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "kts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "lck", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "leex", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "less", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "lff", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "lhs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "lib", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "license", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "liquid", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "lock", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "log", text = "󰌱", fg = "{{colors.primary.default.hex}}" }, + { name = "lrc", text = "󰨖", fg = "{{colors.primary.default.hex}}" }, + { name = "lua", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "luac", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "luau", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "m", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "m3u", text = "󰲹", fg = "{{colors.primary.default.hex}}" }, + { name = "m3u8", text = "󰲹", fg = "{{colors.primary.default.hex}}" }, + { name = "m4a", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "m4v", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "magnet", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "makefile", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "markdown", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "material", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "md", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "md5", text = "󰕥", fg = "{{colors.primary.default.hex}}" }, + { name = "mdx", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "mint", text = "󰌪", fg = "{{colors.primary.default.hex}}" }, + { name = "mjs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "mk", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "mkv", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ml", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "mli", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "mm", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "mo", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "mobi", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "mojo", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "mov", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "mp3", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "mp4", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "mpp", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "msf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "mts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "mustache", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "nfo", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "nim", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "nix", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "norg", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "nswag", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "nu", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "o", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "obj", text = "󰆧", fg = "{{colors.primary.default.hex}}" }, + { name = "odf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "odg", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "odin", text = "󰟢", fg = "{{colors.primary.default.hex}}" }, + { name = "odp", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ods", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "odt", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "oga", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ogg", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ogv", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ogx", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "opus", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "org", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "otf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "out", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "part", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "patch", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "pck", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "pcm", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "pdf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "php", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "pl", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "pls", text = "󰲹", fg = "{{colors.primary.default.hex}}" }, + { name = "ply", text = "󰆧", fg = "{{colors.primary.default.hex}}" }, + { name = "pm", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "png", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "po", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "pot", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "pp", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ppt", text = "󰈧", fg = "{{colors.primary.default.hex}}" }, + { name = "pptx", text = "󰈧", fg = "{{colors.primary.default.hex}}" }, + { name = "prisma", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "pro", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ps1", text = "󰨊", fg = "{{colors.primary.default.hex}}" }, + { name = "psb", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "psd", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "psd1", text = "󰨊", fg = "{{colors.primary.default.hex}}" }, + { name = "psm1", text = "󰨊", fg = "{{colors.primary.default.hex}}" }, + { name = "pub", text = "󰷖", fg = "{{colors.primary.default.hex}}" }, + { name = "pxd", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "pxi", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "py", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "pyc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "pyd", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "pyi", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "pyo", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "pyw", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "pyx", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "qm", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "qml", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "qrc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "qss", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "query", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "R", text = "󰟔", fg = "{{colors.primary.default.hex}}" }, + { name = "r", text = "󰟔", fg = "{{colors.primary.default.hex}}" }, + { name = "rake", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "rar", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "rasi", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "razor", text = "󱦘", fg = "{{colors.primary.default.hex}}" }, + { name = "rb", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "res", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "resi", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "rlib", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "rmd", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "rproj", text = "󰗆", fg = "{{colors.primary.default.hex}}" }, + { name = "rs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "rss", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "s", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "sass", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "sbt", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "sc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "scad", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "scala", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "scm", text = "󰘧", fg = "{{colors.primary.default.hex}}" }, + { name = "scss", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "sh", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "sha1", text = "󰕥", fg = "{{colors.primary.default.hex}}" }, + { name = "sha224", text = "󰕥", fg = "{{colors.primary.default.hex}}" }, + { name = "sha256", text = "󰕥", fg = "{{colors.primary.default.hex}}" }, + { name = "sha384", text = "󰕥", fg = "{{colors.primary.default.hex}}" }, + { name = "sha512", text = "󰕥", fg = "{{colors.primary.default.hex}}" }, + { name = "sig", text = "󰘧", fg = "{{colors.primary.default.hex}}" }, + { name = "signature", text = "󰘧", fg = "{{colors.primary.default.hex}}" }, + { name = "skp", text = "󰻫", fg = "{{colors.primary.default.hex}}" }, + { name = "sldasm", text = "󰻫", fg = "{{colors.primary.default.hex}}" }, + { name = "sldprt", text = "󰻫", fg = "{{colors.primary.default.hex}}" }, + { name = "slim", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "sln", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "slnx", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "slvs", text = "󰻫", fg = "{{colors.primary.default.hex}}" }, + { name = "sml", text = "󰘧", fg = "{{colors.primary.default.hex}}" }, + { name = "so", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "sol", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "spec.js", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "spec.jsx", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "spec.ts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "spec.tsx", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "spx", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "sql", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "sqlite", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "sqlite3", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "srt", text = "󰨖", fg = "{{colors.primary.default.hex}}" }, + { name = "ssa", text = "󰨖", fg = "{{colors.primary.default.hex}}" }, + { name = "ste", text = "󰻫", fg = "{{colors.primary.default.hex}}" }, + { name = "step", text = "󰻫", fg = "{{colors.primary.default.hex}}" }, + { name = "stl", text = "󰆧", fg = "{{colors.primary.default.hex}}" }, + { name = "stories.js", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "stories.jsx", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "stories.mjs", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "stories.svelte", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "stories.ts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "stories.tsx", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "stories.vue", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "stp", text = "󰻫", fg = "{{colors.primary.default.hex}}" }, + { name = "strings", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "styl", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "sub", text = "󰨖", fg = "{{colors.primary.default.hex}}" }, + { name = "sublime", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "suo", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "sv", text = "󰍛", fg = "{{colors.primary.default.hex}}" }, + { name = "svelte", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "svg", text = "󰜡", fg = "{{colors.primary.default.hex}}" }, + { name = "svgz", text = "󰜡", fg = "{{colors.primary.default.hex}}" }, + { name = "svh", text = "󰍛", fg = "{{colors.primary.default.hex}}" }, + { name = "swift", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "t", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "tbc", text = "󰛓", fg = "{{colors.primary.default.hex}}" }, + { name = "tcl", text = "󰛓", fg = "{{colors.primary.default.hex}}" }, + { name = "templ", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "terminal", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "test.js", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "test.jsx", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "test.ts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "test.tsx", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "tex", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "tf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "tfvars", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "tgz", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "tmpl", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "tmux", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "toml", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "torrent", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "tres", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ts", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "tscn", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "tsconfig", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "tsx", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ttf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "twig", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "txt", text = "󰈙", fg = "{{colors.primary.default.hex}}" }, + { name = "txz", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "typ", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "typoscript", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "ui", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "v", text = "󰍛", fg = "{{colors.primary.default.hex}}" }, + { name = "vala", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vert", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vh", text = "󰍛", fg = "{{colors.primary.default.hex}}" }, + { name = "vhd", text = "󰍛", fg = "{{colors.primary.default.hex}}" }, + { name = "vhdl", text = "󰍛", fg = "{{colors.primary.default.hex}}" }, + { name = "vi", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vim", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vsh", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vsix", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "vue", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "wasm", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "wav", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "webm", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "webmanifest", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "webp", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "webpack", text = "󰜫", fg = "{{colors.primary.default.hex}}" }, + { name = "wma", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "wmv", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "woff", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "woff2", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "wrl", text = "󰆧", fg = "{{colors.primary.default.hex}}" }, + { name = "wrz", text = "󰆧", fg = "{{colors.primary.default.hex}}" }, + { name = "wv", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "wvc", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "x", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "xaml", text = "󰙳", fg = "{{colors.primary.default.hex}}" }, + { name = "xcf", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "xcplayground", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "xcstrings", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "xls", text = "󰈛", fg = "{{colors.primary.default.hex}}" }, + { name = "xlsx", text = "󰈛", fg = "{{colors.primary.default.hex}}" }, + { name = "xm", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "xml", text = "󰗀", fg = "{{colors.primary.default.hex}}" }, + { name = "xpi", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "xslt", text = "󰗀", fg = "{{colors.primary.default.hex}}" }, + { name = "xul", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "xz", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "yaml", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "yml", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "zig", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "zip", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "zsh", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "zst", text = "", fg = "{{colors.primary.default.hex}}" }, + { name = "🔥", text = "", fg = "{{colors.primary.default.hex}}" }, +] +conds = [ + # Special files + { if = "orphan", text = "", fg = "{{colors.primary.default.hex}}" }, + { if = "link", text = "", fg = "{{colors.primary.default.hex}}" }, + { if = "block", text = "", fg = "{{colors.primary.default.hex}}" }, + { if = "char", text = "", fg = "{{colors.primary.default.hex}}" }, + { if = "fifo", text = "", fg = "{{colors.primary.default.hex}}" }, + { if = "sock", text = "", fg = "{{colors.primary.default.hex}}" }, + { if = "sticky", text = "", fg = "{{colors.primary.default.hex}}" }, + { if = "dummy", text = "", fg = "{{colors.primary.default.hex}}" }, + + # Fallback + { if = "dir", text = "", fg = "{{colors.primary.default.hex}}" }, + { if = "exec", text = "", fg = "{{colors.primary.default.hex}}" }, + { if = "!dir", text = "", fg = "{{colors.primary.default.hex}}" }, +] +# : }}} diff --git a/.config/matugen/templates/zathura-colors b/.config/matugen/templates/zathura-colors new file mode 100644 index 0000000..2b31464 --- /dev/null +++ b/.config/matugen/templates/zathura-colors @@ -0,0 +1,92 @@ +" ----------------------------------------------------------------------------- +" Zathura settings +" ----------------------------------------------------------------------------- + +" Colors +set default-bg "{{colors.on_primary.default.rgba | set_alpha: 1.0}}" +set default-fg "{{colors.primary.default.hex}}" + +set statusbar-bg "{{colors.on_primary.default.hex}}" +set statusbar-fg "{{colors.primary.default.hex}}" + +set inputbar-bg "{{colors.on_primary.default.hex}}" +set inputbar-fg "{{colors.primary.default.hex}}" + +set notification-error-bg "{{colors.on_error.default.hex}}" +set notification-error-fg "{{colors.error.default.hex}}" + +set notification-warning-bg "{{colors.primary_fixed.default.hex}}" +set notification-warning-fg "{{colors.error_container.default.hex}}" + +set highlight-color "{{colors.primary_fixed.default.hex}}" +set highlight-active-color "{{colors.primary_fixed_dim.default.hex}}" + +set completion-highlight-fg "{{colors.on_primary.default.hex}}" +set completion-highlight-bg {{colors.primary.default.hex}}"" + +set completion-bg "{{colors.on_primary.default.hex}}" +set completion-fg "{{colors.primary.default.hex}}" + +set notification-bg "{{colors.on_primary.default.hex}}" +set notification-fg "{{colors.primary.default.hex}}" + +set recolor "true" +set recolor-lightcolor "{{colors.on_primary.default.rgba | set_alpha: 1.0}}" +set recolor-darkcolor "{{colors.primary.default.hex}}" +set recolor-reverse-video "true" +set recolor-keephue "true" + +" Clipboard +set selection-clipboard clipboard + +" Search +set incremental-search true +set search-hadjust true + +" Autoadjust +set adjust-open width + +" Typography +set font "FiraCode Nerd Font 12" + +" ----------------------------------------------------------------------------- +" Zathura mappings +" ----------------------------------------------------------------------------- +" remove status bar +set guioptions none +" Zoom in/out +map [normal] z zoom in +map [normal] Z zoom out +map [fullscreen] z zoom in +map [fullscreen] Z zoom out + +" Toggle mode +map [normal] D toggle_page_mode +map [fullscreen] D toggle_page_mode + +" Scroll +map [normal] u scroll half-up +map [normal] d scroll half-down +map [fullscreen] u scroll half-up +map [fullscreen] d scroll half-down + +" Fullscreen +map [normal] f toggle_fullscreen +map [fullscreen] f toggle_fullscreen + +" Reload +map [normal] reload +map [fullscreen] reload + +" Status bar +map [normal] b toggle_statusbar +map [fullscreen] b toggle_statusbar + +" Set width as in mupdf +map [normal] H adjust_window best-fit +map [normal] W adjust_window width +map [fullscreen] H adjust_window best-fit +map [fullscreen] W adjust_window width + +map [normal] i set recolor +map [fullscreen] i set recolor diff --git a/.config/matugen/templates/zed-colors.json b/.config/matugen/templates/zed-colors.json new file mode 100644 index 0000000..4d9a0c4 --- /dev/null +++ b/.config/matugen/templates/zed-colors.json @@ -0,0 +1,591 @@ +{ + "$schema": "https://zed.dev/schema/themes/v0.2.0.json", + "name": "Matugen", + "author": "Matugen", + "themes": [ + { + "name": "Matugen Dark", + "appearance": "dark", + "style": { + "accents": [ + "{{colors.primary.dark.hex}}", + "{{colors.secondary.dark.hex}}", + "{{colors.tertiary.dark.hex}}" + ], + "background.appearance": "opaque", + "border": "{{colors.outline_variant.dark.hex}}", + "border.variant": "{{colors.outline.dark.hex}}", + "border.focused": "{{colors.primary.dark.hex}}", + "border.selected": "{{colors.primary.dark.hex}}", + "border.transparent": "{{colors.outline_variant.dark.hex}}40", + "border.disabled": "{{colors.outline_variant.dark.hex}}60", + "elevated_surface.background": "{{colors.surface_container_high.dark.hex}}", + "surface.background": "{{colors.surface.dark.hex}}", + "background": "{{colors.background.dark.hex}}", + "element.background": "{{colors.surface_container.dark.hex}}", + "element.hover": "{{colors.surface_container_high.dark.hex}}", + "element.active": "{{colors.surface_container_highest.dark.hex}}", + "element.selected": "{{colors.secondary_container.dark.hex}}", + "element.disabled": "{{colors.surface_variant.dark.hex}}", + "drop_target.background": "{{colors.primary_container.dark.hex}}80", + "ghost_element.background": null, + "ghost_element.hover": "{{colors.surface_container.dark.hex}}80", + "ghost_element.active": "{{colors.surface_container_high.dark.hex}}", + "ghost_element.selected": "{{colors.secondary_container.dark.hex}}80", + "ghost_element.disabled": "{{colors.surface_variant.dark.hex}}60", + "text": "{{colors.on_surface.dark.hex}}", + "text.muted": "{{colors.on_surface_variant.dark.hex}}", + "text.placeholder": "{{colors.on_surface_variant.dark.hex}}99", + "text.disabled": "{{colors.on_surface.dark.hex}}60", + "text.accent": "{{colors.primary.dark.hex}}", + "icon": "{{colors.on_surface.dark.hex}}", + "icon.muted": "{{colors.on_surface_variant.dark.hex}}", + "icon.disabled": "{{colors.on_surface.dark.hex}}60", + "icon.placeholder": "{{colors.on_surface_variant.dark.hex}}80", + "icon.accent": "{{colors.primary.dark.hex}}", + "status_bar.background": "{{colors.surface.dark.hex}}", + "title_bar.background": "{{colors.surface.dark.hex}}", + "title_bar.inactive_background": "{{colors.surface_dim.dark.hex}}", + "toolbar.background": "{{colors.surface_container_low.dark.hex}}", + "tab_bar.background": "{{colors.surface_container.dark.hex}}", + "tab.inactive_background": "{{colors.surface_container_low.dark.hex}}", + "tab.active_background": "{{colors.surface_container_high.dark.hex}}", + "search.match_background": "{{colors.tertiary_container.dark.hex}}80", + "panel.background": "{{colors.surface_container_low.dark.hex}}", + "panel.focused_border": "{{colors.primary.dark.hex}}", + "pane.focused_border": "{{colors.primary.dark.hex}}", + "scrollbar.thumb.background": "{{colors.on_surface_variant.dark.hex}}80", + "scrollbar.thumb.hover_background": "{{colors.on_surface_variant.dark.hex}}c0", + "scrollbar.thumb.border": "{{colors.outline_variant.dark.hex}}40", + "scrollbar.track.background": "{{colors.surface_container.dark.hex}}", + "scrollbar.track.border": "{{colors.outline_variant.dark.hex}}20", + "editor.foreground": "{{colors.on_surface.dark.hex}}", + "editor.background": "{{colors.surface_container_low.dark.hex}}", + "editor.gutter.background": "{{colors.surface_container_low.dark.hex}}", + "editor.subheader.background": "{{colors.surface_container.dark.hex}}", + "editor.indent_guide": "{{colors.outline_variant.dark.hex}}60", + "editor.indent_guide_active": "{{colors.outline.dark.hex}}", + "editor.active_line.background": "{{colors.surface_container_high.dark.hex}}80", + "editor.highlighted_line.background": "{{colors.surface_container_high.dark.hex}}60", + "editor.line_number": "{{colors.on_surface_variant.dark.hex}}", + "editor.active_line_number": "{{colors.primary.dark.hex}}", + "editor.invisible": "{{colors.outline_variant.dark.hex}}80", + "editor.wrap_guide": "{{colors.outline_variant.dark.hex}}40", + "editor.active_wrap_guide": "{{colors.outline.dark.hex}}80", + "editor.document_highlight.read_background": "{{colors.primary_container.dark.hex}}60", + "editor.document_highlight.write_background": "{{colors.secondary_container.dark.hex}}80", + "terminal.background": "{{colors.surface_container_low.dark.hex}}", + "terminal.foreground": "{{colors.on_surface.dark.hex}}", + "terminal.bright_foreground": "{{colors.on_surface.dark.hex}}", + "terminal.dim_foreground": "{{colors.on_surface_variant.dark.hex}}", + "terminal.ansi.black": "{{colors.surface_dim.dark.hex}}", + "terminal.ansi.bright_black": "{{colors.surface_container_high.dark.hex}}", + "terminal.ansi.dim_black": "{{colors.surface.dark.hex}}", + "terminal.ansi.red": "{{colors.error.dark.hex}}", + "terminal.ansi.bright_red": "{{colors.error.dark.hex}}", + "terminal.ansi.dim_red": "{{colors.on_error_container.dark.hex}}", + "terminal.ansi.green": "{{colors.tertiary.dark.hex}}", + "terminal.ansi.bright_green": "{{colors.tertiary.dark.hex}}", + "terminal.ansi.dim_green": "{{colors.on_tertiary_container.dark.hex}}", + "terminal.ansi.yellow": "{{colors.tertiary_fixed_dim.dark.hex}}", + "terminal.ansi.bright_yellow": "{{colors.tertiary_fixed.dark.hex}}", + "terminal.ansi.dim_yellow": "{{colors.on_tertiary_fixed.dark.hex}}", + "terminal.ansi.blue": "{{colors.primary.dark.hex}}", + "terminal.ansi.bright_blue": "{{colors.primary.dark.hex}}", + "terminal.ansi.dim_blue": "{{colors.on_primary_container.dark.hex}}", + "terminal.ansi.magenta": "{{colors.secondary.dark.hex}}", + "terminal.ansi.bright_magenta": "{{colors.secondary.dark.hex}}", + "terminal.ansi.dim_magenta": "{{colors.on_secondary_container.dark.hex}}", + "terminal.ansi.cyan": "{{colors.primary_fixed_dim.dark.hex}}", + "terminal.ansi.bright_cyan": "{{colors.primary_fixed.dark.hex}}", + "terminal.ansi.dim_cyan": "{{colors.on_primary_fixed_variant.dark.hex}}", + "terminal.ansi.white": "{{colors.on_surface.dark.hex}}", + "terminal.ansi.bright_white": "{{colors.on_surface.dark.hex}}", + "terminal.ansi.dim_white": "{{colors.on_surface_variant.dark.hex}}", + "link_text.hover": "{{colors.primary.dark.hex}}", + "conflict": "{{colors.error.dark.hex}}", + "conflict.background": "{{colors.error_container.dark.hex}}80", + "conflict.border": "{{colors.on_error_container.dark.hex}}", + "created": "{{colors.tertiary.dark.hex}}", + "created.background": "{{colors.tertiary_container.dark.hex}}80", + "created.border": "{{colors.on_tertiary_container.dark.hex}}", + "deleted": "{{colors.error.dark.hex}}", + "deleted.background": "{{colors.error_container.dark.hex}}80", + "deleted.border": "{{colors.on_error_container.dark.hex}}", + "error": "{{colors.error.dark.hex}}", + "error.background": "{{colors.error_container.dark.hex}}", + "error.border": "{{colors.on_error_container.dark.hex}}", + "hidden": "{{colors.outline_variant.dark.hex}}", + "hidden.border": "{{colors.outline_variant.dark.hex}}60", + "hint": "{{colors.primary.dark.hex}}", + "hint.background": "{{colors.primary_container.dark.hex}}80", + "hint.border": "{{colors.on_primary_container.dark.hex}}", + "ignored": "{{colors.on_surface_variant.dark.hex}}60", + "ignored.background": "{{colors.surface_variant.dark.hex}}40", + "ignored.border": "{{colors.outline_variant.dark.hex}}40", + "info": "{{colors.primary.dark.hex}}", + "info.background": "{{colors.primary_container.dark.hex}}80", + "info.border": "{{colors.on_primary_container.dark.hex}}", + "modified": "{{colors.secondary.dark.hex}}", + "modified.background": "{{colors.secondary_container.dark.hex}}80", + "modified.border": "{{colors.on_secondary_container.dark.hex}}", + "predictive": "{{colors.on_surface_variant.dark.hex}}80", + "predictive.border": "{{colors.outline.dark.hex}}", + "predictive.background": "{{colors.surface_container_highest.dark.hex}}80", + "renamed": "{{colors.secondary.dark.hex}}", + "renamed.border": "{{colors.on_secondary_container.dark.hex}}", + "renamed.background": "{{colors.secondary_container.dark.hex}}80", + "success": "{{colors.tertiary.dark.hex}}", + "success.background": "{{colors.tertiary_container.dark.hex}}80", + "success.border": "{{colors.on_tertiary_container.dark.hex}}", + "unreachable": "{{colors.on_surface_variant.dark.hex}}60", + "unreachable.background": "{{colors.surface_variant.dark.hex}}40", + "unreachable.border": "{{colors.outline_variant.dark.hex}}60", + "warning": "{{colors.tertiary_fixed_dim.dark.hex}}", + "warning.background": "{{colors.tertiary_container.dark.hex}}80", + "warning.border": "{{colors.on_tertiary_container.dark.hex}}", + "players": [ + { + "cursor": "{{colors.primary.dark.hex}}", + "background": "{{colors.primary_container.dark.hex}}80", + "selection": "{{colors.primary_container.dark.hex}}60" + }, + { + "cursor": "{{colors.secondary.dark.hex}}", + "background": "{{colors.secondary_container.dark.hex}}80", + "selection": "{{colors.secondary_container.dark.hex}}60" + } + ], + "syntax": { + "boolean": { + "color": "{{colors.tertiary.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "comment": { + "color": "{{colors.on_surface_variant.dark.hex}}", + "font_style": "italic", + "font_weight": null + }, + "comment.doc": { + "color": "{{colors.on_surface_variant.dark.hex}}", + "font_style": "italic", + "font_weight": null + }, + "constant": { + "color": "{{colors.tertiary.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "constructor": { + "color": "{{colors.secondary.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "emphasis": { + "color": "{{colors.primary.dark.hex}}", + "font_style": "italic", + "font_weight": null + }, + "emphasis.strong": { + "color": "{{colors.primary.dark.hex}}", + "font_style": null, + "font_weight": 700 + }, + "function": { + "color": "{{colors.primary.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "keyword": { + "color": "{{colors.secondary.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "number": { + "color": "{{colors.tertiary_fixed.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "operator": { + "color": "{{colors.on_surface_variant.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "property": { + "color": "{{colors.on_surface.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "punctuation": { + "color": "{{colors.on_surface_variant.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "punctuation.bracket": { + "color": "{{colors.secondary_fixed.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "punctuation.delimiter": { + "color": "{{colors.on_surface_variant.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "punctuation.list_marker": { + "color": "{{colors.on_surface_variant.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "punctuation.special": { + "color": "{{colors.secondary.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "string": { + "color": "{{colors.tertiary.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "string.escape": { + "color": "{{colors.tertiary_fixed_dim.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "string.regex": { + "color": "{{colors.tertiary_fixed.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "string.special": { + "color": "{{colors.on_tertiary_container.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "string.special.symbol": { + "color": "{{colors.tertiary.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "tag": { + "color": "{{colors.secondary.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "text.literal": { + "color": "{{colors.tertiary.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "type": { + "color": "{{colors.primary_fixed.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "variable": { + "color": "{{colors.on_surface.dark.hex}}", + "font_style": null, + "font_weight": null + }, + "variable.special": { + "color": "{{colors.primary.dark.hex}}", + "font_style": null, + "font_weight": null + } + } + } + }, + { + "name": "Matugen Light", + "appearance": "light", + "style": { + "accents": [ + "{{colors.primary.light.hex}}", + "{{colors.secondary.light.hex}}", + "{{colors.tertiary.light.hex}}" + ], + "background.appearance": "opaque", + "border": "{{colors.outline_variant.light.hex}}", + "border.variant": "{{colors.outline.light.hex}}", + "border.focused": "{{colors.primary.light.hex}}", + "border.selected": "{{colors.primary.light.hex}}", + "border.transparent": "{{colors.outline_variant.light.hex}}40", + "border.disabled": "{{colors.outline_variant.light.hex}}60", + "elevated_surface.background": "{{colors.surface_container_high.light.hex}}", + "surface.background": "{{colors.surface.light.hex}}", + "background": "{{colors.background.light.hex}}", + "element.background": "{{colors.surface_container.light.hex}}", + "element.hover": "{{colors.surface_container_high.light.hex}}", + "element.active": "{{colors.surface_container_highest.light.hex}}", + "element.selected": "{{colors.secondary_container.light.hex}}", + "element.disabled": "{{colors.surface_variant.light.hex}}", + "drop_target.background": "{{colors.primary_container.light.hex}}80", + "ghost_element.background": null, + "ghost_element.hover": "{{colors.surface_container.light.hex}}80", + "ghost_element.active": "{{colors.surface_container_high.light.hex}}", + "ghost_element.selected": "{{colors.secondary_container.light.hex}}80", + "ghost_element.disabled": "{{colors.surface_variant.light.hex}}60", + "text": "{{colors.on_surface.light.hex}}", + "text.muted": "{{colors.on_surface_variant.light.hex}}", + "text.placeholder": "{{colors.on_surface_variant.light.hex}}99", + "text.disabled": "{{colors.on_surface.light.hex}}60", + "text.accent": "{{colors.primary.light.hex}}", + "icon": "{{colors.on_surface.light.hex}}", + "icon.muted": "{{colors.on_surface_variant.light.hex}}", + "icon.disabled": "{{colors.on_surface.light.hex}}60", + "icon.placeholder": "{{colors.on_surface_variant.light.hex}}80", + "icon.accent": "{{colors.primary.light.hex}}", + "status_bar.background": "{{colors.surface.light.hex}}", + "title_bar.background": "{{colors.surface.light.hex}}", + "title_bar.inactive_background": "{{colors.surface_dim.light.hex}}", + "toolbar.background": "{{colors.surface_container_low.light.hex}}", + "tab_bar.background": "{{colors.surface_container.light.hex}}", + "tab.inactive_background": "{{colors.surface_container_low.light.hex}}", + "tab.active_background": "{{colors.surface_container_high.light.hex}}", + "search.match_background": "{{colors.tertiary_container.light.hex}}80", + "panel.background": "{{colors.surface_container_low.light.hex}}", + "panel.focused_border": "{{colors.primary.light.hex}}", + "pane.focused_border": "{{colors.primary.light.hex}}", + "scrollbar.thumb.background": "{{colors.on_surface_variant.light.hex}}80", + "scrollbar.thumb.hover_background": "{{colors.on_surface_variant.light.hex}}c0", + "scrollbar.thumb.border": "{{colors.outline_variant.light.hex}}40", + "scrollbar.track.background": "{{colors.surface_container.light.hex}}", + "scrollbar.track.border": "{{colors.outline_variant.light.hex}}20", + "editor.foreground": "{{colors.on_surface.light.hex}}", + "editor.background": "{{colors.surface_container_low.light.hex}}", + "editor.gutter.background": "{{colors.surface_container_low.light.hex}}", + "editor.subheader.background": "{{colors.surface_container.light.hex}}", + "editor.indent_guide": "{{colors.outline_variant.light.hex}}60", + "editor.indent_guide_active": "{{colors.outline.light.hex}}", + "editor.active_line.background": "{{colors.surface_container_high.light.hex}}80", + "editor.highlighted_line.background": "{{colors.surface_container_high.light.hex}}60", + "editor.line_number": "{{colors.on_surface_variant.light.hex}}", + "editor.active_line_number": "{{colors.primary.light.hex}}", + "editor.invisible": "{{colors.outline_variant.light.hex}}80", + "editor.wrap_guide": "{{colors.outline_variant.light.hex}}40", + "editor.active_wrap_guide": "{{colors.outline.light.hex}}80", + "editor.document_highlight.read_background": "{{colors.primary_container.light.hex}}60", + "editor.document_highlight.write_background": "{{colors.secondary_container.light.hex}}80", + "terminal.background": "{{colors.surface_container_low.light.hex}}", + "terminal.foreground": "{{colors.on_surface.light.hex}}", + "terminal.bright_foreground": "{{colors.on_surface.light.hex}}", + "terminal.dim_foreground": "{{colors.on_surface_variant.light.hex}}", + "terminal.ansi.black": "{{colors.surface_dim.light.hex}}", + "terminal.ansi.bright_black": "{{colors.surface_container_high.light.hex}}", + "terminal.ansi.dim_black": "{{colors.surface.light.hex}}", + "terminal.ansi.red": "{{colors.error.light.hex}}", + "terminal.ansi.bright_red": "{{colors.error.light.hex}}", + "terminal.ansi.dim_red": "{{colors.on_error_container.light.hex}}", + "terminal.ansi.green": "{{colors.tertiary.light.hex}}", + "terminal.ansi.bright_green": "{{colors.tertiary.light.hex}}", + "terminal.ansi.dim_green": "{{colors.on_tertiary_container.light.hex}}", + "terminal.ansi.yellow": "{{colors.tertiary_fixed_dim.light.hex}}", + "terminal.ansi.bright_yellow": "{{colors.tertiary_fixed.light.hex}}", + "terminal.ansi.dim_yellow": "{{colors.on_tertiary_fixed.light.hex}}", + "terminal.ansi.blue": "{{colors.primary.light.hex}}", + "terminal.ansi.bright_blue": "{{colors.primary.light.hex}}", + "terminal.ansi.dim_blue": "{{colors.on_primary_container.light.hex}}", + "terminal.ansi.magenta": "{{colors.secondary.light.hex}}", + "terminal.ansi.bright_magenta": "{{colors.secondary.light.hex}}", + "terminal.ansi.dim_magenta": "{{colors.on_secondary_container.light.hex}}", + "terminal.ansi.cyan": "{{colors.primary_fixed_dim.light.hex}}", + "terminal.ansi.bright_cyan": "{{colors.primary_fixed.light.hex}}", + "terminal.ansi.dim_cyan": "{{colors.on_primary_fixed_variant.light.hex}}", + "terminal.ansi.white": "{{colors.on_surface.light.hex}}", + "terminal.ansi.bright_white": "{{colors.on_surface.light.hex}}", + "terminal.ansi.dim_white": "{{colors.on_surface_variant.light.hex}}", + "link_text.hover": "{{colors.primary.light.hex}}", + "conflict": "{{colors.error.light.hex}}", + "conflict.background": "{{colors.error_container.light.hex}}80", + "conflict.border": "{{colors.on_error_container.light.hex}}", + "created": "{{colors.tertiary.light.hex}}", + "created.background": "{{colors.tertiary_container.light.hex}}80", + "created.border": "{{colors.on_tertiary_container.light.hex}}", + "deleted": "{{colors.error.light.hex}}", + "deleted.background": "{{colors.error_container.light.hex}}80", + "deleted.border": "{{colors.on_error_container.light.hex}}", + "error": "{{colors.error.light.hex}}", + "error.background": "{{colors.error_container.light.hex}}", + "error.border": "{{colors.on_error_container.light.hex}}", + "hidden": "{{colors.outline_variant.light.hex}}", + "hidden.border": "{{colors.outline_variant.light.hex}}60", + "hint": "{{colors.primary.light.hex}}", + "hint.background": "{{colors.primary_container.light.hex}}80", + "hint.border": "{{colors.on_primary_container.light.hex}}", + "ignored": "{{colors.on_surface_variant.light.hex}}60", + "ignored.background": "{{colors.surface_variant.light.hex}}40", + "ignored.border": "{{colors.outline_variant.light.hex}}40", + "info": "{{colors.primary.light.hex}}", + "info.background": "{{colors.primary_container.light.hex}}80", + "info.border": "{{colors.on_primary_container.light.hex}}", + "modified": "{{colors.secondary.light.hex}}", + "modified.background": "{{colors.secondary_container.light.hex}}80", + "modified.border": "{{colors.on_secondary_container.light.hex}}", + "predictive": "{{colors.on_surface_variant.light.hex}}80", + "predictive.border": "{{colors.outline.light.hex}}", + "predictive.background": "{{colors.surface_container_highest.light.hex}}80", + "renamed": "{{colors.secondary.light.hex}}", + "renamed.border": "{{colors.on_secondary_container.light.hex}}", + "renamed.background": "{{colors.secondary_container.light.hex}}80", + "success": "{{colors.tertiary.light.hex}}", + "success.background": "{{colors.tertiary_container.light.hex}}80", + "success.border": "{{colors.on_tertiary_container.light.hex}}", + "unreachable": "{{colors.on_surface_variant.light.hex}}60", + "unreachable.background": "{{colors.surface_variant.light.hex}}40", + "unreachable.border": "{{colors.outline_variant.light.hex}}60", + "warning": "{{colors.tertiary_fixed_dim.light.hex}}", + "warning.background": "{{colors.tertiary_container.light.hex}}80", + "warning.border": "{{colors.on_tertiary_container.light.hex}}", + "players": [ + { + "cursor": "{{colors.primary.light.hex}}", + "background": "{{colors.primary_container.light.hex}}80", + "selection": "{{colors.primary_container.light.hex}}60" + }, + { + "cursor": "{{colors.secondary.light.hex}}", + "background": "{{colors.secondary_container.light.hex}}80", + "selection": "{{colors.secondary_container.light.hex}}60" + } + ], + "syntax": { + "boolean": { + "color": "{{colors.tertiary.light.hex}}", + "font_style": null, + "font_weight": null + }, + "comment": { + "color": "{{colors.on_surface_variant.light.hex}}", + "font_style": "italic", + "font_weight": null + }, + "comment.doc": { + "color": "{{colors.on_surface_variant.light.hex}}", + "font_style": "italic", + "font_weight": null + }, + "constant": { + "color": "{{colors.tertiary.light.hex}}", + "font_style": null, + "font_weight": null + }, + "constructor": { + "color": "{{colors.secondary.light.hex}}", + "font_style": null, + "font_weight": null + }, + "emphasis": { + "color": "{{colors.primary.light.hex}}", + "font_style": "italic", + "font_weight": null + }, + "emphasis.strong": { + "color": "{{colors.primary.light.hex}}", + "font_style": null, + "font_weight": 700 + }, + "function": { + "color": "{{colors.primary.light.hex}}", + "font_style": null, + "font_weight": null + }, + "keyword": { + "color": "{{colors.secondary.light.hex}}", + "font_style": null, + "font_weight": null + }, + "number": { + "color": "{{colors.tertiary_fixed.light.hex}}", + "font_style": null, + "font_weight": null + }, + "operator": { + "color": "{{colors.on_surface_variant.light.hex}}", + "font_style": null, + "font_weight": null + }, + "property": { + "color": "{{colors.on_surface.light.hex}}", + "font_style": null, + "font_weight": null + }, + "punctuation": { + "color": "{{colors.on_surface_variant.light.hex}}", + "font_style": null, + "font_weight": null + }, + "punctuation.bracket": { + "color": "{{colors.secondary_fixed.light.hex}}", + "font_style": null, + "font_weight": null + }, + "punctuation.delimiter": { + "color": "{{colors.on_surface_variant.light.hex}}", + "font_style": null, + "font_weight": null + }, + "punctuation.list_marker": { + "color": "{{colors.on_surface_variant.light.hex}}", + "font_style": null, + "font_weight": null + }, + "punctuation.special": { + "color": "{{colors.secondary.light.hex}}", + "font_style": null, + "font_weight": null + }, + "string": { + "color": "{{colors.tertiary.light.hex}}", + "font_style": null, + "font_weight": null + }, + "string.escape": { + "color": "{{colors.tertiary_fixed_dim.light.hex}}", + "font_style": null, + "font_weight": null + }, + "string.regex": { + "color": "{{colors.tertiary_fixed.light.hex}}", + "font_style": null, + "font_weight": null + }, + "string.special": { + "color": "{{colors.on_tertiary_container.light.hex}}", + "font_style": null, + "font_weight": null + }, + "string.special.symbol": { + "color": "{{colors.tertiary.light.hex}}", + "font_style": null, + "font_weight": null + }, + "tag": { + "color": "{{colors.secondary.light.hex}}", + "font_style": null, + "font_weight": null + }, + "text.literal": { + "color": "{{colors.tertiary.light.hex}}", + "font_style": null, + "font_weight": null + }, + "type": { + "color": "{{colors.primary_fixed.light.hex}}", + "font_style": null, + "font_weight": null + }, + "variable": { + "color": "{{colors.on_surface.light.hex}}", + "font_style": null, + "font_weight": null + }, + "variable.special": { + "color": "{{colors.primary.light.hex}}", + "font_style": null, + "font_weight": null + } + } + } + } + ] +} diff --git a/.config/niri/config.kdl b/.config/niri/config.kdl index d20ce6e..57d1a62 100644 --- a/.config/niri/config.kdl +++ b/.config/niri/config.kdl @@ -15,7 +15,7 @@ config-notification { //output "HDMI-A-1" { //off -// mode "1440x900" + //mode custom=true "3440x1440@85.000" // scale 1 // transform "normal" // position x=700 y=1440 @@ -133,23 +133,15 @@ overview { // This line starts waybar, a commonly used bar for Wayland compositors. spawn-at-startup "bash" "-c" "wl-paste --watch cliphist store &" spawn-at-startup "dms" "run" -spawn-at-startup "xwayland-satellite" - spawn-at-startup "Telegram" spawn-at-startup "vesktop" -spawn-at-startup "steam" -spawn-at-startup "geary" -spawn-at-startup "kitty" -spawn-at-startup "kitty" -spawn-at-startup "kitty" +//spawn-at-startup "/home/nicole/.scripts/mailspring.sh" +spawn-at-startup "thunderbird" spawn-at-startup "nextcloud" -spawn-at-startup "element-desktop" -// spawn-at-startup "Jan" spawn-at-startup "msty-studio" spawn-at-startup "sunshine" - -spawn-at-startup "app.zen_browser.zen" spawn-at-startup "solaar" "-w" "hide" +spawn-at-startup "/home/nicole/.scripts/mx_master_4_haptic_notification.sh" xwayland-satellite { @@ -227,11 +219,16 @@ window-rule { match app-id="Element" open-on-workspace "social" open-maximized false - default-column-width { proportion 0.33333; } + default-column-width { proportion 0.66667; } } window-rule { match app-id="geary" + match app-id="thunderbird" + match app-id="Mailspring" + match app-id="Proton Mail" + open-maximized true + //default-column-width { proportion 1; } open-on-workspace "mail" } window-rule { @@ -251,6 +248,8 @@ window-rule { match app-id="org.qbittorrent.qBittorrent" match app-id="org.gnome.Calculator" match app-id="solaar" + match app-id="steam_app_starcitizen" + match app-id="com.danklinux.dms" open-maximized false open-floating true } @@ -271,7 +270,7 @@ window-rule { default-column-width { proportion 0.3; } default-window-height { proportion 1.0; } default-floating-position x=0 y=0 relative-to="bottom-left" - opacity 0.95 + opacity 0.99 open-on-workspace "special" } diff --git a/.config/solaar/config.yaml b/.config/solaar/config.yaml index 2f33503..4ad8dc8 100644 --- a/.config/solaar/config.yaml +++ b/.config/solaar/config.yaml @@ -1,11 +1,5 @@ -- 1.1.16 +- 1.1.19 - _NAME: Signature M650 L Mouse - _absent: [hi-res-scroll, hires-smooth-invert, hires-smooth-resolution, hires-scroll-mode, scroll-ratchet, smart-shift, thumb-scroll-invert, thumb-scroll-mode, - onboard_profiles, report_rate, report_rate_extended, pointer_speed, dpi_extended, speed-change, backlight, backlight_level, backlight_duration_hands_out, - backlight_duration_hands_in, backlight_duration_powered, backlight-timed, led_control, led_zone_, rgb_control, rgb_zone_, brightness_control, per-key-lighting, - fn-swap, persistent-remappable-keys, disable-keyboard-keys, crown-smooth, divert-crown, divert-gkeys, m-key-leds, mr-key-led, multiplatform, change-host, - gesture2-gestures, gesture2-divert, gesture2-params, sidetone, equalizer, adc_power_management] - _battery: 4100 _modelId: B02A00000000 _sensitive: {dpi: false, lowres-scroll-mode: false} _serial: 5BA99D27 @@ -23,19 +17,23 @@ _battery: 4100 _dpi-sliding: 16 _modelId: B04200000000 - _sensitive: {change-host: false, divert-keys: true, dpi: true, hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore, - reprogrammable-keys: true, smart-shift: true} + _sensitive: {change-host: false, divert-keys: true, dpi: true, force-sensing: true, haptic-level: true, hires-scroll-mode: ignore, hires-smooth-invert: ignore, + hires-smooth-resolution: ignore, reprogrammable-keys: true, smart-shift: true, thumb-scroll-invert: true} _serial: 40B6E5FB _unitId: 40B6E5FB _wpid: B042 change-host: null divert-keys: {82: 0, 83: 0, 86: 0, 195: 0, 196: 0, 416: 1} dpi: 1000 + force-sensing: {0: 4799} + haptic-level: 100 + haptic-play: null hires-scroll-mode: false hires-smooth-invert: false hires-smooth-resolution: false reprogrammable-keys: {82: 82, 83: 83, 86: 86, 195: 195, 196: 196, 416: 195} scroll-ratchet: 2 - smart-shift: 10 - thumb-scroll-invert: false + scroll-ratchet-torque: 75 + smart-shift: 50 + thumb-scroll-invert: true thumb-scroll-mode: false