diff options
Diffstat (limited to '.local')
-rwxr-xr-x | .local/bin/betterlockscr | 4 | ||||
-rwxr-xr-x | .local/bin/dpass | 3 | ||||
-rwxr-xr-x | .local/bin/hotrebootdwm | 4 | ||||
-rw-r--r-- | .local/bin/sp | 0 | ||||
-rwxr-xr-x | .local/bin/ytd | 2 | ||||
-rwxr-xr-x | .local/bin/ytm | 3 | ||||
-rw-r--r-- | .local/share/emoji | 1592 | ||||
-rwxr-xr-x | .local/src/st/external-pipe_scripts/st-copyout | 16 | ||||
-rwxr-xr-x | .local/src/st/external-pipe_scripts/st-urlhandler | 19 | ||||
-rw-r--r-- | .local/usr/wal-telegram/README.md | 55 | ||||
-rw-r--r-- | .local/usr/wal-telegram/colors.default-constants | 445 | ||||
-rw-r--r-- | .local/usr/wal-telegram/colors.wal-constants | 570 | ||||
-rwxr-xr-x | .local/usr/wal-telegram/wal-telegram | 257 |
13 files changed, 2970 insertions, 0 deletions
diff --git a/.local/bin/betterlockscr b/.local/bin/betterlockscr new file mode 100755 index 0000000..7abdab8 --- /dev/null +++ b/.local/bin/betterlockscr @@ -0,0 +1,4 @@ +#!/bin/sh + +wall=$(find $HOME/Pictures/Wallpaper/betterlockscreen -type f | shuf -n 1) +betterlockscreen -u "$wall" -l dimblur diff --git a/.local/bin/dpass b/.local/bin/dpass new file mode 100755 index 0000000..6d532a5 --- /dev/null +++ b/.local/bin/dpass @@ -0,0 +1,3 @@ +#!/bin/sh + +dmenu -P -p "$1" <&- diff --git a/.local/bin/hotrebootdwm b/.local/bin/hotrebootdwm new file mode 100755 index 0000000..9768709 --- /dev/null +++ b/.local/bin/hotrebootdwm @@ -0,0 +1,4 @@ +#!/bin/sh +##pid=$(ps -a | grep dwm | awk '{print $1}') +pid=$(pidof dwm) +kill -HUP $pid diff --git a/.local/bin/sp b/.local/bin/sp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/.local/bin/sp diff --git a/.local/bin/ytd b/.local/bin/ytd new file mode 100755 index 0000000..a61e490 --- /dev/null +++ b/.local/bin/ytd @@ -0,0 +1,2 @@ +#!/bin/sh +ytfzf -D diff --git a/.local/bin/ytm b/.local/bin/ytm new file mode 100755 index 0000000..ea9a8b0 --- /dev/null +++ b/.local/bin/ytm @@ -0,0 +1,3 @@ +#!/bin/sh + +ytfzf -mlD diff --git a/.local/share/emoji b/.local/share/emoji new file mode 100644 index 0000000..dcffa41 --- /dev/null +++ b/.local/share/emoji @@ -0,0 +1,1592 @@ +๐ grinning face; 1F600; +๐ grinning face with big eyes; 1F603; +๐ grinning face with smiling eyes; 1F604; +๐ beaming face with smiling eyes; 1F601; +๐ grinning squinting face; 1F606; +๐
grinning face with sweat; 1F605; +๐คฃ rolling on the floor laughing; 1F923; +๐ face with tears of joy laughing; 1F602; +๐ slightly smiling face; 1F642; +๐ upside-down face; 1F643; +๐ winking face; 1F609; +๐ smiling face with smiling eyes; 1F60A; +๐ smiling face with halo; 1F607; +๐ฅฐ smiling face with hearts; 1F970; +๐ smiling face with heart-eyes; 1F60D; +๐คฉ star-struck; 1F929; +๐ face blowing a kiss; 1F618; +๐ kissing face; 1F617; +โบ๏ธ smiling face; 263A FE0F; +๐ kissing face with closed eyes; 1F61A; +๐ kissing face with smiling eyes; 1F619; +๐ฅฒ smiling face with tear; 1F972; +๐ face savoring food; 1F60B; +๐ face with tongue; 1F61B; +๐ winking face with tongue; 1F61C; +๐คช zany face; 1F92A; +๐ squinting face with tongue; 1F61D; +๐ค money-mouth face; 1F911; +๐ค hugging face; 1F917; +๐คญ face with hand over mouth; 1F92D; +๐คซ shushing face; 1F92B; +๐ค thinking face; 1F914; +๐ค zipper-mouth face; 1F910; +๐คจ face with raised eyebrow; 1F928; +๐ neutral face; 1F610; +๐ expressionless face; 1F611; +๐ถ face without mouth; 1F636; +๐ smirking face; 1F60F; +๐ unamused face; 1F612; +๐ face with rolling eyes; 1F644; +๐ฌ grimacing face; 1F62C; +๐คฅ lying face; 1F925; +๐ relieved face; 1F60C; +๐ pensive face; 1F614; +๐ช sleepy face; 1F62A; +๐คค drooling face; 1F924; +๐ด sleeping face; 1F634; +๐ท face with medical mask; 1F637; +๐ค face with thermometer; 1F912; +๐ค face with head-bandage; 1F915; +๐คข nauseated face; 1F922; +๐คฎ face vomiting; 1F92E; +๐คง sneezing face; 1F927; +๐ฅต hot face; 1F975; +๐ฅถ cold face; 1F976; +๐ฅด woozy face; 1F974; +๐ต dizzy face; 1F635; +๐คฏ exploding head; 1F92F; +๐ค cowboy hat face; 1F920; +๐ฅณ partying face; 1F973; +๐ฅธ disguised face; 1F978; +๐ smiling face with sunglasses; 1F60E; +๐ค nerd face; 1F913; +๐ง face with monocle; 1F9D0; +๐ confused face; 1F615; +๐ worried face; 1F61F; +๐ slightly frowning face; 1F641; +โน๏ธ frowning face; 2639 FE0F; +๐ฎ face with open mouth; 1F62E; +๐ฏ hushed face; 1F62F; +๐ฒ astonished face; 1F632; +๐ณ flushed face; 1F633; +๐ฅบ pleading face; 1F97A; +๐ฆ frowning face with open mouth; 1F626; +๐ง anguished face; 1F627; +๐จ fearful face; 1F628; +๐ฐ anxious face with sweat; 1F630; +๐ฅ sad but relieved face; 1F625; +๐ข crying face; 1F622; +๐ญ loudly crying face; 1F62D; +๐ฑ face screaming in fear; 1F631; +๐ confounded face; 1F616; +๐ฃ persevering face; 1F623; +๐ disappointed face; 1F61E; +๐ downcast face with sweat; 1F613; +๐ฉ weary face; 1F629; +๐ซ tired face; 1F62B; +๐ฅฑ yawning face; 1F971; +๐ค face with steam from nose; 1F624; +๐ก pouting face; 1F621; +๐ angry face; 1F620; +๐คฌ face with symbols on mouth; 1F92C; +๐ smiling face with horns; 1F608; +๐ฟ angry face with horns; 1F47F; +๐ skull; 1F480; +โ ๏ธ skull and crossbones; 2620 FE0F; +๐ฉ pile of poo; 1F4A9; +๐คก clown face; 1F921; +๐น ogre; 1F479; +๐บ goblin; 1F47A; +๐ป ghost; 1F47B; +๐ฝ alien; 1F47D; +๐พ alien monster; 1F47E; +๐ค robot; 1F916; +๐บ grinning cat; 1F63A; +๐ธ grinning cat with smiling eyes; 1F638; +๐น cat with tears of joy; 1F639; +๐ป smiling cat with heart-eyes; 1F63B; +๐ผ cat with wry smile; 1F63C; +๐ฝ kissing cat; 1F63D; +๐ weary cat; 1F640; +๐ฟ crying cat; 1F63F; +๐พ pouting cat; 1F63E; +๐ see-no-evil monkey; 1F648; +๐ hear-no-evil monkey; 1F649; +๐ speak-no-evil monkey; 1F64A; +๐ kiss mark; 1F48B; +๐ love letter; 1F48C; +๐ heart with arrow; 1F498; +๐ heart with ribbon; 1F49D; +๐ sparkling heart; 1F496; +๐ growing heart; 1F497; +๐ beating heart; 1F493; +๐ revolving hearts; 1F49E; +๐ two hearts; 1F495; +๐ heart decoration; 1F49F; +โฃ๏ธ heart exclamation; 2763 FE0F; +๐ broken heart; 1F494; +โค๏ธ red heart; 2764 FE0F; +๐งก orange heart; 1F9E1; +๐ yellow heart; 1F49B; +๐ green heart; 1F49A; +๐ blue heart; 1F499; +๐ purple heart; 1F49C; +๐ค brown heart; 1F90E; +๐ค black heart; 1F5A4; +๐ค white heart; 1F90D; +๐ฏ hundred points; 1F4AF; +๐ข anger symbol; 1F4A2; +๐ฅ collision; 1F4A5; +๐ซ dizzy; 1F4AB; +๐ฆ sweat droplets; 1F4A6; +๐จ dashing away; 1F4A8; +๐ณ๏ธ hole; 1F573 FE0F; +๐ฃ bomb; 1F4A3; +๐ฌ speech balloon; 1F4AC; +๐จ๏ธ left speech bubble; 1F5E8 FE0F; +๐ฏ๏ธ right anger bubble; 1F5EF FE0F; +๐ญ thought balloon; 1F4AD; +๐ค zzz; 1F4A4; +๐ waving hand; 1F44B; +๐ค raised back of hand; 1F91A; +๐๏ธ hand with fingers splayed; 1F590 FE0F; +โ raised hand; 270B; +๐ vulcan salute; 1F596; +๐ OK hand; 1F44C; +๐ค pinched fingers; 1F90C; +๐ค pinching hand; 1F90F; +โ๏ธ victory hand; 270C FE0F; +๐ค crossed fingers; 1F91E; +๐ค love-you gesture; 1F91F; +๐ค sign of the horns; 1F918; +๐ค call me hand; 1F919; +๐ backhand index pointing left; 1F448; +๐ backhand index pointing right; 1F449; +๐ backhand index pointing up; 1F446; +๐ middle finger; 1F595; +๐ backhand index pointing down; 1F447; +โ๏ธ index pointing up; 261D FE0F; +๐ thumbs up; 1F44D; +๐ thumbs down; 1F44E; +โ raised fist; 270A; +๐ oncoming fist; 1F44A; +๐ค left-facing fist; 1F91B; +๐ค right-facing fist; 1F91C; +๐ clapping hands; 1F44F; +๐ raising hands; 1F64C; +๐ open hands; 1F450; +๐คฒ palms up together; 1F932; +๐ค handshake; 1F91D; +๐ folded hands; 1F64F; +โ๏ธ writing hand; 270D FE0F; +๐
nail polish; 1F485; +๐คณ selfie; 1F933; +๐ช flexed biceps; 1F4AA; +๐ฆพ mechanical arm; 1F9BE; +๐ฆฟ mechanical leg; 1F9BF; +๐ฆต leg; 1F9B5; +๐ฆถ foot; 1F9B6; +๐ ear; 1F442; +๐ฆป ear with hearing aid; 1F9BB; +๐ nose; 1F443; +๐ง brain; 1F9E0; +๐ซ anatomical heart; 1FAC0; +๐ซ lungs; 1FAC1; +๐ฆท tooth; 1F9B7; +๐ฆด bone; 1F9B4; +๐ eyes; 1F440; +๐๏ธ eye; 1F441 FE0F; +๐
tongue; 1F445; +๐ mouth; 1F444; +๐ถ baby; 1F476; +๐ง child; 1F9D2; +๐ฆ boy; 1F466; +๐ง girl; 1F467; +๐ง person; 1F9D1; +๐ฑ person: blond hair; 1F471; +๐จ man; 1F468; +๐ง man: beard; 1F9D4; +๐ฉ woman; 1F469; +๐ง older person; 1F9D3; +๐ด old man; 1F474; +๐ต old woman; 1F475; +๐ person frowning; 1F64D; +๐ person pouting; 1F64E; +๐
person gesturing NO; 1F645; +๐ person gesturing OK; 1F646; +๐ person tipping hand; 1F481; +๐ person raising hand; 1F64B; +๐ง deaf person; 1F9CF; +๐ person bowing; 1F647; +๐คฆ person facepalming; 1F926; +๐คท person shrugging; 1F937; +๐ฎ police officer; 1F46E; +๐ต๏ธ detective; 1F575 FE0F; +๐ guard; 1F482; +๐ฅท ninja; 1F977; +๐ท construction worker; 1F477; +๐คด prince; 1F934; +๐ธ princess; 1F478; +๐ณ person wearing turban; 1F473; +๐ฒ person with skullcap; 1F472; +๐ง woman with headscarf; 1F9D5; +๐คต person in tuxedo; 1F935; +๐ฐ person with veil; 1F470; +๐คฐ pregnant woman; 1F930; +๐คฑ breast-feeding; 1F931; +๐ผ baby angel; 1F47C; +๐
Santa Claus; 1F385; +๐คถ Mrs. Claus; 1F936; +๐ฆธ superhero; 1F9B8; +๐ฆน supervillain; 1F9B9; +๐ง mage; 1F9D9; +๐ง fairy; 1F9DA; +๐ง vampire; 1F9DB; +๐ง merperson; 1F9DC; +๐ง elf; 1F9DD; +๐ง genie; 1F9DE; +๐ง zombie; 1F9DF; +๐ person getting massage; 1F486; +๐ person getting haircut; 1F487; +๐ถ person walking; 1F6B6; +๐ง person standing; 1F9CD; +๐ง person kneeling; 1F9CE; +๐ person running; 1F3C3; +๐ woman dancing; 1F483; +๐บ man dancing; 1F57A; +๐ด๏ธ person in suit levitating; 1F574 FE0F; +๐ฏ people with bunny ears; 1F46F; +๐ง person in steamy room; 1F9D6; +๐ง person climbing; 1F9D7; +๐คบ person fencing; 1F93A; +๐ horse racing; 1F3C7; +โท๏ธ skier; 26F7 FE0F; +๐ snowboarder; 1F3C2; +๐๏ธ person golfing; 1F3CC FE0F; +๐ person surfing; 1F3C4; +๐ฃ person rowing boat; 1F6A3; +๐ person swimming; 1F3CA; +โน๏ธ person bouncing ball; 26F9 FE0F; +๐๏ธ person lifting weights; 1F3CB FE0F; +๐ด person biking; 1F6B4; +๐ต person mountain biking; 1F6B5; +๐คธ person cartwheeling; 1F938; +๐คผ people wrestling; 1F93C; +๐คฝ person playing water polo; 1F93D; +๐คพ person playing handball; 1F93E; +๐คน person juggling; 1F939; +๐ง person in lotus position; 1F9D8; +๐ person taking bath; 1F6C0; +๐ person in bed; 1F6CC; +๐ญ women holding hands; 1F46D; +๐ซ woman and man holding hands; 1F46B; +๐ฌ men holding hands; 1F46C; +๐ kiss; 1F48F; +๐ couple with heart; 1F491; +๐ช family; 1F46A; +๐ฃ๏ธ speaking head; 1F5E3 FE0F; +๐ค bust in silhouette; 1F464; +๐ฅ busts in silhouette; 1F465; +๐ซ people hugging; 1FAC2; +๐ฃ footprints; 1F463; +๐ต monkey face; 1F435; +๐ monkey; 1F412; +๐ฆ gorilla; 1F98D; +๐ฆง orangutan; 1F9A7; +๐ถ dog face; 1F436; +๐ dog; 1F415; +๐ฆฎ guide dog; 1F9AE; +๐ฉ poodle; 1F429; +๐บ wolf; 1F43A; +๐ฆ fox; 1F98A; +๐ฆ raccoon; 1F99D; +๐ฑ cat face; 1F431; +๐ cat; 1F408; +๐ฆ lion; 1F981; +๐ฏ tiger face; 1F42F; +๐
tiger; 1F405; +๐ leopard; 1F406; +๐ด horse face; 1F434; +๐ horse; 1F40E; +๐ฆ unicorn; 1F984; +๐ฆ zebra; 1F993; +๐ฆ deer; 1F98C; +๐ฆฌ bison; 1F9AC; +๐ฎ cow face; 1F42E; +๐ ox; 1F402; +๐ water buffalo; 1F403; +๐ cow; 1F404; +๐ท pig face; 1F437; +๐ pig; 1F416; +๐ boar; 1F417; +๐ฝ pig nose; 1F43D; +๐ ram; 1F40F; +๐ ewe; 1F411; +๐ goat; 1F410; +๐ช camel; 1F42A; +๐ซ two-hump camel; 1F42B; +๐ฆ llama; 1F999; +๐ฆ giraffe; 1F992; +๐ elephant; 1F418; +๐ฆฃ mammoth; 1F9A3; +๐ฆ rhinoceros; 1F98F; +๐ฆ hippopotamus; 1F99B; +๐ญ mouse face; 1F42D; +๐ mouse; 1F401; +๐ rat; 1F400; +๐น hamster; 1F439; +๐ฐ rabbit face; 1F430; +๐ rabbit; 1F407; +๐ฟ๏ธ chipmunk; 1F43F FE0F; +๐ฆซ beaver; 1F9AB; +๐ฆ hedgehog; 1F994; +๐ฆ bat; 1F987; +๐ป bear; 1F43B; +๐จ koala; 1F428; +๐ผ panda; 1F43C; +๐ฆฅ sloth; 1F9A5; +๐ฆฆ otter; 1F9A6; +๐ฆจ skunk; 1F9A8; +๐ฆ kangaroo; 1F998; +๐ฆก badger; 1F9A1; +๐พ paw prints; 1F43E; +๐ฆ turkey; 1F983; +๐ chicken; 1F414; +๐ rooster; 1F413; +๐ฃ hatching chick; 1F423; +๐ค baby chick; 1F424; +๐ฅ front-facing baby chick; 1F425; +๐ฆ bird; 1F426; +๐ง penguin; 1F427; +๐๏ธ dove; 1F54A FE0F; +๐ฆ
eagle; 1F985; +๐ฆ duck; 1F986; +๐ฆข swan; 1F9A2; +๐ฆ owl; 1F989; +๐ฆค dodo; 1F9A4; +๐ชถ feather; 1FAB6; +๐ฆฉ flamingo; 1F9A9; +๐ฆ peacock; 1F99A; +๐ฆ parrot; 1F99C; +๐ธ frog; 1F438; +๐ crocodile; 1F40A; +๐ข turtle; 1F422; +๐ฆ lizard; 1F98E; +๐ snake; 1F40D; +๐ฒ dragon face; 1F432; +๐ dragon; 1F409; +๐ฆ sauropod; 1F995; +๐ฆ T-Rex; 1F996; +๐ณ spouting whale; 1F433; +๐ whale; 1F40B; +๐ฌ dolphin; 1F42C; +๐ฆญ seal; 1F9AD; +๐ fish; 1F41F; +๐ tropical fish; 1F420; +๐ก blowfish; 1F421; +๐ฆ shark; 1F988; +๐ octopus; 1F419; +๐ spiral shell; 1F41A; +๐ snail; 1F40C; +๐ฆ butterfly; 1F98B; +๐ bug; 1F41B; +๐ ant; 1F41C; +๐ honeybee; 1F41D; +๐ชฒ beetle; 1FAB2; +๐ lady beetle; 1F41E; +๐ฆ cricket; 1F997; +๐ชณ cockroach; 1FAB3; +๐ท๏ธ spider; 1F577 FE0F; +๐ธ๏ธ spider web; 1F578 FE0F; +๐ฆ scorpion; 1F982; +๐ฆ mosquito; 1F99F; +๐ชฐ fly; 1FAB0; +๐ชฑ worm; 1FAB1; +๐ฆ microbe; 1F9A0; +๐ bouquet; 1F490; +๐ธ cherry blossom; 1F338; +๐ฎ white flower; 1F4AE; +๐ต๏ธ rosette; 1F3F5 FE0F; +๐น rose; 1F339; +๐ฅ wilted flower; 1F940; +๐บ hibiscus; 1F33A; +๐ป sunflower; 1F33B; +๐ผ blossom; 1F33C; +๐ท tulip; 1F337; +๐ฑ seedling; 1F331; +๐ชด potted plant; 1FAB4; +๐ฒ evergreen tree; 1F332; +๐ณ deciduous tree; 1F333; +๐ด palm tree; 1F334; +๐ต cactus; 1F335; +๐พ sheaf of rice; 1F33E; +๐ฟ herb; 1F33F; +โ๏ธ shamrock; 2618 FE0F; +๐ four leaf clover; 1F340; +๐ maple leaf; 1F341; +๐ fallen leaf; 1F342; +๐ leaf fluttering in wind; 1F343; +๐ grapes; 1F347; +๐ melon; 1F348; +๐ watermelon; 1F349; +๐ tangerine; 1F34A; +๐ lemon; 1F34B; +๐ banana; 1F34C; +๐ pineapple; 1F34D; +๐ฅญ mango; 1F96D; +๐ red apple; 1F34E; +๐ green apple; 1F34F; +๐ pear; 1F350; +๐ peach; 1F351; +๐ cherries; 1F352; +๐ strawberry; 1F353; +๐ซ blueberries; 1FAD0; +๐ฅ kiwi fruit; 1F95D; +๐
tomato; 1F345; +๐ซ olive; 1FAD2; +๐ฅฅ coconut; 1F965; +๐ฅ avocado; 1F951; +๐ eggplant; 1F346; +๐ฅ potato; 1F954; +๐ฅ carrot; 1F955; +๐ฝ ear of corn; 1F33D; +๐ถ๏ธ hot pepper; 1F336 FE0F; +๐ซ bell pepper; 1FAD1; +๐ฅ cucumber; 1F952; +๐ฅฌ leafy green; 1F96C; +๐ฅฆ broccoli; 1F966; +๐ง garlic; 1F9C4; +๐ง
onion; 1F9C5; +๐ mushroom; 1F344; +๐ฅ peanuts; 1F95C; +๐ฐ chestnut; 1F330; +๐ bread; 1F35E; +๐ฅ croissant; 1F950; +๐ฅ baguette bread; 1F956; +๐ซ flatbread; 1FAD3; +๐ฅจ pretzel; 1F968; +๐ฅฏ bagel; 1F96F; +๐ฅ pancakes; 1F95E; +๐ง waffle; 1F9C7; +๐ง cheese wedge; 1F9C0; +๐ meat on bone; 1F356; +๐ poultry leg; 1F357; +๐ฅฉ cut of meat; 1F969; +๐ฅ bacon; 1F953; +๐ hamburger; 1F354; +๐ french fries; 1F35F; +๐ pizza; 1F355; +๐ญ hot dog; 1F32D; +๐ฅช sandwich; 1F96A; +๐ฎ taco; 1F32E; +๐ฏ burrito; 1F32F; +๐ซ tamale; 1FAD4; +๐ฅ stuffed flatbread; 1F959; +๐ง falafel; 1F9C6; +๐ฅ egg; 1F95A; +๐ณ cooking; 1F373; +๐ฅ shallow pan of food; 1F958; +๐ฒ pot of food; 1F372; +๐ซ fondue; 1FAD5; +๐ฅฃ bowl with spoon; 1F963; +๐ฅ green salad; 1F957; +๐ฟ popcorn; 1F37F; +๐ง butter; 1F9C8; +๐ง salt; 1F9C2; +๐ฅซ canned food; 1F96B; +๐ฑ bento box; 1F371; +๐ rice cracker; 1F358; +๐ rice ball; 1F359; +๐ cooked rice; 1F35A; +๐ curry rice; 1F35B; +๐ steaming bowl; 1F35C; +๐ spaghetti; 1F35D; +๐ roasted sweet potato; 1F360; +๐ข oden; 1F362; +๐ฃ sushi; 1F363; +๐ค fried shrimp; 1F364; +๐ฅ fish cake with swirl; 1F365; +๐ฅฎ moon cake; 1F96E; +๐ก dango; 1F361; +๐ฅ dumpling; 1F95F; +๐ฅ fortune cookie; 1F960; +๐ฅก takeout box; 1F961; +๐ฆ crab; 1F980; +๐ฆ lobster; 1F99E; +๐ฆ shrimp; 1F990; +๐ฆ squid; 1F991; +๐ฆช oyster; 1F9AA; +๐ฆ soft ice cream; 1F366; +๐ง shaved ice; 1F367; +๐จ ice cream; 1F368; +๐ฉ doughnut; 1F369; +๐ช cookie; 1F36A; +๐ birthday cake; 1F382; +๐ฐ shortcake; 1F370; +๐ง cupcake; 1F9C1; +๐ฅง pie; 1F967; +๐ซ chocolate bar; 1F36B; +๐ฌ candy; 1F36C; +๐ญ lollipop; 1F36D; +๐ฎ custard; 1F36E; +๐ฏ honey pot; 1F36F; +๐ผ baby bottle; 1F37C; +๐ฅ glass of milk; 1F95B; +โ hot beverage; 2615; +๐ซ teapot; 1FAD6; +๐ต teacup without handle; 1F375; +๐ถ sake; 1F376; +๐พ bottle with popping cork; 1F37E; +๐ท wine glass; 1F377; +๐ธ cocktail glass; 1F378; +๐น tropical drink; 1F379; +๐บ beer mug; 1F37A; +๐ป clinking beer mugs; 1F37B; +๐ฅ clinking glasses; 1F942; +๐ฅ tumbler glass; 1F943; +๐ฅค cup with straw; 1F964; +๐ง bubble tea; 1F9CB; +๐ง beverage box; 1F9C3; +๐ง mate; 1F9C9; +๐ง ice; 1F9CA; +๐ฅข chopsticks; 1F962; +๐ฝ๏ธ fork and knife with plate; 1F37D FE0F; +๐ด fork and knife; 1F374; +๐ฅ spoon; 1F944; +๐ช kitchen knife; 1F52A; +๐บ amphora; 1F3FA; +๐ globe showing Europe-Africa; 1F30D; +๐ globe showing Americas; 1F30E; +๐ globe showing Asia-Australia; 1F30F; +๐ globe with meridians; 1F310; +๐บ๏ธ world map; 1F5FA FE0F; +๐พ map of Japan; 1F5FE; +๐งญ compass; 1F9ED; +๐๏ธ snow-capped mountain; 1F3D4 FE0F; +โฐ๏ธ mountain; 26F0 FE0F; +๐ volcano; 1F30B; +๐ป mount fuji; 1F5FB; +๐๏ธ camping; 1F3D5 FE0F; +๐๏ธ beach with umbrella; 1F3D6 FE0F; +๐๏ธ desert; 1F3DC FE0F; +๐๏ธ desert island; 1F3DD FE0F; +๐๏ธ national park; 1F3DE FE0F; +๐๏ธ stadium; 1F3DF FE0F; +๐๏ธ classical building; 1F3DB FE0F; +๐๏ธ building construction; 1F3D7 FE0F; +๐งฑ brick; 1F9F1; +๐ชจ rock; 1FAA8; +๐ชต wood; 1FAB5; +๐ hut; 1F6D6; +๐๏ธ houses; 1F3D8 FE0F; +๐๏ธ derelict house; 1F3DA FE0F; +๐ house; 1F3E0; +๐ก house with garden; 1F3E1; +๐ข office building; 1F3E2; +๐ฃ Japanese post office; 1F3E3; +๐ค post office; 1F3E4; +๐ฅ hospital; 1F3E5; +๐ฆ bank; 1F3E6; +๐จ hotel; 1F3E8; +๐ฉ love hotel; 1F3E9; +๐ช convenience store; 1F3EA; +๐ซ school; 1F3EB; +๐ฌ department store; 1F3EC; +๐ญ factory; 1F3ED; +๐ฏ Japanese castle; 1F3EF; +๐ฐ castle; 1F3F0; +๐ wedding; 1F492; +๐ผ Tokyo tower; 1F5FC; +๐ฝ Statue of Liberty; 1F5FD; +โช church; 26EA; +๐ mosque; 1F54C; +๐ hindu temple; 1F6D5; +๐ synagogue; 1F54D; +โฉ๏ธ shinto shrine; 26E9 FE0F; +๐ kaaba; 1F54B; +โฒ fountain; 26F2; +โบ tent; 26FA; +๐ foggy; 1F301; +๐ night with stars; 1F303; +๐๏ธ cityscape; 1F3D9 FE0F; +๐ sunrise over mountains; 1F304; +๐
sunrise; 1F305; +๐ cityscape at dusk; 1F306; +๐ sunset; 1F307; +๐ bridge at night; 1F309; +โจ๏ธ hot springs; 2668 FE0F; +๐ carousel horse; 1F3A0; +๐ก ferris wheel; 1F3A1; +๐ข roller coaster; 1F3A2; +๐ barber pole; 1F488; +๐ช circus tent; 1F3AA; +๐ locomotive; 1F682; +๐ railway car; 1F683; +๐ high-speed train; 1F684; +๐
bullet train; 1F685; +๐ train; 1F686; +๐ metro; 1F687; +๐ light rail; 1F688; +๐ station; 1F689; +๐ tram; 1F68A; +๐ monorail; 1F69D; +๐ mountain railway; 1F69E; +๐ tram car; 1F68B; +๐ bus; 1F68C; +๐ oncoming bus; 1F68D; +๐ trolleybus; 1F68E; +๐ minibus; 1F690; +๐ ambulance; 1F691; +๐ fire engine; 1F692; +๐ police car; 1F693; +๐ oncoming police car; 1F694; +๐ taxi; 1F695; +๐ oncoming taxi; 1F696; +๐ automobile; 1F697; +๐ oncoming automobile; 1F698; +๐ sport utility vehicle; 1F699; +๐ป pickup truck; 1F6FB; +๐ delivery truck; 1F69A; +๐ articulated lorry; 1F69B; +๐ tractor; 1F69C; +๐๏ธ racing car; 1F3CE FE0F; +๐๏ธ motorcycle; 1F3CD FE0F; +๐ต motor scooter; 1F6F5; +๐ฆฝ manual wheelchair; 1F9BD; +๐ฆผ motorized wheelchair; 1F9BC; +๐บ auto rickshaw; 1F6FA; +๐ฒ bicycle; 1F6B2; +๐ด kick scooter; 1F6F4; +๐น skateboard; 1F6F9; +๐ผ roller skate; 1F6FC; +๐ bus stop; 1F68F; +๐ฃ๏ธ motorway; 1F6E3 FE0F; +๐ค๏ธ railway track; 1F6E4 FE0F; +๐ข๏ธ oil drum; 1F6E2 FE0F; +โฝ fuel pump; 26FD; +๐จ police car light; 1F6A8; +๐ฅ horizontal traffic light; 1F6A5; +๐ฆ vertical traffic light; 1F6A6; +๐ stop sign; 1F6D1; +๐ง construction; 1F6A7; +โ anchor; 2693; +โต sailboat; 26F5; +๐ถ canoe; 1F6F6; +๐ค speedboat; 1F6A4; +๐ณ๏ธ passenger ship; 1F6F3 FE0F; +โด๏ธ ferry; 26F4 FE0F; +๐ฅ๏ธ motor boat; 1F6E5 FE0F; +๐ข ship; 1F6A2; +โ๏ธ airplane; 2708 FE0F; +๐ฉ๏ธ small airplane; 1F6E9 FE0F; +๐ซ airplane departure; 1F6EB; +๐ฌ airplane arrival; 1F6EC; +๐ช parachute; 1FA82; +๐บ seat; 1F4BA; +๐ helicopter; 1F681; +๐ suspension railway; 1F69F; +๐ mountain cableway; 1F6A0; +๐ก aerial tramway; 1F6A1; +๐ฐ๏ธ satellite; 1F6F0 FE0F; +๐ rocket; 1F680; +๐ธ flying saucer; 1F6F8; +๐๏ธ bellhop bell; 1F6CE FE0F; +๐งณ luggage; 1F9F3; +โ hourglass done; 231B; +โณ hourglass not done; 23F3; +โ watch; 231A; +โฐ alarm clock; 23F0; +โฑ๏ธ stopwatch; 23F1 FE0F; +โฒ๏ธ timer clock; 23F2 FE0F; +๐ฐ๏ธ mantelpiece clock; 1F570 FE0F; +๐ twelve oโclock; 1F55B; +๐ง twelve-thirty; 1F567; +๐ one oโclock; 1F550; +๐ one-thirty; 1F55C; +๐ two oโclock; 1F551; +๐ two-thirty; 1F55D; +๐ three oโclock; 1F552; +๐ three-thirty; 1F55E; +๐ four oโclock; 1F553; +๐ four-thirty; 1F55F; +๐ five oโclock; 1F554; +๐ five-thirty; 1F560; +๐ six oโclock; 1F555; +๐ก six-thirty; 1F561; +๐ seven oโclock; 1F556; +๐ข seven-thirty; 1F562; +๐ eight oโclock; 1F557; +๐ฃ eight-thirty; 1F563; +๐ nine oโclock; 1F558; +๐ค nine-thirty; 1F564; +๐ ten oโclock; 1F559; +๐ฅ ten-thirty; 1F565; +๐ eleven oโclock; 1F55A; +๐ฆ eleven-thirty; 1F566; +๐ new moon; 1F311; +๐ waxing crescent moon; 1F312; +๐ first quarter moon; 1F313; +๐ waxing gibbous moon; 1F314; +๐ full moon; 1F315; +๐ waning gibbous moon; 1F316; +๐ last quarter moon; 1F317; +๐ waning crescent moon; 1F318; +๐ crescent moon; 1F319; +๐ new moon face; 1F31A; +๐ first quarter moon face; 1F31B; +๐ last quarter moon face; 1F31C; +๐ก๏ธ thermometer; 1F321 FE0F; +โ๏ธ sun; 2600 FE0F; +๐ full moon face; 1F31D; +๐ sun with face; 1F31E; +๐ช ringed planet; 1FA90; +โญ star; 2B50; +๐ glowing star; 1F31F; +๐ shooting star; 1F320; +๐ milky way; 1F30C; +โ๏ธ cloud; 2601 FE0F; +โ
sun behind cloud; 26C5; +โ๏ธ cloud with lightning and rain; 26C8 FE0F; +๐ค๏ธ sun behind small cloud; 1F324 FE0F; +๐ฅ๏ธ sun behind large cloud; 1F325 FE0F; +๐ฆ๏ธ sun behind rain cloud; 1F326 FE0F; +๐ง๏ธ cloud with rain; 1F327 FE0F; +๐จ๏ธ cloud with snow; 1F328 FE0F; +๐ฉ๏ธ cloud with lightning; 1F329 FE0F; +๐ช๏ธ tornado; 1F32A FE0F; +๐ซ๏ธ fog; 1F32B FE0F; +๐ฌ๏ธ wind face; 1F32C FE0F; +๐ cyclone; 1F300; +๐ rainbow; 1F308; +๐ closed umbrella; 1F302; +โ๏ธ umbrella; 2602 FE0F; +โ umbrella with rain drops; 2614; +โฑ๏ธ umbrella on ground; 26F1 FE0F; +โก high voltage; 26A1; +โ๏ธ snowflake; 2744 FE0F; +โ๏ธ snowman; 2603 FE0F; +โ snowman without snow; 26C4; +โ๏ธ comet; 2604 FE0F; +๐ฅ fire; 1F525; +๐ง droplet; 1F4A7; +๐ water wave; 1F30A; +๐ jack-o-lantern; 1F383; +๐ Christmas tree; 1F384; +๐ fireworks; 1F386; +๐ sparkler; 1F387; +๐งจ firecracker; 1F9E8; +โจ sparkles; 2728; +๐ balloon; 1F388; +๐ party popper; 1F389; +๐ confetti ball; 1F38A; +๐ tanabata tree; 1F38B; +๐ pine decoration; 1F38D; +๐ Japanese dolls; 1F38E; +๐ carp streamer; 1F38F; +๐ wind chime; 1F390; +๐ moon viewing ceremony; 1F391; +๐งง red envelope; 1F9E7; +๐ ribbon; 1F380; +๐ wrapped gift; 1F381; +๐๏ธ reminder ribbon; 1F397 FE0F; +๐๏ธ admission tickets; 1F39F FE0F; +๐ซ ticket; 1F3AB; +๐๏ธ military medal; 1F396 FE0F; +๐ trophy; 1F3C6; +๐
sports medal; 1F3C5; +๐ฅ 1st place medal; 1F947; +๐ฅ 2nd place medal; 1F948; +๐ฅ 3rd place medal; 1F949; +โฝ soccer ball; 26BD; +โพ baseball; 26BE; +๐ฅ softball; 1F94E; +๐ basketball; 1F3C0; +๐ volleyball; 1F3D0; +๐ american football; 1F3C8; +๐ rugby football; 1F3C9; +๐พ tennis; 1F3BE; +๐ฅ flying disc; 1F94F; +๐ณ bowling; 1F3B3; +๐ cricket game; 1F3CF; +๐ field hockey; 1F3D1; +๐ ice hockey; 1F3D2; +๐ฅ lacrosse; 1F94D; +๐ ping pong; 1F3D3; +๐ธ badminton; 1F3F8; +๐ฅ boxing glove; 1F94A; +๐ฅ martial arts uniform; 1F94B; +๐ฅ
goal net; 1F945; +โณ flag in hole; 26F3; +โธ๏ธ ice skate; 26F8 FE0F; +๐ฃ fishing pole; 1F3A3; +๐คฟ diving mask; 1F93F; +๐ฝ running shirt; 1F3BD; +๐ฟ skis; 1F3BF; +๐ท sled; 1F6F7; +๐ฅ curling stone; 1F94C; +๐ฏ direct hit; 1F3AF; +๐ช yo-yo; 1FA80; +๐ช kite; 1FA81; +๐ฑ pool 8 ball; 1F3B1; +๐ฎ crystal ball; 1F52E; +๐ช magic wand; 1FA84; +๐งฟ nazar amulet; 1F9FF; +๐ฎ video game; 1F3AE; +๐น๏ธ joystick; 1F579 FE0F; +๐ฐ slot machine; 1F3B0; +๐ฒ game die; 1F3B2; +๐งฉ puzzle piece; 1F9E9; +๐งธ teddy bear; 1F9F8; +๐ช
piรฑata; 1FA85; +๐ช nesting dolls; 1FA86; +โ ๏ธ spade suit; 2660 FE0F; +โฅ๏ธ heart suit; 2665 FE0F; +โฆ๏ธ diamond suit; 2666 FE0F; +โฃ๏ธ club suit; 2663 FE0F; +โ๏ธ chess pawn; 265F FE0F; +๐ joker; 1F0CF; +๐ mahjong red dragon; 1F004; +๐ด flower playing cards; 1F3B4; +๐ญ performing arts; 1F3AD; +๐ผ๏ธ framed picture; 1F5BC FE0F; +๐จ artist palette; 1F3A8; +๐งต thread; 1F9F5; +๐ชก sewing needle; 1FAA1; +๐งถ yarn; 1F9F6; +๐ชข knot; 1FAA2; +๐ glasses; 1F453; +๐ถ๏ธ sunglasses; 1F576 FE0F; +๐ฅฝ goggles; 1F97D; +๐ฅผ lab coat; 1F97C; +๐ฆบ safety vest; 1F9BA; +๐ necktie; 1F454; +๐ t-shirt; 1F455; +๐ jeans; 1F456; +๐งฃ scarf; 1F9E3; +๐งค gloves; 1F9E4; +๐งฅ coat; 1F9E5; +๐งฆ socks; 1F9E6; +๐ dress; 1F457; +๐ kimono; 1F458; +๐ฅป sari; 1F97B; +๐ฉฑ one-piece swimsuit; 1FA71; +๐ฉฒ briefs; 1FA72; +๐ฉณ shorts; 1FA73; +๐ bikini; 1F459; +๐ womanโs clothes; 1F45A; +๐ purse; 1F45B; +๐ handbag; 1F45C; +๐ clutch bag; 1F45D; +๐๏ธ shopping bags; 1F6CD FE0F; +๐ backpack; 1F392; +๐ฉด thong sandal; 1FA74; +๐ manโs shoe; 1F45E; +๐ running shoe; 1F45F; +๐ฅพ hiking boot; 1F97E; +๐ฅฟ flat shoe; 1F97F; +๐ high-heeled shoe; 1F460; +๐ก womanโs sandal; 1F461; +๐ฉฐ ballet shoes; 1FA70; +๐ข womanโs boot; 1F462; +๐ crown; 1F451; +๐ womanโs hat; 1F452; +๐ฉ top hat; 1F3A9; +๐ graduation cap; 1F393; +๐งข billed cap; 1F9E2; +๐ช military helmet; 1FA96; +โ๏ธ rescue workerโs helmet; 26D1 FE0F; +๐ฟ prayer beads; 1F4FF; +๐ lipstick; 1F484; +๐ ring; 1F48D; +๐ gem stone; 1F48E; +๐ muted speaker; 1F507; +๐ speaker low volume; 1F508; +๐ speaker medium volume; 1F509; +๐ speaker high volume; 1F50A; +๐ข loudspeaker; 1F4E2; +๐ฃ megaphone; 1F4E3; +๐ฏ postal horn; 1F4EF; +๐ bell; 1F514; +๐ bell with slash; 1F515; +๐ผ musical score; 1F3BC; +๐ต musical note; 1F3B5; +๐ถ musical notes; 1F3B6; +๐๏ธ studio microphone; 1F399 FE0F; +๐๏ธ level slider; 1F39A FE0F; +๐๏ธ control knobs; 1F39B FE0F; +๐ค microphone; 1F3A4; +๐ง headphone; 1F3A7; +๐ป radio; 1F4FB; +๐ท saxophone; 1F3B7; +๐ช accordion; 1FA97; +๐ธ guitar; 1F3B8; +๐น musical keyboard; 1F3B9; +๐บ trumpet; 1F3BA; +๐ป violin; 1F3BB; +๐ช banjo; 1FA95; +๐ฅ drum; 1F941; +๐ช long drum; 1FA98; +๐ฑ mobile phone; 1F4F1; +๐ฒ mobile phone with arrow; 1F4F2; +โ๏ธ telephone; 260E FE0F; +๐ telephone receiver; 1F4DE; +๐ pager; 1F4DF; +๐ fax machine; 1F4E0; +๐ battery; 1F50B; +๐ electric plug; 1F50C; +๐ป laptop; 1F4BB; +๐ฅ๏ธ desktop computer; 1F5A5 FE0F; +๐จ๏ธ printer; 1F5A8 FE0F; +โจ๏ธ keyboard; 2328 FE0F; +๐ฑ๏ธ computer mouse; 1F5B1 FE0F; +๐ฒ๏ธ trackball; 1F5B2 FE0F; +๐ฝ computer disk; 1F4BD; +๐พ floppy disk; 1F4BE; +๐ฟ optical disk; 1F4BF; +๐ dvd; 1F4C0; +๐งฎ abacus; 1F9EE; +๐ฅ movie camera; 1F3A5; +๐๏ธ film frames; 1F39E FE0F; +๐ฝ๏ธ film projector; 1F4FD FE0F; +๐ฌ clapper board; 1F3AC; +๐บ television; 1F4FA; +๐ท camera; 1F4F7; +๐ธ camera with flash; 1F4F8; +๐น video camera; 1F4F9; +๐ผ videocassette; 1F4FC; +๐ magnifying glass tilted left; 1F50D; +๐ magnifying glass tilted right; 1F50E; +๐ฏ๏ธ candle; 1F56F FE0F; +๐ก light bulb; 1F4A1; +๐ฆ flashlight; 1F526; +๐ฎ red paper lantern; 1F3EE; +๐ช diya lamp; 1FA94; +๐ notebook with decorative cover; 1F4D4; +๐ closed book; 1F4D5; +๐ open book; 1F4D6; +๐ green book; 1F4D7; +๐ blue book; 1F4D8; +๐ orange book; 1F4D9; +๐ books; 1F4DA; +๐ notebook; 1F4D3; +๐ ledger; 1F4D2; +๐ page with curl; 1F4C3; +๐ scroll; 1F4DC; +๐ page facing up; 1F4C4; +๐ฐ newspaper; 1F4F0; +๐๏ธ rolled-up newspaper; 1F5DE FE0F; +๐ bookmark tabs; 1F4D1; +๐ bookmark; 1F516; +๐ท๏ธ label; 1F3F7 FE0F; +๐ฐ money bag; 1F4B0; +๐ช coin; 1FA99; +๐ด yen banknote; 1F4B4; +๐ต dollar banknote; 1F4B5; +๐ถ euro banknote; 1F4B6; +๐ท pound banknote; 1F4B7; +๐ธ money with wings; 1F4B8; +๐ณ credit card; 1F4B3; +๐งพ receipt; 1F9FE; +๐น chart increasing with yen; 1F4B9; +โ๏ธ envelope; 2709 FE0F; +๐ง e-mail; 1F4E7; +๐จ incoming envelope; 1F4E8; +๐ฉ envelope with arrow; 1F4E9; +๐ค outbox tray; 1F4E4; +๐ฅ inbox tray; 1F4E5; +๐ฆ package; 1F4E6; +๐ซ closed mailbox with raised flag; 1F4EB; +๐ช closed mailbox with lowered flag; 1F4EA; +๐ฌ open mailbox with raised flag; 1F4EC; +๐ญ open mailbox with lowered flag; 1F4ED; +๐ฎ postbox; 1F4EE; +๐ณ๏ธ ballot box with ballot; 1F5F3 FE0F; +โ๏ธ pencil; 270F FE0F; +โ๏ธ black nib; 2712 FE0F; +๐๏ธ fountain pen; 1F58B FE0F; +๐๏ธ pen; 1F58A FE0F; +๐๏ธ paintbrush; 1F58C FE0F; +๐๏ธ crayon; 1F58D FE0F; +๐ memo; 1F4DD; +๐ผ briefcase; 1F4BC; +๐ file folder; 1F4C1; +๐ open file folder; 1F4C2; +๐๏ธ card index dividers; 1F5C2 FE0F; +๐
calendar; 1F4C5; +๐ tear-off calendar; 1F4C6; +๐๏ธ spiral notepad; 1F5D2 FE0F; +๐๏ธ spiral calendar; 1F5D3 FE0F; +๐ card index; 1F4C7; +๐ chart increasing; 1F4C8; +๐ chart decreasing; 1F4C9; +๐ bar chart; 1F4CA; +๐ clipboard; 1F4CB; +๐ pushpin; 1F4CC; +๐ round pushpin; 1F4CD; +๐ paperclip; 1F4CE; +๐๏ธ linked paperclips; 1F587 FE0F; +๐ straight ruler; 1F4CF; +๐ triangular ruler; 1F4D0; +โ๏ธ scissors; 2702 FE0F; +๐๏ธ card file box; 1F5C3 FE0F; +๐๏ธ file cabinet; 1F5C4 FE0F; +๐๏ธ wastebasket; 1F5D1 FE0F; +๐ locked; 1F512; +๐ unlocked; 1F513; +๐ locked with pen; 1F50F; +๐ locked with key; 1F510; +๐ key; 1F511; +๐๏ธ old key; 1F5DD FE0F; +๐จ hammer; 1F528; +๐ช axe; 1FA93; +โ๏ธ pick; 26CF FE0F; +โ๏ธ hammer and pick; 2692 FE0F; +๐ ๏ธ hammer and wrench; 1F6E0 FE0F; +๐ก๏ธ dagger; 1F5E1 FE0F; +โ๏ธ crossed swords; 2694 FE0F; +๐ซ pistol; 1F52B; +๐ช boomerang; 1FA83; +๐น bow and arrow; 1F3F9; +๐ก๏ธ shield; 1F6E1 FE0F; +๐ช carpentry saw; 1FA9A; +๐ง wrench; 1F527; +๐ช screwdriver; 1FA9B; +๐ฉ nut and bolt; 1F529; +โ๏ธ gear; 2699 FE0F; +๐๏ธ clamp; 1F5DC FE0F; +โ๏ธ balance scale; 2696 FE0F; +๐ฆฏ white cane; 1F9AF; +๐ link; 1F517; +โ๏ธ chains; 26D3 FE0F; +๐ช hook; 1FA9D; +๐งฐ toolbox; 1F9F0; +๐งฒ magnet; 1F9F2; +๐ช ladder; 1FA9C; +โ๏ธ alembic; 2697 FE0F; +๐งช test tube; 1F9EA; +๐งซ petri dish; 1F9EB; +๐งฌ dna; 1F9EC; +๐ฌ microscope; 1F52C; +๐ญ telescope; 1F52D; +๐ก satellite antenna; 1F4E1; +๐ syringe; 1F489; +๐ฉธ drop of blood; 1FA78; +๐ pill; 1F48A; +๐ฉน adhesive bandage; 1FA79; +๐ฉบ stethoscope; 1FA7A; +๐ช door; 1F6AA; +๐ elevator; 1F6D7; +๐ช mirror; 1FA9E; +๐ช window; 1FA9F; +๐๏ธ bed; 1F6CF FE0F; +๐๏ธ couch and lamp; 1F6CB FE0F; +๐ช chair; 1FA91; +๐ฝ toilet; 1F6BD; +๐ช plunger; 1FAA0; +๐ฟ shower; 1F6BF; +๐ bathtub; 1F6C1; +๐ชค mouse trap; 1FAA4; +๐ช razor; 1FA92; +๐งด lotion bottle; 1F9F4; +๐งท safety pin; 1F9F7; +๐งน broom; 1F9F9; +๐งบ basket; 1F9FA; +๐งป roll of paper; 1F9FB; +๐ชฃ bucket; 1FAA3; +๐งผ soap; 1F9FC; +๐ชฅ toothbrush; 1FAA5; +๐งฝ sponge; 1F9FD; +๐งฏ fire extinguisher; 1F9EF; +๐ shopping cart; 1F6D2; +๐ฌ cigarette; 1F6AC; +โฐ๏ธ coffin; 26B0 FE0F; +๐ชฆ headstone; 1FAA6; +โฑ๏ธ funeral urn; 26B1 FE0F; +๐ฟ moai; 1F5FF; +๐ชง placard; 1FAA7; +๐ง ATM sign; 1F3E7; +๐ฎ litter in bin sign; 1F6AE; +๐ฐ potable water; 1F6B0; +โฟ wheelchair symbol; 267F; +๐น menโs room; 1F6B9; +๐บ womenโs room; 1F6BA; +๐ป restroom; 1F6BB; +๐ผ baby symbol; 1F6BC; +๐พ water closet; 1F6BE; +๐ passport control; 1F6C2; +๐ customs; 1F6C3; +๐ baggage claim; 1F6C4; +๐
left luggage; 1F6C5; +โ ๏ธ warning; 26A0 FE0F; +๐ธ children crossing; 1F6B8; +โ no entry; 26D4; +๐ซ prohibited; 1F6AB; +๐ณ no bicycles; 1F6B3; +๐ญ no smoking; 1F6AD; +๐ฏ no littering; 1F6AF; +๐ฑ non-potable water; 1F6B1; +๐ท no pedestrians; 1F6B7; +๐ต no mobile phones; 1F4F5; +๐ no one under eighteen; 1F51E; +โข๏ธ radioactive; 2622 FE0F; +โฃ๏ธ biohazard; 2623 FE0F; +โฌ๏ธ up arrow; 2B06 FE0F; +โ๏ธ up-right arrow; 2197 FE0F; +โก๏ธ right arrow; 27A1 FE0F; +โ๏ธ down-right arrow; 2198 FE0F; +โฌ๏ธ down arrow; 2B07 FE0F; +โ๏ธ down-left arrow; 2199 FE0F; +โฌ
๏ธ left arrow; 2B05 FE0F; +โ๏ธ up-left arrow; 2196 FE0F; +โ๏ธ up-down arrow; 2195 FE0F; +โ๏ธ left-right arrow; 2194 FE0F; +โฉ๏ธ right arrow curving left; 21A9 FE0F; +โช๏ธ left arrow curving right; 21AA FE0F; +โคด๏ธ right arrow curving up; 2934 FE0F; +โคต๏ธ right arrow curving down; 2935 FE0F; +๐ clockwise vertical arrows; 1F503; +๐ counterclockwise arrows button; 1F504; +๐ BACK arrow; 1F519; +๐ END arrow; 1F51A; +๐ ON! arrow; 1F51B; +๐ SOON arrow; 1F51C; +๐ TOP arrow; 1F51D; +๐ place of worship; 1F6D0; +โ๏ธ atom symbol; 269B FE0F; +๐๏ธ om; 1F549 FE0F; +โก๏ธ star of David; 2721 FE0F; +โธ๏ธ wheel of dharma; 2638 FE0F; +โฏ๏ธ yin yang; 262F FE0F; +โ๏ธ latin cross; 271D FE0F; +โฆ๏ธ orthodox cross; 2626 FE0F; +โช๏ธ star and crescent; 262A FE0F; +โฎ๏ธ peace symbol; 262E FE0F; +๐ menorah; 1F54E; +๐ฏ dotted six-pointed star; 1F52F; +โ Aries; 2648; +โ Taurus; 2649; +โ Gemini; 264A; +โ Cancer; 264B; +โ Leo; 264C; +โ Virgo; 264D; +โ Libra; 264E; +โ Scorpio; 264F; +โ Sagittarius; 2650; +โ Capricorn; 2651; +โ Aquarius; 2652; +โ Pisces; 2653; +โ Ophiuchus; 26CE; +๐ shuffle tracks button; 1F500; +๐ repeat button; 1F501; +๐ repeat single button; 1F502; +โถ๏ธ play button; 25B6 FE0F; +โฉ fast-forward button; 23E9; +โญ๏ธ next track button; 23ED FE0F; +โฏ๏ธ play or pause button; 23EF FE0F; +โ๏ธ reverse button; 25C0 FE0F; +โช fast reverse button; 23EA; +โฎ๏ธ last track button; 23EE FE0F; +๐ผ upwards button; 1F53C; +โซ fast up button; 23EB; +๐ฝ downwards button; 1F53D; +โฌ fast down button; 23EC; +โธ๏ธ pause button; 23F8 FE0F; +โน๏ธ stop button; 23F9 FE0F; +โบ๏ธ record button; 23FA FE0F; +โ๏ธ eject button; 23CF FE0F; +๐ฆ cinema; 1F3A6; +๐
dim button; 1F505; +๐ bright button; 1F506; +๐ถ antenna bars; 1F4F6; +๐ณ vibration mode; 1F4F3; +๐ด mobile phone off; 1F4F4; +โ๏ธ female sign; 2640 FE0F; +โ๏ธ male sign; 2642 FE0F; +โง๏ธ transgender symbol; 26A7 FE0F; +โ๏ธ multiply; 2716 FE0F; +โ plus; 2795; +โ minus; 2796; +โ divide; 2797; +โพ๏ธ infinity; 267E FE0F; +โผ๏ธ double exclamation mark; 203C FE0F; +โ๏ธ exclamation question mark; 2049 FE0F; +โ question mark; 2753; +โ white question mark; 2754; +โ white exclamation mark; 2755; +โ exclamation mark; 2757; +ใฐ๏ธ wavy dash; 3030 FE0F; +๐ฑ currency exchange; 1F4B1; +๐ฒ heavy dollar sign; 1F4B2; +โ๏ธ medical symbol; 2695 FE0F; +โป๏ธ recycling symbol; 267B FE0F; +โ๏ธ fleur-de-lis; 269C FE0F; +๐ฑ trident emblem; 1F531; +๐ name badge; 1F4DB; +๐ฐ Japanese symbol for beginner; 1F530; +โญ hollow red circle; 2B55; +โ
check mark button; 2705; +โ๏ธ check box with check; 2611 FE0F; +โ๏ธ check mark; 2714 FE0F; +โ cross mark; 274C; +โ cross mark button; 274E; +โฐ curly loop; 27B0; +โฟ double curly loop; 27BF; +ใฝ๏ธ part alternation mark; 303D FE0F; +โณ๏ธ eight-spoked asterisk; 2733 FE0F; +โด๏ธ eight-pointed star; 2734 FE0F; +โ๏ธ sparkle; 2747 FE0F; +ยฉ๏ธ copyright; 00A9 FE0F; +ยฎ๏ธ registered; 00AE FE0F; +โข๏ธ trade mark; 2122 FE0F; +#๏ธโฃ keycap: #; 0023 FE0F 20E3; +*๏ธโฃ keycap: *; 002A FE0F 20E3; +0๏ธโฃ keycap: 0; 0030 FE0F 20E3; +1๏ธโฃ keycap: 1; 0031 FE0F 20E3; +2๏ธโฃ keycap: 2; 0032 FE0F 20E3; +3๏ธโฃ keycap: 3; 0033 FE0F 20E3; +4๏ธโฃ keycap: 4; 0034 FE0F 20E3; +5๏ธโฃ keycap: 5; 0035 FE0F 20E3; +6๏ธโฃ keycap: 6; 0036 FE0F 20E3; +7๏ธโฃ keycap: 7; 0037 FE0F 20E3; +8๏ธโฃ keycap: 8; 0038 FE0F 20E3; +9๏ธโฃ keycap: 9; 0039 FE0F 20E3; +๐ keycap: 10; 1F51F; +๐ input latin uppercase; 1F520; +๐ก input latin lowercase; 1F521; +๐ข input numbers; 1F522; +๐ฃ input symbols; 1F523; +๐ค input latin letters; 1F524; +๐
ฐ๏ธ A button (blood type); 1F170 FE0F; +๐ AB button (blood type); 1F18E; +๐
ฑ๏ธ B button (blood type); 1F171 FE0F; +๐ CL button; 1F191; +๐ COOL button; 1F192; +๐ FREE button; 1F193; +โน๏ธ information; 2139 FE0F; +๐ ID button; 1F194; +โ๏ธ circled M; 24C2 FE0F; +๐ NEW button; 1F195; +๐ NG button; 1F196; +๐
พ๏ธ O button (blood type); 1F17E FE0F; +๐ OK button; 1F197; +๐
ฟ๏ธ P button; 1F17F FE0F; +๐ SOS button; 1F198; +๐ UP! button; 1F199; +๐ VS button; 1F19A; +๐ Japanese โhereโ button; 1F201; +๐๏ธ Japanese โservice chargeโ button; 1F202 FE0F; +๐ท๏ธ Japanese โmonthly amountโ button; 1F237 FE0F; +๐ถ Japanese โnot free of chargeโ button; 1F236; +๐ฏ Japanese โreservedโ button; 1F22F; +๐ Japanese โbargainโ button; 1F250; +๐น Japanese โdiscountโ button; 1F239; +๐ Japanese โfree of chargeโ button; 1F21A; +๐ฒ Japanese โprohibitedโ button; 1F232; +๐ Japanese โacceptableโ button; 1F251; +๐ธ Japanese โapplicationโ button; 1F238; +๐ด Japanese โpassing gradeโ button; 1F234; +๐ณ Japanese โvacancyโ button; 1F233; +ใ๏ธ Japanese โcongratulationsโ button; 3297 FE0F; +ใ๏ธ Japanese โsecretโ button; 3299 FE0F; +๐บ Japanese โopen for businessโ button; 1F23A; +๐ต Japanese โno vacancyโ button; 1F235; +๐ด red circle; 1F534; +๐ orange circle; 1F7E0; +๐ก yellow circle; 1F7E1; +๐ข green circle; 1F7E2; +๐ต blue circle; 1F535; +๐ฃ purple circle; 1F7E3; +๐ค brown circle; 1F7E4; +โซ black circle; 26AB; +โช white circle; 26AA; +๐ฅ red square; 1F7E5; +๐ง orange square; 1F7E7; +๐จ yellow square; 1F7E8; +๐ฉ green square; 1F7E9; +๐ฆ blue square; 1F7E6; +๐ช purple square; 1F7EA; +๐ซ brown square; 1F7EB; +โฌ black large square; 2B1B; +โฌ white large square; 2B1C; +โผ๏ธ black medium square; 25FC FE0F; +โป๏ธ white medium square; 25FB FE0F; +โพ black medium-small square; 25FE; +โฝ white medium-small square; 25FD; +โช๏ธ black small square; 25AA FE0F; +โซ๏ธ white small square; 25AB FE0F; +๐ถ large orange diamond; 1F536; +๐ท large blue diamond; 1F537; +๐ธ small orange diamond; 1F538; +๐น small blue diamond; 1F539; +๐บ red triangle pointed up; 1F53A; +๐ป red triangle pointed down; 1F53B; +๐ diamond with a dot; 1F4A0; +๐ radio button; 1F518; +๐ณ white square button; 1F533; +๐ฒ black square button; 1F532; +๐ chequered flag; 1F3C1; +๐ฉ triangular flag; 1F6A9; +๐ crossed flags; 1F38C; +๐ด black flag; 1F3F4; +๐ณ๏ธ white flag; 1F3F3 FE0F; +๐ฆ๐จ flag: Ascension Island; 1F1E6 1F1E8; +๐ฆ๐ฉ flag: Andorra; 1F1E6 1F1E9; +๐ฆ๐ช flag: United Arab Emirates; 1F1E6 1F1EA; +๐ฆ๐ซ flag: Afghanistan; 1F1E6 1F1EB; +๐ฆ๐ฌ flag: Antigua & Barbuda; 1F1E6 1F1EC; +๐ฆ๐ฎ flag: Anguilla; 1F1E6 1F1EE; +๐ฆ๐ฑ flag: Albania; 1F1E6 1F1F1; +๐ฆ๐ฒ flag: Armenia; 1F1E6 1F1F2; +๐ฆ๐ด flag: Angola; 1F1E6 1F1F4; +๐ฆ๐ถ flag: Antarctica; 1F1E6 1F1F6; +๐ฆ๐ท flag: Argentina; 1F1E6 1F1F7; +๐ฆ๐ธ flag: American Samoa; 1F1E6 1F1F8; +๐ฆ๐น flag: Austria; 1F1E6 1F1F9; +๐ฆ๐บ flag: Australia; 1F1E6 1F1FA; +๐ฆ๐ผ flag: Aruba; 1F1E6 1F1FC; +๐ฆ๐ฝ flag: ร
land Islands; 1F1E6 1F1FD; +๐ฆ๐ฟ flag: Azerbaijan; 1F1E6 1F1FF; +๐ง๐ฆ flag: Bosnia & Herzegovina; 1F1E7 1F1E6; +๐ง๐ง flag: Barbados; 1F1E7 1F1E7; +๐ง๐ฉ flag: Bangladesh; 1F1E7 1F1E9; +๐ง๐ช flag: Belgium; 1F1E7 1F1EA; +๐ง๐ซ flag: Burkina Faso; 1F1E7 1F1EB; +๐ง๐ฌ flag: Bulgaria; 1F1E7 1F1EC; +๐ง๐ญ flag: Bahrain; 1F1E7 1F1ED; +๐ง๐ฎ flag: Burundi; 1F1E7 1F1EE; +๐ง๐ฏ flag: Benin; 1F1E7 1F1EF; +๐ง๐ฑ flag: St. Barthรฉlemy; 1F1E7 1F1F1; +๐ง๐ฒ flag: Bermuda; 1F1E7 1F1F2; +๐ง๐ณ flag: Brunei; 1F1E7 1F1F3; +๐ง๐ด flag: Bolivia; 1F1E7 1F1F4; +๐ง๐ถ flag: Caribbean Netherlands; 1F1E7 1F1F6; +๐ง๐ท flag: Brazil; 1F1E7 1F1F7; +๐ง๐ธ flag: Bahamas; 1F1E7 1F1F8; +๐ง๐น flag: Bhutan; 1F1E7 1F1F9; +๐ง๐ป flag: Bouvet Island; 1F1E7 1F1FB; +๐ง๐ผ flag: Botswana; 1F1E7 1F1FC; +๐ง๐พ flag: Belarus; 1F1E7 1F1FE; +๐ง๐ฟ flag: Belize; 1F1E7 1F1FF; +๐จ๐ฆ flag: Canada; 1F1E8 1F1E6; +๐จ๐จ flag: Cocos (Keeling) Islands; 1F1E8 1F1E8; +๐จ๐ฉ flag: Congo - Kinshasa; 1F1E8 1F1E9; +๐จ๐ซ flag: Central African Republic; 1F1E8 1F1EB; +๐จ๐ฌ flag: Congo - Brazzaville; 1F1E8 1F1EC; +๐จ๐ญ flag: Switzerland; 1F1E8 1F1ED; +๐จ๐ฎ flag: Cรดte dโIvoire; 1F1E8 1F1EE; +๐จ๐ฐ flag: Cook Islands; 1F1E8 1F1F0; +๐จ๐ฑ flag: Chile; 1F1E8 1F1F1; +๐จ๐ฒ flag: Cameroon; 1F1E8 1F1F2; +๐จ๐ณ flag: China; 1F1E8 1F1F3; +๐จ๐ด flag: Colombia; 1F1E8 1F1F4; +๐จ๐ต flag: Clipperton Island; 1F1E8 1F1F5; +๐จ๐ท flag: Costa Rica; 1F1E8 1F1F7; +๐จ๐บ flag: Cuba; 1F1E8 1F1FA; +๐จ๐ป flag: Cape Verde; 1F1E8 1F1FB; +๐จ๐ผ flag: Curaรงao; 1F1E8 1F1FC; +๐จ๐ฝ flag: Christmas Island; 1F1E8 1F1FD; +๐จ๐พ flag: Cyprus; 1F1E8 1F1FE; +๐จ๐ฟ flag: Czechia; 1F1E8 1F1FF; +๐ฉ๐ช flag: Germany; 1F1E9 1F1EA; +๐ฉ๐ฌ flag: Diego Garcia; 1F1E9 1F1EC; +๐ฉ๐ฏ flag: Djibouti; 1F1E9 1F1EF; +๐ฉ๐ฐ flag: Denmark; 1F1E9 1F1F0; +๐ฉ๐ฒ flag: Dominica; 1F1E9 1F1F2; +๐ฉ๐ด flag: Dominican Republic; 1F1E9 1F1F4; +๐ฉ๐ฟ flag: Algeria; 1F1E9 1F1FF; +๐ช๐ฆ flag: Ceuta & Melilla; 1F1EA 1F1E6; +๐ช๐จ flag: Ecuador; 1F1EA 1F1E8; +๐ช๐ช flag: Estonia; 1F1EA 1F1EA; +๐ช๐ฌ flag: Egypt; 1F1EA 1F1EC; +๐ช๐ญ flag: Western Sahara; 1F1EA 1F1ED; +๐ช๐ท flag: Eritrea; 1F1EA 1F1F7; +๐ช๐ธ flag: Spain; 1F1EA 1F1F8; +๐ช๐น flag: Ethiopia; 1F1EA 1F1F9; +๐ช๐บ flag: European Union; 1F1EA 1F1FA; +๐ซ๐ฎ flag: Finland; 1F1EB 1F1EE; +๐ซ๐ฏ flag: Fiji; 1F1EB 1F1EF; +๐ซ๐ฐ flag: Falkland Islands; 1F1EB 1F1F0; +๐ซ๐ฒ flag: Micronesia; 1F1EB 1F1F2; +๐ซ๐ด flag: Faroe Islands; 1F1EB 1F1F4; +๐ซ๐ท flag: France; 1F1EB 1F1F7; +๐ฌ๐ฆ flag: Gabon; 1F1EC 1F1E6; +๐ฌ๐ง flag: United Kingdom; 1F1EC 1F1E7; +๐ฌ๐ฉ flag: Grenada; 1F1EC 1F1E9; +๐ฌ๐ช flag: Georgia; 1F1EC 1F1EA; +๐ฌ๐ซ flag: French Guiana; 1F1EC 1F1EB; +๐ฌ๐ฌ flag: Guernsey; 1F1EC 1F1EC; +๐ฌ๐ญ flag: Ghana; 1F1EC 1F1ED; +๐ฌ๐ฎ flag: Gibraltar; 1F1EC 1F1EE; +๐ฌ๐ฑ flag: Greenland; 1F1EC 1F1F1; +๐ฌ๐ฒ flag: Gambia; 1F1EC 1F1F2; +๐ฌ๐ณ flag: Guinea; 1F1EC 1F1F3; +๐ฌ๐ต flag: Guadeloupe; 1F1EC 1F1F5; +๐ฌ๐ถ flag: Equatorial Guinea; 1F1EC 1F1F6; +๐ฌ๐ท flag: Greece; 1F1EC 1F1F7; +๐ฌ๐ธ flag: South Georgia & South Sandwich Islands; 1F1EC 1F1F8; +๐ฌ๐น flag: Guatemala; 1F1EC 1F1F9; +๐ฌ๐บ flag: Guam; 1F1EC 1F1FA; +๐ฌ๐ผ flag: Guinea-Bissau; 1F1EC 1F1FC; +๐ฌ๐พ flag: Guyana; 1F1EC 1F1FE; +๐ญ๐ฐ flag: Hong Kong SAR China; 1F1ED 1F1F0; +๐ญ๐ฒ flag: Heard & McDonald Islands; 1F1ED 1F1F2; +๐ญ๐ณ flag: Honduras; 1F1ED 1F1F3; +๐ญ๐ท flag: Croatia; 1F1ED 1F1F7; +๐ญ๐น flag: Haiti; 1F1ED 1F1F9; +๐ญ๐บ flag: Hungary; 1F1ED 1F1FA; +๐ฎ๐จ flag: Canary Islands; 1F1EE 1F1E8; +๐ฎ๐ฉ flag: Indonesia; 1F1EE 1F1E9; +๐ฎ๐ช flag: Ireland; 1F1EE 1F1EA; +๐ฎ๐ฑ flag: Israel; 1F1EE 1F1F1; +๐ฎ๐ฒ flag: Isle of Man; 1F1EE 1F1F2; +๐ฎ๐ณ flag: India; 1F1EE 1F1F3; +๐ฎ๐ถ flag: Iraq; 1F1EE 1F1F6; +๐ฎ๐ท flag: Iran; 1F1EE 1F1F7; +๐ฎ๐ธ flag: Iceland; 1F1EE 1F1F8; +๐ฎ๐น flag: Italy; 1F1EE 1F1F9; +๐ฏ๐ช flag: Jersey; 1F1EF 1F1EA; +๐ฏ๐ฒ flag: Jamaica; 1F1EF 1F1F2; +๐ฏ๐ด flag: Jordan; 1F1EF 1F1F4; +๐ฏ๐ต flag: Japan; 1F1EF 1F1F5; +๐ฐ๐ช flag: Kenya; 1F1F0 1F1EA; +๐ฐ๐ฌ flag: Kyrgyzstan; 1F1F0 1F1EC; +๐ฐ๐ญ flag: Cambodia; 1F1F0 1F1ED; +๐ฐ๐ฎ flag: Kiribati; 1F1F0 1F1EE; +๐ฐ๐ฒ flag: Comoros; 1F1F0 1F1F2; +๐ฐ๐ณ flag: St. Kitts & Nevis; 1F1F0 1F1F3; +๐ฐ๐ต flag: North Korea; 1F1F0 1F1F5; +๐ฐ๐ท flag: South Korea; 1F1F0 1F1F7; +๐ฐ๐ผ flag: Kuwait; 1F1F0 1F1FC; +๐ฐ๐พ flag: Cayman Islands; 1F1F0 1F1FE; +๐ฐ๐ฟ flag: Kazakhstan; 1F1F0 1F1FF; +๐ฑ๐ฆ flag: Laos; 1F1F1 1F1E6; +๐ฑ๐ง flag: Lebanon; 1F1F1 1F1E7; +๐ฑ๐จ flag: St. Lucia; 1F1F1 1F1E8; +๐ฑ๐ฎ flag: Liechtenstein; 1F1F1 1F1EE; +๐ฑ๐ฐ flag: Sri Lanka; 1F1F1 1F1F0; +๐ฑ๐ท flag: Liberia; 1F1F1 1F1F7; +๐ฑ๐ธ flag: Lesotho; 1F1F1 1F1F8; +๐ฑ๐น flag: Lithuania; 1F1F1 1F1F9; +๐ฑ๐บ flag: Luxembourg; 1F1F1 1F1FA; +๐ฑ๐ป flag: Latvia; 1F1F1 1F1FB; +๐ฑ๐พ flag: Libya; 1F1F1 1F1FE; +๐ฒ๐ฆ flag: Morocco; 1F1F2 1F1E6; +๐ฒ๐จ flag: Monaco; 1F1F2 1F1E8; +๐ฒ๐ฉ flag: Moldova; 1F1F2 1F1E9; +๐ฒ๐ช flag: Montenegro; 1F1F2 1F1EA; +๐ฒ๐ซ flag: St. Martin; 1F1F2 1F1EB; +๐ฒ๐ฌ flag: Madagascar; 1F1F2 1F1EC; +๐ฒ๐ญ flag: Marshall Islands; 1F1F2 1F1ED; +๐ฒ๐ฐ flag: North Macedonia; 1F1F2 1F1F0; +๐ฒ๐ฑ flag: Mali; 1F1F2 1F1F1; +๐ฒ๐ฒ flag: Myanmar (Burma); 1F1F2 1F1F2; +๐ฒ๐ณ flag: Mongolia; 1F1F2 1F1F3; +๐ฒ๐ด flag: Macao SAR China; 1F1F2 1F1F4; +๐ฒ๐ต flag: Northern Mariana Islands; 1F1F2 1F1F5; +๐ฒ๐ถ flag: Martinique; 1F1F2 1F1F6; +๐ฒ๐ท flag: Mauritania; 1F1F2 1F1F7; +๐ฒ๐ธ flag: Montserrat; 1F1F2 1F1F8; +๐ฒ๐น flag: Malta; 1F1F2 1F1F9; +๐ฒ๐บ flag: Mauritius; 1F1F2 1F1FA; +๐ฒ๐ป flag: Maldives; 1F1F2 1F1FB; +๐ฒ๐ผ flag: Malawi; 1F1F2 1F1FC; +๐ฒ๐ฝ flag: Mexico; 1F1F2 1F1FD; +๐ฒ๐พ flag: Malaysia; 1F1F2 1F1FE; +๐ฒ๐ฟ flag: Mozambique; 1F1F2 1F1FF; +๐ณ๐ฆ flag: Namibia; 1F1F3 1F1E6; +๐ณ๐จ flag: New Caledonia; 1F1F3 1F1E8; +๐ณ๐ช flag: Niger; 1F1F3 1F1EA; +๐ณ๐ซ flag: Norfolk Island; 1F1F3 1F1EB; +๐ณ๐ฌ flag: Nigeria; 1F1F3 1F1EC; +๐ณ๐ฎ flag: Nicaragua; 1F1F3 1F1EE; +๐ณ๐ฑ flag: Netherlands; 1F1F3 1F1F1; +๐ณ๐ด flag: Norway; 1F1F3 1F1F4; +๐ณ๐ต flag: Nepal; 1F1F3 1F1F5; +๐ณ๐ท flag: Nauru; 1F1F3 1F1F7; +๐ณ๐บ flag: Niue; 1F1F3 1F1FA; +๐ณ๐ฟ flag: New Zealand; 1F1F3 1F1FF; +๐ด๐ฒ flag: Oman; 1F1F4 1F1F2; +๐ต๐ฆ flag: Panama; 1F1F5 1F1E6; +๐ต๐ช flag: Peru; 1F1F5 1F1EA; +๐ต๐ซ flag: French Polynesia; 1F1F5 1F1EB; +๐ต๐ฌ flag: Papua New Guinea; 1F1F5 1F1EC; +๐ต๐ญ flag: Philippines; 1F1F5 1F1ED; +๐ต๐ฐ flag: Pakistan; 1F1F5 1F1F0; +๐ต๐ฑ flag: Poland; 1F1F5 1F1F1; +๐ต๐ฒ flag: St. Pierre & Miquelon; 1F1F5 1F1F2; +๐ต๐ณ flag: Pitcairn Islands; 1F1F5 1F1F3; +๐ต๐ท flag: Puerto Rico; 1F1F5 1F1F7; +๐ต๐ธ flag: Palestinian Territories; 1F1F5 1F1F8; +๐ต๐น flag: Portugal; 1F1F5 1F1F9; +๐ต๐ผ flag: Palau; 1F1F5 1F1FC; +๐ต๐พ flag: Paraguay; 1F1F5 1F1FE; +๐ถ๐ฆ flag: Qatar; 1F1F6 1F1E6; +๐ท๐ช flag: Rรฉunion; 1F1F7 1F1EA; +๐ท๐ด flag: Romania; 1F1F7 1F1F4; +๐ท๐ธ flag: Serbia; 1F1F7 1F1F8; +๐ท๐บ flag: Russia; 1F1F7 1F1FA; +๐ท๐ผ flag: Rwanda; 1F1F7 1F1FC; +๐ธ๐ฆ flag: Saudi Arabia; 1F1F8 1F1E6; +๐ธ๐ง flag: Solomon Islands; 1F1F8 1F1E7; +๐ธ๐จ flag: Seychelles; 1F1F8 1F1E8; +๐ธ๐ฉ flag: Sudan; 1F1F8 1F1E9; +๐ธ๐ช flag: Sweden; 1F1F8 1F1EA; +๐ธ๐ฌ flag: Singapore; 1F1F8 1F1EC; +๐ธ๐ญ flag: St. Helena; 1F1F8 1F1ED; +๐ธ๐ฎ flag: Slovenia; 1F1F8 1F1EE; +๐ธ๐ฏ flag: Svalbard & Jan Mayen; 1F1F8 1F1EF; +๐ธ๐ฐ flag: Slovakia; 1F1F8 1F1F0; +๐ธ๐ฑ flag: Sierra Leone; 1F1F8 1F1F1; +๐ธ๐ฒ flag: San Marino; 1F1F8 1F1F2; +๐ธ๐ณ flag: Senegal; 1F1F8 1F1F3; +๐ธ๐ด flag: Somalia; 1F1F8 1F1F4; +๐ธ๐ท flag: Suriname; 1F1F8 1F1F7; +๐ธ๐ธ flag: South Sudan; 1F1F8 1F1F8; +๐ธ๐น flag: Sรฃo Tomรฉ & Prรญncipe; 1F1F8 1F1F9; +๐ธ๐ป flag: El Salvador; 1F1F8 1F1FB; +๐ธ๐ฝ flag: Sint Maarten; 1F1F8 1F1FD; +๐ธ๐พ flag: Syria; 1F1F8 1F1FE; +๐ธ๐ฟ flag: Eswatini; 1F1F8 1F1FF; +๐น๐ฆ flag: Tristan da Cunha; 1F1F9 1F1E6; +๐น๐จ flag: Turks & Caicos Islands; 1F1F9 1F1E8; +๐น๐ฉ flag: Chad; 1F1F9 1F1E9; +๐น๐ซ flag: French Southern Territories; 1F1F9 1F1EB; +๐น๐ฌ flag: Togo; 1F1F9 1F1EC; +๐น๐ญ flag: Thailand; 1F1F9 1F1ED; +๐น๐ฏ flag: Tajikistan; 1F1F9 1F1EF; +๐น๐ฐ flag: Tokelau; 1F1F9 1F1F0; +๐น๐ฑ flag: Timor-Leste; 1F1F9 1F1F1; +๐น๐ฒ flag: Turkmenistan; 1F1F9 1F1F2; +๐น๐ณ flag: Tunisia; 1F1F9 1F1F3; +๐น๐ด flag: Tonga; 1F1F9 1F1F4; +๐น๐ท flag: Turkey; 1F1F9 1F1F7; +๐น๐น flag: Trinidad & Tobago; 1F1F9 1F1F9; +๐น๐ป flag: Tuvalu; 1F1F9 1F1FB; +๐น๐ผ flag: Taiwan; 1F1F9 1F1FC; +๐น๐ฟ flag: Tanzania; 1F1F9 1F1FF; +๐บ๐ฆ flag: Ukraine; 1F1FA 1F1E6; +๐บ๐ฌ flag: Uganda; 1F1FA 1F1EC; +๐บ๐ฒ flag: U.S. Outlying Islands; 1F1FA 1F1F2; +๐บ๐ณ flag: United Nations; 1F1FA 1F1F3; +๐บ๐ธ flag: United States; 1F1FA 1F1F8; +๐บ๐พ flag: Uruguay; 1F1FA 1F1FE; +๐บ๐ฟ flag: Uzbekistan; 1F1FA 1F1FF; +๐ป๐ฆ flag: Vatican City; 1F1FB 1F1E6; +๐ป๐จ flag: St. Vincent & Grenadines; 1F1FB 1F1E8; +๐ป๐ช flag: Venezuela; 1F1FB 1F1EA; +๐ป๐ฌ flag: British Virgin Islands; 1F1FB 1F1EC; +๐ป๐ฎ flag: U.S. Virgin Islands; 1F1FB 1F1EE; +๐ป๐ณ flag: Vietnam; 1F1FB 1F1F3; +๐ป๐บ flag: Vanuatu; 1F1FB 1F1FA; +๐ผ๐ซ flag: Wallis & Futuna; 1F1FC 1F1EB; +๐ผ๐ธ flag: Samoa; 1F1FC 1F1F8; +๐ฝ๐ฐ flag: Kosovo; 1F1FD 1F1F0; +๐พ๐ช flag: Yemen; 1F1FE 1F1EA; +๐พ๐น flag: Mayotte; 1F1FE 1F1F9; +๐ฟ๐ฆ flag: South Africa; 1F1FF 1F1E6; +๐ฟ๐ฒ flag: Zambia; 1F1FF 1F1F2; +๐ฟ๐ผ flag: Zimbabwe; 1F1FF 1F1FC; +๐ด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ flag: England; 1F3F4725E7F; +๐ด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ flag: Scotland; 1F3F472334F; +๐ด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ flag: Wales; 1F3F4727C3F; diff --git a/.local/src/st/external-pipe_scripts/st-copyout b/.local/src/st/external-pipe_scripts/st-copyout new file mode 100755 index 0000000..e7be21e --- /dev/null +++ b/.local/src/st/external-pipe_scripts/st-copyout @@ -0,0 +1,16 @@ +#!/bin/sh +# Using external pipe with st, give a dmenu prompt of recent commands, +# allowing the user to copy the output of one. +# xclip required for this script. +# By Jaywalker and Luke +## figure how to not print ps1 without having to clear terminal +## have only one command in active window and then piping into awk +## to skip the first line +tmpfile=$(mktemp /tmp/st-cmd-output.XXXXXX) +trap 'rm "$tmpfile"' 0 1 15 +sed -n "w $tmpfile" +sed -i 's/\x0//g' "$tmpfile" +ps1="$(grep "\S" "$tmpfile" | tail -n 1 | sed 's/^\s*//' | cut -d' ' -f1)" +chosen="$(grep -F "$ps1" "$tmpfile" | sed '$ d' | tac | dmenu -p "Copy which command's output?" -i -l 10 | sed 's/[^^]/[&]/g; s/\^/\\^/g')" +eps1="$(echo "$ps1" | sed 's/[^^]/[&]/g; s/\^/\\^/g')" +awk "/^$chosen$/{p=1;print;next} p&&/$eps1/{p=0};p" "$tmpfile" | awk 'NR!=1' |xclip -selection clipboard diff --git a/.local/src/st/external-pipe_scripts/st-urlhandler b/.local/src/st/external-pipe_scripts/st-urlhandler new file mode 100755 index 0000000..e2a62f4 --- /dev/null +++ b/.local/src/st/external-pipe_scripts/st-urlhandler @@ -0,0 +1,19 @@ +#!/bin/sh + +urlregex="(((http|https|gopher|gemini|ftp|ftps|git)://|www\\.)[a-zA-Z0-9.]*[:]?[a-zA-Z0-9./@$&%?$\#=_~-]*)|((magnet:\\?xt=urn:btih:)[a-zA-Z0-9]*)" + +urls="$(sed 's/.*โ//g' | tr -d '\n' | # First remove linebreaks and mutt sidebars: + grep -aEo "$urlregex" | # grep only urls as defined above. + uniq | # Ignore neighboring duplicates. + sed "s/\(\.\|,\|;\|\!\\|\?\)$//; + s/^www./http:\/\/www\./")" # xdg-open will not detect url without http + +[ -z "$urls" ] && exit 1 + +while getopts "hoc" o; do case "${o}" in + h) printf "Optional arguments for custom use:\\n -c: copy\\n -o: xdg-open\\n -h: Show this message\\n" && exit 1 ;; + o) chosen="$(echo "$urls" | dmenu -i -p 'Follow which url?' -l 10)" + setsid xdg-open "$chosen" >/dev/null 2>&1 & ;; + c) echo "$urls" | dmenu -i -p 'Copy which url?' -l 10 | tr -d '\n' | xclip -selection clipboard ;; + *) printf "Invalid option: -%s\\n" "$OPTARG" && exit 1 ;; +esac done diff --git a/.local/usr/wal-telegram/README.md b/.local/usr/wal-telegram/README.md new file mode 100644 index 0000000..bd540d9 --- /dev/null +++ b/.local/usr/wal-telegram/README.md @@ -0,0 +1,55 @@ +# Installation + +```bash +git clone --depth 1 https://github.com/matteoguarda/wal-telegram ~/.wal-telegram +cd ~/.wal-telegram +./wal-telegram +``` + +To set the theme follow these steps: + +1. Open telegram, go to "settings/chat background" and click on choose from file: + +![instruction 1](https://user-images.githubusercontent.com/40271651/42967114-863e1890-8b9f-11e8-80f5-3b52ff75cdef.png) + +2. Toggle hidden files (in english that's show hidden files): + +![instruction 2](https://user-images.githubusercontent.com/40271651/42967489-b054cf42-8ba0-11e8-925d-7ca11597a537.png) + +3. Double click on ~/.cache/wal-telegram/colors.tdesktop-theme: + +![instruction 3](https://user-images.githubusercontent.com/40271651/42967681-5592a5ce-8ba1-11e8-83f3-195d3c14f3f8.png) + +4. Click on keep changes: + +![instruction 4](https://user-images.githubusercontent.com/40271651/42968072-8a87aa8a-8ba2-11e8-85d7-8c4de2ceb391.png) + +5. Double click on ~/.cache/wal-telegram/background.png or jpg depending on your wallpaper: + +![instruction 5](https://user-images.githubusercontent.com/40271651/42967685-58456ba8-8ba1-11e8-8ea4-897177b9b18f.png) + +# Updating + +You can update wal-telegram by running git pull inside ~/.wal-telegram: +```bash +cd ~/.wal-telegram +git pull +``` + +# Screenshots + +<img src="https://user-images.githubusercontent.com/40271651/42736395-79242280-8866-11e8-8419-a9dc0b22be4c.png" alt="demo" align="center"> +<img src="https://user-images.githubusercontent.com/40271651/42736398-7e628d04-8866-11e8-9b40-ee09c09910d7.png" alt="demo" align="center"> +<img src="https://user-images.githubusercontent.com/40271651/42736400-81f08110-8866-11e8-860d-d71c3e1b4c10.png" alt="demo" align="center"> + +# Important notes + +Some color constants in colors.tdesktop-theme are marked as // [UNTESTED], this because I couldn't find the elements responsable in the app. +So if you find something strange open an issue (with a screenshot of the element and it's name if possible) and I'll fix. + +You can also use light colorschemes, no need for extra option, just run tde normally. + +The theme works with [wal] too, not just [pywal]. + +[pywal]: https://github.com/dylanaraps/pywal +[wal]: https://github.com/dylanaraps/wal diff --git a/.local/usr/wal-telegram/colors.default-constants b/.local/usr/wal-telegram/colors.default-constants new file mode 100644 index 0000000..85e01f0 --- /dev/null +++ b/.local/usr/wal-telegram/colors.default-constants @@ -0,0 +1,445 @@ +windowBg: #282e33; // white: fallback for background +windowFg: #f5f5f5; // black: fallback for text +windowBgOver: #313b43; // light gray: fallback for background with mouse over +windowBgRipple: #3f4850; // darker gray: fallback for ripple effect +windowFgOver: #e9ecf0; // black: fallback for text with mouse over +windowSubTextFg: #82868a; // gray: fallback for additional text +windowSubTextFgOver: #797b7f; // 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: #3fc1b0; // bright blue: fallback for blue filled active areas +windowFgActive: #ffffff; // white: fallback for text on active areas +windowActiveTextFg: #4be1c3; // 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: #2da192; // default active button background +activeButtonBgOver: #32a898; // default active button background with mouse over +activeButtonBgRipple: #42b8a8; // default active button ripple effect +activeButtonFg: #ffffff; // default active button text +activeButtonFgOver: #ffffff; // default active button text with mouse over +activeButtonSecondaryFg: #8ee4d9; // default active button additional text (selected messages counter in forward / delete buttons) +activeButtonSecondaryFgOver: activeButtonSecondaryFg; // default active button additional text with mouse over +activeLineFg: #3ee2cc; // default active line (like code input field bottom border when you log in and field is focused) +activeLineFgError: #f57878; // default active line for error state (like code input field bottom border when you log in and you've entered incorrect code) +lightButtonBg: #282e33; // default light button background (like buttons in boxes) +lightButtonBgOver: #313b43; // default light button background with mouse over +lightButtonBgRipple: #3c474f; // default light button ripple effect +lightButtonFg: #79e8da; // 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: #313b43; // default left outlined button background with mouse over +outlineButtonOutlineFg: #29baa7; // default left outlined button left outline border +outlineButtonBgRipple: #3c474f; // default left outlined button ripple effect +menuBg: #282e33; // 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: #20eeda; // 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 +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: #009687; // 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 +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: #3a4047; // search results bar background (in chats list, contacts box..) +searchedBarFg: #a8a8a8; // search results bar text (in chats list, contacts box..) +topBarBg: #282e33; // top bar background (in chat view, media overview..) +emojiPanBg: windowBg; // emoji panel background +emojiPanCategories: #20262b; // 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: #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: #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: windowFgActive; // 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: #222222eb; // 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; diff --git a/.local/usr/wal-telegram/colors.wal-constants b/.local/usr/wal-telegram/colors.wal-constants new file mode 100644 index 0000000..9a6bdf8 --- /dev/null +++ b/.local/usr/wal-telegram/colors.wal-constants @@ -0,0 +1,570 @@ +// vim:ft=cfg + +/* TODO: 1. Translate comments from italian to english (doing copy paste from + * telegram official documentation is not a good idea because IMHO + * it doesn't explain anything, useless). + * 2. Remove unused alpha colors. + * 3. Add the missing alpha colors. + * 4. Fix colors marked with [UNTESTED]. + */ + +// Colors for testing purposes +colorPink: #ff7fc6; +colorGreen: #0bd500; + +// Basic window options +windowBg: color0; // sfondo della parte sinitra piรน menu opzioni e menu sinistra +windowFg: color7; // colore fg testo normale + opzioni menu tasto destra +windowBgOver: colorLighter0_40; // colore bg opzioni menu sinistra e menu tasto destro con cursore sopra +windowBgRipple: color1; // colore bg opzioni menu sinistra e menu tasto destro con click premuto +windowFgOver: color7; // colore fg opzioni menu tasto destra con cursore sopra +windowSubTextFg: colorDarker7_40; // testo in basso a sinistra nel menu sinistra + testo messo in meno risalto nel menu opzioni +windowSubTextFgOver: color7; // [UNTESTED]: in teoria come all'opzione sopra ma con cursore sopra +windowBoldFg: colorLighter7_20; // colore testo in grassetto, che si trova nelle opzioni del menu sinstra, titoli menu opzioni e titoli descrizioni gruppo +windowBoldFgOver: colorLighter7_40; // uguale a sopra ma con il cursore sopra, ad esempio nelle opzioni del menu sinistra +windowBgActive: color2; // sfondo dei tick e altre cose che "si riempiono di colore", vedi menu opzioni +windowFgActive: colorLighter7_40; // fg della parte top del menu sinistra e delle cose che hanno come sfondo l'opzione sopra, segno dei tick, titolo chat attiva ecc... +windowActiveTextFg: color2; // testo online e testo sottolineato nel menu opzioni +windowShadowFg: color0; // ombra di contorno menu sinistra, menu opzioni e insomma un po tutti gli elementi dotati di ombra +windowShadowFgFallback: windowBg; // [UNTESTED]: fallback per ombre senza opacitร + +// Shadow +shadowFg: colorAlpha0_18; // la maggior parte delle ombre (con opacitร ) (il colore del divisore tra le parti della schermata principale) + +// Slide +slideFadeOutBg: colorAlpha0_3c; // animazione che c'รจ quando premi sulla freccia di un mex inoltrato (dalla chat al profilo) +slideFadeOutShadowFg: windowShadowFg; // sempre parlando della animazione spiegata sopra, รจ la riga del lato destro che si sposta verso sinistra + +// Image +imageBg: color2; // [UNTESTED]: quando la foto รจ meno grande delle dimensioni max +imageBgTransparent: color7; // sfondo immagine quando si tratta di una immagine con opacitร , anche se questa non รจ richiesta + +// Active +activeButtonBg: color2; // colore bg bottone attivo, tipo il primo bottone in alto a sinistra nel menu opzioni +activeButtonBgOver: colorLighter2_30; // come sopra ma con il cursore sopra +activeButtonBgRipple: colorLighter2_50; // come sopra ma effetto ripple, click tenuto +activeButtonFg: color7; // testo del bottone spiegato sopra +activeButtonFgOver: colorLighter7_30; // testo del bottone spiegato sopra ma con cursore sopra +activeButtonSecondaryFg: colorLighter7_50; // quando si seleziona un messaggio, i numerini vicino a inoltra ed elimina +activeButtonSecondaryFgOver: activeButtonSecondaryFg; // uguale a sopra ma con il cursore sopra +activeLineFg: color2; // tipo la linea sotto la scelta del nome quando si crea un gruppo +activeLineFgError: color1; // uguale a sopra ma quando si verificano errori + +// Light +lightButtonBg: color0; // bottone a destra nel menu opzioni e insomma i bottoni chiari +lightButtonBgOver: colorLighter0_40; // uguale a sopra ma con il cursore sopra +lightButtonBgRipple: colorLighter0_60; // uguale a sopra ma effetto ripple, click tenuto +lightButtonFg: color2; // testo del bottone spiegato sopra +lightButtonFgOver: lightButtonFg; // testo del bottone spiegato sopra con cursore sopra + +// Attention +attentionButtonFg: color1; // [UNTESTED]: default attention button text (like confirm button on log out) +attentionButtonFgOver: colorLighter1_30; // [UNTESTED]: default attention button text with mouse over +attentionButtonBgOver: colorLighter0_40; // [UNTESTED]: default attention button background with mouse over +attentionButtonBgRipple: colorLighter0_60; // [UNTESTED]: default attention button ripple effect + +// Outline +outlineButtonBg: windowBg; // [UNTESTED]: default left outlined button background (like shared media links in profiles) +outlineButtonBgOver: colorLighter0_40; // [UNTESTED]: default left outlined button background with mouse over +outlineButtonOutlineFg: color2; // [UNTESTED]: default left outlined button left outline border +outlineButtonBgRipple: colorLighter0_60; // [UNTESTED]: default left outlined button ripple effect + +// Menu +menuBg: color0; // linea superiore e inferiore dei popup menu, ad esempio i tre punti in alto a destra nelle chat +menuBgOver: colorLighter0_40; // [UNTESTED]: in teoria il bg degli elementi del popu menu con il cursore sopra +menuBgRipple: colorLighter0_60; // [UNTESTED]: in teoria lo stesso di sopra ma effetto ripple +menuIconFg: color7; // icone menu opzioni e barra sopra nell'area chat +menuIconFgOver: colorLighter7_40; // uguale a sopra ma con cursore sopra +menuSubmenuArrowFg: color7; // nel field dei mex, se premi tasto destro, nel popup menu c'รจ una freccia +menuFgDisabled: colorDarker7_40; // testo disabilitato nel popup menu (tasto destro nel field ricerca o nel field mex) +menuSeparatorFg: colorDarker7_40; // separatore nel menu tasto destro in input field + +// Scroll +scrollBarBg: colorAlpha7_53; // default scroll bar current rectangle, the bar itself (like in chats list) +scrollBarBgOver: colorAlpha7_7a; // default scroll bar current rectangle with mouse over it +scrollBg: colorAlpha7_1a; // default scroll bar background +scrollBgOver: colorAlpha7_2c; // default scroll bar background with mouse over the scroll bar + +// Small +smallCloseIconFg: colorDarker7_40; // piccola croce ad esempio accanto all'header nel pannello emoji +smallCloseIconFgOver: color7; // come sopra ma con il cursore sopra + +// Radial +radialFg: windowFgActive; // [UNTESTED]: default radial loader line (like in Media Viewer when loading a photo) +radialBg: colorAlpha0_56; // [UNTESTED]: default radial loader background (like in Media Viewer when loading a photo) + +// Placeholder +placeholderFg: color7; // tipo il testo placeholder di deafult della barra di ricerca e dell'inserisci testo +placeholderFgActive: colorDarker7_40; // uguale a sopra, ma quando il field รจ in focus + +// Input +inputBorderFg: color7; // tipo l'fg della riga alternativa quando si sta creando un canale + +// Filter +filterInputBorderFg: colorLighter0_40; // bordo che appare quando si clicka nella barra di ricerca +filterInputInactiveBg: colorLighter0_40; // bg field di ricerca inattivo +filterInputActiveBg: colorLighter0_40; // bg field di ricerca attivo + +// Checkbox +checkboxFg: colorDarker7_40; // icone categorie emoji e anche caselle dei tick non "tickate" + +// Slider +sliderBgInactive: colorDarker7_40; // slider non attiva +sliderBgActive: windowBgActive; // slider attiva + +// Tooltip +tooltipBg: color7; // bg del tooltip field, tipo quando aspetti con il cursore sopra il timestamp del mex +tooltipFg: color0; // fg del tooltip +tooltipBorderFg: color7; // bordi del tooltip + +// Title +titleShadow: colorAlpha0_03; // [UNTESTED]: one pixel line shadow at the bottom of custom window title +titleBg: color0; // [UNTESTED]: custom window title background when window is inactive +titleBgActive: titleBg; // [UNTESTED]: custom window title background when window is active +titleButtonBg: titleBg; // [UNTESTED]: custom window title minimize/maximize/restore button background when window is inactive (Windows only) +titleButtonFg: color7; // [UNTESTED]: custom window title minimize/maximize/restore button icon when window is inactive (Windows only) +titleButtonBgOver: colorLighter0_40; // [UNTESTED]: custom window title minimize/maximize/restore button background with mouse over when window is inactive (Windows only) +titleButtonFgOver: colorLighter7_40; // [UNTESTED]: custom window title minimize/maximize/restore button icon with mouse over when window is inactive (Windows only) +titleButtonBgActive: titleButtonBg; // [UNTESTED]: custom window title minimize/maximize/restore button background when window is active (Windows only) +titleButtonFgActive: titleButtonFg; // [UNTESTED]: custom window title minimize/maximize/restore button icon when window is active (Windows only) +titleButtonBgActiveOver: titleButtonBgOver; // [UNTESTED]: custom window title minimize/maximize/restore button background with mouse over when window is active (Windows only) +titleButtonFgActiveOver: titleButtonFgOver; // [UNTESTED]: custom window title minimize/maximize/restore button icon with mouse over when window is active (Windows only) +titleButtonCloseBg: titleButtonBg; // [UNTESTED]: custom window title close button background when window is inactive (Windows only) +titleButtonCloseFg: titleButtonFg; // [UNTESTED]: custom window title close button icon when window is inactive (Windows only) +titleButtonCloseBgOver: colorLighter0_40; // [UNTESTED]: custom window title close button background with mouse over when window is inactive (Windows only) +titleButtonCloseFgOver: windowFgActive; // [UNTESTED]: custom window title close button icon with mouse over when window is inactive (Windows only) +titleButtonCloseBgActive: titleButtonCloseBg; // [UNTESTED]: custom window title close button background when window is active (Windows only) +titleButtonCloseFgActive: titleButtonCloseFg; // [UNTESTED]: custom window title close button icon when window is active (Windows only) +titleButtonCloseBgActiveOver: titleButtonCloseBgOver; // [UNTESTED]: custom window title close button background with mouse over when window is active (Windows only) +titleButtonCloseFgActiveOver: titleButtonCloseFgOver; // [UNTESTED]: custom window title close button icon with mouse over when window is active (Windows only) +titleFg: color7; // [UNTESTED]: custom window title text when window is inactive (macOS only) +titleFgActive: colorLighter7_40; // [UNTESTED]: custom window title text when window is active (macOS only) + +// Tray +trayCounterBg: color2; // [UNTESTED]: tray icon counter background +trayCounterBgMute: color0; // [UNTESTED]: tray icon counter background if all unread messages are muted +trayCounterFg: color7; // [UNTESTED]: tray icon counter text +trayCounterBgMacInvert: color7; // [UNTESTED]: tray icon counter background when tray icon is pressed or when dark theme of macOS is used (macOS only) +trayCounterFgMacInvert: color2; // [UNTESTED]: tray icon counter text when tray icon is pressed or when dark theme of macOS is used (macOS only) + +// Layer +layerBg: colorAlpha0_7f; // fade menu opzioni e menu sinistra + +// Cancel +cancelIconFg: colorDarker7_40; // fg croce per chiudere il menu opzioni e altre cose +cancelIconFgOver: color7; // uguale a sopra ma con cursore sopra la croce + +// Box +boxBg: windowBg; // bg menu opzioni +boxTextFg: windowFg; // fg menu opzioni +boxTextFgGood: color2; // [UNTESTED]: accepted box text (like when choosing username that is not occupied) +boxTextFgError: color1; // [UNTESTED]: rejecting box text (like when choosing username that is occupied) +boxTitleFg: colorLighter7_40; // testo delle box, tipo conferma dopo aver cambiato tema +boxSearchBg: color0; // bg field di ricerca delle box, tipo ricerca nell'opzione contatti nel menu a sinistra +boxTitleAdditionalFg: colorDarker7_40; // subtext del boxTitleFg, tipo dove puoi vedere il numero delle persone da aggiungere quando stai creando un gruppo +boxTitleCloseFg: cancelIconFg; // altre croci +boxTitleCloseFgOver: cancelIconFgOver; // altre croci con cursore sopra + +// Members +membersAboutLimitFg: color1; // testo quando si supera il limite di aggiunta membri (dato che รจ altissimo, impossibile da verificare XD) + +// Contacts +contactsBg: colorLighter0_40; // bg delle box che contengono i contatti nell'apposita sezione accessibile dal menu a sinistra +contactsBgOver: color0; // uguale a sopra ma con il cursore sopra +contactsNameFg: boxTextFg; // fg dei nomi dei contatti nella sezione descritta sopra +contactsStatusFg: colorDarker7_40; // fg dello status dei nomi dei contatti +contactsStatusFgOver: colorDarker7_40; // uguale a sopra ma con il cursore sopra +contactsStatusFgOnline: color2; // fg della scritta in linea nei contatti in linea appunto + +// Photo +photoCropFadeBg: layerBg; // lo sfondo del crop dell'immagine scelta (quando devi impostare una immagine per il gruppo o per il tuo profilo) +photoCropPointFg: colorAlpha7_7f; // rettangolini che delimitano l'immagine che si sta impostando + +// Call +callArrowFg: color2; // [UNTESTED]: received phone call arrow (in calls list box) +callArrowMissedFg: color1; // [UNTESTED]: missed phone call arrow (in calls list box) + +// Intro +introBg: windowBg; // [UNTESTED]: login background +introTitleFg: colorLighter7_40; // [UNTESTED]: login title text +introDescriptionFg: color7; // [UNTESTED]: login description text +introErrorFg: color1; // [UNTESTED]: login error text (like when providing a wrong log in code) +introCoverTopBg: color2; // [UNTESTED]: intro gradient top (from) +introCoverBottomBg: color2; // [UNTESTED]: intro gradient bottom (to) +introCoverIconsFg: colorLighter2_40; // [UNTESTED]: intro cloud graphics +introCoverPlaneTrace: colorLighter2_40; // [UNTESTED]: intro plane traces +introCoverPlaneInner: colorLighter1_40; // [UNTESTED]: intro plane part +introCoverPlaneOuter: color1; // [UNTESTED]: intro plane part +introCoverPlaneTop: colorLighter7_40; // [UNTESTED]: intro plane part + +// Dialogs default +dialogsMenuIconFg: menuIconFg; // main menu and lock telegram icon +dialogsMenuIconFgOver: menuIconFgOver; // main menu and lock telegram icon with mouse over +dialogsBg: windowBg; // box dialoghi bg +dialogsNameFg: colorLighter7_40; // box dialoghi fg nomi +dialogsChatIconFg: dialogsNameFg; // box dialoghi icone gruppo o contatto +dialogsDateFg: colorDarker7_40; // box dialoghi testo data +dialogsTextFg: color7; // box dialoghi testo messaggi (in piccolo sotto il nome) +dialogsTextFgService: color7; // box dialoghi testo messaggi del mittente +dialogsDraftFg: color1; // box dialoghi colore testo bozza +dialogsVerifiedIconBg: color2; // bg icona profilo verificato +dialogsVerifiedIconFg: color0; // fg icona profilo verificato +dialogsSendingIconFg: color2; // icona invio messaggio (orologio) +dialogsSentIconFg: color2; // singolo/doppi tick di conferma invio mex +dialogsUnreadBg: color1; // [UNTESTED]: chat list unread badge background for not muted chat +dialogsUnreadBgMuted: colorDarker7_40; // fg icona pinned per chat fissate +dialogsUnreadFg: colorLighter7_40; // [UNTESTED]: chat list unread badge text + +// Dialogs over +dialogsBgOver: colorLighter0_40; // cursore sopra dialog box +dialogsNameFgOver: windowBoldFgOver; // box dialoghi fg nomi con cursore sopra +dialogsChatIconFgOver: dialogsNameFgOver; // box dialoghi icone gruppo o contatto con cursore sopra +dialogsDateFgOver: colorDarker7_40; // box dialoghi testo data con cursore sopra +dialogsTextFgOver: color7; // box dialoghi testo messaggi (in piccolo sotto il nome) con cursore sopra +dialogsTextFgServiceOver: color7; // box dialoghi testo messaggi del mittente con cursore sopra +dialogsDraftFgOver: dialogsDraftFg; // box dialoghi colore testo bozza con cursore sopra +dialogsVerifiedIconBgOver: color2; // bg icona profilo verificato con cursore sopra +dialogsVerifiedIconFgOver: color0; // fg icona profilo verificato con cursore sopra +dialogsSendingIconFgOver: dialogsSendingIconFg; // icona invio messaggio (orologio) con cursore sopra +dialogsSentIconFgOver: color2; // singolo/doppi tick di conferma invio mex con cursore sopra +dialogsUnreadBgOver: colorDarker1_40; // [UNTESTED]: chat list unread badge background for not muted chat with mouse over +dialogsUnreadBgMutedOver: colorDarker7_40; // [UNTESTED]: chat list unread badge background for muted chat with mouse over +dialogsUnreadFgOver: dialogsUnreadFg; // [UNTESTED]: chat list unread badge text with mouse over + +// Dialogs active +dialogsBgActive: color2; // colore bg dialog box attiva +dialogsNameFgActive: windowBoldFgOver; // box dialoghi fg nomi attiva +dialogsChatIconFgActive: dialogsNameFgActive; // box dialoghi icone gruppo o contatto attiva +dialogsDateFgActive: colorLighter7_40; // box dialoghi testo data attiva +dialogsTextFgActive: colorLighter7_40; // box dialoghi testo messaggi (in piccolo sotto il nome) attiva +dialogsTextFgServiceActive: colorLighter7_40; // box dialoghi testo messaggi del mittente attiva +dialogsDraftFgActive: colorLighter7_40; // box dialoghi colore testo bozza attiva +dialogsVerifiedIconBgActive: dialogsTextFgActive; // [UNTESTED]: chat list verified icon background for current (active) chat +dialogsVerifiedIconFgActive: dialogsBgActive; // [UNTESTED]: chat list verified icon check for current (active) chat +dialogsSendingIconFgActive: colorLighter7_40; // icona invio messaggio (orologio) attiva +dialogsSentIconFgActive: dialogsTextFgActive; // singolo/doppi tick di conferma invio mex attiva +dialogsUnreadBgActive: dialogsTextFgActive; // [UNTESTED]: chat list unread badge background for not muted chat for current (active) chat +dialogsUnreadBgMutedActive: colorLighter7_40; // [UNTESTED]: chat list unread badge background for muted chat for current (active) chat +dialogsUnreadFgActive: colorLighter7_40; // [UNTESTED]: chat list unread badge text for current (active) chat + +// Dialogs ripple +dialogsRippleBg: colorLighter0_60; // effetto ripple sulla box dialoghi non attiva +dialogsRippleBgActive: colorLighter2_40; // effetto ripple sulla box dialoghi attiva + +// Dialogs forward +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) + +// Searched +searchedBarBg: colorLighter0_40; // bg della parte col testo quando si fa la ricerca dei messaggi in una singola chat +searchedBarFg: color7; // fg del testo dell'elemento descritto sopra + +// Top +topBarBg: color0; // bg della barra superiore della parte destra della schermata principale (dentro le chat) + +// Emoji +emojiPanBg: windowBg; // bg del pannello emoji +emojiPanCategories: color0; // bg della parte bassa del pannello emoji (categorie) +emojiPanHeaderFg: color7; // fg header descrittivo del pannello emoji +emojiPanHeaderBg: color0; // [UNTESTED]: bg dell'elemento descritto sopra +emojiIconFg: color7; // fg dell'emoji non attiva (parte finale del pannello emoji) +emojiIconFgActive: color2; // fg dell'emoji attiva + +// Sticker +stickerPanDeleteBg: colorAlpha0_cc; // [UNTESTED]: delete X button background for custom sent stickers in stickers panel (legacy) +stickerPanDeleteFg: windowFgActive; // [UNTESTED]: delete X button icon for custom sent stickers in stickers panel (legacy) +stickerPreviewBg: colorAlpha0_b0; // sticker and GIF preview background (when you press and hold on a sticker) + +// History +historyTextInFg: windowFg; // inbox testo mex non selezionato +historyTextInFgSelected: colorLighter7_40; // inbox testo mex selezionato +historyTextOutFg: color7; // outbox testo mex non selezionato +historyTextOutFgSelected: colorLighter7_40; // outbox testo mex selezionato +historyLinkInFg: color2; // inbox testo link mex non selezionato +historyLinkInFgSelected: colorLighter7_40; // inbox testo link mex selezionato +historyLinkOutFg: color2; // outbox testo link mex non selezionato +historyLinkOutFgSelected: colorLighter7_40; // outbox testo link mex selezionato +historyFileNameInFg: historyTextInFg; // inbox testo filename media non selezionato +historyFileNameInFgSelected: colorLighter7_40; // inbox testo filename media selezionato +historyFileNameOutFg: historyTextOutFg; // outbox testo filename media non selezionato +historyFileNameOutFgSelected: colorLighter7_40; // outbox testo filename media selezionato +historyOutIconFg: color2; // outbox tick/doppio tick testo non selezionato +historyOutIconFgSelected: colorLighter7_40; // outbox tick/doppio tick testo selezionato +historyIconFgInverted: color2; // outbox tick/doppio tick media +historySendingOutIconFg: color2; // outbox icona invio mex (orologio) +historySendingInIconFg: color2; // inbox icona invio mex (orologio) +historySendingInvertedIconFg: colorAlpha2_c8; // inbox icona invio media (orologio) +historyCallArrowInFg: color1; // [UNTESTED]: received phone call arrow +historyCallArrowInFgSelected: colorLighter7_40; // [UNTESTED]: received phone call arrow in a selected message +historyCallArrowMissedInFg: callArrowMissedFg; // [UNTESTED]: missed phone call arrow +historyCallArrowMissedInFgSelected: colorLighter7_40; // [UNTESTED]: missed phone call arrow in a selected message +historyCallArrowOutFg: colorLighter7_40; // [UNTESTED]: outgoing phone call arrow +historyCallArrowOutFgSelected: colorLighter7_40; // [UNTESTED]: outgoing phone call arrow +historyUnreadBarBg: color0; // [UNTESTED]: new unread messages bar background +historyUnreadBarBorder: shadowFg; // [UNTESTED]: new unread messages bar shadow +historyUnreadBarFg: color1; // [UNTESTED]: new unread messages bar text +historyForwardChooseBg: colorAlpha0_4c; // [UNTESTED]: forwarding messages in a large window size "choose recipient" background +historyForwardChooseFg: windowFgActive; // [UNTESTED]: forwarding messages in a large window size "choose recipient" text +historyPeer1NameFg: color1; // nome user 1 mex non selezionato +historyPeer1NameFgSelected: colorLighter7_40; // nome user 1 mex selezionato +historyPeer1UserpicBg: color1; // bg userpic 1 +historyPeer2NameFg: color2; // nome user 2 mex non selezionato +historyPeer2NameFgSelected: colorLighter7_40; // nome user 2 mex selezionato +historyPeer2UserpicBg: color2; // bg userpic 2 +historyPeer3NameFg: color3; // nome user 3 mex non selezionato +historyPeer3NameFgSelected: colorLighter7_40; // nome user 3 mex selezionato +historyPeer3UserpicBg: color3; // bg userpic 3 +historyPeer4NameFg: color4; // nome user 4 mex non selezionato +historyPeer4NameFgSelected: colorLighter7_40; // nome user 4 mex selezionato +historyPeer4UserpicBg: color4; // bg userpic 4 +historyPeer5NameFg: color5; // nome user 5 mex non selezionato +historyPeer5NameFgSelected: colorLighter7_40; // nome user 5 mex selezionato +historyPeer5UserpicBg: color5; // bg userpic 5 +historyPeer6NameFg: color6; // nome user 6 mex non selezionato +historyPeer6NameFgSelected: colorLighter7_40; // nome user 6 mex selezionato +historyPeer6UserpicBg: color6; // bg userpic 6 +historyPeer7NameFg: color7; // nome user 7 mex non selezionato +historyPeer7NameFgSelected: colorLighter7_40; // nome user 7 mex selezionato +historyPeer7UserpicBg: color7; // bg userpic 7 +historyPeer8NameFg: color8; // nome user 8 mex non selezionato +historyPeer8NameFgSelected: colorLighter7_40; // nome user 8 mex selezionato +historyPeer8UserpicBg: color8; // bg userpic 8 +historyPeerUserpicFg: windowFgActive; // fg iniziali userpic +historyScrollBarBg: colorAlpha7_7a; // bg contenitore barra normale +historyScrollBarBgOver: colorAlpha7_bc; // bg contenitore barra con cursore sopra +historyScrollBg: colorAlpha7_4c; // bg barra normale +historyScrollBgOver: colorAlpha7_6b; // bg barra con cursore sopra + +// Msg +msgInBg: color0; // inbox mex bg non selezionato +msgInBgSelected: color2; // inbox mex bg selezionato +msgOutBg: color0; // outbox mex bg non selezionato +msgOutBgSelected: color2; // outbox mex bg selezionato +msgSelectOverlay: colorAlpha2_4c; // overlay sopra il mex selezionato +msgStickerOverlay: colorAlpha2_7f; // overlay sopra lo sticker selezionato +msgInServiceFg: windowActiveTextFg; // inbox colore testo informazioni tipo inoltrato da... non selezionato +msgInServiceFgSelected: colorLighter7_40; // inbox colore testo informazioni tipo inoltrato da... selezionato +msgOutServiceFg: color2; // outbox colore testo informazioni tipo inoltrato da... non selezionato +msgOutServiceFgSelected: colorLighter7_40; // outbox colore testo informazioni tipo inoltrato da... selezionato +msgInShadow: colorAlpha0_00; // inbox ombre mex non selezionato +msgInShadowSelected: colorAlpha2_00; // inbox ombra mex selezionato +msgOutShadow: colorAlpha0_00; // outbox ombra mex non selezionato +msgOutShadowSelected: colorAlpha2_00; // outbox ombra mex selezionato +msgInDateFg: colorDarker7_40; // inbox ore invio mex non selezionato +msgInDateFgSelected: colorLighter7_40; // inbox ore invio mex selezionato +msgOutDateFg: colorDarker7_40; // outbox ore invo mex non selezionato +msgOutDateFgSelected: colorLighter7_40; // outbox ore invio mex selezionato +msgServiceFg: windowFgActive; // fg mex di servizio (tipo data mex, titolo del gruppo cambiato e cosรฌ via) +msgServiceBg: color0; // bg mex di servizio non selezionato +msgServiceBgSelected: color2; // bg mex di servizio selezionato +msgInReplyBarColor: color2; // inbox colore testo tipo inoltrato da ecc... non selezionato +msgInReplyBarSelColor: colorLighter7_40; // inbox colore testo tipo inoltrato da ecc.... selezionato +msgOutReplyBarColor: color2; // outbox colore testo tipo inoltrato da ecc.... non selezionato +msgOutReplyBarSelColor: colorLighte7_40; // outbox colore testo tipo inoltrato da ecc.... selezionato +msgImgReplyBarColor: msgServiceFg; // [UNTESTED]: colore testo inoltrato qunado si tratta di immagini +msgInMonoFg: color7; // inbox mex monospace non selezionato +msgInMonoFgSelected: colorLighter7_40; // inbox mex monospace selezionato +msgOutMonoFg: color7; // outbox mex monospace non selezionato +msgOutMonoFgSelected: colorLighter7_40; // outbox mex monospace selezionato +msgDateImgFg: msgServiceFg; // mex media fg bolla ore invio +msgDateImgBg: colorAlpha0_54; // mex media bg bolla ore invio +msgDateImgBgOver: colorAlpha0_74; // mex media bg bolla ore invio con cursore sopra +msgDateImgBgSelected: colorAlpha2_87; // mex media bg bolla ore invio selezionato +msgFileThumbLinkInFg: lightButtonFg; // inbox file media file mex scarica non selezionato +msgFileThumbLinkInFgSelected: lightButtonFgOver; // inbox file media file mex scarica selezionato +msgFileThumbLinkOutFg: color2; // outbox file media file mex scarica non selezionato +msgFileThumbLinkOutFgSelected: colorLighter7_40; // outbox file media file mex scarica selezionato +msgFileInBg: color2; // inbox bg file audio cerchio download +msgFileInBgOver: colorLighter2_30; // inbox bg file audio cerchio download con cursore sopra +msgFileInBgSelected: colorLighter2_50; // inbox bg file audio cerchio download selezionato +msgFileOutBg: color2; // outbox bg file audio cerchio download +msgFileOutBgOver: colorLighter2_30; // outbox bg file audio cerchio download con cursore sopra +msgFileOutBgSelected: colorLighter2_50; // outbox bg file audio cerchio download selezionato +msgFile1Bg: color1; // [UNTESTED]: blue shared links / files without image square thumbnail +msgFile1BgDark: colorDarker1_30; // [UNTESTED]: blue shared files without image download circle background +msgFile1BgOver: colorLighter1_40; // [UNTESTED]: blue shared files without image download circle background with mouse over +msgFile1BgSelected: colorLighter7_40; // [UNTESTED]: blue shared files without image download circle background if file is selected +msgFile2Bg: color2; // [UNTESTED]: green shared links / shared files without image square thumbnail +msgFile2BgDark: colorDarker2_30; // [UNTESTED]: green shared files without image download circle background +msgFile2BgOver: colorLighter2_40; // [UNTESTED]: green shared files without image download circle background with mouse over +msgFile2BgSelected: colorLighter7_40; // [UNTESTED]: green shared files without image download circle background if file is selected +msgFile3Bg: color3; // [UNTESTED]: red shared links / shared files without image square thumbnail +msgFile3BgDark: colorDarker3_30; // [UNTESTED]: red shared files without image download circle background +msgFile3BgOver: colorLighter3_40; // [UNTESTED]: red shared files without image download circle background with mouse over +msgFile3BgSelected: colorLighter7_40; // [UNTESTED]: red shared files without image download circle background if file is selected +msgFile4Bg: color4; // [UNTESTED]: yellow shared links / shared files without image square thumbnail +msgFile4BgDark: colorDarker4_30; // [UNTESTED]: yellow shared files without image download circle background +msgFile4BgOver: colorLighter4_40; // [UNTESTED]: yellow shared files without image download circle background with mouse over +msgFile4BgSelected: colorLighter7_40; // [UNTESTED]: yellow shared files without image download circle background if file is selected +msgWaveformInActive: windowBgActive; // inbox ondina audio inattivo non selezionato +msgWaveformInActiveSelected: colorLighter7_40; // inbox ondina audio inattivo selezionato +msgWaveformInInactive: colorDarker7_30; // inbox ondina audio attivo non selezionato +msgWaveformInInactiveSelected: colorLighter2_40; // inbox ondina audio attivo selezionato +msgWaveformOutActive: color2; // outbox ondina audio inattivo non selezionato +msgWaveformOutActiveSelected: colorLighter7_40; // outbox ondina audio inattivo selezionato +msgWaveformOutInactive: colorDarker7_30; // outbox ondina audio attivo non selezionato +msgWaveformOutInactiveSelected: colorLighter2_40; // outbox ondina audio attivo selezionato +msgBotKbOverBgAdd: colorAlpha7_14; // [UNTESTED]: this is painted over a bot inline keyboard button (which has msgServiceBg background) when mouse is over that button +msgBotKbIconFg: msgServiceFg; // [UNTESTED]: bot inline keyboard button icon in the top-right corner (like in @vote bot when a poll is ready to be shared) +msgBotKbRippleBg: colorAlpha1_10; // [UNTESTED]: bot inline keyboard button ripple effect + +// Download animations +historyFileInIconFg: color0; // inbox freccia scaricamento file non selezionato +historyFileInIconFgSelected: color2; // inbox freccia scaricamento file selezionato +historyFileInRadialFg: color0; // inbox particella animazione scaricamento file non selezionato +historyFileInRadialFgSelected: historyFileInIconFgSelected; // inbox particella animazione scaricamento file selezionato +historyFileOutIconFg: color0; // outbox freccia scaricamento file non selezionato +historyFileOutIconFgSelected: color2; // outbox freccia scaricamento file selezionato +historyFileOutRadialFg: historyFileOutIconFg; // outbox particella animazione scaricamento file non selezionato +historyFileOutRadialFgSelected: color2; // outbox particella animazione scaricamento file selezionato +historyFileThumbIconFg: colorLighter7_40; // fg freccia scaricamento foto/video non selezionato +historyFileThumbIconFgSelected: colorLighter7_40; // fg freccia scariamento foto/video selezionato +historyFileThumbRadialFg: historyFileThumbIconFg; // fg particella animazione scaricamento foto/video non selezionato +historyFileThumbRadialFgSelected: colorLighter7_40; // fg particella animazione scaricamento foto/video selezionato +historyVideoMessageProgressFg: historyFileThumbIconFg; // [UNTESTED]: radial playback progress in round video messages + +// YouTube +youtubePlayIconBg: #83131c8; // [UNTESTED]: youtube play icon background (when a link to a youtube video with a webpage preview is sent) +youtubePlayIconFg: windowFgActive; // [UNTESTED]: youtube play icon arrow (when a link to a youtube video with a webpage preview is sent) + +// Video +videoPlayIconBg: colorAlpha0_7f; // [UNTESTED]: other video play icon background (like when a link to a vimeo video with a webpage preview is sent) +videoPlayIconFg: colorLighter7_40; // [UNTESTED]: other video play icon arrow (like when a link to a vimeo video with a webpage preview is sent) + +// Toast +toastBg: colorAlpha0_b2; // [UNTESTED]: toast notification background (like when you click on your t.me link when editing your username) +toastFg: windowFgActive; // [UNTESTED]: toast notification text (like when you click on your t.me link when editing your username) + +// Report +reportSpamBg: color0; // [UNTESTED]: report spam panel background (like a non contact user writes your for the first time) +reportSpamFg: windowFg; // [UNTESTED]: report spam panel text (when you send a report from that panel) + +// Composition area +historyToDownBg: color0; // bg bottone a freccia per scorrere in fondo alla chat +historyToDownBgOver: colorLighter0_40; // bg bottone a freccia per scorrere in fondo alla chat con cursore sopra +historyToDownBgRipple: colorLighter0_60; // bg bottone a freccia per scorrere in fondo alla chat selezionato +historyToDownFg: color7; // fg bottone a freccia per scorrere in fondo alla chat +historyToDownFgOver: menuIconFgOver; // fg bottone a freccia per scorrere in fondo alla chat con cursore sopra +historyToDownShadow: colorAlpha0_40; // ombra del bottone +historyComposeAreaBg: color0; // bg area di composizione in basso a destra della schermata principale +historyComposeAreaFg: historyTextInFg; // fg dell'area appena citata +historyComposeAreaFgService: msgInDateFg; // testo mex selezionato nell'area di composizione +historyComposeIconFg: menuIconFg; // fg icone dell'area composizione +historyComposeIconFgOver: menuIconFgOver; // fg icone dell'area composizione con cursore sopra +historySendIconFg: windowBgActive; // fg icona invio messaggio +historySendIconFgOver: windowBgActive; // fg icona invio messaggio con cursore sopra +historyPinnedBg: historyComposeAreaBg; // [UNTESTED]: pinned message area background +historyReplyBg: historyComposeAreaBg; // bg area rispondi, inoltra, modfica mex +historyReplyIconFg: windowBgActive; // fg icona freccia verso sinistra in area rispondi, inoltra, modifica mex +historyReplyCancelFg: cancelIconFg; // fg icona croce in area rispondi, inoltra, modifica mex +historyReplyCancelFgOver: cancelIconFgOver; // fg icona croce in area rispondi, inoltra, modifica mex con cursore sopra +historyComposeButtonBg: historyComposeAreaBg; // [UNTESTED]: unblock / join channel / mute channel button background +historyComposeButtonBgOver: colorLighter0_40; // [UNTESTED]: unblock / join channel / mute channel button background with mouse over +historyComposeButtonBgRipple: colorLighter0_60; // [UNTESTED]: unblock / join channel / mute channel button ripple effect + +// Overview +overviewCheckBg: colorAlpha0_40; // [UNTESTED]: shared files / links checkbox background for not selected rows when some rows are selected +overviewCheckFg: colorLighter7_40; // [UNTESTED]: shared files / links checkbox icon for not selected rows when some rows are selected +overviewCheckFgActive: colorLighter7_40; // [UNTESTED]: shared files / links checkbox icon for selected rows +overviewPhotoSelectOverlay: colorAlpha1_33; // [UNTESTED]: shared photos / videos / links fill for selected rows + +// Profile +profileStatusFgOver: color1; // [UNTESTED]: group members list in group profile user last seen text with mouse over +profileVerifiedCheckBg: windowBgActive; // [UNTESTED]: profile verified check icon background +profileVerifiedCheckFg: windowFgActive; // [UNTESTED]: profile verified check icon tick +profileAdminStartFg: windowBgActive; // [UNTESTED]: group members list admin star icon + +// Notifications +notificationsBoxMonitorFg: windowFg; // [UNTESTED]: custom notifications settings box monitor color +notificationsBoxScreenBg: dialogsBgActive; // [UNTESTED]: #6389a8; // custom notifications settings box monitor screen background +notificationSampleUserpicFg: windowBgActive; // [UNTESTED]: custom notifications settings box small sample userpic placeholder +notificationSampleCloseFg: color7; // [UNTESTED]: custom notifications settings box small sample close button placeholder +notificationSampleTextFg: color7; // [UNTESTED]: custom notifications settings box small sample text placeholder +notificationSampleNameFg: colorLighter0_40; // [UNTESTED]: custom notifications settings box small sample name placeholder + +// Change +changePhoneSimcardFrom: notificationSampleTextFg; // [UNTESTED]: change phone number box left simcard icon +changePhoneSimcardTo: notificationSampleNameFg; // [UNTESTED]: change phone number box right simcard and plane icons + +// Main +mainMenuBg: windowBg; // bg menu a sinstra +mainMenuCoverBg: color2; // bg top cover menu a sinistra (parte sopra) +mainMenuCoverFg: windowFgActive; // fg top cover menu a sinistra +mainMenuCloudFg: colorLighter7_40; // fg icona nuvoletta nel menu a sinistra +mainMenuCloudBg: color4; // bg icona nuvoletta nel menu a sinistra + +// Media +mediaInFg: msgInDateFg; // inbox testo di status (tipo peso del file audio) non selezionato +mediaInFgSelected: msgInDateFgSelected; // inbox testo di status (tipo peso del file audio) selezionato +mediaOutFg: msgOutDateFg; // outbox testo di status (tipo peso del file audio) non selezionato +mediaOutFgSelected: msgOutDateFgSelected; // outbox testo di status (tipo peso del file audio) selezionato +mediaPlayerBg: windowBg; // [UNTESTED]: audio file player background +mediaPlayerActiveFg: windowBgActive; // [UNTESTED]: audio file player playback progress already played part +mediaPlayerInactiveFg: sliderBgInactive; // [UNTESTED]: audio file player playback progress upcoming (not played yet) part with mouse over +mediaPlayerDisabledFg: color1; // [UNTESTED]: audio file player loading progress (when you're playing an audio file and switch to the previous one which is not loaded yet) + +// Mediaview +mediaviewFileBg: windowBg; // [UNTESTED]: file rectangle background (when you view a png file in Media Viewer and go to a previous, not loaded yet, file) +mediaviewFileNameFg: windowFg; // [UNTESTED]: file name in file rectangle +mediaviewFileSizeFg: windowSubTextFg; // [UNTESTED]: file size text in file rectangle +mediaviewFileRedCornerFg: color1; // [UNTESTED]: red file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .pdf) +mediaviewFileYellowCornerFg: color2; // [UNTESTED]: yellow file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .zip) +mediaviewFileGreenCornerFg: color3; // [UNTESTED]: green file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .exe) +mediaviewFileBlueCornerFg: color4; // [UNTESTED]: blue file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .dmg) +mediaviewFileExtFg: activeButtonFg; // [UNTESTED]: file extension text in file thumbnail placeholder in file rectangle +mediaviewMenuBg: color0; // [UNTESTED]: context menu in Media Viewer background +mediaviewMenuBgOver: colorLighter0_40; // [UNTESTED]: context menu item background with mouse over +mediaviewMenuBgRipple: colorLighter0_60; // [UNTESTED]: context menu item ripple effect +mediaviewMenuFg: windowFgActive; // [UNTESTED]: context menu item text +mediaviewBg: colorDarker0_30; // [UNTESTED]: media viewer background +mediaviewVideoBg: imageBg; // [UNTESTED]: media viewer background when viewing a video in full screen +mediaviewControlBg: colorDarker0_50; // [UNTESTED]: controls background (like next photo / previous photo) +mediaviewControlFg: windowFgActive; // [UNTESTED]: controls icon (like next photo / previous photo) +mediaviewCaptionBg: colorDarker0_50; // [UNTESTED]: caption text background (when viewing photo with caption) +mediaviewCaptionFg: mediaviewControlFg; // [UNTESTED]: caption text +mediaviewTextLinkFg: color7; // [UNTESTED]: caption text link +mediaviewSaveMsgBg: toastBg; // [UNTESTED]: save to file toast message background in Media Viewer +mediaviewSaveMsgFg: toastFg; // [UNTESTED]: save to file toast message text +mediaviewPlaybackActive: color7; // [UNTESTED]: video playback progress already played part +mediaviewPlaybackInactive: colorDarker7_50; // [UNTESTED]: video playback progress upcoming (not played yet) part +mediaviewPlaybackActiveOver: colorLighter7_40; // [UNTESTED]: video playback progress already played part with mouse over +mediaviewPlaybackInactiveOver: colorDarker7_30; // [UNTESTED]: video playback progress upcoming (not played yet) part with mouse over +mediaviewPlaybackProgressFg: colorLighter7_40; // [UNTESTED]: video playback progress text +mediaviewPlaybackIconFg: mediaviewPlaybackActive; // [UNTESTED]: video playback controls icon +mediaviewPlaybackIconFgOver: mediaviewPlaybackActiveOver; // [UNTESTED]: video playback controls icon with mouse over +mediaviewTransparentBg: colorLighter7_40; // [UNTESTED]: transparent filling part (when viewing a transparent .png file in Media Viewer) +mediaviewTransparentFg: color7; // [UNTESTED]: another transparent filling part +notificationBg: windowBg; // [UNTESTED]: custom notification window background + +// Call +callBg: colorAlpha0_f2; // [UNTESTED]: phone call popup background +callNameFg: colorLighter7_40; // [UNTESTED]: phone call popup name text +callFingerprintBg: colorAlpha0_66; // [UNTESTED]: phone call popup emoji fingerprint background +callStatusFg: color7; // [UNTESTED]: phone call popup status text +callIconFg: colorLighter7_40; // [UNTESTED]: phone call popup answer, hangup and mute mic icon +callAnswerBg: color2; // [UNTESTED]: phone call popup answer button background +callAnswerRipple: colorDarker2_30; // [UNTESTED]: phone call popup answer button ripple effect +callAnswerBgOuter: colorLighter2_30; // [UNTESTED]: phone call popup answer button outer ripple effect +callHangupBg: color1; // [UNTESTED]: phone call popup hangup button background +callHangupRipple: colorDarker1_30; // [UNTESTED]: phone call popup hangup button ripple effect +callCancelBg: colorLighter7_40; // [UNTESTED]: phone call popup line busy cancel button background +callCancelFg: colorDarker7_40; // [UNTESTED]: phone call popup line busy cancel button icon +callCancelRipple: colorLighter7_40; // [UNTESTED]: phone call popup line busy cancel button ripple effect +callMuteRipple: #ffffff12; // [UNTESTED]: phone call popup mute mic ripple effect +callBarBg: dialogsBgActive; // [UNTESTED]: active phone call bar background +callBarMuteRipple: dialogsRippleBgActive; // [UNTESTED]: active phone call bar mute and hangup button ripple effect +callBarBgMuted: colorLighter0_40; // [UNTESTED]: phone call bar with muted mic background +callBarUnmuteRipple: colorLighter0_40; // [UNTESTED]: phone call bar with muted mic mute and hangup button ripple effect +callBarFg: dialogsNameFgActive; // [UNTESTED]: phone call bar text and icons + +// Important +importantTooltipBg: toastBg; // [UNTESTED]: +importantTooltipFg: toastFg; // [UNTESTED]: +importantTooltipFgLink: color2; // [UNTESTED]: + +// Bot +botKbBg: color0; // [UNTESTED]: +botKbDownBg: colorLighter0_40; // [UNTESTED]: + +// Overview +overviewCheckBorder: color2; // [UNTESTED]: diff --git a/.local/usr/wal-telegram/wal-telegram b/.local/usr/wal-telegram/wal-telegram new file mode 100755 index 0000000..0a1f24b --- /dev/null +++ b/.local/usr/wal-telegram/wal-telegram @@ -0,0 +1,257 @@ +#!/usr/bin/env bash +# +# A script to create Telegram palettes that use colors generated by pywal/wal. +# Requires pywal or wal, bash and cat. + +# shellcheck source=/dev/null +. "${HOME}/.cache/wal/colors.sh" + +# Prepare the conditions for the other functions. +prepare() { + pre="${HOME}/.cache/wal-telegram" + mkdir -p "$pre" + rm -f "${pre}/background".* + rm -f "${pre}/colors.tdesktop-palette" + wal_path="$(<"${HOME}/.cache/wal/wal")" + wal_ext="${wal_path##*.}" + cp "$wal_path" "${pre}/background.${wal_ext}" +} + +# Lighten/darken by 20%, 30%, 40%, 50%, 60% some colors using only pure bash. +create_colors() { + colors=(0 1 2 7) + for i in "${colors[@]}"; do + color="color${i}" + c_rgb_12d="$(( 0x"${!color:1:2}" ))" + c_rgb_34d="$(( 0x"${!color:3:2}" ))" + c_rgb_56d="$(( 0x"${!color:5:2}" ))" + c_rgb_12d_20l="$(( c_rgb_12d + "$((c_rgb_12d / 5))" ))" + c_rgb_34d_20l="$(( c_rgb_34d + "$((c_rgb_34d / 5))" ))" + c_rgb_56d_20l="$(( c_rgb_56d + "$((c_rgb_56d / 5))" ))" + [[ "${c_rgb_12d_20l}" -ge 255 ]] && c_rgb_12d_20l=255 + [[ "${c_rgb_34d_20l}" -ge 255 ]] && c_rgb_34d_20l=255 + [[ "${c_rgb_56d_20l}" -ge 255 ]] && c_rgb_56d_20l=255 + printf -v c_hex_12d_20l '%x' "$c_rgb_12d_20l" + printf -v c_hex_34d_20l '%x' "$c_rgb_34d_20l" + printf -v c_hex_56d_20l '%x' "$c_rgb_56d_20l" + [[ "${#c_hex_12d_20l}" -eq 1 ]] && c_hex_12d_20l="0${c_hex_12d_20l}" + [[ "${#c_hex_34d_20l}" -eq 1 ]] && c_hex_34d_20l="0${c_hex_34d_20l}" + [[ "${#c_hex_56d_20l}" -eq 1 ]] && c_hex_56d_20l="0${c_hex_56d_20l}" + c_hex_20l="#${c_hex_12d_20l}${c_hex_34d_20l}${c_hex_56d_20l}" + declare -g color"${i}"_lighter_20="$c_hex_20l" + c_rgb_12d_30l="$(( c_rgb_12d + "$((c_rgb_12d * 3 / 10))" ))" + c_rgb_34d_30l="$(( c_rgb_34d + "$((c_rgb_34d * 3 / 10))" ))" + c_rgb_56d_30l="$(( c_rgb_56d + "$((c_rgb_56d * 3 / 10))" ))" + [[ "${c_rgb_12d_30l}" -ge 255 ]] && c_rgb_12d_30l=255 + [[ "${c_rgb_34d_30l}" -ge 255 ]] && c_rgb_34d_30l=255 + [[ "${c_rgb_56d_30l}" -ge 255 ]] && c_rgb_56d_30l=255 + printf -v c_hex_12d_30l '%x' "$c_rgb_12d_30l" + printf -v c_hex_34d_30l '%x' "$c_rgb_34d_30l" + printf -v c_hex_56d_30l '%x' "$c_rgb_56d_30l" + [[ "${#c_hex_12d_30l}" -eq 1 ]] && c_hex_12d_30l="0${c_hex_12d_30l}" + [[ "${#c_hex_34d_30l}" -eq 1 ]] && c_hex_34d_30l="0${c_hex_34d_30l}" + [[ "${#c_hex_56d_30l}" -eq 1 ]] && c_hex_56d_30l="0${c_hex_56d_30l}" + c_hex_30l="#${c_hex_12d_30l}${c_hex_34d_30l}${c_hex_56d_30l}" + declare -g color"${i}"_lighter_30="$c_hex_30l" + c_rgb_12d_40l="$(( c_rgb_12d + "$((c_rgb_12d * 2 / 5))" ))" + c_rgb_34d_40l="$(( c_rgb_34d + "$((c_rgb_34d * 2 / 5))" ))" + c_rgb_56d_40l="$(( c_rgb_56d + "$((c_rgb_56d * 2 / 5))" ))" + [[ "${c_rgb_12d_40l}" -ge 255 ]] && c_rgb_12d_40l=255 + [[ "${c_rgb_34d_40l}" -ge 255 ]] && c_rgb_34d_40l=255 + [[ "${c_rgb_56d_40l}" -ge 255 ]] && c_rgb_56d_40l=255 + printf -v c_hex_12d_40l '%x' "$c_rgb_12d_40l" + printf -v c_hex_34d_40l '%x' "$c_rgb_34d_40l" + printf -v c_hex_56d_40l '%x' "$c_rgb_56d_40l" + [[ "${#c_hex_12d_40l}" -eq 1 ]] && c_hex_12d_40l="0${c_hex_12d_40l}" + [[ "${#c_hex_34d_40l}" -eq 1 ]] && c_hex_34d_40l="0${c_hex_34d_40l}" + [[ "${#c_hex_56d_40l}" -eq 1 ]] && c_hex_56d_40l="0${c_hex_56d_40l}" + c_hex_40l="#${c_hex_12d_40l}${c_hex_34d_40l}${c_hex_56d_40l}" + declare -g color"${i}"_lighter_40="$c_hex_40l" + c_rgb_12d_50l="$(( c_rgb_12d + "$((c_rgb_12d / 2))" ))" + c_rgb_34d_50l="$(( c_rgb_34d + "$((c_rgb_34d / 2))" ))" + c_rgb_56d_50l="$(( c_rgb_56d + "$((c_rgb_56d / 2))" ))" + [[ "${c_rgb_12d_50l}" -ge 255 ]] && c_rgb_12d_50l=255 + [[ "${c_rgb_34d_50l}" -ge 255 ]] && c_rgb_34d_50l=255 + [[ "${c_rgb_56d_50l}" -ge 255 ]] && c_rgb_56d_50l=255 + printf -v c_hex_12d_50l '%x' "$c_rgb_12d_50l" + printf -v c_hex_34d_50l '%x' "$c_rgb_34d_50l" + printf -v c_hex_56d_50l '%x' "$c_rgb_56d_50l" + [[ "${#c_hex_12d_50l}" -eq 1 ]] && c_hex_12d_50l="0${c_hex_12d_50l}" + [[ "${#c_hex_34d_50l}" -eq 1 ]] && c_hex_34d_50l="0${c_hex_34d_50l}" + [[ "${#c_hex_56d_50l}" -eq 1 ]] && c_hex_56d_50l="0${c_hex_56d_50l}" + c_hex_50l="#${c_hex_12d_50l}${c_hex_34d_50l}${c_hex_56d_50l}" + declare -g color"${i}"_lighter_50="$c_hex_50l" + c_rgb_12d_60l="$(( c_rgb_12d + "$((c_rgb_12d * 3 / 5))" ))" + c_rgb_34d_60l="$(( c_rgb_34d + "$((c_rgb_34d * 3 / 5))" ))" + c_rgb_56d_60l="$(( c_rgb_56d + "$((c_rgb_56d * 3 / 5))" ))" + [[ "${c_rgb_12d_60l}" -ge 255 ]] && c_rgb_12d_60l=255 + [[ "${c_rgb_34d_60l}" -ge 255 ]] && c_rgb_34d_60l=255 + [[ "${c_rgb_56d_60l}" -ge 255 ]] && c_rgb_56d_60l=255 + printf -v c_hex_12d_60l '%x' "$c_rgb_12d_60l" + printf -v c_hex_34d_60l '%x' "$c_rgb_34d_60l" + printf -v c_hex_56d_60l '%x' "$c_rgb_56d_60l" + [[ "${#c_hex_12d_60l}" -eq 1 ]] && c_hex_12d_60l="0${c_hex_12d_60l}" + [[ "${#c_hex_34d_60l}" -eq 1 ]] && c_hex_34d_60l="0${c_hex_34d_60l}" + [[ "${#c_hex_56d_60l}" -eq 1 ]] && c_hex_56d_60l="0${c_hex_56d_60l}" + c_hex_60l="#${c_hex_12d_60l}${c_hex_34d_60l}${c_hex_56d_60l}" + declare -g color"${i}"_lighter_60="$c_hex_60l" + c_rgb_12d_20d="$(( c_rgb_12d - "$((c_rgb_12d / 5))" ))" + c_rgb_34d_20d="$(( c_rgb_34d - "$((c_rgb_34d / 5))" ))" + c_rgb_56d_20d="$(( c_rgb_56d - "$((c_rgb_56d / 5))" ))" + printf -v c_hex_12d_20d '%x' "$c_rgb_12d_20d" + printf -v c_hex_34d_20d '%x' "$c_rgb_34d_20d" + printf -v c_hex_56d_20d '%x' "$c_rgb_56d_20d" + [[ "${#c_hex_12d_20d}" -eq 1 ]] && c_hex_12d_20d="0${c_hex_12d_20d}" + [[ "${#c_hex_34d_20d}" -eq 1 ]] && c_hex_34d_20d="0${c_hex_34d_20d}" + [[ "${#c_hex_56d_20d}" -eq 1 ]] && c_hex_56d_20d="0${c_hex_56d_20d}" + c_hex_20d="#${c_hex_12d_20d}${c_hex_34d_20d}${c_hex_56d_20d}" + declare -g color"${i}"_darker_20="$c_hex_20d" + c_rgb_12d_30d="$(( c_rgb_12d - "$((c_rgb_12d * 3 / 10))" ))" + c_rgb_34d_30d="$(( c_rgb_34d - "$((c_rgb_34d * 3 / 10))" ))" + c_rgb_56d_30d="$(( c_rgb_56d - "$((c_rgb_56d * 3 / 10))" ))" + printf -v c_hex_12d_30d '%x' "$c_rgb_12d_30d" + printf -v c_hex_34d_30d '%x' "$c_rgb_34d_30d" + printf -v c_hex_56d_30d '%x' "$c_rgb_56d_30d" + [[ "${#c_hex_12d_30d}" -eq 1 ]] && c_hex_12d_30d="0${c_hex_12d_30d}" + [[ "${#c_hex_34d_30d}" -eq 1 ]] && c_hex_34d_30d="0${c_hex_34d_30d}" + [[ "${#c_hex_56d_30d}" -eq 1 ]] && c_hex_56d_30d="0${c_hex_56d_30d}" + c_hex_30d="#${c_hex_12d_30d}${c_hex_34d_30d}${c_hex_56d_30d}" + declare -g color"${i}"_darker_30="$c_hex_30d" + c_rgb_12d_40d="$(( c_rgb_12d - "$((c_rgb_12d * 2 / 5))" ))" + c_rgb_34d_40d="$(( c_rgb_34d - "$((c_rgb_34d * 2 / 5))" ))" + c_rgb_56d_40d="$(( c_rgb_56d - "$((c_rgb_56d * 2 / 5))" ))" + printf -v c_hex_12d_40d '%x' "$c_rgb_12d_40d" + printf -v c_hex_34d_40d '%x' "$c_rgb_34d_40d" + printf -v c_hex_56d_40d '%x' "$c_rgb_56d_40d" + [[ "${#c_hex_12d_40d}" -eq 1 ]] && c_hex_12d_40d="0${c_hex_12d_40d}" + [[ "${#c_hex_34d_40d}" -eq 1 ]] && c_hex_34d_40d="0${c_hex_34d_40d}" + [[ "${#c_hex_56d_40d}" -eq 1 ]] && c_hex_56d_40d="0${c_hex_56d_40d}" + c_hex_40d="#${c_hex_12d_40d}${c_hex_34d_40d}${c_hex_56d_40d}" + declare -g color"${i}"_darker_40="$c_hex_40d" + c_rgb_12d_50d="$(( c_rgb_12d - "$((c_rgb_12d / 2))" ))" + c_rgb_34d_50d="$(( c_rgb_34d - "$((c_rgb_34d / 2))" ))" + c_rgb_56d_50d="$(( c_rgb_56d - "$((c_rgb_56d / 2))" ))" + printf -v c_hex_12d_50d '%x' "$c_rgb_12d_50d" + printf -v c_hex_34d_50d '%x' "$c_rgb_34d_50d" + printf -v c_hex_56d_50d '%x' "$c_rgb_56d_50d" + [[ "${#c_hex_12d_50d}" -eq 1 ]] && c_hex_12d_50d="0${c_hex_12d_50d}" + [[ "${#c_hex_34d_50d}" -eq 1 ]] && c_hex_34d_50d="0${c_hex_34d_50d}" + [[ "${#c_hex_56d_50d}" -eq 1 ]] && c_hex_56d_50d="0${c_hex_56d_50d}" + c_hex_50d="#${c_hex_12d_50d}${c_hex_34d_50d}${c_hex_56d_50d}" + declare -g color"${i}"_darker_50="$c_hex_50d" + c_rgb_12d_60d="$(( c_rgb_12d - "$((c_rgb_12d * 3 / 5))" ))" + c_rgb_34d_60d="$(( c_rgb_34d - "$((c_rgb_34d * 3 / 5))" ))" + c_rgb_56d_60d="$(( c_rgb_56d - "$((c_rgb_56d * 3 / 5))" ))" + printf -v c_hex_12d_60d '%x' "$c_rgb_12d_60d" + printf -v c_hex_34d_60d '%x' "$c_rgb_34d_60d" + printf -v c_hex_56d_60d '%x' "$c_rgb_56d_60d" + [[ "${#c_hex_12d_60d}" -eq 1 ]] && c_hex_12d_60d="0${c_hex_12d_60d}" + [[ "${#c_hex_34d_60d}" -eq 1 ]] && c_hex_34d_60d="0${c_hex_34d_60d}" + [[ "${#c_hex_56d_60d}" -eq 1 ]] && c_hex_56d_60d="0${c_hex_56d_60d}" + c_hex_60d="#${c_hex_12d_60d}${c_hex_34d_60d}${c_hex_56d_60d}" + declare -g color"${i}"_darker_60="$c_hex_60d" + done +} + +# Create colors.tdesktop-palette using the colors generated by create_colors() +# and the colors.wal-constants file. +create_palette() { + cat <<EOF > "${pre}/colors.tdesktop-palette" +// Colors imported from wal by init.sh. +color0: $color0; +color1: $color1; +color2: $color2; +color3: $color3; +color4: $color4; +color5: $color5; +color6: $color6; +color7: $color7; +color8: $color8; + +// Lighter and darker variants of wal's colors. +colorLighter0_20: $color0_lighter_20; +colorLighter0_30: $color0_lighter_30; +colorLighter0_40: $color0_lighter_40; +colorLighter0_50: $color0_lighter_50; +colorLighter0_60: $color0_lighter_60; +colorDarker0_20: $color0_darker_20; +colorDarker0_30: $color0_darker_30; +colorDarker0_40: $color0_darker_40; +colorDarker0_50: $color0_darker_50; +colorDarker0_60: $color0_darker_60; +colorLighter1_20: $color1_lighter_20; +colorLighter1_30: $color1_lighter_30; +colorLighter1_40: $color1_lighter_40; +colorLighter1_50: $color1_lighter_50; +colorLighter1_60: $color1_lighter_60; +colorDarker1_20: $color1_darker_20; +colorDarker1_30: $color1_darker_30; +colorDarker1_40: $color1_darker_40; +colorDarker1_50: $color1_darker_50; +colorDarker1_60: $color1_darker_60; +colorLighter2_20: $color2_lighter_20; +colorLighter2_30: $color2_lighter_30; +colorLighter2_40: $color2_lighter_40; +colorLighter2_50: $color2_lighter_50; +colorLighter2_60: $color2_lighter_60; +colorDarker2_20: $color2_darker_20; +colorDarker2_30: $color2_darker_30; +colorDarker2_40: $color2_darker_40; +colorDarker2_50: $color2_darker_50; +colorDarker2_60: $color2_darker_60; +colorLighter7_20: $color7_lighter_20; +colorLighter7_30: $color7_lighter_30; +colorLighter7_40: $color7_lighter_40; +colorLighter7_50: $color7_lighter_50; +colorLighter7_60: $color7_lighter_60; +colorDarker7_20: $color7_darker_20; +colorDarker7_30: $color7_darker_30; +colorDarker7_40: $color7_darker_40; +colorDarker7_50: $color7_darker_50; +colorDarker7_60: $color7_darker_60; + +// Alpha colors. +colorAlpha0_18: ${color0}18; +colorAlpha0_3c: ${color0}3c; +colorAlpha0_03: ${color0}03; +colorAlpha0_7f: ${color0}7f; +colorAlpha0_b0: ${color0}b0; +colorAlpha0_cc: ${color0}cc; +colorAlpha0_00: ${color0}00; +colorAlpha0_54: ${color0}54; +colorAlpha0_56: ${color0}56; +colorAlpha0_74: ${color0}74; +colorAlpha0_40: ${color0}40; +colorAlpha0_4c: ${color0}4c; +colorAlpha0_b2: ${color0}b2; +colorAlpha0_40: ${color0}40; +colorAlpha1_10: ${color1}10; +colorAlpha1_33: ${color1}33; +colorAlpha2_c8: ${color2}c8; +colorAlpha2_4c: ${color2}4c; +colorAlpha2_7f: ${color2}7f; +colorAlpha2_00: ${color2}00; +colorAlpha2_87: ${color2}87; +colorAlpha3_64: ${color3}64; +colorAlpha7_53: ${color7}53; +colorAlpha7_7a: ${color7}7a; +colorAlpha7_1a: ${color7}1a; +colorAlpha7_2c: ${color7}2c; +colorAlpha7_7f: ${color7}7f; +colorAlpha7_bc: ${color7}bc; +colorAlpha7_4c: ${color7}4c; +colorAlpha7_6b: ${color7}6b; +colorAlpha7_14: ${color7}14; +EOF + const="$(<".local/usr/wal-telegram/colors.wal-constants")" + printf '%s' "$const" >> "${pre}/colors.tdesktop-palette" +} + +main() { + prepare + create_colors + create_palette + printf '%s\n' "Theme created succesfully." +} + +main |