Colorful
Linux colorful dotfiles.
Install / Use
/learn @nqnm/ColorfulREADME
Table of Contents
- Introduction
- Overview
- Installation
- Anime Wallpapers
- Virtualization
- Configuration Files
- BSPWM Mouse
- Keyboard Shortcuts
- Theme
- References
Introduction
Note: This projects was originally started by nozerobit, but got transferred. It's currently maintained by @m4nqn.
A truly colorful linux configuration.
This is my first dotfiles, feel free to use it but don't forget to give me credits @nozerobit.
History:
- 2021: kali-config
- 2021: colorful-kali
- 2022: colorful-dotfiles
- 2022: Colorful (last name)
- 2023: Ownership transfer
Note: Last tested on
Kali GNU/Linux Rolling 2022.3usingXfcewithlightdm: 11/27/2022
The installation section will guide you through a step-by-step installation process.
This setup uses the following software:
- WM: bspwm
- Hotkey: sxhkd
- Locker: i3lock-fancy
- Menu: jgmenu
- Notifications: dunst
- Shell: zsh
- Bars: polybar
- Compositor: picom (yshui)
- File Manager: thunar
- Font Terminal: iosevka
- Application Launcher: rofi
- Browsers: firefox
- Terminals: kitty (for aesthetics) and qterminal (for pen-testing)
- Static Wallpaper: feh
- Live Wallpaper: gpu-video-wallpaper
All the features can be seen in the overview section.
Overview
Note: This section contains highly compressed / low-quality GIFs, in reality is not blurry and grainy.
Normally you would use Windows + Alt + R to reload bspwm in order to fix the wallpaper resolution scale and the polybar when changing screen resolution but I have made a ~~script~~ with xeventbind and a polybar configuration so that you don't have to reload bspwm. In other words, it automatically changes the wallpaper and the polybar resolution/size when changing the screen resolution without the need to reload bspwm:
Note: The color of these bars is dynamic and the colors change according to the wallpaper.
Transparent theme created by @nozerobit (me):
<p align="center"> <img src="assets/images/transparent.png" alt="trans" /> </p>Colorblocks theme (default), theme created by @adi1090x and heavily modified by @nozerobit (me):
<p align="center"> <img src="assets/images/colorblocks.png" alt="colorblocks" /> </p>Some polybars themes have audio volume modules. The volume can be adjusted with the mouse wheel.
You can change the polybar theme with the launcher:
❯ change-polybar
Usage: change-polybar --theme
Available Themes:
--colorblocks
--trans
Here is an example:
change-polybar --trans
Some polybars are slower to load than others so it is recommended to kill the polybar first:
killall polybar; change-polybar --colorblocks
If you want to change the default polybar theme you can use the default-polybar script:
❯ default-polybar
Usage: default-polybar <theme_name>
Example: default-polybar trans
The available polybar themes are the following:
colorblocks
trans
Change the polybar theme:
❯ default-polybar trans
[+] Changing the default polybar theme to: trans
[+] Resetting BSPWM configuration
[+] Success: Your default polybar theme is now set to 'trans'
You can use Windows + Alt + W to shuffle wallpapers and change colors on the fly:
Note: In the weird case that the polybar dies, you can use
Windows + Alt + Rto restart BSPWM. Some polybars themes do take more time to load since they use more scripts and icons. The polybarhacktheme is the slowest. The polybarforesttheme is not supported.
Warning: Avoid spamming this keyboard shortcut.
Alternatively, you could use Windows + Alt + E to change to a specific wallpaper using the GUI:
Alternatively, you can use Windows + Alt + X to select the wallpaper with a preview, then hit Ctrl + x and then W to change the wallpaper. Once the wallpaper is set we can close the program with Windows + W:
We can also use live wallpaper / animated wallpapers with vwallpaper (demo script):
vwallpaper --start ~/Videos/wallpapers-animated/Cyberpunk-2077-City-Live-Wallpaper.mp4 &>/dev/null & disown
<p align="center">
<img src="assets/gifs/animated-wallpaper.gif" alt="animated-wallpaper.gif" />
</p>
We can stop the live wallpaper / animated wallpapers with the following:
vwallpaper --stop
Warning: If the wallpaper doesn't have the correct resolution, you can change it by editing:
sudo vim $(which video-wallpaper.sh)
Then change the resolution at line 60:
# Change -g <TO_YOUR_RESOLUTION>
"$scriptdir"/xwinwrap -g 3840x2160 -fdt -ni -b -nf -un -o 1.0 -- mpv -wid WID --loop --no-audio "$VIDEO_PATH" & disown
I'll try to find a better solution but for now that should do the work.
Warning: Transparency should work by default in native installs as long as you have the GPU drivers installed in your system. In most virtual machines that are using virtualized GPUs you will have to set X11 as the video output. If your virtualization software supports GPU passthrough then you may not have to change anything, unless you want to select a specific video output driver.
If you want to add transparency to a VM add the following flags:
-vo x11 --hwdec=auto-safe --profile=sw-fast
Warning: This may increase the CPU usage up to 15%-25% in VMs.
If you don't care about the performance then you can follow this example:
xwinwrap -g 1920x1080 -fdt -ni -b -nf -un -o 1.0 -- mpv -wid WID -vo x11 --hwdec=auto-safe --profile=sw-fast --loop --no-audio ~/Videos/wallpapers-animated/Astronaut-In-Space-With-Jellyfish-Live-Wallpaper.mp4
You can use htop to monitor the performance of each process:
htop
You will probably see that the Xorg process increases up to 60%-70% when the video output (-vo) is set to x11 in mpv. Therefore, I don't recommend running this "video output driver".
For more information about video output drivers read the mpv repo vo.rst.
The animated wallpapers also support automatic resizing:
<p align="center"> <img src="assets/gifs/animated-wallpaper-resize.gif" alt="animated-wallpaper-resize.gif" /> </p>We can close an animated wallpaper with the following command:
video-wallpaper.sh --stop
You could also use Windows + Alt + W or Windows + Alt + E to change the wallpaper.
The terminal font size can be changed with Windows + Alt + F:
Note: When using
qterminalis recommended to use the GUI preferences window instead. Also, you need to open a new terminal to see the changes.
You can change the corners of the windows and the polybar to rounded or sharp corners with the shortcut Windows + Alt + B.
You can also copy IPs to the clipboard with a left click on the bar (ethernet, vpn or target):
<p align="center"> <img src="assets/gifs/copy-ip.gif" alt="copy-ip.gif" /> </p>Note: There's a VPN status bar, it shows your VPN IP when connected and it tells you when you're disconnected from a VPN.
There's a network bar where you can configure your network:
<p align="center"> <img src="assets/gifs/network.gif" alt="network.gif" /> </p>On zsh you can set the target IP with the command setarget 10.10.10.10. You can use the command notarget to remove the target IP:
You can set a default wallpaper that will be used at startup with the following:
❯ default-wallpaper --set ~/Pictures/Wallpapers/i-love-8-bit-qhd-1920x1080.jpg
[+] Added a default wallpaper!
❯ default-wallpaper --remove
[+] Random wallpapers will be set at startup!
Some polybars themes are slower to load than others so it is recommended to kill the polybar first:
killall polybar; default-wallpaper --set ~/Pictures/Wallpapers/i-love-8-bit-qhd-1920x1080.jpg
You can also schedule a cronjob to change your desktop wallpapers and colors every x minutes:
❯ wallpaper-scheduler
Script usage: wallpaper-scheduler [-h] [-e] [-d] [-m <minutes>]
Example:
wallpaper-scheduler -m 5
Options:
-h: Print this help menu.
-e: Enable the cronjob.
-d: Disable the cronjob.
-m: Amount of minutes w
Related Skills
node-connect
338.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
338.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.4kCommit, push, and open a PR
