Wallust is een terminal programma dat een kleurenpalet genereert op basis van de dominante kleuren in een afbeelding. Dit palet kan vervolgens in verschillende toepassingen worden gebruikt. Zoals bijvoorbeeld voor het gebruik in thema's voor bureaubladomgevingen zoals KDE en Gnome of webdesigners. Wallust draait naast op Linux ook op macOS en Windows. Onderstaande afbeelding toont een bureaubladthema gemaakt met behulp van wallust.
Wallust is een Rust programma, we hebben dus de Rust programmeeromgeving nodig. Deze installeer je volgens de richtlijnen van de Install Rust webpagina.
dany@pindabook:~$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
info: downloading installer
warn: It looks like you have an existing rustup settings file at:
warn: /home/dany/.rustup/settings.toml
warn: Rustup will install the default toolchain as specified in the settings file,
warn: instead of the one inferred from the default host triple.
Welcome to Rust!
This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.
Rustup metadata and toolchains will be installed into the Rustup
home directory, located at:
/home/dany/.rustup
This can be modified with the RUSTUP_HOME environment variable.
The Cargo home directory is located at:
/home/dany/.cargo
This can be modified with the CARGO_HOME environment variable.
The cargo, rustc, rustup and other commands will be added to
Cargo's bin directory, located at:
/home/dany/.cargo/bin
This path will then be added to your PATH environment variable by
modifying the profile files located at:
/home/dany/.profile
/home/dany/.bashrc
You can uninstall at any time with rustup self uninstall and
these changes will be reverted.
Current installation options:
default host triple: x86_64-unknown-linux-gnu
default toolchain: stable (default)
profile: default
modify PATH variable: yes
1) Proceed with standard installation (default - just press enter)
2) Customize installation
3) Cancel installation
>
info: profile set to default
info: default host triple is x86_64-unknown-linux-gnu
info: syncing channel updates for stable-x86_64-unknown-linux-gnu
info: latest update on 2026-04-16 for version 1.95.0 (59807616e 2026-04-14)
info: downloading 6 components
cargo installed 10.48 MiB
clippy installed 4.48 MiB
rust-docs installed 21.18 MiB
rust-std installed 28.20 MiB
rustc installed 76.63 MiB
rustfmt installed 2.06 MiB
info: default toolchain set to stable-x86_64-unknown-linux-gnu
stable-x86_64-unknown-linux-gnu installed - rustc 1.95.0 (59807616e 2026-04-14)
Rust is installed now. Great!
To get started you may need to restart your current shell.
This would reload your PATH environment variable to include
Cargo's bin directory ($HOME/.cargo/bin).
To configure your current shell, you need to source
the corresponding env file under $HOME/.cargo.
This is usually done by running one of the following (note the leading DOT):
. "$HOME/.cargo/env" # For sh/bash/zsh/ash/dash/pdksh
source "$HOME/.cargo/env.fish" # For fish
source "~/.cargo/env.nu" # For nushell
source "$HOME/.cargo/env.tcsh" # For tcsh
. "$HOME/.cargo/env.ps1" # For pwsh
source "$HOME/.cargo/env.xsh" # For xonsh
De meldingen op het einde vertellen ons dat we nog de volgende opdracht moeten uitvoeren om Rust in de Bash terminalomgeving te integreren.
dany@pindabook:~$ . "$HOME/.cargo/env"
We testen de installatie door de versies op te vragen van twee geïnstalleerde Rust programma's:
dany@pindabook:~$ rustc --version
rustc 1.95.0 (59807616e 2026-04-14)
dany@pindabook:~$ cargo --version
cargo 1.95.0 (f2d3ce0bd 2026-03-21)
Nu we over een Rust programmeeromgeving beschikken kunnen we Wallust en alle noodzakelijke onderdelen downloaden, compileren en installeren:
dany@pindabook:~$ cargo install wallust
Updating crates.io index
Downloaded wallust v3.5.1
Downloaded 1 crate (162.6KiB) in 0.13s
Installing wallust v3.5.1
Updating crates.io index
Locking 236 packages to latest compatible versions
Adding toml v0.9.12+spec-1.1.0 (available: v1.1.2+spec-1.1.0)
Adding toml_edit v0.24.1+spec-1.1.0 (available: v0.25.11+spec-1.1.0)
Adding vergen-git2 v1.0.7 (available: v9.1.0)
Downloaded adler2 v2.0.1
Downloaded as-slice v0.2.1
Downloaded approx v0.5.1
...
Downloaded cargo-platform v0.3.3
Downloaded aligned v0.4.3
Downloaded 220 crates (17.5MiB) in 1.69s (largest was `libgit2-sys` at 1.8MiB)
Compiling proc-macro2 v1.0.106
Compiling quote v1.0.45
Compiling unicode-ident v1.0.24
...
Compiling dunce v1.0.5
Compiling fastrand v2.4.1
Compiling glob v0.3.3
Finished `release` profile [optimized] target(s) in 5m 08s
Installing /home/dany/.cargo/bin/wallust
Installed package `wallust v3.5.1` (executable `wallust`)
Als je wallust opdracht uitvoert zonder opties, worden de verschillende beschikbare commando’s en opties weergegeven.
dany@pindabook:~$ wallust
Generate a 16 color scheme based on an image.
Usage: wallust [OPTIONS] <COMMAND>
Commands:
run Generate a palette from an image
cs Apply a certain colorscheme
theme Apply a custom built in theme
migrate Migrate v2 config to v3 (might lose comments,)
debug Print information about the program and the enviroment it uses
pywal A drop-in cli replacement for pywal
help Print this message or the help of the given subcommand(s)
Options:
-I, --ignore-sequence <IGNORE_SEQUENCE>
Won't send these colors sequences [possible values: background, foreground, cursor, color0, color1, color2, color3, color4, color5, color6, color7, color8, color9, color10, color11, color12, color13, color14, color15]
-q, --quiet
Don't print anything
-s, --skip-sequences
Skip setting terminal sequences
-T, --skip-templates
Skip templating process
-u, --update-current
Only update the current terminal
-C, --config-file <CONFIG_FILE>
Use CONFIG_FILE as the config file
-d, --config-dir <CONFIG_DIR>
Uses CONFIG_DIR as the config directory, which holds both `wallust.toml` and the templates files (if existent)
--templates-dir <TEMPLATES_DIR>
Uses TEMPLATE_DIR as the template directory
-N, --no-config
Won't read the config and avoids creating it's config path
--no-hooks
Ignore all hooks
-h, --help
Print help (see more with '--help')
-V, --version
Print version
Remember to read man pages (man wallust.1, man wallust.5, ..)
And the new v3 spec at <https://explosion-mental.codeberg.page/wallust/v3.html>
Het eerste wat je kunt proberen is wallust uit te voeren en het te richten op een map of een specifieke afbeelding, zoals:
Met de volgende opdracht worden de kleuren van de terminal ingesteld op basis van de afbeelding.
dany@pindabook:~$ wallust run Downloads/springende_vrouw_op_het_strand.jpg
[I] config: Configuration file not found, creating one at /home/dany/.config/wallust/wallust.toml
[I] image: springende_vrouw_op_het_strand.jpg
[I] image parser: Using FastResize backend parser
[I] threshold: Not defined, using best default thresholds.
[I] colorspace: Using Salience colorspace variation
[I] scheme palette: Using SalienceDark palette
[ 🗸 ] 0.489 s Generating color scheme..
[I] Color scheme palette generated!
[I] sequences: Setting terminal colors.
[I] templates: Writing templates..
[I] hooks: Running hooks..
[I] cache: Saving scheme to cache.
E N J O Y T H E P A L E T T E !
Je merkt al vlug dat de terminal nu een ander kleurenthema gebruikt. In Konsole (KDE terminal) herstel je het kleurenthema met de opdracht:
dany@pindabook:~$ konsoleprofile colors="Breeze"
Daarbij is Breeze de naam van het in KDE standaard gebruikte kleurenschema.
Het thema wordt alleen toegepast op de gebruikte terminal, maar je kunt jouw shell-opstartbestand gemakkelijk aanpassen zodat het thema ook wordt toegepast op nieuwe terminalvensters. Wallust slaat de sequenties op in de cache-map in een bestand met de naam 'sequences’. De inhoud van dit bestand kan je weergeven met:
dany@pindabook:~$ hexdump -C .cache/wallust/sequences
00000000 1b 5d 34 3b 30 3b 23 30 39 30 35 30 31 1b 5c 1b |.]4;0;#090501.\.|
00000010 5d 34 3b 31 3b 23 36 32 32 41 30 34 1b 5c 1b 5d |]4;1;#622A04.\.]|
00000020 34 3b 32 3b 23 38 33 35 41 30 46 1b 5c 1b 5d 34 |4;2;#835A0F.\.]4|
00000030 3b 33 3b 23 41 37 34 31 30 30 1b 5c 1b 5d 34 3b |;3;#A74100.\.]4;|
00000040 34 3b 23 45 33 36 42 30 30 1b 5c 1b 5d 34 3b 35 |4;#E36B00.\.]4;5|
00000050 3b 23 45 46 42 35 33 30 1b 5c 1b 5d 34 3b 36 3b |;#EFB530.\.]4;6;|
00000060 23 46 46 45 46 34 39 1b 5c 1b 5d 34 3b 37 3b 23 |#FFEF49.\.]4;7;#|
00000070 46 46 46 38 35 32 1b 5c 1b 5d 34 3b 38 3b 23 41 |FFF852.\.]4;8;#A|
00000080 45 41 30 30 30 1b 5c 1b 5d 34 3b 39 3b 23 36 32 |EA000.\.]4;9;#62|
00000090 32 41 30 34 1b 5c 1b 5d 34 3b 31 30 3b 23 38 33 |2A04.\.]4;10;#83|
000000a0 35 41 30 46 1b 5c 1b 5d 34 3b 31 31 3b 23 41 37 |5A0F.\.]4;11;#A7|
000000b0 34 31 30 30 1b 5c 1b 5d 34 3b 31 32 3b 23 45 33 |4100.\.]4;12;#E3|
000000c0 36 42 30 30 1b 5c 1b 5d 34 3b 31 33 3b 23 45 46 |6B00.\.]4;13;#EF|
000000d0 42 35 33 30 1b 5c 1b 5d 34 3b 31 34 3b 23 46 46 |B530.\.]4;14;#FF|
000000e0 45 46 34 39 1b 5c 1b 5d 34 3b 31 35 3b 23 46 37 |EF49.\.]4;15;#F7|
000000f0 46 33 41 30 1b 5c 1b 5d 31 31 3b 23 30 37 30 34 |F3A0.\.]11;#0704|
00000100 30 30 1b 5c 1b 5d 31 39 3b 23 30 37 30 34 30 30 |00.\.]19;#070400|
00000110 1b 5c 1b 5d 34 3b 32 33 32 3b 23 30 37 30 34 30 |.\.]4;232;#07040|
00000120 30 1b 5c 1b 5d 34 3b 32 35 37 3b 23 30 37 30 34 |0.\.]4;257;#0704|
00000130 30 30 1b 5c 1b 5d 37 30 38 3b 23 30 37 30 34 30 |00.\.]708;#07040|
00000140 30 1b 5c 1b 5d 31 30 3b 23 46 46 46 42 35 35 1b |0.\.]10;#FFFB55.|
00000150 5c 1b 5d 31 37 3b 23 46 46 46 42 35 35 1b 5c 1b |\.]17;#FFFB55.\.|
00000160 5d 34 3b 32 35 36 3b 23 46 46 46 42 35 35 1b 5c |]4;256;#FFFB55.\|
00000170 1b 5d 31 32 3b 23 46 37 44 38 34 32 1b 5c 1b 5d |.]12;#F7D842.\.]|
00000180 31 33 3b 23 46 37 44 38 34 32 1b 5c |13;#F7D842.\|
0000018c
De eerste kolom bevat de positie in het bestand, de tweede en derde kolom de inhoud in hexadecimale waarden en de laatste kolom in ASCII.
Als je de inhoud van dit bestand bijvoorbeeld met de cat opdracht weergeeft zullen de in het bestand aanwezige ANSI codes ervoor zorgen dat het kleurenthema in de uitgevoerde terminal actief wordt.
dany@pindabook:~$ cat .cache/wallust/sequences
We kunnen ook een aangepaste ingebouwde thema-oplossing gebruiken. Er is een breed scala aan thema’s om uit te kiezen. Je kunt de volledige lijst opvragen met de volgende opdracht:
dany@pindabook:~$ wallust theme list
Available themes:
- 3024-Day
- 3024-Night
- 3024-dark
- 3024-light
- Aci
- Acme
- Aco
...
- tempus_totus
- tempus_warp
- tempus_winter
- vscode
- zenburn
Extra:
- random (select a random theme)
- list (lists available themes)
Of je laat je verrassen met een willekeurig thema:
dany@pindabook:~$ wallust theme random
[I] theme: Using random
[I] theme: randomly selected dkeg-bulb
[I] sequences: Setting terminal colors.
[I] templates: Writing templates..
E N J O Y T H E P A L E T T E !
We beginnen met het verwijderen van Wallust zelf. We hebben Wallust geïnstalleerd met Cargo, m.a.w. verwijderen gebeurt ook met Cargo:
dany@pindabook:~$ cargo uninstall wallust
Removing /home/dany/.cargo/bin/wallust
De Rust programmeeromgeving en Cargo verwijder je met:
dany@pindabook:~$ rustup self uninstall
Thanks for hacking in Rust!
This will uninstall all Rust toolchains and data, and remove
$HOME/.cargo/bin from your PATH environment variable.
Continue? (y/N) y
info: removing rustup home
info: removing cargo home
info: removing rustup binaries
info: rustup is uninstalled
De Wallup configuratie- en werkmap verwijder je met:
dany@pindabook:~$ rm -r .config/wallust .cache/wallust