diff options
-rw-r--r-- | dotfiles/.config/zsh/.zshrc | 6 | ||||
-rwxr-xr-x | dotfiles/.local/bin/chcolors | 5 | ||||
-rwxr-xr-x | dotfiles/.local/bin/shtheme | 669 | ||||
-rw-r--r-- | dotfiles/.profile | 2 | ||||
-rw-r--r-- | telegram/comodo.tdesktop-palette | 452 |
5 files changed, 676 insertions, 458 deletions
diff --git a/dotfiles/.config/zsh/.zshrc b/dotfiles/.config/zsh/.zshrc index a7f3000..aa1bc69 100644 --- a/dotfiles/.config/zsh/.zshrc +++ b/dotfiles/.config/zsh/.zshrc @@ -69,7 +69,11 @@ zle -N zle-keymap-select [ -f "$HOME/.config/zsh/shortcuts" ] && . "$HOME/.config/zsh/shortcuts" -[ -f "$HOME/.cache/colorscheme" ] && trap "source $HOME/.cache/colorscheme" DEBUG +if [ -f "$HOME/.cache/colorscheme" ]; then + trap "source $HOME/.cache/colorscheme && shtheme ultramar-\$COLORSCHEME" SIGUSR1 + source $HOME/.cache/colorscheme + shtheme ultramar-$COLORSCHEME +fi if [ -f /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ] then diff --git a/dotfiles/.local/bin/chcolors b/dotfiles/.local/bin/chcolors index e62b047..9cd4270 100755 --- a/dotfiles/.local/bin/chcolors +++ b/dotfiles/.local/bin/chcolors @@ -13,8 +13,5 @@ case $COLORSCHEME in COLORSCHEME="dark" ;; esac -sed -i --follow-symlinks \ - "s/^colors:.*/colors: \*$COLORSCHEME/g" \ - $HOME/.config/alacritty/alacritty.yml - echo "export COLORSCHEME=$COLORSCHEME" > $HOME/.cache/colorscheme +pkill -SIGUSR1 zsh diff --git a/dotfiles/.local/bin/shtheme b/dotfiles/.local/bin/shtheme new file mode 100755 index 0000000..2071019 --- /dev/null +++ b/dotfiles/.local/bin/shtheme @@ -0,0 +1,669 @@ +#!/bin/sh + +# Written by Aetnaeus. +# Source: https://github.com/lemnos/theme.sh. +# Licensed under the WTFPL provided this notice is preserved. + +# Find a broken theme? Want to add a missing one? PRs are welcome. + +VERSION=v1.1.5 + +# Use truecolor sequences to simulate the end result. + +preview() { + awk -F": " -v target="$1" ' + BEGIN { + "tput cols" | getline nc + "tput lines" | getline nr + nc = int(nc) + nr = int(nr) + } + + /^# Themes/ { start++;next } + !start { next } + + function hextorgb(s) { + hexchars = "0123456789abcdef" + s = tolower(s) + + r = (index(hexchars, substr(s, 2, 1))-1)*16+(index(hexchars, substr(s, 3, 1))-1) + g = (index(hexchars, substr(s, 4, 1))-1)*16+(index(hexchars, substr(s, 5, 1))-1) + b = (index(hexchars, substr(s, 6, 1))-1)*16+(index(hexchars, substr(s, 7, 1))-1) + } + + function fgesc(col) { + hextorgb(col) + return sprintf("\x1b[38;2;%d;%d;%dm", r, g, b) + } + + function bgesc(col) { + hextorgb(col) + return sprintf("\x1b[48;2;%d;%d;%dm", r, g, b) + } + + $0 == target {s++} + + s && /^foreground:/ { fg = $2 } + s && /^background:/ { bg = $2 } + s && /^[0-9]+:/ { a[$1] = $2 } + + /^ *$/ {s=0} + + function puts(s, len, i, normesc, filling) { + normesc = sprintf("\x1b[0m%s%s", fgesc(fg), bgesc(bg)) + + len=s + gsub(/\033\[[^m]*m/, "", len) + len=length(len) + + filling="" + for(i=0;i<(nc-len);i++) filling=filling" " + + printf "%s%s%s%s\n", normesc, s, normesc, filling, "" + nr-- + } + + END { + puts("") + for (i = 0;i<16;i++) + puts(sprintf(" %s Color %d\x1b[0m", fgesc(a[i]), i)) + + # Note: Some terminals use different colors for bolded text and may produce slightly different ls output. + + puts("") + puts(" # ls --color -F") + puts(sprintf(" file")) + puts(sprintf(" \x1b[1m%sdir/", fgesc(a[4]))) + puts(sprintf(" \x1b[1m%sexecutable", fgesc(a[10]))) + puts(sprintf(" \x1b[1m%ssymlink\x1b[0m%s%s", fgesc(a[6]), fgesc(fg), bgesc(bg))) + + + while(nr > 0) puts("") + + printf "\x1b[0m" + } + ' < "$0" +} + +# Alphabetize and dedupe theme list. + +normalize_themes() { + awk ' + # We could eliminate the sorting logic by using gnu extensions but that would reduce portability. + + function cmp(a,b,ordTbl, i,c1,c2,n) { + n = length(a) > length(b) ? length(b) : length(a) + for(i = 1;i <= n;i++) { + c1 = substr(a, i, 1) + c2 = substr(b, i, 1) + + if(c1 != c2) + return ordTbl[c1] < ordTbl[c2] + } + + return length(a) < length(b) + } + + function sort(a,n, i,j,tmp,ordTbl) { + for(i = 0;i < 256;i++) ordTbl[sprintf("%c", i)] = i + + for(i = 0;i < n;i++) { + tmp = a[i] + j = i-1 + while(j >= 0 && cmp(tmp, a[j], ordTbl)) { + a[j+1] = a[j] + j-- + } + + a[j+1] = tmp + } + } + + function sortKeys(a,keys, n,k) { + for(k in a) + keys[n++] = k + sort(keys, n) + return n + } + + /^ *$/ { inTheme = 0;next } + !inTheme { name = $0;inTheme=1;themes[name] = "";next } + inTheme { themes[name] = themes[name]$0"\n" } + + END { + n = sortKeys(themes, names) + + print "" + for(i = 0;i < n;i++) { + print names[i] + print tolower(themes[names[i]]) + } + } + ' "$@" +} + +# Generate themes from one or more supplied kitty config files. + +generate_themes() { + awk -v argc=$# ' + function chkProp(prop) { + if(!props[prop]) { + printf "ABORTING: %s is missing required property '\''%s'\''\n", currentFile, prop > "/dev/stderr" + aborted++ + exit -1 + } + } + + function printTheme( name,i,prop) { + name = currentFile + gsub(/.*\//, "", name) + gsub(/\.conf$/, "", name) + + print name + + for (i = 0;i < 16;i++) { + prop = sprintf("color%d", i) + + chkProp(prop) + printf "%d: %s\n", i, props[prop] + } + + chkProp("foreground") + chkProp("background") + chkProp("cursor") + + print "foreground: "props["foreground"] + print "background: "props["background"] + print "cursor: "props["cursor"] + print "" + } + + FILENAME != currentFile { + if(currentFile) + printTheme() + + currentFile = FILENAME + delete props + } + + { props[$1] = $2 } + + END { if(!aborted) printTheme() } + ' "$@" +} + +# Add themes to the script from one or more supplied kitty config files. + +add() { + tmp1="$(mktemp)" + tmp2="$(mktemp)" + + awk 'i { print } /^# Themes/ { i++ }' "$0" > "$tmp1" + echo "" >> "$tmp1" + generate_themes "$@" >> "$tmp1" || exit $? + + awk '{print} /^# Themes/ { exit }' "$0" > "$tmp2" + normalize_themes "$tmp1" >> "$tmp2" + + + rm "$tmp1" + cat "$tmp2" > "$0" || exit $? + + printf 'Successfully annexed %d themes. More! Feed me more!\n' $# +} + +preview2() { + INHIBIT_THEME_HIST=1 "$0" "$1" + + printf '\033[30mColor 0\n' + printf '\033[31mColor 1\n' + printf '\033[32mColor 2\n' + printf '\033[33mColor 3\n' + printf '\033[34mColor 4\n' + printf '\033[35mColor 5\n' + printf '\033[36mColor 6\n' + printf '\033[37mColor 7\n' + + printf '\033[90mColor 8\n' + printf '\033[91mColor 9\n' + printf '\033[92mColor 10\n' + printf '\033[93mColor 11\n' + printf '\033[94mColor 12\n' + printf '\033[95mColor 13\n' + printf '\033[96mColor 14\n' + printf '\033[97mColor 15\n' + + printf '\n\033[0m' + printf '# ls --color -F\n' + printf ' file\n' + printf ' \033[01;34mdir/\033[0m\n' + printf ' \033[01;32mexecutable\033[0m*\n' + printf ' \033[01;36msymlink\033[0m\n' + + printf '\033[0m' +} + +# Consumes a theme.sh definition from STDIN and applies it. + +apply_theme() { +awk ' + function tmuxesc(s) { return sprintf("\033Ptmux;\033%s\033\\", s) } + function normalize_term() { + # Term detection voodoo + + if(ENVIRON["TERM_PROGRAM"] == "iTerm.app") + term="iterm" + else if(ENVIRON["TMUX"]) { + "tmux display-message -p \"#{client_termname}\"" | getline term + "tmux display-message -p \"#{client_termtype}\"" | getline termname + + if(substr(termname, 1, 5) == "iTerm") + term="iterm" + is_tmux++ + } else + term=ENVIRON["TERM"] + } + + BEGIN { + normalize_term() + + if(term == "iterm") { + bgesc="\033]Ph%s\033\\" + fgesc="\033]Pg%s\033\\" + colesc="\033]P%x%s\033\\" + curesc="\033]Pl%s\033\\" + } else { + #Terms that play nice :) + + fgesc="\033]10;#%s\007" + bgesc="\033]11;#%s\007" + curesc="\033]12;#%s\007" + colesc="\033]4;%d;#%s\007" + } + + if(is_tmux) { + fgesc=tmuxesc(fgesc) + bgesc=tmuxesc(bgesc) + curesc=tmuxesc(curesc) + colesc=tmuxesc(colesc) + } + } + + /^foreground:/ { printf fgesc, substr($2, 2) > "/dev/tty" } + /^background:/ { printf bgesc, substr($2, 2) > "/dev/tty" } + /^cursor:/ { printf curesc, substr($2, 2) > "/dev/tty" } + /^[0-9]+:/ { printf colesc, $1, substr($2, 2) > "/dev/tty" } +' +} + +# Sets the current theme given a name and does the requisite bookkeeping. + +set_current_theme() { + awk -F": " -v target="$1" -v script="$0" ' + /^# Themes/ { start++;next; } + !start { next } + + $0 == target { found++;next; } + + found { theme = theme $0 "\n" } + found && /^ *$/ { exit } + + END { + if(found) { + printf "%s", theme | script + + config_dir = (ENVIRON["XDG_CONFIG_HOME"] ? ENVIRON["XDG_CONFIG_HOME"] : ENVIRON["HOME"]) + + histfile = config_dir"/.theme_history" + inhibit_hist=ENVIRON["INHIBIT_THEME_HIST"] + + if(!inhibit_hist) { + while((getline < histfile) > 0) + if($0 != target) + out = out $0 "\n" + close(histfile) + + out = out target + print out > histfile + } + } else { + printf "Theme not found: %s\n", target > "/dev/stderr" + exit(-1) + } + } + ' < "$0" +} + +# Dump the current theme in a format consumable by theme.sh +# by attempting to read it from the terminal. +# +# NOTE: Many terms don't support this properly (e.g alacritty) + +# Refs + +# https://github.com/microsoft/terminal/issues/3718 +# https://github.com/alacritty/alacritty/blob/master/alacritty_terminal/src/ansi.rs#L972 + +print_current_theme() { + awk ' + function print_response(s) { + names["10;"] = "foreground" + names["11;"] = "background" + names["12;"] = "cursor" + for (i = 0; i < 16; i++) + names[sprintf("4;%d;", i)] = i + + split(s, a, "]") + for (i in a) { + if (match(a[i], /rgb:/)) { + key = substr(a[i], 1, RSTART-1) + + r=substr(a[i], RSTART+4, 2) + g=substr(a[i], RSTART+9, 2) + b=substr(a[i], RSTART+14, 2) + + printf "%s: %s\n", names[key], "#"r g b + } + } + } + + # We cant just use RS/getline for this since + # mawk does input buffering :(. + + function read_response() { + buf = "" + + # Accrue data until we encounter the terminating CSI response + while ((end=index(buf,"[")) == 0) { + # poor POSIX mans read :/ + cmd="dd if=/dev/tty bs=1024 count=1 2> /dev/null" + + while (cmd|getline data) + buf = buf data + + close(cmd) + } + + buf = substr(buf, 1, end-1) + return buf + } + + BEGIN { + system("stty cbreak -echo") + + tty = "/dev/tty" + + # Yo dawg, I heard you like multiplexers... + if (ENVIRON["TMUX"]) { + # If we are running inside tmux we sent the request sequences + # to the currently attached terminal. Note that we still + # read the result from the virtual terminal. + + # Flow: + # theme.sh (request) -> tty (response) -> pts (response) -> theme.sh + # where pts is the tmux pseudoterminal. + + "tmux display-message -p \"#{client_tty}\""|getline tty + } + + # Terminals may ignore these. + + for(i=0;i<16;i++) + printf "\033]4;%d;?\007", i > tty + + printf "\033]10;?\007" > tty + printf "\033]11;?\007" > tty + printf "\033]12;?\007" > tty + + # Use a CSI DA1 sequence (supported by all terms) + # as a sentinel value to indicate end-of-response. + # (assumes request-response order is fifo) + + printf "\033[c" > tty + + print_response(read_response()) + + system("stty -cbreak echo") + } + ' +} + +isColorTerm() { + if [ -z "$TMUX" ]; then + [ -n "$COLORTERM" ] + else + tmux display-message -p '#{client_termfeatures}'|grep -q RGB + fi +} + +list() { + case "$filterFlag" in + --light) filter=2 ;; + --dark) filter=1 ;; + *) filter=0 ;; + esac + + awk -v filter="$filter" -F": " ' + BEGIN { + config_dir = ENVIRON["XDG_CONFIG_HOME"] ? ENVIRON["XDG_CONFIG_HOME"] : ENVIRON["HOME"] + + histfile = config_dir"/.theme_history" + while((getline < histfile) > 0) { + mru[nmru++] = $0 + mruIndex[$0] = 1 + } + } + + function luma(s, r,g,b,hexchars) { + hexchars = "0123456789abcdef" + s = tolower(s) + + r = (index(hexchars, substr(s, 2, 1))-1)*16+(index(hexchars, substr(s, 3, 1))-1) + g = (index(hexchars, substr(s, 4, 1))-1)*16+(index(hexchars, substr(s, 5, 1))-1) + b = (index(hexchars, substr(s, 6, 1))-1)*16+(index(hexchars, substr(s, 7, 1))-1) + + return 0.2126 * r + 0.7152 * g + 0.0722 * b + } + + /^# Theme/ { st++;next } + !st { next } + + /^ *$/ { inner = 0;next } + !inner { name = $0;inner++;next } + + /^background/ { + if((filter == 1 && luma($2) > 130) || + (filter == 2 && luma($2) <= 130)) + next + + candidates[name] = 1 + } + + END { + for(c in candidates) { + if(!mruIndex[c]) + print(c) + } + + for(i = 0;i < nmru;i++) + if(candidates[mru[i]]) + print(mru[i]) + } + ' < "$0" +} + + +if [ -z "$1" ]; then + if [ -t 0 ]; then + echo "usage: $(basename "$0") [-v] [-h] <option>|<theme>" + exit 255 + else + apply_theme + exit 0 + fi +fi + +case "$1" in + --dark|--light) + filterFlag=$1 + shift + ;; +esac + +case "$1" in +-h|--help) + cat << "!" +usage: theme.sh [--light] | [--dark] <option> | <theme> + + If <theme> is provided it will immediately be set. Otherwise --dark or + --light optionally act as filters on the supplied option. Theme history is + stored in ~/.theme_history or ($XDG_CONFIG_HOME/.theme_history if set) by + default and will be used for ordering the otherwise alphabetical theme list + in the relevant options (-l/-i/-i2). + + E.G: + 'theme.sh --dark -i' + + will start an interactive selection of dark themes with the user's + most recently selected themes at the bottom of the list. + + Theme definitions consistent with the internal format can also be piped + directly into the script. + + E.G: + + # theme.sh < input + + Where input has the form: + + 0: #4d4d4d + 1: #4d4d4d + ... + foreground: #dcdccc + background: #3f3f3f + cursor: #dcdccc + +OPTIONS + -l,--list Print all available themes. + -i,--interactive Start the interactive selection mode (requires fzf). + -i2,--interactive2 Interactive mode #2. This shows the theme immediately + instead of showing it in the preview window. Useful + if your terminal does have TRUECOLOR support. + -r,--random Set a random theme and print its name to stdout. + -a,--add <kitty config> Annexes the given kitty config file. + -p,--print-theme Attempt to read the current theme from the terminal + and print it to stdout in a format consumable by theme.sh. + NOTE: not all terminals support this option, + do not rely on it in scripts. + -v,--version Print the version and exit. + +SCRIPTING + If used from within a script, you will probably want to set + INHIBIT_THEME_HIST=1 to avoid mangling the user's theme history. +! + ;; +-p|--print-theme) + print_current_theme + ;; +-i2|--interactive2) + command -v fzf > /dev/null 2>&1 || { echo "ERROR: -i requires fzf" >&2; exit 1; } + "$0" $filterFlag -l|fzf\ + --tac\ + --bind "enter:execute-silent($0 {})+accept"\ + --bind "ctrl-c:execute($0 -l|tail -n1|xargs $0)+abort"\ + --bind "esc:execute($0 {};echo {})+abort"\ + --exact\ + --no-sort\ + --preview "$0 --preview2 {}" + ;; +-r|--random) + # Sort -R is not portable :/ + + theme=$($0 $filterFlag -l|awk '{a[n++]=$0};END{srand();print(a[int(rand()*n)])}') + $0 "$theme" + echo "Theme: $theme" + ;; +-i|--interactive) + command -v fzf > /dev/null 2>&1 || { echo "ERROR: -i requires fzf" >&2; exit 1; } + if ! isColorTerm; then + printf "WARNING: This does not appear to be a truecolor terminal, falling back to -i2 + (use -i2 explicitly to get rid of this message or set COLORTERM)\n\n" >&2 + "$0" $filterFlag -i2 + else + "$0" $filterFlag -l|fzf\ + --tac\ + --exact\ + --bind "ctrl-c:abort"\ + --bind "esc:execute(echo {})+abort"\ + --bind "enter:execute-silent($0 {})+accept"\ + --no-sort\ + --preview "$0 --preview {}" + fi + ;; +-l|--list) + list + ;; +-a|--add) + shift + add "$@" + ;; +--preview2) + preview2 "$2" + ;; +--preview) + preview "$2" + ;; +-v|--version) + echo "$VERSION (original source https://github.com/lemnos/theme.sh)" + ;; +*) + set_current_theme "$1" + ;; +esac + +exit $? + +# Themes start here (avoid editing by hand) + +ultramar-dark +0: #33333a +1: #b73030 +2: #6d974b +3: #b2872f +4: #3f6e90 +5: #9c6992 +6: #5b8277 +7: #b0afa8 +8: #676775 +9: #c45c5c +10: #92b078 +11: #e2b55a +12: #81acc1 +13: #b48ead +14: #7fac96 +15: #faf6e5 +foreground: #fcf8e2 +background: #151517 +cursor: #ffffff + +ultramar-light +0: #151517 +1: #b73030 +2: #6d974b +3: #b2872f +4: #3f6e90 +5: #9c6992 +6: #5b8277 +7: #91908d +8: #33333a +9: #c45c5c +10: #92b078 +11: #e2b55a +12: #75a2b8 +13: #b48ead +14: #7fac96 +15: #b0afa8 +foreground: #1b1e25 +background: #faf6e5 +cursor: #000000 + diff --git a/dotfiles/.profile b/dotfiles/.profile index 0627bdd..320c1ae 100644 --- a/dotfiles/.profile +++ b/dotfiles/.profile @@ -44,7 +44,7 @@ export $(dbus-launch) # Start sway automatically upon login on tty1 or tty2 if [ -z $DISPLAY ] && [ $(tty) = /dev/tty1 ] || [ $(tty) = /dev/tty2 ]; then # DBUS variables (for Artix) - sway -d 2> ~/.cache/sway.log 1> /dev/null && clear && exit + exec sway -d 2> ~/.cache/sway.log 1> /dev/null && clear && exit mv ~/.cache/sway.log ~/.cache/sway-crash-$(date +"%Y-%m-%dT%H:%M").log fi diff --git a/telegram/comodo.tdesktop-palette b/telegram/comodo.tdesktop-palette deleted file mode 100644 index 796834e..0000000 --- a/telegram/comodo.tdesktop-palette +++ /dev/null @@ -1,452 +0,0 @@ -// THEME EDITOR SERVICE INFO START -// ID: 0 -// ACCESS: 0 -// THEME EDITOR SERVICE INFO END - -windowBg: #1b1e25; // white: fallback for background -windowFg: #e5e9f0; // black: fallback for text -windowBgOver: #2d333f; // light gray: fallback for background with mouse over -windowBgRipple: #2d333f; // darker gray: fallback for ripple effect -windowFgOver: #e5e9f0; // black: fallback for text with mouse over -windowSubTextFg: #697792; // gray: fallback for additional text -windowSubTextFgOver: #697792; // darker gray: fallback for additional text with mouse over -windowBoldFg: #e9e8e8; // dark gray: fallback for bold text -windowBoldFgOver: #e9e9e9; // dark gray: fallback for bold text with mouse over -windowBgActive: #5b8277; // bright blue: fallback for blue filled active areas -windowFgActive: #ffffff; // white: fallback for text on active areas -windowActiveTextFg: #7fac96; // online blue: fallback for active text like online status -windowShadowFg: #000000; // black: fallback for shadow -windowShadowFgFallback: windowBg; // gray: fallback for shadow without opacity -shadowFg: #00000018; // most shadows (including opacity) -slideFadeOutBg: #0000003c; // slide animation (chat to profile) fade out filling -slideFadeOutShadowFg: windowShadowFg; // slide animation (chat to profile) fade out right section shadow -imageBg: #000000; // image background fallback (when photo size is less than minimum allowed) -imageBgTransparent: #ffffff; // image background when displaying an image with opacity where no opacity is needed -activeButtonBg: #5b8277; // default active button background -activeButtonBgOver: #7fac96; // default active button background with mouse over -activeButtonBgRipple: #32a898; // default active button ripple effect -activeButtonFg: #ffffff; // default active button text -activeButtonFgOver: #ffffff; // default active button text with mouse over -activeButtonSecondaryFg: #81acc1; // default active button additional text (selected messages counter in forward / delete buttons) -activeButtonSecondaryFgOver: activeButtonSecondaryFg; // default active button additional text with mouse over -activeLineFg: #7fac96; // default active line (like code input field bottom border when you log in and field is focused) -activeLineFgError: #c45c5c; // default active line for error state (like code input field bottom border when you log in and you've entered incorrect code) -lightButtonBg: #1b1e25; // default light button background (like buttons in boxes) -lightButtonBgOver: #3a3a3a; // default light button background with mouse over -lightButtonBgRipple: #313b43; // default light button ripple effect -lightButtonFg: #7fac96; // default light button text -lightButtonFgOver: lightButtonFg; // default light button text with mouse over -attentionButtonFg: #f57474; // default attention button text (like confirm button on log out) -attentionButtonFgOver: #e76060; // default attention button text with mouse over -attentionButtonBgOver: #613a3a64; // default attention button background with mouse over -attentionButtonBgRipple: #f4c3c2; // default attention button ripple effect -outlineButtonBg: windowBg; // default left outlined button background (like shared media links in profiles) -outlineButtonBgOver: #3a3a3a; // default left outlined button background with mouse over -outlineButtonOutlineFg: #5b8277; // default left outlined button left outline border -outlineButtonBgRipple: #3a3a3a; // default left outlined button ripple effect -menuBg: #1b1e25; // default popup menu background -menuBgOver: #ffffff; // default popup menu item background with mouse over -menuBgRipple: #26292d; // default popup menu item ripple effect -menuIconFg: #808080; // default popup menu item icon (like main menu) -menuIconFgOver: #dcdcdc; // default popup menu item icon with mouse over -menuSubmenuArrowFg: #757575; // default popup menu submenu arrow icon (like in message field context menu in case of RTL system language) -menuFgDisabled: #737373; // default popup menu item disabled text (like unavailable items in message field context menu) -menuSeparatorFg: #42484d; // default popup menu separator (like in message field context menu) -scrollBarBg: #ffffff53; // default scroll bar current rectangle, the bar itself (like in chats list) -scrollBarBgOver: #ffffff7a; // default scroll bar current rectangle with mouse over it -scrollBg: #ffffff1a; // default scroll bar background -scrollBgOver: #ffffff2c; // default scroll bar background with mouse over the scroll bar -smallCloseIconFg: #6d6d6d; // small X icon (like in Show all sessions box to the right for sessions termination) -smallCloseIconFgOver: #a3a3a3; // small X icon with mouse over -radialFg: windowFgActive; // default radial loader line (like in Media Viewer when loading a photo) -radialBg: #00000056; // default radial loader background (like in Media Viewer when loading a photo) -placeholderFg: #818991; // default input field placeholder when field is not focused (like in phone input field when you log in) -placeholderFgActive: #5d6165; // default input field placeholder when field is focused -inputBorderFg: #6f6f6f; // default input field bottom border (like in code input field when you log in and field is not focused) -filterInputBorderFg: #3d444b; // default rounded input field border (like in chats list search field when field is focused) -filterInputInactiveBg: #3d444b; // default rounded input field background (like in chats list search field when field is inactive) -checkboxFg: #6c6c6c; // default unchecked checkbox rounded rectangle (and also emoji category icons) -sliderBgInactive: #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) -tooltipBg: #d4dadd; // tooltip background (like when you put mouse over the message timestamp and wait) -tooltipFg: #9a9e9c; // tooltip text -tooltipBorderFg: #c9d1db; // tooltip border -titleShadow: #00000003; // one pixel line shadow at the bottom of custom window title -titleBg: #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: #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: #e81123; // custom window title close button background with mouse over when window is inactive (Windows only) -titleButtonCloseFgOver: 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: #666666; // custom window title text when window is inactive (macOS only) -titleFgActive: #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: #0000007f; // box and main menu background layer fade -cancelIconFg: #666666; // default for settings close icon and box search cancel icon -cancelIconFgOver: #dcdcdc; // default for settings close icon and box search cancel icon with mouse over -boxBg: windowBg; // box background -boxTextFg: windowFg; // box text -boxTextFgGood: #56dbce; // accepted box text (like when choosing username that is not occupied) -boxTextFgError: #d84d4d; // rejecting box text (like when choosing username that is occupied) -boxTitleFg: #ebebeb; // box title text -boxSearchBg: #282e33; // box search field background (like in contacts box) -boxTitleAdditionalFg: #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: #5e6065; // text in channel members box about the limit (max 200 last members are shown) -contactsBg: #222528; // contacts (and some other) box row background -contactsBgOver: #282e33; // contacts (and some other) box row background with mouse over -contactsNameFg: boxTextFg; // contacts (and some other) box row name text -contactsStatusFg: #808080; // contacts (and some other) box row additional text (like last seen stamp) -contactsStatusFgOver: #808080; // contacts (and some other) box row additional text (like last seen stamp) with mouse over -contactsStatusFgOnline: #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: #ffffff7f; // avatar crop box corner rectangles (when choosing a new photo in Settings or for a group) -callArrowFg: #2bc7b8; // received phone call arrow (in calls list box) -callArrowMissedFg: #dd5b4a; // missed phone call arrow (in calls list box) -introBg: windowBg; // login background -introTitleFg: #eeeeee; // login title text -introDescriptionFg: #999999; // login description text -introErrorFg: #999999; // login error text (like when providing a wrong log in code) -introCoverTopBg: #188173; // intro gradient top (from) -introCoverBottomBg: #188173; // intro gradient bottom (to) -introCoverIconsFg: #34a495; // intro cloud graphics -introCoverPlaneTrace: #329d8f; // intro plane traces -introCoverPlaneInner: #ced9e2; // intro plane part -introCoverPlaneOuter: #97a9b5; // intro plane part -introCoverPlaneTop: #ffffff; // intro plane part -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: #f5f5f5; // chat list name text -dialogsChatIconFg: dialogsNameFg; // chat list group or channel icon -dialogsDateFg: #6d727c; // chat list date text -dialogsTextFg: #8d939e; // chat list message text -dialogsTextFgService: #ebebeb; // chat list group sender name text (or media message type text) -dialogsDraftFg: #ec6657; // chat list draft label -dialogsVerifiedIconBg: #53edde; // chat list verified icon background -dialogsVerifiedIconFg: #282e33; // chat list verified icon check -dialogsSendingIconFg: #727272; // chat list sending message icon (clock) -dialogsSentIconFg: #5b8277; // chat list sent message tick / double tick icon -dialogsUnreadBg: #05a091; // chat list unread badge background for not muted chat -dialogsUnreadBgMuted: #495159; // chat list unread badge background for muted chat -dialogsUnreadFg: #ffffff; // chat list unread badge text -dialogsOnlineBadgeFg: #0ae7d2; // chat list online status -dialogsBgOver: #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: #6d727c; // chat list date text with mouse over -dialogsTextFgOver: #a3a7ae; // chat list message text with mouse over -dialogsTextFgServiceOver: #f0f0f0; // chat list group sender name text with mouse over -dialogsDraftFgOver: dialogsDraftFg; // chat list draft label with mouse over -dialogsVerifiedIconBgOver: #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: #41f0df; // chat list sent message tick / double tick icon with mouse over -dialogsUnreadBgOver: #009687; // chat list unread badge background for not muted chat with mouse over -dialogsUnreadBgMutedOver: #555e67; // chat list unread badge background for muted chat with mouse over -dialogsUnreadFgOver: dialogsUnreadFg; // chat list unread badge text with mouse over -dialogsBgActive: #5b8277; // chat list background for current (active) chat -dialogsNameFgActive: windowFgActive; // chat list name text for current (active) chat -dialogsChatIconFgActive: dialogsNameFgActive; // chat list group or channel icon for current (active) chat -dialogsDateFgActive: windowFgActive; // chat list date text for current (active) chat -dialogsTextFgActive: windowFgActive; // chat list message text for current (active) chat -dialogsTextFgServiceActive: dialogsTextFgActive; // chat list group sender name text for current (active) chat -dialogsDraftFgActive: #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: #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: #cbf7e9; // chat list unread badge background for muted chat for current (active) chat -dialogsUnreadFgActive: #039d8e; // chat list unread badge text for current (active) chat -dialogsOnlineBadgeFgActive: #ffffff; // chat list online status for current (active) chat -dialogsRippleBg: #43474d; // -dialogsRippleBgActive: #12a798; // -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: #3a3a3a; // search results bar background (in chats list, contacts box..) -searchedBarFg: #a8a8a8; // search results bar text (in chats list, contacts box..) -topBarBg: #2d333f; // top bar background (in chat view, media overview..) -emojiPanBg: windowBg; // emoji panel background -emojiPanCategories: topBarBg; // emoji panel categories background -emojiPanHeaderFg: #90949a; // emoji panel section header text -emojiPanHeaderBg: #fffffff2; // emoji panel section header background -stickerPanDeleteBg: #000000cc; // 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: #000000b0; // sticker and GIF preview background (when you press and hold on a sticker) -historyTextInFg: windowFg; // inbox message text -historyTextInFgSelected: #ffffff; // inbox message selected text or text in a selected message -historyTextOutFg: #e4ecf2; // outbox message text -historyTextOutFgSelected: #ffffff; // outbox message selected text or text in a selected message -historyLinkInFg: #37e1cb; // inbox message link -historyLinkInFgSelected: #a7fff4; // inbox message link in a selected text or message -historyLinkOutFg: #37e1cb; // outbox message link -historyLinkOutFgSelected: #a7fff4; // outbox message link in a selected text or message -historyFileNameInFg: historyTextInFg; // inbox media filename text -historyFileNameInFgSelected: #ffffff; // inbox media filename text in a selected message -historyFileNameOutFg: historyTextOutFg; // outbox media filename text -historyFileNameOutFgSelected: #ffffff; // outbox media filename text in a selected message -historyOutIconFg: #40e6c5; // outbox message tick / double tick icon -historyOutIconFgSelected: #ffffff; // outbox message tick / double tick icon in a selected message -historyIconFgInverted: #40e6c5; // media message tick / double tick icon (like in sent photo) -historySendingOutIconFg: #9eface; // outbox sending message icon (clock) -historySendingInIconFg: #76838b; // inbox sending message icon (clock) (like in sent messages to yourself or in sent messages to a channel) -historySendingInvertedIconFg: #ffffffc8; // media sending message icon (clock) (like in sent photo) -historyCallArrowInFg: #26c2ad; // received phone call arrow -historyCallArrowInFgSelected: #ffffff; // received phone call arrow in a selected message -historyCallArrowMissedInFg: callArrowMissedFg; // missed phone call arrow -historyCallArrowMissedInFgSelected: #ffffff; // missed phone call arrow in a selected message -historyCallArrowOutFg: #ffffff; // outgoing phone call arrow -historyCallArrowOutFgSelected: #ffffff; // outgoing phone call arrow -historyUnreadBarBg: #33393f; // new unread messages bar background -historyUnreadBarBorder: shadowFg; // new unread messages bar shadow -historyUnreadBarFg: #3cd3bf; // new unread messages bar text -historyForwardChooseBg: #0000004c; // forwarding messages in a large window size "choose recipient" background -historyForwardChooseFg: windowFgActive; // forwarding messages in a large window size "choose recipient" text -historyPeer1NameFg: #ec7577; // red group member name -historyPeer1NameFgSelected: #ffffff; // red group member name in a selected message -historyPeer1UserpicBg: #e17076; // red userpic background -historyPeer2NameFg: #86d67f; // green group member name -historyPeer2NameFgSelected: #ffffff; // green group member name in a selected message -historyPeer2UserpicBg: #7bc862; // green userpic background -historyPeer3NameFg: #e4c054; // yellow group member name -historyPeer3NameFgSelected: #ffffff; // yellow group member name in a selected message -historyPeer3UserpicBg: #ccad4f; // yellow userpic background -historyPeer4NameFg: #68c7f3; // blue group member name -historyPeer4NameFgSelected: #ffffff; // blue group member name in a selected message -historyPeer4UserpicBg: #65aadd; // blue userpic background -historyPeer5NameFg: #b383f3; // purple group member name -historyPeer5NameFgSelected: #ffffff; // purple group member name in a selected message -historyPeer5UserpicBg: #a695e7; // purple userpic background -historyPeer6NameFg: #e16794; // pink group member name -historyPeer6NameFgSelected: #ffffff; // pink group member name in a selected message -historyPeer6UserpicBg: #ee7aae; // pink userpic background -historyPeer7NameFg: #57c9e0; // sea group member name -historyPeer7NameFgSelected: #ffffff; // sea group member name in a selected message -historyPeer7UserpicBg: #6ec9cb; // sea userpic background -historyPeer8NameFg: #efb05d; // orange group member name -historyPeer8NameFgSelected: #ffffff; // orange group member name in a selected message -historyPeer8UserpicBg: #eda86c; // orange userpic background -historyPeerUserpicFg: windowFgActive; // default userpic initials -historyScrollBarBg: #8989897a; // scroll bar current rectangle, the bar itself in the chat view (adjusted) -historyScrollBarBgOver: #6b6b6bbc; // scroll bar current rectangle with mouse over it in the chat view (adjusted) -historyScrollBg: #5f5f5f4c; // scroll bar background (adjusted) -historyScrollBgOver: #6262626b; // scroll bar background with mouse over the scroll bar (adjusted) -msgInBg: #33393f; // inbox message background -msgInBgSelected: #009687; // inbox selected message background (and background of selected text in those messages) -msgOutBg: #2a2f33; // outbox message background -msgOutBgSelected: #009687; // outbox selected message background (and background of selected text in those messages) -msgSelectOverlay: #35d4bf4c; // overlay which is filling the media parts of selected messages (like in selected photo message) -msgStickerOverlay: #35d4bf7f; // overlay which is filling the selected sticker message -msgInServiceFg: windowActiveTextFg; // inbox message information text (like information about a forwarded message original sender) -msgInServiceFgSelected: #ffffff; // inbox selected message information text (like information about a forwarded message original sender) -msgOutServiceFg: #60e5cb; // outbox message information text (like information about a forwarded message original sender) -msgOutServiceFgSelected: #ffffff; // outbox message information text (like information about a forwarded message original sender) -msgInShadow: #748ea200; // inbox message shadow (below the bubble) -msgInShadowSelected: #538ebb00; // inbox selected message shadow (below the bubble) -msgOutShadow: #00000000; // outbox message shadow (below the bubble) -msgOutShadowSelected: #37a78d00; // outbox selected message shadow (below the bubble) -msgInDateFg: #828d94; // inbox message time text -msgInDateFgSelected: #ffffff; // inbox selected message time text -msgOutDateFg: #737f87; // outbox message time text -msgOutDateFgSelected: #ffffff; // outbox selected message time text -msgServiceFg: windowFgActive; // service message text (like date dividers or service message about the group title being changed) -msgServiceBg: #363c43c8; // service message background (like in a service message about group title being changed) (adjusted) -msgServiceBgSelected: #009687; // service message selected text background (like in a service message about group title being changed) (adjusted) -msgInReplyBarColor: #32ceb9; // inbox message reply outline -msgInReplyBarSelColor: #ffffff; // inbox selected message reply outline -msgOutReplyBarColor: #32ceb9; // outbox message reply outline -msgOutReplyBarSelColor: #ffffff; // outbox selected message reply outline -msgImgReplyBarColor: msgServiceFg; // sticker message reply outline -msgInMonoFg: #5aaba0; // inbox message monospace text (like a message sent with `test` text) -msgOutMonoFg: #c2f2ec; // outbox message monospace text -msgInMonoFgSelected: #a7fff4; // inbox message monospace text in a selected text or message -msgOutMonoFgSelected: #c9fff8; // outbox message monospace text in a selected text or message -msgDateImgFg: msgServiceFg; // media message time text (like time text in a sent photo) -msgDateImgBg: #00000054; // media message time bubble background (like time bubble in a sent photo) or file with thumbnail download icon circle background -msgDateImgBgOver: #00000074; // media message download icon circle background with mouse over (like file with thumbnail download icon) -msgDateImgBgSelected: #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: #60e5cb; // outbox media file message with thumbnail download / open with button text -msgFileThumbLinkOutFgSelected: #ffffff; // outbox selected media file message with thumbnail download / open with button text -msgFileInBg: #50d4c3; // inbox audio file download circle background -msgFileInBgOver: #48cfbd; // inbox audio file download circle background with mouse over -msgFileInBgSelected: #ffffff; // inbox selected audio file download circle background -msgFileOutBg: #11bfab; // outbox audio file download circle background -msgFileOutBgOver: #ffffff; // outbox audio file download circle background with mouse over -msgFileOutBgSelected: #ffffff; // outbox selected audio file download circle background -msgFile1Bg: #3fbbab; // blue shared links / files without image square thumbnail -msgFile1BgDark: #269f8f; // blue shared files without image download circle background -msgFile1BgOver: #52c4b5; // blue shared files without image download circle background with mouse over -msgFile1BgSelected: #ffffff; // blue shared files without image download circle background if file is selected -msgFile2Bg: #8ef5e8; // green shared links / shared files without image square thumbnail -msgFile2BgDark: #7ef7e7; // green shared files without image download circle background -msgFile2BgOver: #8df7e9; // green shared files without image download circle background with mouse over -msgFile2BgSelected: #ffffff; // 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: #33393f; // inbox file without thumbnail (like audio file) download arrow icon -historyFileInIconFgSelected: #009687; // inbox selected file without thumbnail (like audio file) download arrow icon -historyFileInRadialFg: #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: #33393f; // outbox file without thumbnail (like audio file) download arrow icon -historyFileOutIconFgSelected: #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: #009687; // outbox selected file without thumbnail (like audio file) radial download animation line -historyFileThumbIconFg: #efefef; // file with thumbnail (or photo / video) download arrow icon -historyFileThumbIconFgSelected: #ffffff; // selected file with thumbnail (or photo / video) download arrow icon -historyFileThumbRadialFg: historyFileThumbIconFg; // file with thumbnail (or photo / video) radial download animation line -historyFileThumbRadialFgSelected: #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: #ffffff; // inbox selected voice message active waveform lines (like played part of currently playing voice message) -msgWaveformInInactive: #5d6b76; // inbox voice message inactive waveform lines (like upcoming part of currently playing voice message) -msgWaveformInInactiveSelected: #41d1c0; // inbox selected voice message inactive waveform lines (like upcoming part of currently playing voice message) -msgWaveformOutActive: #11bfab; // outbox voice message active waveform lines (like played part of currently playing voice message) -msgWaveformOutActiveSelected: #ffffff; // outbox selected voice message active waveform lines (like played part of currently playing voice message) -msgWaveformOutInactive: #596874; // outbox voice message inactive waveform lines (like upcoming part of currently playing voice message) -msgWaveformOutInactiveSelected: #41d1c0; // outbox selected voice message inactive waveform lines (like upcoming part of currently playing voice message) -msgBotKbOverBgAdd: #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: #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) -youtubePlayIconFg: windowFgActive; // youtube play icon arrow (when a link to a youtube video with a webpage preview is sent) -videoPlayIconBg: #0000007f; // other video play icon background (like when a link to a vimeo video with a webpage preview is sent) -videoPlayIconFg: #ffffff; // other video play icon arrow (like when a link to a vimeo video with a webpage preview is sent) -toastBg: #000000b2; // toast notification background (like when you click on your t.me link when editing your username) -toastFg: windowFgActive; // toast notification text (like when you click on your t.me link when editing your username) -reportSpamBg: #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: #434d57; // arrow button background (to scroll to the end of the viewed chat) -historyToDownBgOver: #515b65; // arrow button background with mouse over -historyToDownBgRipple: #636d77; // arrow button ripple effect -historyToDownFg: #adb4ba; // arrow button icon -historyToDownFgOver: menuIconFgOver; // arrow button icon with mouse over -historyToDownShadow: #00000040; // arrow button shadow -historyComposeAreaBg: #2d333f; // 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: #31363c; // unblock / join channel / mute channel button background with mouse over -historyComposeButtonBgRipple: #272b2f; // unblock / join channel / mute channel button ripple effect -overviewCheckBg: #00000040; // shared files / links checkbox background for not selected rows when some rows are selected -overviewCheckFg: #ffffff; // shared files / links checkbox icon for not selected rows when some rows are selected -overviewCheckFgActive: #ffffff; // shared files / links checkbox icon for selected rows -overviewPhotoSelectOverlay: #40ace333; // shared photos / videos / links fill for selected rows -profileStatusFgOver: #9c9c9c; // group members list in group profile user last seen text with mouse over -profileVerifiedCheckBg: windowBgActive; // profile verified check icon background -profileVerifiedCheckFg: #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: #d7d7d7; // custom notifications settings box small sample close button placeholder -notificationSampleTextFg: #d7d7d7; // custom notifications settings box small sample text placeholder -notificationSampleNameFg: #939393; // custom notifications settings box small sample name placeholder -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: #009687; // main menu top cover background -mainMenuCoverFg: windowFgActive; // main menu top cover text -mainMenuCloudFg: activeButtonFg; // -mainMenuCloudBg: #0e837f; // -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: #383838; // context menu in Media Viewer background -mediaviewMenuBgOver: #505050; // context menu item background with mouse over -mediaviewMenuBgRipple: #676767; // context menu item ripple effect -mediaviewMenuFg: windowFgActive; // context menu item text -mediaviewBg: #1b1e25eb; // Media Viewer background -mediaviewVideoBg: imageBg; // Media Viewer background when viewing a video in full screen -mediaviewControlBg: #0000003c; // controls background (like next photo / previous photo) -mediaviewControlFg: windowFgActive; // controls icon (like next photo / previous photo) -mediaviewCaptionBg: #11111180; // caption text background (when viewing photo with caption) -mediaviewCaptionFg: mediaviewControlFg; // caption text -mediaviewTextLinkFg: #66f7e4; // caption text link -mediaviewSaveMsgBg: toastBg; // save to file toast message background in Media Viewer -mediaviewSaveMsgFg: toastFg; // save to file toast message text -mediaviewPlaybackActive: #c7c7c7; // video playback progress already played part -mediaviewPlaybackInactive: #252525; // video playback progress upcoming (not played yet) part -mediaviewPlaybackActiveOver: #ffffff; // video playback progress already played part with mouse over -mediaviewPlaybackInactiveOver: #474747; // video playback progress upcoming (not played yet) part with mouse over -mediaviewPlaybackProgressFg: #ffffffc7; // video playback progress text -mediaviewPlaybackIconFg: mediaviewPlaybackActive; // video playback controls icon -mediaviewPlaybackIconFgOver: mediaviewPlaybackActiveOver; // video playback controls icon with mouse over -mediaviewTransparentBg: #ffffff; // transparent filling part (when viewing a transparent .png file in Media Viewer) -mediaviewTransparentFg: #cccccc; // another transparent filling part -notificationBg: windowBg; // custom notification window background -callBg: #26282cf2; // phone call popup background -callNameFg: #ffffff; // phone call popup name text -callFingerprintBg: #00000066; // phone call popup emoji fingerprint background -callStatusFg: #aaabac; // phone call popup status text -callIconFg: #ffffff; // phone call popup answer, hangup and mute mic icon -callAnswerBg: #5ad1c1; // phone call popup answer button background -callAnswerRipple: #42c2b1; // phone call popup answer button ripple effect -callAnswerBgOuter: #3febc926; // phone call popup answer button outer ripple effect -callHangupBg: #d75a5a; // phone call popup hangup button background -callHangupRipple: #c04646; // phone call popup hangup button ripple effect -callCancelBg: #ffffff; // phone call popup line busy cancel button background -callCancelFg: #777777; // phone call popup line busy cancel button icon -callCancelRipple: #f1f1f1; // phone call popup line busy cancel button ripple effect -callMuteRipple: #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: #65fce8; // -filterInputActiveBg: #3d444b; -botKbBg: #3d444b; -botKbDownBg: #494f55; -emojiIconFg: #6c7278; -emojiIconFgActive: #36cdb9; -overviewCheckBorder: #e4eaef; |