dotfiles icon indicating copy to clipboard operation
dotfiles copied to clipboard

BSPWM environment with 15 themes. Polybar. eww widgets, with a rice selector to change on the fly.

BSPWM | Polybar themes collection - Rice selector

🌿 Information

Hello, I started learning bash and decided to modify and create some scripts to practice and as a fan to rice my setup i made these modifications to switch between rices, on the fly. It's not perfect and there's certainly room for improvement.

https://user-images.githubusercontent.com/67278339/179444283-d5a4bc48-a9c7-4a91-a144-6c34d11347c8.mp4

Rice Menu

Rice Menu
DIstro Arch
WM BSPWM
Bar Polybar
Menu Rofi
Compositor Picom Arian8j2
Terminal Termite
Widgets ElKowars wacky widgets
File Manager Thunar

📖 Features

  • Change RICE on the fly: It Changes the polybar theme. Polybar, bspwm and terminal color palette. Borders paddings change depending of each rice.

  • Rice Selector: Alt + Space bar or right click in arch logo, to open Rice Selector menu.

  • Random wallpaper: Every time you switch between rices or reload bspwm with super + alt + r a new wallpaper is set depending on the rice you are on. For each rice there are between 5 and 8 wallpapers that go according to the rice.

  • Hide / Unhide Bar: (Doesnt work on Andrea Rice, because is eww bar)

  • Screenshots: to take screenshot.

  • Change transparency on the fly: Increase and decrease transparency in focused or selected window.

  • Keybindings to poweroff, reboot, quit session and lockscreen respectively.

⚠️ Attention!!

The settings are heavily edited to work on my machine in my 1600x900 resolution. You will probably have to change many things in the config files and change it to your own.

🎨 The rices...

So yes... i called the Rices with the names of some of my ex girlfriends.

🌸Emilia:

  • Fonts: JetBrains Mono Nerd Font Scientifica Banana Material Design Icons Desktop Font Awesome 6 Free MesLo LGS NF
  • Polybar Modules: Launcher CPU RAM PulseAudio FileSystem MPD Bspwm Network Pacman Updates date
  • Color Palette: Tokyo Night
  • Widgets: N/A
Emilia Rice Emilia Rice
Extra wallpapers in Emilia
Emilia Rice Emilia Rice Emilia Rice Emilia Rice

🌸Jan

  • Fonts: CozetteVector Lilian
  • Polybar Modules: Launcher CPU RAM PulseAudio FileSystem Title Bspwm Network Pacman Updates date
  • Color Palette: Cyber Punk
  • Widgets: N/A
Jan Rice Jan Rice
Extra wallpapers in Jan
Jan Rice Jan Rice Jan Rice

🌸Aline

  • Fonts: JetBrains Mono Nerd Font Inconsolata Semi Condensed Material Design Icons Desktop Font Awesome 6 Free MesLo LGS NF
  • Polybar Modules: Launcher CPU RAM PulseAudio FileSystem Apps Bspwm Network Pacman Updates date
  • Color Palette: Catppuccin Frappe
  • Widgets: N/A
  • Inspiration: this post by TheMonkeyLlama i saw it in UnixPorn.
Aline Rice Aline Rice
Extra wallpapers in Aline
Aline Rice Aline Rice

🌸Andrea

  • Fonts: JetBrains Mono Nerd Font Dosis
  • Color Palette: Holly molly i dont know..
  • Widgets: Bar Music player Apps System info Power buttons Credits adi1090x
Andrea Rice Andrea Rice
Extra wallpapers in Andrea
Andrea Rice Andrea Rice

🌸Cynthia

  • Fonts: JetBrains Mono Nerd Font TerminessTTF Nerd Font Rissole Material Design Icons Desktop MesLo LGS NF
  • Polybar Modules: Launcher Title CPU RAM PulseAudio FileSystem MPD Bspwm Bspwm Modes Network Pacman Updates date
  • Color Palette: I'm pretty sure it's u/DominiCzech work. I dont wanna be disrespectful but i loose link where i stole it.
  • Widgets: N/A
Cynthia Rice Cynthia Rice
Extra wallpapers in Cynthia
Cynthia Rice Cynthia Rice

🌸Isabel

  • Fonts: JetBrains Mono Nerd Font TerminessTTF Nerd Font Inconsolata Semi Condensed Material Design Icons Desktop Font Awesome 6 Free
  • Polybar Modules: Launcher Title CPU RAM PulseAudio FileSystem MPD Bspwm Network Pacman Updates date
  • Color Palette: One Dark
  • Widgets: N/A
Isabel Rice Isabel Rice
Extra wallpapers in Isabel
Isabel Rice Isabel Rice

🌸Silvia

  • Fonts: JetBrains Mono Nerd Font Scientifica Rissole Material Design Icons Desktop Font Awesome 6 Free
  • Polybar Modules: Launcher Title CPU RAM PulseAudio FileSystem MPD Bspwm Network Pacman Updates date
  • Color Palette: GruvBox
  • Widgets: N/A
Silvia Rice Silvia Rice
Extra wallpapers in Silvia
Silvia Rice Silvia Rice Silvia Rice Silvia Rice

🌸Melissa

  • Fonts: JetBrains Mono Nerd Font TerminessTTF Nerd Font JetBrains Mono Material Design Icons Desktop Font Awesome 6 Free MesLo LGS NF
  • Polybar Modules: Launcher Title CPU RAM PulseAudio FileSystem MPD Bspwm Bspwm Modes Weather info Network Pacman Updates date
  • Color Palette: Nord
  • Widgets: N/A
