Skip to content

Danrus1100/walcord

Repository files navigation

Walcord - (Pywal)ing every themes for Vencord/Vesktop/BeterDiscord

image

More themes examples

Static Badge Static Badge Static Badge

How to install from AUR

using yay:

yay -S walcord

using git:

git clone https://aur.archlinux.org/walcord.git
cd walcord
makepkg -si

How to install from releases:

Linux:

  1. Download Pywal / Hellwal / wallust
  2. Download a binary file
  3. Сopy in /usr/bin/ directory:
sudo cp <path_to>/walcord /usr/bin
walcord

Windows

  1. Download ImageMagick
  2. Download walcord.exe
  3. Сopy wherever you want

How to build frome source:

git clone https://github.com/Danrus1100/walcord.git
cd walcord
python -m venv .venv/
source .venv/bin/activate 
pip install -r requirements-<your-system>.txt --upgrade
pyinstaller walcord.spec
./dist/walcord

Usage cases:

1. Using Default theme (easiest way)

  1. run a walcord command
  2. select Walcord Default Theme in Vesktop

2. Overwrite a existing theme

First, you need to prepare a theme that will be used as the basis for your theme (or you can just take ready for use theme frome examples). To do this, download the theme, and replace the colors you want with KEY(key_name, opacity). script will replace the KEY with the css color code in rgba format:

--some-var: KEY(1, 0.5); /* will become rgba(r, g, b, 0.5) */

The KEY syntax will be discussed in more detail here

After that, you can use this theme (or folder with themes) in walcord:

walcord -t <path/to/themes>

3 Use for other applications

Walcord doesn't care what type of file is given to it, so it can be used in many places. the limit of possibilities is your imagination! to save a style file in a certain directory use --output:

walcord -t <path-to-some-file.txt> -o <path-and/or-name-a-new-file>

You can also use the image you want, from which the colors will be taken, using --image:

walcord -i <path-to-image>

Tips and Tricks:

You can use the --json argument if you want to use a different palette creation backend, such as Hellwal:

walcord -j ~/.cache/hellwal/colors.json

KEY's syntax

KEY() can take background, foreground and numbers from 0 to 15 as the first argument:

***
--bg-3: KEY(background);
--text-3: KEY(2)
***

you can also set the transparency of the color from 0 to 1 and use short names:

***
--accent-1: KEY(F, 0.75)
--hover: KEY(br, 1)
***
All names of colors and they short vesions (click me)
  • background: b
  • foreground: f
  • border: br (color 2)
  • text: t (color 15)
  • accent: a (color 13)
  • wallpaper: w

If you only want values from KEY, individual colors, or HEX format, you can use the output parameters:

***
--accentcolor: KEY(a).rgb_values; /* it will become just r,g,b values*/
--foo: KEY(T).r /* it will become just r value*/
***
All output parameters (click me)
  • rgba = rgba(r, g, b, a)
  • rgb = rgba(r, g, b)
  • hex = #RRGGBB
  • hsl = hsl(h, s, l)
  • rgba_values = r,g,b,a
  • rgb_values = r,g,b
  • hex_values = RRGGBB
  • hsl_values = h, s, l
  • red / r = r
  • green / g = g
  • blue / b = b
  • opacity / o = a
  • hue / h = h
  • saturation / s = s
  • lightness / l = l

ToDo

  • --image optional
  • --output argument (saving a file to a specific path and name)
  • simple theme
  • --theme optional (use simple theme)
  • windows support
  • service mode (for windows users)

Special thanks