4.1 KiB
Dotfiles
Distro: Void Linux
WM: BSPWM
DM: Xinit
Shell: Fish
Terminal: Kitty
Panel: Polybar (+ xfce-panel for global menu)
Compositor: Picom (branch with round corners and kawase blur)
Application Launcher: Rofi
File Manager: Vifm, Fzf, dolphin
Text Editor: Neovim
Image viewer: Imv
Video player: Mpv
Setup
The dotfiles are maintained with stow
.
The custom script setup.sh
read the list of packages present in ./packages.yaml
and automate the installation of necessary packages and services to be enabled.
Warning
|
Backup your dotfiles before running the script. |
This basic setup will get you BSPWM up and running with Kitty terminal and Neovim configuration.
$ ./setup.sh terminal
$ ./setup.sh bspwm
$ ./setup.sh menu
$ ./setup.sh music
Music
Album cover is generated with ~/.config/ncmpcpp/art.sh
, the cover pictured is searched and ffmpeg
is used to generate the thumbnail with round borders and cropped to 300px.
The cover is displayed using Kitty icat with ~/.config/ncmpcpp/kitty.sh
.
The alias music
used to open the music player make just use of background processes to have the cover preview and ncmpcpp on the same window.
abbr music 'mpc -q play; ~/.config/ncmpcpp/art.sh; sleep 1; ~/.config/ncmpcpp/kitty.sh &; ncmpcpp'
Browse files
Vifm
Vifm has image preview activated using the custom script ~/.config/vifm/scripts/preview
, can be previewed pictures, video files, music spectrograms, epub and pdfs.
-
Set wallpaper and update color scheme with kbd:[w]
-
Extract archives with kbd:[x]
Fzf
The terminal has integrated fzf support. A preview script is available at ~/.config/kitty/preview
-
Find files with kbd:[Ctrl + t]
-
Command history with kbd:[Ctrl + r]
Imv
Imv image viewer has been tuned to work with window swallowing and to be a very good manga reader.
-
Running the
manga
command defined at~/.config/fish/functions/manga
will open recursively all files in the folder sorted by name. It will also open the last visited page for it is tracking reading progress. -
The window title is updated with
[<current-page>/<total-page>]: <folder-name>
status. -
Next page start at the top (initial_pan = 0 0)
-
Change scaling mode with kbd:[s]
-
Tag a picture with kbd:[m], tags are available under
~/tags
How it works
Imv is run with window properties changed using this black magic spell.
alias imv 'imv -c "exec _wid=\$(xdo id);xprop -f WM_CLIENT_MACHINE 8s -set WM_CLIENT_MACHINE \$(hostname) -id \$_wid;xprop -f _NET_WM_PID 32c -set _NET_WM_PID \$imv_pid -id \$_wid;pidswallow -gt \$_wid"'
Reading progress is stored under ~/.cache/imv/
in the base64 hash of the directory path.
The imv config ~/.config/imv/config
has the following line that update the window title and store reading progress.
title_text = $(xdotool getactivewindow set_window --name "[ $imv_current_index / $imv_file_count ] : $(echo "${PWD##*/}")"; echo "$imv_current_index" > ~/.cache/imv/$(echo "$PWD" | base64) )
Launch application
Rofi is the application launcher and is called with kbd:[Ctrl + Space].
Background color is updated with the theme using pywal
templates.
Qt theme and global menu
Qt applications use Kvantum with Inverse-dark theme.
Global menu is set with xfce4-panel
that was just moved on top of polybar.