Melissa Rice Melissa Rice
Extra wallpapers in Melissa
Melissa Rice Melissa Rice Melissa Rice

🌸Pamela

  • Fonts: JetBrains Mono Nerd Font TerminessTTF Nerd Font Banana Material Design Icons Desktop
  • Polybar Modules: Launcher Title CPU RAM PulseAudio FileSystem Weather info MPD Bspwm Network Pacman Updates date
  • Color Palette: a beautiful color palette from elenapan
  • Widgets: Calendar & Music Player stolen from rxyhn. Profile card & Power Launcher stolen from okklol.
  • With 6 bars (polybar).
Pamela Rice Pamela Rice
Extra wallpapers in Pamela
Pamela Rice Pamela Rice Pamela Rice

🌸Cristina

  • Fonts: JetBrains Mono Nerd Font TerminessTTF Nerd Font Inconsolata Condensed Material Design Icons Desktop Font Awesome 6 Free MesLo LGS NF
  • Polybar Modules: Launcher Title CPU RAM PulseAudio FileSystem MPD Bspwm Network Pacman Updates date
Cristina Rice Cristina Rice
Extra wallpapers in Cristina
Cristina Rice Cristina Rice Cristina Rice Cristina Rice Cristina Rice

Very useful keybindigs to know...

Action Keybinding
Rice Selector alt + @space
Menu super + @space
Hide / Unhide Bar super + h / super + u
Screenshot super + Print
Transparency ctrl + alt {plus,minus,t}
poweroff / Reboot ctrl + super + alt + {p,r}
Terminal super + Return
Brute Kill ctrl + super + alt + k
Restart bspwm super + alt + r

And more.. U need to look sxhkdrc file for more.

📦 setup

💾 Installation:

I will only provide instructions for arch based distributions.

1. First of all we need yay and git

pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si

2. Install Dependencies:

A one time command to install most of these dependencies with your favorite AUR Helper (we just install yay).

yay -S bspwm polybar sxhkd dunst rofi lsd jq checkupdates-aur \
playerctl mpd ncmpcpp mpc picom-arian8j2-git xtitle termite betterlockscreen \
nerd-fonts-jetbrains-mono ttf-jetbrains-mono papirus-icon-theme ttf-inconsolata \
feh alsa-utils libwebp webp-pixbuf-loader nitrogen xorg-xkill

3. Cloning Dotfiles & Installing:

git clone --depth=1 https://github.com/gh0stzk/dotfiles.git

cd dotfiles
# ⚠️ Backuupp!! your filess!!!
[ -e ~/.config/bspwm ] && mv ~/.config/bspwm ~/.config/bspwm-backup-"$(date +%Y.%m.%d-%H.%M.%S)"
[ -e ~/.config/termite ] && mv ~/.config/termite ~/.config/termite-backup-"$(date +%Y.%m.%d-%H.%M.%S)"

# Moving new files to .config
cp -r config/bspwm ~/.config/bspwm
cp -r config/termite ~/.config/termite
# Those were the important ones. You still need to move the remaining directories in config to your ~/.config directory.

# Move Fonts and the other stuff
cp -r misc/fonts/* ~/.local/share/fonts/
cp -r misc/bin ~/.local/
cp -r misc/applications ~/.local/share/
cp -r misc/asciiart ~/.local/share/

# You probably MUST use your own .zsh config, but if you want to use mine, do;
cp -r home/.zshrc ~/.zshrc
cp -r config/zsh ~/.config/zsh

# If you will not use my zsh config, just add to your .zshrc file, this;
if [ -d "$HOME/.local/bin" ] ;
  then PATH="$HOME/.local/bin:$PATH"
fi

4. Enabling Services

# For automatically launching mpd on login
systemctl --user enable mpd.service
systemctl --user start mpd.service

Some tips

  • Wallpapers are in .webp image format, i added libwebp webp-pixbuf-loader packages for your filemanager (thunar in my case) have the capacity to show webp thumbnails.
  • If u dont wanna use the random wallpapers comment line 194 and uncomment line 195 from /home/YourUser/.config/bspwm/scripts/LaunchWorld file.
  • Left click in pacman updates module in polybar to update. Right click for show updates available only.

Troubleshooting

  • Bspwm Scripts or Launchers not responding

The proper execute permissions on some files should be maintained when you download/clone and copy to your directories, but if not just run the following line by line.

chmod +x ~/.config/bspwm/bspwmrc
chmod +x ~/.config/bspwm/scripts/{external_rules,hu-polybar,LaunchWorld,RiceSelector,screenshoter,updates.sh,weather-mini.sh}
# In Pamela & Andrea Rices, yo u need to give execution permissions to the shell scripts too.
chmod +x ~/.config/bspwm/rices/pamela/widgets/{calendar,calendarlauncher,getSongDuration,mplayer-launcher,music,power-launcher,profile-sys-launcher}
chmod +x ~/.config/bspwm/rices/andrea/arin/launch_bar
chmod +x ~/.config/bspwm/rices/andrea/arin/sidedar/toggle_sidebar
chmod +x ~/.config/bspwm/rices/andrea/arin/scripts/{battery,check-network,mails,music_info,quotes,sys_info,system,volume,weather_info,widget_apps,widget_search,workspaces.sh}
  • Other