From a754011fc58e83f38cadc5bc10492ab961c9c540 Mon Sep 17 00:00:00 2001 From: justsaumit Date: Wed, 2 Mar 2022 11:23:45 +0530 Subject: spring cleaning 0.1 --- .local/usr/wal-telegram/README.md | 55 +++ .local/usr/wal-telegram/colors.default-constants | 445 ++++++++++++++++++ .local/usr/wal-telegram/colors.wal-constants | 570 +++++++++++++++++++++++ .local/usr/wal-telegram/wal-telegram | 257 ++++++++++ 4 files changed, 1327 insertions(+) create mode 100644 .local/usr/wal-telegram/README.md create mode 100644 .local/usr/wal-telegram/colors.default-constants create mode 100644 .local/usr/wal-telegram/colors.wal-constants create mode 100755 .local/usr/wal-telegram/wal-telegram (limited to '.local/usr/wal-telegram') 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 + +demo +demo +demo + +# 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 < "${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 -- cgit v1.2.3