guillaumeboehm / wal-telegram

A bash script that generates themes for Telegram based on an arbitrary 16-colors palette or by sourcing the colors generated by pywal/wal.
MIT License
49 stars 9 forks source link

Based on telegram-palette-gen which is not maintained anymore

/!\ This project is not maintained anymore

For a maintained and reworked version use walogram

For a rust version of wal-telegram use wal-telegram-rs

Installation

Dependencies: imagemagick

Arch and Arch based (Manjaro,...)

install the wal-telegram-git package from the aur.

Manual

git clone --depth 1 https://github.com/guillaumeboehm/wal-telegram ~/.wal-telegram
cd ~/.wal-telegram
sudo make install
cd && rm -rf ~/.wal-telegram

Generate the color palette

wal needs to be run separately from this program.

# If you want to use the colors generated by pywal/wal (default behavior).
wal-telegram --wal

# If you want to use a 16-colors palette of yours.
wal-telegram --palette '/path/to/palette.sh'

# If you want to use a single color background based on your palette.
wal-telegram --wal --tiled
wal-telegram --palette '/path/to/palette.sh' --tiled

# If you want a specific image as the background image.
wal-telegram --background

# If you want to blur the background.
wal-telegram -g

# If you want to restart telegram on generation.
wal-telegram -r

# If you want to see detailed use of the script.
wal-telegram --help

Set the color palette

To set the palette follow these steps:

  1. Open telegram, go to "settings/chat settings" and click on choose from file:

instruction 1

  1. Toggle hidden files

instruction 2

  1. Double click on ~/.cache/wal-telegram/wal.tdesktop-theme or ~/.cache/wal-telegram/palette.tdesktop-theme:

instruction 3

  1. Click on keep changes:

instruction 4

Updating

You can update wal-telegram by running git pull inside ~/.wal-telegram:

cd ~/.wal-telegram
git pull

Screenshots

demo demo demo

Palette specifications

If you want, you can import the colors from a shell script that needs to be written in the following way:

# For example:

color0='#263238'
color1='#f07178'
color2='#c3e88d'
color3='#ffcb6b'
color4='#82aaff'
color5='#c792ea'
color6='#89ddff'
color7='#eeffff'
color8='#546e7a'
color9='#f78c6c'
color10='#c3e88d'
color11='#ffcb6b'
color12='#82aaff'
color13='#37474f'
color14='#89ddff'
color15='#eeffff'

Important notes

Some color constants in colors.tdesktop-palette 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 the script normally.

The palette works with wal too, not just pywal and with every color palette that respects the specifications mentioned above.