[Installation] [Getting Started] [Customization] [Wiki]
This release of pywal
contains some large changes and may very well break things for some users. Expect bugs and expect additional releases to fix them. The version has been bumped to 1.0.0
as I'm now happy with where pywal
is feature-wise.
The goal for the future is improving the schemes that pywal
generates. Feel free to send me your wallpapers that generate subpar schemes and I'll use them in my testing data.
Removal of -r
The flag -r
was removed as it was basically a glorified cat
of the sequences
file with 300ms of python overhead. The new recommended way to load the schemes is to replace wal -r
with cat ~/.cache/wal/sequences
.
Removal of -t
Yup! The -t
flag to fix garbage in VTE terminals (termite, xfce4-terminal, gnome-terminal) is no longer needed. I've come up with a workaround that really shouldn't work but does. Β―\_(γ)_/Β―
The problem: The sequence \033[708;#000000\007
is unsupported by VTE and VTE's sequence parsing doesn't hide unknown sequences, instead it just displays them as plain text. We can't add an if statement or a check for VTE terminals as we're writing to each terminal via it's file descriptor. The only thing that is interpreted is escape sequences.
The workaround: The problem sequence is wrapped in a series of other escape sequences so that the unsupported sequence isn't echo'd to the terminal.
How it works:
# \0337 # Save cursor position.
# \033[1000H # Move the cursor off screen.
# \033[8m # Conceal text.
# \033]708;#000000\007 # Garbage sequence.
# \0338 # Restore cursor position.
\0337\033[1000H\033[8m\033]708;#000000\007\0338
This took a lot of trial and error to make sure it works across all terminals and doesn't cause issues for underlying terminal programs.
Added User Template Support
You can now define your own custom pywal
template files or you can overwrite the default template files. Any files stored in ~/.config/wal/templates
will be processed and exported to ~/.cache/wal/
under the same name.
The user template files follow the exact same syntax as the built-in templates. See the built-in templates for syntax examples: https://github.com/dylanaraps/pywal/tree/master/pywal/templates
For example: To define a custom rofi
template file to set the background transparent.
Save this file to ~/.config/wal/templates/colors-rofi.Xresources
and re-run wal. Rofi will now use the colors defined below instead.
#define BG #CC{background.strip}
#define HI #CC{color1.strip}
#define FG {color15}
#define TX {color15}
! State: bg, fg, bg2, hlbg, hlfg
rofi.color-normal: BG, FG, BG, HI, TX
rofi.color-active: BG, FG, BG, HI, TX
rofi.color-urgent: BG, HI, BG, HI, FG
rofi.color-window: BG, BG, BG
Templates
- Added template file for
rofi
.
- Added template file for
st
.
- Added template file for
tabbed
.
- Added template file for
dwm
.
Args
- Added
-s
to disable changing terminal colors on the fly.
Source code(tar.gz)
Source code(zip)