No description
Find a file
Cedric Bonhomme c77a5c0b3c Hyprland
2025-05-10 20:20:13 +02:00
.pictures Rofi launch application screenshot 2020-10-15 21:20:12 +02:00
bspwm/.config Hyprland 2025-05-09 22:04:28 +02:00
hyprland/.config Hyprland 2025-05-10 20:20:13 +02:00
menu/.config/rofi Hyprland 2025-05-09 22:04:28 +02:00
music Up to date 2025-01-29 14:25:31 +01:00
script Hyprland 2025-05-09 22:04:28 +02:00
startx On ArtixLinux 2023-09-27 14:32:56 +02:00
sway Hyprland 2025-05-09 22:04:28 +02:00
system/etc Privoxy 2023-05-14 21:59:19 +02:00
terminal Wallpaper 2025-05-09 22:13:07 +02:00
web Up to date 2025-01-29 14:25:31 +01:00
.gitignore On ArtixLinux 2023-09-27 14:32:56 +02:00
header.adoc README and rofi menu 2020-10-11 12:10:22 +02:00
mixer Notification, use of mpris and pulseaudio 2021-01-31 22:18:35 +01:00
packages.yaml sauvegarde oui 2023-05-14 21:12:47 +02:00
README.adoc README typo 2020-10-15 21:24:42 +02:00
setup.sh Notification, use of mpris and pulseaudio 2021-01-31 22:18:35 +01:00

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

neofetch music cover

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

important work manga

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.fish 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

Note
Files stored in tags can be displayed with kbd:[Super + Shift + t ]

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 -w0) )

Launch application

rofi

Rofi is the application launcher and is called with kbd:[Super + Space]. Background color is updated with the theme using pywal templates.

Install rofi with:

$ ./setup.sh menu

Read manga

rofi manga

Have rofi manage your manga with kbd:[Super + Shift + Space ]. The selected volume will be open with the manga utility explained before.

To generate new entries execute this command defined at ~/.config/fish/functions/add_manga.fish with the full path to the manga.

$ add_manga /path/to/manga

This utility works best with official releases bundled in .cbz files. Use this command to extract images from .cbz releases.

find -type f -iname '*.cbz' | xargs -I% atool -x %
Note
The cover images are automatically generated with the first image of each volume and available in ~/.config/manga.
Note
Each entry is in fact a .desktop file found in ~/.local/share/applications.
Note
In this screenshot the entries were generated with add_manga ~/Books/Sleepy\ Princess\ in\ the\ Demon\ Castle\ \(Digital\)\ \(danke-Empire\)/.

Qt theme and global menu

files find a bird

Qt applications use Kvantum with Inverse-dark theme. Global menu is set with xfce4-panel that was just moved on top of polybar.

Install qt applications with:

$ ./setup.sh qtapps