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 90ef341..9968a2f 100644 Binary files a/.config/kando/session/DIPS and b/.config/kando/session/DIPS differ diff --git a/.config/kando/session/DIPS-wal b/.config/kando/session/DIPS-wal index c8fd4d6..4737b9f 100644 Binary files a/.config/kando/session/DIPS-wal and b/.config/kando/session/DIPS-wal differ diff --git a/.config/kando/session/DawnGraphiteCache/data_1 b/.config/kando/session/DawnGraphiteCache/data_1 index 375410a..3080b77 100644 Binary files a/.config/kando/session/DawnGraphiteCache/data_1 and b/.config/kando/session/DawnGraphiteCache/data_1 differ diff --git a/.config/kando/session/DawnGraphiteCache/index b/.config/kando/session/DawnGraphiteCache/index index 34307ad..e1a41bb 100644 Binary files a/.config/kando/session/DawnGraphiteCache/index and b/.config/kando/session/DawnGraphiteCache/index differ diff --git a/.config/kando/session/DawnWebGPUCache/data_1 b/.config/kando/session/DawnWebGPUCache/data_1 index 21e2b31..029bd43 100644 Binary files a/.config/kando/session/DawnWebGPUCache/data_1 and b/.config/kando/session/DawnWebGPUCache/data_1 differ diff --git a/.config/kando/session/DawnWebGPUCache/index b/.config/kando/session/DawnWebGPUCache/index index b3daeb7..9ccbfcf 100644 Binary files a/.config/kando/session/DawnWebGPUCache/index and b/.config/kando/session/DawnWebGPUCache/index differ diff --git a/.config/kando/session/GPUCache/data_0 b/.config/kando/session/GPUCache/data_0 index 3f0c884..40dc0ee 100644 Binary files a/.config/kando/session/GPUCache/data_0 and b/.config/kando/session/GPUCache/data_0 differ diff --git a/.config/kando/session/GPUCache/data_1 b/.config/kando/session/GPUCache/data_1 index 1c82c58..86536d5 100644 Binary files a/.config/kando/session/GPUCache/data_1 and b/.config/kando/session/GPUCache/data_1 differ diff --git a/.config/kando/session/GPUCache/data_2 b/.config/kando/session/GPUCache/data_2 index 98a0712..e052061 100644 Binary files a/.config/kando/session/GPUCache/data_2 and b/.config/kando/session/GPUCache/data_2 differ diff --git a/.config/kando/session/GPUCache/index b/.config/kando/session/GPUCache/index index 6963f72..52e6687 100644 Binary files a/.config/kando/session/GPUCache/index and b/.config/kando/session/GPUCache/index differ diff --git a/.config/kando/session/Local Storage/leveldb/000003.log b/.config/kando/session/Local Storage/leveldb/000003.log index ec16822..481408e 100644 Binary files a/.config/kando/session/Local Storage/leveldb/000003.log and b/.config/kando/session/Local Storage/leveldb/000003.log differ 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 7bd8395..2e172c6 100644 Binary files a/.config/kando/session/Session Storage/000003.log and b/.config/kando/session/Session Storage/000003.log differ 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