├── README.md
├── RiceInstaller
├── config
├── alacritty
│ ├── alacritty.yml
│ ├── fonts.yml
│ └── rice-colors.yml
├── bspwm
│ ├── assets
│ │ ├── brightness.svg
│ │ ├── cancel.svg
│ │ ├── fallback.webp
│ │ ├── ka-rofi.webp
│ │ ├── mute.png
│ │ ├── profile.png
│ │ ├── reload.svg
│ │ ├── screenshot.svg
│ │ └── vol.png
│ ├── bspwmrc
│ ├── dunstrc
│ ├── eww
│ │ ├── calendar
│ │ │ ├── calendar.scss
│ │ │ └── calendar.yuck
│ │ ├── colors.scss
│ │ ├── eww.scss
│ │ ├── eww.yuck
│ │ ├── player
│ │ │ ├── player.scss
│ │ │ └── player.yuck
│ │ ├── powermenu
│ │ │ ├── powermenu.scss
│ │ │ └── powermenu.yuck
│ │ └── profilecard
│ │ │ ├── profilecard.scss
│ │ │ └── profilecard.yuck
│ ├── jgmenurc
│ ├── karla
│ │ ├── Theme.sh
│ │ ├── config.ini
│ │ ├── modules.ini
│ │ └── walls
│ │ │ ├── wall-01.webp
│ │ │ ├── wall-02.webp
│ │ │ ├── wall-03.webp
│ │ │ ├── wall-04.webp
│ │ │ ├── wall-05.webp
│ │ │ ├── wall-06.webp
│ │ │ ├── wall-07.webp
│ │ │ └── wall-08.webp
│ ├── picom.conf
│ ├── scripts
│ │ ├── .sys
│ │ ├── Brightness
│ │ ├── ExternalRules
│ │ ├── KeybindingsHelp
│ │ ├── Launcher.rasi
│ │ ├── MediaControl
│ │ ├── OpenApps
│ │ ├── ScreenShoTer
│ │ ├── SetSysVars
│ │ ├── Updates
│ │ ├── Volume
│ │ ├── Weather
│ │ ├── colors.ini
│ │ ├── menu.txt
│ │ ├── run_jgmenu
│ │ ├── system.ini
│ │ ├── systray
│ │ └── temp.sh
│ ├── stalonetrayrc
│ └── sxhkdrc
├── mpd
│ ├── log
│ ├── mpd.conf
│ ├── mpd.db
│ ├── mpdstate
│ └── playlists
│ │ └── .nomedia
├── ncmpcpp
│ ├── config
│ └── error.log
├── nvim
│ ├── init.lua
│ └── lua
│ │ └── gh0st
│ │ ├── core
│ │ ├── colorscheme.lua
│ │ ├── keymaps.lua
│ │ └── options.lua
│ │ ├── plugins-setup.lua
│ │ └── plugins
│ │ ├── colorizer.lua
│ │ ├── lualine.lua
│ │ └── nvim-tree.lua
├── paru
│ └── paru.conf
├── ranger
│ ├── colorschemes
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-310.opt-1.pyc
│ │ │ └── default.cpython-310.opt-1.pyc
│ │ └── default.py
│ ├── plugins
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ └── __init__.cpython-310.opt-1.pyc
│ │ └── ranger_devicons
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ ├── __init__.cpython-310.opt-1.pyc
│ │ │ └── devicons.cpython-310.opt-1.pyc
│ │ │ └── devicons.py
│ ├── rc.conf
│ └── rifle.conf
└── zsh
│ ├── zcompdump
│ └── zhistory
├── home
└── .zshrc
├── misc
├── applications
│ ├── nvim.desktop
│ ├── ranger.desktop
│ ├── zfetch.desktop
│ └── zombie.svg
├── asciiart
│ └── zfetch
├── bin
│ ├── colorscript
│ └── sysfetch
├── firefox
│ ├── chrome
│ │ ├── add.svg
│ │ ├── left-arrow.svg
│ │ ├── right-arrow.svg
│ │ ├── userChrome.css
│ │ └── userContent.css
│ └── user.js
└── fonts
│ ├── CartographCF
│ ├── CartographCF-Bold.ttf
│ ├── CartographCF-BoldItalic.ttf
│ ├── CartographCF-ExtraBold.ttf
│ ├── CartographCF-Regular.ttf
│ └── CartographCF-RegularItalic.ttf
│ ├── CozetteVectorNerdFont.ttf
│ ├── FontAwesome6-Free-Solid.otf
│ ├── MaterialDesignIconsDesktop.ttf
│ ├── MesloLGS_NF_Regular.ttf
│ ├── Phosphor.ttf
│ ├── cherry
│ ├── cherry-10-b.otb
│ ├── cherry-10-r.otb
│ ├── cherry-11-b.otb
│ ├── cherry-11-r.otb
│ ├── cherry-12-b.otb
│ ├── cherry-12-r.otb
│ ├── cherry-13-b.otb
│ └── cherry-13-r.otb
│ ├── clarity-city
│ ├── ClarityCity-Bold.ttf
│ ├── ClarityCity-ExtraBold.ttf
│ ├── ClarityCity-Medium.ttf
│ ├── ClarityCity-Regular.ttf
│ ├── ClarityCity-RegularItalic.ttf
│ └── ClarityCity-SemiBold.ttf
│ ├── iosevka_nerd_font.ttf
│ └── scientifica
│ ├── scientifica.ttf
│ ├── scientificaBold.ttf
│ └── scientificaItalic.ttf
└── preview
└── karla.png
/README.md:
--------------------------------------------------------------------------------
1 |
2 | ~ No longer Updates on this.~
3 |
4 |
5 | # 🍚 dotfile karla
6 | ⚕ Personal Dotfiles
7 | > `🌠 Inspired/fork/edit from ` [`gh0stzk`](https://github.com/gh0stzk/dotfiles)
8 | >
9 | > `💻 Linux Configuration by` [`S4NKALP`](https://github.com/S4NKALP).
10 |
11 | ## 🌏 Overview
12 |
13 |
14 | - **Operating System**: **[`Archlinux`](https://archlinux.org)**
15 | - **Window Manager**: **[`Bspwm`](https://github.com/baskerville/bspwm)**
16 | - **Terminal**: **[`Alacritty`](https://github.com/alacritty/alacritty)**
17 | - **Shell**: **[`Zsh`](https://zsh.org)**
18 | - **Launcher** : **[`Rofi`](https://github.com/davatorium/rofi)**
19 | - **Status Bar**: **[`Polybar`](https://github.com/polybar/polybar)**
20 | - **Browser**: [`Brave`](https://brave.com/) / [`Chrome`](https://chrome.google.com) / [`Firefox`](https://www.mozilla.org/en/firefox/)
21 |
22 | ## 📦 Setup
23 |
24 |
25 | Installation:
26 |
27 | The installer only works for **ARCH** Linux, and based distros.
28 |
29 | Open a terminal in HOME
30 | - **First download the installer**
31 | ```sh
32 | curl https://raw.githubusercontent.com/S4NKALP/gh0stzk-dotfile/main/RiceInstaller -o $HOME/RiceInstaller
33 | ```
34 | - **Now give it execute permissions**
35 | ```sh
36 | chmod +x RiceInstaller
37 | ```
38 | - **Finally run the installer**
39 | ```sh
40 | ./RiceInstaller
41 | ```
42 |
43 |
--------------------------------------------------------------------------------
/RiceInstaller:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | # ╦═╗╦╔═╗╔═╗ ╦╔╗╔╔═╗╔╦╗╔═╗╦ ╦ ╔═╗╦═╗
3 | # ╠╦╝║║ ║╣ ║║║║╚═╗ ║ ╠═╣║ ║ ║╣ ╠╦╝
4 | # ╩╚═╩╚═╝╚═╝ ╩╝╚╝╚═╝ ╩ ╩ ╩╩═╝╩═╝╚═╝╩╚═
5 | # Script to install my dotfiles
6 | # Author: z0mbi3
7 | # MODIFIED BY S4NKALP
8 |
9 | CRE=$(tput setaf 1)
10 | CYE=$(tput setaf 3)
11 | CGR=$(tput setaf 2)
12 | CBL=$(tput setaf 4)
13 | BLD=$(tput bold)
14 | CNC=$(tput sgr0)
15 |
16 | backup_folder=~/.RiceBackup
17 | date=$(date +%Y%m%d-%H%M%S)
18 |
19 | logo () {
20 |
21 | local text="${1:?}"
22 | echo -en "
23 | %%%
24 | %%%%%//%%%%%
25 | %%************%%%
26 | (%%//############*****%%
27 | %%%%%**###&&&&&&&&##**//
28 | %%(**##&&########&&#**
29 | %%(**##*****#####*****##**%%%
30 | %%(**## ***** ##**
31 | //## @@** @@ ##//
32 | ## **### ##
33 | ####### #####//
34 | ###**&&&&&**###
35 | &&& &&&
36 | &&&//// &&
37 | &&//@@@**
38 | ..***
39 | z0mbi3 Dotfiles\n\n"
40 | printf ' %s [%s%s %s%s %s]%s\n\n' "${CRE}" "${CNC}" "${CYE}" "${text}" "${CNC}" "${CRE}" "${CNC}"
41 | }
42 |
43 | ########## ---------- You must not run this as root ---------- ##########
44 |
45 | if [ "$(id -u)" = 0 ]; then
46 | echo "This script MUST NOT be run as root user."
47 | exit 1
48 | fi
49 |
50 | ########## ---------- Welcome ---------- ##########
51 |
52 | logo "Welcome!"
53 | printf '%s%sThis script will check if you have the necessary dependencies, and if not, it will install them. Then, it will clone the RICE in your HOME directory.\nAfter that, it will create a secure backup of your files, and then copy the new files to your computer.\n\nMy dotfiles DO NOT modify any of your system configurations.\nYou will be prompted for your root password to install missing dependencies and/or to switch to zsh shell if its not your default.\n\nThis script doesnt have the potential power to break your system, it only copies files from my repository to your HOME directory.%s\n\n' "${BLD}" "${CRE}" "${CNC}"
54 |
55 | while true; do
56 | read -rp " Do you wish to continue? [y/N]: " yn
57 | case $yn in
58 | [Yy]* ) break;;
59 | [Nn]* ) exit;;
60 | * ) printf " Error: just write 'y' or 'n'\n\n";;
61 | esac
62 | done
63 | clear
64 |
65 | ########## ---------- Install packages ---------- ##########
66 |
67 | logo "Installing needed packages.."
68 |
69 | dependencias=(base-devel rustup pacman-contrib bspwm polybar sxhkd \
70 | alacritty brightnessctl dunst rofi lsd stalonetray \
71 | jq polkit-gnome git playerctl mpd xclip \
72 | ncmpcpp geany ranger mpc picom xdo xdotool jgmenu \
73 | feh ueberzug maim pamixer libwebp xdg-user-dirs \
74 | webp-pixbuf-loader xorg-xprop xorg-xkill physlock papirus-icon-theme \
75 | ttf-jetbrains-mono ttf-jetbrains-mono-nerd ttf-terminus-nerd ttf-inconsolata ttf-joypixels \
76 | zsh zsh-autosuggestions zsh-history-substring-search zsh-syntax-highlighting xorg-xsetroot xorg-xwininfo xorg-xrandr)
77 |
78 | is_installed() {
79 | pacman -Qi "$1" &> /dev/null
80 | return $?
81 | }
82 |
83 | printf "%s%sChecking for required packages...%s\n" "${BLD}" "${CBL}" "${CNC}"
84 | for paquete in "${dependencias[@]}"
85 | do
86 | if ! is_installed "$paquete"; then
87 | sudo pacman -S "$paquete" --noconfirm
88 | printf "\n"
89 | else
90 | printf '%s%s is already installed on your system!%s\n' "${CGR}" "$paquete" "${CNC}"
91 | sleep 1
92 | fi
93 | done
94 | sleep 3
95 | clear
96 |
97 | ########## ---------- Preparing Folders ---------- ##########
98 |
99 | logo "Preparing Folders"
100 | if [ ! -e $HOME/.config/user-dirs.dirs ]; then
101 | xdg-user-dirs-update
102 | echo "Creating xdg-user-dirs"
103 | else
104 | echo "user-dirs.dirs already exists"
105 | fi
106 | sleep 2
107 | clear
108 |
109 | ########## ---------- Cloning the Rice! ---------- ##########
110 |
111 | logo "Downloading dotfiles"
112 | [ -d ~/dotfiles ] && rm -rf ~/dotfiles
113 | printf "Cloning rice from https://github.com/S4NKALP/gh0stzk-dotfile\n"
114 | cd
115 | git clone --depth=1 https://github.com/S4NKALP/gh0stzk-dotfile.git
116 | sleep 2
117 | clear
118 |
119 | ########## ---------- Backup files ---------- ##########
120 |
121 | logo "Backup files"
122 | printf "Backup files will be stored in %s%s%s/.RiceBackup%s \n\n" "${BLD}" "${CRE}" "$HOME" "${CNC}"
123 | sleep 10
124 |
125 | if [ ! -d "$backup_folder" ]; then
126 | mkdir -p "$backup_folder"
127 | fi
128 |
129 | for folder in bspwm alacritty picom rofi sxhkd dunst polybar ncmpcpp nvim ranger zsh mpd paru; do
130 | if [ -d "$HOME/.config/$folder" ]; then
131 | mv "$HOME/.config/$folder" "$backup_folder/${folder}_$date"
132 | echo "$folder folder backed up successfully at $backup_folder/${folder}_$date"
133 | else
134 | echo "The folder $folder does not exist in $HOME/.config/"
135 | fi
136 | done
137 |
138 | for folder in chrome; do
139 | if [ -d "$HOME"/.mozilla/firefox/*.default-release/$folder ]; then
140 | mv "$HOME"/.mozilla/firefox/*.default-release/$folder "$backup_folder"/${folder}_$date
141 | echo "$folder folder backed up successfully at $backup_folder/${folder}_$date"
142 | else
143 | echo "The folder $folder does not exist in $HOME/.mozilla/firefox/"
144 | fi
145 | done
146 |
147 | for file in user.js; do
148 | if [ -e "$HOME"/.mozilla/firefox/*.default-release/$file ]; then
149 | mv "$HOME"/.mozilla/firefox/*.default-release/$file "$backup_folder"/${file}_$date
150 | echo "$file file backed up successfully at $backup_folder/${file}_$date"
151 | else
152 | echo "The file $file does not exist in $HOME/.mozilla/firefox/"
153 | fi
154 | done
155 |
156 | [ -f ~/.zshrc ] && mv ~/.zshrc ~/.RiceBackup/.zshrc-backup-"$(date +%Y.%m.%d-%H.%M.%S)"
157 |
158 | printf "%s%sDone!!%s\n\n" "${BLD}" "${CGR}" "${CNC}"
159 | sleep 5
160 |
161 | ########## ---------- Copy the Rice! ---------- ##########
162 |
163 | logo "Installing dotfiles.."
164 | printf "Copying files to respective directories..\n"
165 |
166 | [ ! -d ~/.config ] && mkdir -p ~/.config
167 | [ ! -d ~/.local/bin ] && mkdir -p ~/.local/bin
168 | [ ! -d ~/.local/share/applications ] && mkdir -p ~/.local/share/applications
169 | [ ! -d ~/.local/share/fonts ] && mkdir -p ~/.local/share/fonts
170 | [ ! -d ~/.local/share/asciiart ] && mkdir -p ~/.local/share/asciiart
171 |
172 | for archivos in ~/dotfiles/config/*; do
173 | cp -R "${archivos}" ~/.config/
174 | if [ $? -eq 0 ]; then
175 | printf "%s%s%s folder copied succesfully!%s\n" "${BLD}" "${CGR}" "${archivos}" "${CNC}"
176 | sleep 1
177 | else
178 | printf "%s%s%s failed to been copied, you must copy it manually%s\n" "${BLD}" "${CRE}" "${archivos}" "${CNC}"
179 | sleep 1
180 | fi
181 | done
182 |
183 | for archivos in ~/dotfiles/misc/bin/*; do
184 | cp -R "${archivos}" ~/.local/bin/
185 | if [ $? -eq 0 ]; then
186 | printf "%s%s%s file copied succesfully!%s\n" "${BLD}" "${CGR}" "${archivos}" "${CNC}"
187 | sleep 1
188 | else
189 | printf "%s%s%s failed to been copied, you must copy it manually%s\n" "${BLD}" "${CRE}" "${archivos}" "${CNC}"
190 | sleep 1
191 | fi
192 | done
193 |
194 | for archivos in ~/dotfiles/misc/applications/*; do
195 | cp -R "${archivos}" ~/.local/share/applications/
196 | if [ $? -eq 0 ]; then
197 | printf "%s%s%s file copied succesfully!%s\n" "${BLD}" "${CGR}" "${archivos}" "${CNC}"
198 | sleep 1
199 | else
200 | printf "%s%s%s failed to been copied, you must copy it manually%s\n" "${BLD}" "${CRE}" "${archivos}" "${CNC}"
201 | sleep 1
202 | fi
203 | done
204 |
205 | for archivos in ~/dotfiles/misc/fonts/*; do
206 | cp -R "${archivos}" ~/.local/share/fonts/
207 | if [ $? -eq 0 ]; then
208 | printf "%s%s%s copied succesfully!%s\n" "${BLD}" "${CGR}" "${archivos}" "${CNC}"
209 | sleep 1
210 | else
211 | printf "%s%s%s failed to been copied, you must copy it manually%s\n" "${BLD}" "${CRE}" "${archivos}" "${CNC}"
212 | sleep 1
213 | fi
214 | done
215 |
216 | for archivos in ~/dotfiles/misc/asciiart/*; do
217 | cp -R "${archivos}" ~/.local/share/asciiart/
218 | if [ $? -eq 0 ]; then
219 | printf "%s%s%s file copied succesfully!%s\n" "${BLD}" "${CGR}" "${archivos}" "${CNC}"
220 | sleep 1
221 | else
222 | printf "%s%s%s failed to been copied, you must copy it manually%s\n" "${BLD}" "${CRE}" "${archivos}" "${CNC}"
223 | sleep 1
224 | fi
225 | done
226 |
227 | for archivos in ~/dotfiles/misc/firefox/*; do
228 | cp -R "${archivos}" ~/.mozilla/firefox/*.default-release/
229 | if [ $? -eq 0 ]; then
230 | printf "%s%s%s folder copied succesfully!%s\n" "${BLD}" "${CGR}" "${archivos}" "${CNC}"
231 | sleep 1
232 | else
233 | printf "%s%s%s failed to been copied, you must copy it manually%s\n" "${BLD}" "${CRE}" "${archivos}" "${CNC}"
234 | sleep 1
235 | fi
236 | done
237 |
238 | cp -f "$HOME"/dotfiles/home/.zshrc "$HOME"
239 | fc-cache -rv >/dev/null 2>&1
240 | printf "%s%sFiles copied succesfully!!%s\n" "${BLD}" "${CGR}" "${CNC}"
241 | sleep 3
242 |
243 | ########## ---------- Installing Paru from source ---------- ##########
244 |
245 | logo "installing Paru"
246 |
247 | if ! command -v paru >/dev/null 2>&1; then
248 | printf "%s%sInstalling paru%s\n" "${BLD}" "${CBL}" "${CNC}"
249 | cd
250 | git clone https://aur.archlinux.org/paru-bin.git
251 | cd paru-bin
252 | makepkg -si --noconfirm
253 | cd
254 | else
255 | printf "%s%sParu is already installed%s\n" "${BLD}" "${CGR}" "${CNC}"
256 | fi
257 |
258 | ## Intalling tdrop for scratchpads
259 | if ! command -v tdrop >/dev/null 2>&1; then
260 | printf "\n%s%sInstalling tdrop, this must be fast!.%s\n" "${BLD}" "${CBL}" "${CNC}"
261 | paru -S tdrop-git --skipreview --noconfirm
262 | else
263 | printf "\n%s%sTdrop is already installed%s\n" "${BLD}" "${CGR}" "${CNC}"
264 | fi
265 |
266 | # Installing Eww
267 | if command -v eww >/dev/null 2>&1; then
268 | printf "\n%s%sEww is already installed%s\n" "${BLD}" "${CGR}" "${CNC}"
269 | else
270 | printf "\n%s%sInstalling Eww, this could take 10 mins or more.%s\n" "${BLD}" "${CBL}" "${CNC}"
271 | {
272 | sudo pacman -S rustup --noconfirm
273 | cd "$HOME" || exit
274 | git clone https://github.com/elkowar/eww
275 | cd eww || exit
276 | cargo build --release --no-default-features --features x11
277 | sudo install -m 755 "$HOME/eww/target/release/eww" -t /usr/bin/
278 | } && {
279 | cd "$HOME" || exit
280 | rm -rf {paru-bin,.cargo,.rustup,eww}
281 | } || {
282 | printf "\n%s%sFailed to install Eww. You may need to install it manually%s\n" "${BLD}" "${CRE}" "${CNC}"
283 | }
284 | fi
285 |
286 | ########## ---------- Enabling MPD service ---------- ##########
287 |
288 | logo "Enabling mpd service"
289 |
290 | systemctl --user enable mpd.service
291 | systemctl --user start mpd.service
292 | printf "%s%sDone!!%s\n\n" "${BLD}" "${CGR}" "${CNC}"
293 | sleep 2
294 |
295 | ########## --------- Changing shell to zsh ---------- ##########
296 |
297 | logo "Changing default shell to zsh"
298 | printf "%s%sIf your shell is not zsh will be changed now.\nYour root password is needed to make the change.\n\nAfter that is important for you to reboot.\n %s\n" "${BLD}" "${CYE}" "${CNC}"
299 | if [[ $SHELL != "/usr/bin/zsh" ]]; then
300 | echo "Changing shell to zsh, your root pass is needed."
301 | chsh -s /usr/bin/zsh
302 | else
303 | printf "%s%sYour shell is already zsh\nGood bye! installation finished, now reboot%s\n" "${BLD}" "${CGR}" "${CNC}"
304 | zsh
305 | fi
306 |
--------------------------------------------------------------------------------
/config/alacritty/alacritty.yml:
--------------------------------------------------------------------------------
1 | # ╔═╗╦ ╔═╗╔═╗╦═╗╦╔╦╗╔╦╗╦ ╦ ╔═╗╔═╗╔╗╔╔═╗╦╔═╗
2 | # ╠═╣║ ╠═╣║ ╠╦╝║ ║ ║ ╚╦╝ ║ ║ ║║║║╠╣ ║║ ╦ - Config by z0mbi3
3 | # ╩ ╩╩═╝╩ ╩╚═╝╩╚═╩ ╩ ╩ ╩ ╚═╝╚═╝╝╚╝╚ ╩╚═╝ - https://github.com/gh0stzk/dotfiles
4 | # General configuration
5 |
6 | import:
7 | - ~/.config/alacritty/rice-colors.yml
8 | - ~/.config/alacritty/fonts.yml
9 |
10 | window:
11 | padding:
12 | x: 15
13 | y: 15
14 |
15 | decorations: none
16 |
17 | opacity: 1.0
18 | dynamic_title: true
19 |
20 | history: 10000
21 | multiplier: 3
22 |
23 | selection:
24 | save_to_clipboard: false
25 |
26 | cursor:
27 | style:
28 | shape: Block
29 | blinking: On
30 |
31 | unfocused_hollow: false
32 | blink_interval: 550
33 |
34 | live_config_reload: true
35 |
--------------------------------------------------------------------------------
/config/alacritty/fonts.yml:
--------------------------------------------------------------------------------
1 | # Font configuration
2 | font:
3 | normal:
4 | family: JetBrainsMono Nerd Font
5 | #style: Regular
6 |
7 | bold:
8 | family: JetBrainsMono Nerd Font
9 | #style: Bold
10 |
11 | italic:
12 | family: JetBrainsMono Nerd Font
13 | #style: Italic
14 |
15 | bold_italic:
16 | family: JetBrainsMono Nerd Font
17 | #style: Bold Italic
18 |
19 | size: 6
20 |
--------------------------------------------------------------------------------
/config/alacritty/rice-colors.yml:
--------------------------------------------------------------------------------
1 | # ██████╗ ██╗ ██████╗███████╗ ██████╗ ██████╗ ██╗ ██████╗ ██████╗ ███████╗
2 | # ██╔══██╗██║██╔════╝██╔════╝ ██╔════╝██╔═══██╗██║ ██╔═══██╗██╔══██╗██╔════╝
3 | # ██████╔╝██║██║ █████╗ ██║ ██║ ██║██║ ██║ ██║██████╔╝███████╗
4 | # ██╔══██╗██║██║ ██╔══╝ ██║ ██║ ██║██║ ██║ ██║██╔══██╗╚════██║
5 | # ██║ ██║██║╚██████╗███████╗ ╚██████╗╚██████╔╝███████╗╚██████╔╝██║ ██║███████║
6 | # ╚═╝ ╚═╝╚═╝ ╚═════╝╚══════╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝
7 | # Author : z0mbi3
8 | # url : https://github.com/gh0stzk/dotfiles
9 | # Info : Alacritty Colorschemes for the 12 rices.
10 |
11 | schemes:
12 | # Colors (Pencil light) Aline Rice
13 | aline_pencil_light: &aline_pencil_light
14 | primary:
15 | background: '#e5eafe'
16 | foreground: '#51576d'
17 | normal:
18 | black: '#212121'
19 | red: '#c30771'
20 | green: '#10a778'
21 | yellow: '#a89c14'
22 | blue: '#008ec4'
23 | magenta: '#523c79'
24 | cyan: '#20a5ba'
25 | white: '#51576d'
26 | bright:
27 | black: '#212121'
28 | red: '#fb007a'
29 | green: '#5fd7af'
30 | yellow: '#f3e430'
31 | blue: '#20bbfc'
32 | magenta: '#6855de'
33 | cyan: '#4fb8cc'
34 | white: '#51576d'
35 | cursor:
36 | cursor: '#20bbfc'
37 | text: '#e5eafe'
38 | # Colors Andrea Rice
39 | andrea_color_scheme: &andrea_color_scheme
40 | primary:
41 | background: '#F5EEE6'
42 | foreground: '#6d6a78'
43 | normal:
44 | black: '#80859d'
45 | red: '#c04364'
46 | green: '#abd77a'
47 | yellow: '#ffcc57'
48 | blue: '#67d4f1'
49 | magenta: '#7a7498'
50 | cyan: '#9bf4d5'
51 | white: '#b0b0b0'
52 | bright:
53 | black: '#80859d'
54 | red: '#c03f61'
55 | green: '#a1d16c'
56 | yellow: '#f2be47'
57 | blue: '#50bfdc'
58 | magenta: '#605692'
59 | cyan: '#83edc8'
60 | white: '#b0b0b0'
61 | cursor:
62 | cursor: '#7a7498'
63 | text: '#F5EEE6'
64 | # Colors (Rose-Pine Moon) Cristina Rice
65 | cristina_rose_pine: &cristina_rose_pine
66 | primary:
67 | background: '#1f1d29'
68 | foreground: '#eaeaea'
69 | normal:
70 | black: '#6f6e85'
71 | red: '#ea6f91'
72 | green: '#9bced7'
73 | yellow: '#f1ca93'
74 | blue: '#34738e'
75 | magenta: '#c3a5e6'
76 | cyan: '#eabbb9'
77 | white: '#faebd7'
78 | bright:
79 | black: '#6f6e85'
80 | red: '#ea6f91'
81 | green: '#9bced7'
82 | yellow: '#f1ca93'
83 | blue: '#34738e'
84 | magenta: '#c3a5e6'
85 | cyan: '#ebbcba'
86 | white: '#e0def4'
87 | cursor:
88 | cursor: '#c3a5e6'
89 | text: '#1f1d29'
90 | # Colors Cynthia Rice
91 | cynthia_color_scheme: &cynthia_color_scheme
92 | primary:
93 | background: '#1f2329'
94 | foreground: '#b8bfe5'
95 | normal:
96 | black: '#0f1319'
97 | red: '#644d66'
98 | green: '#375759'
99 | yellow: '#736871'
100 | blue: '#3f5273'
101 | magenta: '#543f66'
102 | cyan: '#324f66'
103 | white: '#b3b3b3'
104 | bright:
105 | black: '#b3b3b3'
106 | red: '#735771'
107 | green: '#3f6566'
108 | yellow: '#807476'
109 | blue: '#465b80'
110 | magenta: '#533969'
111 | cyan: '#385a73'
112 | white: '#e5e5e5'
113 | cursor:
114 | cursor: '#465b80'
115 | text: '#e5e5e5'
116 | # Colors (Tokyo Night) Emilia Rice
117 | emilia_tokyo_night: &emilia_tokyo_night
118 | primary:
119 | background: '#1a1b26'
120 | foreground: '#c0caf5'
121 | normal:
122 | black: '#414868'
123 | red: '#f7768e'
124 | green: '#9ece6a'
125 | yellow: '#e0af68'
126 | blue: '#7aa2f7'
127 | magenta: '#bb9af7'
128 | cyan: '#7dcfff'
129 | white: '#787c99'
130 | bright:
131 | black: '#414868'
132 | red: '#f7768e'
133 | green: '#9ece6a'
134 | yellow: '#e0af68'
135 | blue: '#7aa2f7'
136 | magenta: '#bb9af7'
137 | cyan: '#7dcfff'
138 | white: '#c0caf5'
139 | cursor:
140 | cursor: '#bb9af7'
141 | text: '#1a1b26'
142 | # Colors (Onedark) Isabel Rice
143 | isabel_onedark: &isabel_onedark
144 | primary:
145 | background: '#14171c'
146 | foreground: '#b8bfe5'
147 | normal:
148 | black: '#5c6370'
149 | red: '#be5046'
150 | green: '#81ae5f'
151 | yellow: '#d19a66'
152 | blue: '#4889be'
153 | magenta: '#7560d3'
154 | cyan: '#49919a'
155 | white: '#c5cddb'
156 | bright:
157 | black: '#5c6370'
158 | red: '#e06c75'
159 | green: '#98c379'
160 | yellow: '#e5c07b'
161 | blue: '#61afef'
162 | magenta: '#8677cf'
163 | cyan: '#56b6c2'
164 | white: '#abb2bf'
165 | cursor:
166 | cursor: '#abb2bf'
167 | text: '#14171c'
168 | # Colors (CyberPunk) Jan Rice
169 | jan_cyberpunk: &jan_cyberpunk
170 | primary:
171 | background: '#070219'
172 | foreground: '#c0caf5'
173 | normal:
174 | black: '#626483'
175 | red: '#fb007a'
176 | green: '#a6e22e'
177 | yellow: '#f3e430'
178 | blue: '#58AFC2'
179 | magenta: '#583794'
180 | cyan: '#926BCA'
181 | white: '#d9d9d9'
182 | bright:
183 | black: '#626483'
184 | red: '#fb007a'
185 | green: '#a6e22e'
186 | yellow: '#f3e430'
187 | blue: '#58AFC2'
188 | magenta: '#472575'
189 | cyan: '#926BCA'
190 | white: '#f1f1f1'
191 | cursor:
192 | cursor: '#fb007a'
193 | text: '#070219'
194 | # Colors (Zombie-Night color scheme) Karla Rice
195 | karla_z0mbi3_night: &karla_z0mbi3_night
196 | primary:
197 | background: '#0E1113'
198 | foreground: '#afb1db'
199 | normal:
200 | black: '#2d2b36'
201 | red: '#e7034a'
202 | green: '#61b33e'
203 | yellow: '#ffb964'
204 | blue: '#5884d4'
205 | magenta: '#7a44e3'
206 | cyan: '#7df0f0'
207 | white: '#faf7ff'
208 | bright:
209 | black: '#373542'
210 | red: '#e71c5b'
211 | green: '#6fb352'
212 | yellow: '#ffb964'
213 | blue: '#5f90ea'
214 | magenta: '#8656e3'
215 | cyan: '#97f0f0'
216 | white: '#fdfcff'
217 | cursor:
218 | cursor: '#8656e3'
219 | text: '#0b0b12'
220 | # Colors (Nord) Melissa Rice
221 | melissa_nord: &melissa_nord
222 | primary:
223 | background: '#2e3440'
224 | foreground: '#d8dee9'
225 | normal:
226 | black: '#4c566a'
227 | red: '#bf616a'
228 | green: '#a3be8c'
229 | yellow: '#ebcb8b'
230 | blue: '#81a1c1'
231 | magenta: '#b48ead'
232 | cyan: '#88c0d0'
233 | white: '#e5e9f0'
234 | bright:
235 | black: '#4c566a'
236 | red: '#bf616a'
237 | green: '#a3be8c'
238 | yellow: '#ebcb8b'
239 | blue: '#81a1c1'
240 | magenta: '#b48ead'
241 | cyan: '#8fbcbb'
242 | white: '#eceff4'
243 | cursor:
244 | cursor: '#81a1c1'
245 | text: '#2e3440'
246 | # Colors (Elenapan) Pamela Rice
247 | pamela_color_scheme: &pamela_color_scheme
248 | primary:
249 | background: '#1D1F28'
250 | foreground: '#FDFDFD'
251 | normal:
252 | black: '#3D4C5F'
253 | red: '#F37F97'
254 | green: '#5ADECD'
255 | yellow: '#F2A272'
256 | blue: '#8897F4'
257 | magenta: '#C574DD'
258 | cyan: '#79E6F3'
259 | white: '#FDFDFD'
260 | bright:
261 | black: '#56687E'
262 | red: '#FF4971'
263 | green: '#18E3C8'
264 | yellow: '#FF8037'
265 | blue: '#556FFF'
266 | magenta: '#B043D1'
267 | cyan: '#3FDCEE'
268 | white: '#BEBEC1'
269 | cursor:
270 | cursor: '#FF4971'
271 | text: '#1D1F28'
272 | # Colors (Gruvbox) Silvia Rice
273 | silvia_gruvbox: &silvia_gruvbox
274 | primary:
275 | background: '#282828'
276 | foreground: '#fbf1c7'
277 | normal:
278 | black: '#a89984'
279 | red: '#cc241d'
280 | green: '#98971a'
281 | yellow: '#d79921'
282 | blue: '#458588'
283 | magenta: '#b16286'
284 | cyan: '#689d6a'
285 | white: '#ebdbb2'
286 | bright:
287 | black: '#a89984'
288 | red: '#fb4934'
289 | green: '#b8bb26'
290 | yellow: '#fabd2f'
291 | blue: '#83a598'
292 | magenta: '#d3869b'
293 | cyan: '#8ec07c'
294 | white: '#ebdbb2'
295 | cursor:
296 | cursor: '#fbf1c7'
297 | text: '#282828'
298 | # Colors (Decay, decayce variant) z0mbi3 Rice
299 | z0mbi3_decay: &z0mbi3_decay
300 | primary:
301 | background: '#0d0f18'
302 | foreground: '#a5b6cf'
303 | normal:
304 | black: '#3d414f'
305 | red: '#dd6777'
306 | green: '#90ceaa'
307 | yellow: '#ecd3a0'
308 | blue: '#86aaec'
309 | magenta: '#c296eb'
310 | cyan: '#93cee9'
311 | white: '#cbced3'
312 | bright:
313 | black: '#3d414f'
314 | red: '#dd6777'
315 | green: '#90ceaa'
316 | yellow: '#ecd3a0'
317 | blue: '#86aaec'
318 | magenta: '#c296eb'
319 | cyan: '#93cee9'
320 | white: '#cbced3'
321 | cursor:
322 | cursor: '#a5b6cf'
323 | text: '#0d0f18'
324 |
325 | # Set the color scheme for the actual rice.
326 | colors: *karla_z0mbi3_night
327 |
--------------------------------------------------------------------------------
/config/bspwm/assets/brightness.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/config/bspwm/assets/cancel.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/config/bspwm/assets/fallback.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/S4NKALP/gh0stzk-dotfile/d2b88bb82e14d287c4c5a64f2b5343aa9d7f0ddc/config/bspwm/assets/fallback.webp
--------------------------------------------------------------------------------
/config/bspwm/assets/ka-rofi.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/S4NKALP/gh0stzk-dotfile/d2b88bb82e14d287c4c5a64f2b5343aa9d7f0ddc/config/bspwm/assets/ka-rofi.webp
--------------------------------------------------------------------------------
/config/bspwm/assets/mute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/S4NKALP/gh0stzk-dotfile/d2b88bb82e14d287c4c5a64f2b5343aa9d7f0ddc/config/bspwm/assets/mute.png
--------------------------------------------------------------------------------
/config/bspwm/assets/profile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/S4NKALP/gh0stzk-dotfile/d2b88bb82e14d287c4c5a64f2b5343aa9d7f0ddc/config/bspwm/assets/profile.png
--------------------------------------------------------------------------------
/config/bspwm/assets/reload.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/config/bspwm/assets/screenshot.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/config/bspwm/assets/vol.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/S4NKALP/gh0stzk-dotfile/d2b88bb82e14d287c4c5a64f2b5343aa9d7f0ddc/config/bspwm/assets/vol.png
--------------------------------------------------------------------------------
/config/bspwm/bspwmrc:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | #
3 | # ██████╗ ███████╗██████╗ ██╗ ██╗███╗ ███╗██████╗ ██████╗
4 | # ██╔══██╗██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝
5 | # ██████╔╝███████╗██████╔╝██║ █╗ ██║██╔████╔██║██████╔╝██║
6 | # ██╔══██╗╚════██║██╔═══╝ ██║███╗██║██║╚██╔╝██║██╔══██╗██║
7 | # ██████╔╝███████║██║ ╚███╔███╔╝██║ ╚═╝ ██║██║ ██║╚██████╗
8 | # ╚═════╝ ╚══════╝╚═╝ ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝
9 |
10 | # ┬┌┬┐┌─┐┌─┐┬─┐┌┬┐┌─┐┌┐┌┌┬┐ ┬ ┬┌─┐┬─┐┬┌─┐┌┐ ┬ ┌─┐┌─┐
11 | # ││││├─┘│ │├┬┘ │ ├─┤│││ │ └┐┌┘├─┤├┬┘│├─┤├┴┐│ ├┤ └─┐
12 | # ┴┴ ┴┴ └─┘┴└─ ┴ ┴ ┴┘└┘ ┴ └┘ ┴ ┴┴└─┴┴ ┴└─┘┴─┘└─┘└─┘
13 |
14 |
15 | PATH="$HOME/.config/bspwm/scripts:$PATH"
16 | rice_dir="$HOME/.config/bspwm/karla"
17 |
18 | ## Fix java applications
19 | export _JAVA_AWT_WM_NONREPARENTING=1
20 |
21 | # ╦ ╦╔═╗╦═╗╦╔═╔═╗╔═╗╔═╗╔═╗╔═╗╔═╗
22 | # ║║║║ ║╠╦╝╠╩╗╚═╗╠═╝╠═╣║ ║╣ ╚═╗
23 | # ╚╩╝╚═╝╩╚═╩ ╩╚═╝╩ ╩ ╩╚═╝╚═╝╚═╝
24 |
25 | # Default 1 monitor with 6 workspaces
26 | for monitor in "$(xrandr -q | grep -w 'connected' | cut -d' ' -f1)"; do
27 | bspc monitor "$monitor" -d '1' '2' '3' '4' '5' '6'
28 | #bspc monitor "$monitor" -d '' '' '' '' '' ''
29 | done
30 |
31 | ## For two or three monitors configuration see https://github.com/gh0stzk/dotfiles/wiki/Two-or-more-monitors-setup
32 |
33 |
34 | # ┌┐ ┌─┐┌─┐┬ ┬┌┬┐ ┌─┐┌─┐┌┐┌┌─┐┬┌─┐
35 | # ├┴┐└─┐├─┘││││││ │ │ ││││├┤ ││ ┬
36 | # └─┘└─┘┴ └┴┘┴ ┴ └─┘└─┘┘└┘└ ┴└─┘
37 |
38 | bspc config external_rules_command $HOME/.config/bspwm/scripts/ExternalRules
39 |
40 | bspc config window_gap 6
41 | bspc config split_ratio 0.51
42 | bspc config single_monocle true
43 | bspc config borderless_monocle false
44 | bspc config gapless_monocle false
45 |
46 | bspc config focus_follows_pointer true
47 | bspc config pointer_follows_focus false
48 | bspc config pointer_motion_interval 5
49 | bspc config pointer_modifier mod4
50 | bspc config pointer_action1 move
51 | bspc config pointer_action2 resize_side
52 | bspc config pointer_action3 resize_corner
53 |
54 | #bspc wm --adopt-orphans
55 | bspc rule -a scratch sticky=on state=floating focus=on
56 |
57 | # ╔═╗╦ ╦╔╦╗╔═╗╔═╗╔╦╗╔═╗╦═╗╔╦╗
58 | # ╠═╣║ ║ ║ ║ ║╚═╗ ║ ╠═╣╠╦╝ ║
59 | # ╩ ╩╚═╝ ╩ ╚═╝╚═╝ ╩ ╩ ╩╩╚═ ╩
60 |
61 | # Set system vars for polybar
62 | . SetSysVars
63 |
64 | # Terminate already running polybar,picom, sxhkd and dunst instances
65 | processes=("eww" "picom" "polybar" "sxhkd" "dunst")
66 |
67 | for process in "${processes[@]}"; do
68 | if pidof -q "$process"; then
69 | pkill -9 -x "$process" > /dev/null; sleep 0.1
70 | fi
71 | done
72 |
73 | # Load colors, dunst, bars and/or eww widgets
74 | . ${rice_dir}/Theme.sh
75 |
76 | # Launch picom // If you have old hardware or encounter problems
77 | # uncomment the picom "--legacy-backends" line and comment the current one.
78 | pidof -q picom || { picom --config "$HOME"/.config/bspwm/picom.conf & }
79 | #pidof -q picom || { picom --legacy-backends --config "$HOME"/.config/bspwm/picom.conf & }
80 |
81 | # Launch dunst notification daemon
82 | dunst -config "$HOME"/.config/bspwm/dunstrc &
83 |
84 | # Set random wallpaper for actual rice
85 | feh -z --no-fehbg --bg-fill ${rice_dir}/walls
86 |
87 | # Launch eww daemon
88 | pidof -q eww || { eww -c "$HOME"/.config/bspwm/eww daemon & }
89 |
90 | # Launch stalonetray
91 | stalonetray -c "$HOME"/.config/bspwm/stalonetrayrc & sleep 0.1 && xdo hide -N stalonetray && touch "/tmp/syshide.lock"
92 |
93 | # Reload sxhkd daemon
94 | sxhkd -c "$HOME"/.config/bspwm/sxhkdrc &
95 |
96 | # Launch polkit
97 | pidof -q polkit-gnome-authentication-agent-1 || { /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & }
98 |
99 | # Fix cursor
100 | xsetroot -cursor_name left_ptr
101 |
--------------------------------------------------------------------------------
/config/bspwm/dunstrc:
--------------------------------------------------------------------------------
1 | # ╔╦╗╦ ╦╔╗╔╔═╗╔╦╗ ╔═╗╔═╗╔╗╔╔═╗╦╔═╗
2 | # ║║║ ║║║║╚═╗ ║ ║ ║ ║║║║╠╣ ║║ ╦
3 | # ═╩╝╚═╝╝╚╝╚═╝ ╩ ╚═╝╚═╝╝╚╝╚ ╩╚═╝
4 |
5 | [global]
6 | title = Dunst
7 | class = Dunst
8 | monitor = 0
9 | follow = mouse
10 | width = 300
11 | height = 300
12 | origin = top-right
13 | offset = 10x92
14 | indicate_hidden = yes
15 | shrink = yes
16 |
17 | transparency = 8
18 | separator_height = 2
19 | padding = 8
20 | horizontal_padding = 11
21 | frame_width = 6
22 | frame_color = "#0E1113"
23 | separator_color = "#353c52"
24 |
25 | font = JetBrainsMono Nerd Font Medium 9
26 |
27 | line_height = 0
28 | markup = full
29 | format = "%s\n%b"
30 | alignment = center
31 |
32 | idle_threshold = 120
33 | show_age_threshold = 60
34 | sort = no
35 | word_wrap = yes
36 | ignore_newline = no
37 | stack_duplicates = false
38 | hide_duplicate_count = yes
39 | show_indicators = no
40 | sticky_history = no
41 | history_length = 20
42 | always_run_script = true
43 | corner_radius = 4
44 | icon_position = left
45 | max_icon_size = 80
46 |
47 | icon_path = /usr/share/icons/Papirus-Dark/48x48/actions/:/usr/share/icons/Papirus-Dark/48x48/apps/:/usr/share/icons/Papirus-Dark/48x48/devices/:/usr/share/icons/Papirus-Dark/48x48/emblems/:/usr/share/icons/Papirus-Dark/48x48/emotes/:/usr/share/icons/Papirus-Dark/48x48/mimetypes/:/usr/share/icons/Papirus-Dark/48x48/places/:/usr/share/icons/Papirus-Dark/48x48/status/
48 |
49 | browser = firefox
50 |
51 | mouse_left_click = close_current
52 | mouse_middle_click = do_action
53 | mouse_right_click = close_all
54 |
55 | [urgency_low]
56 | timeout = 3
57 | background = "#0E1113"
58 | foreground = "#afb1db"
59 |
60 | [urgency_normal]
61 | timeout = 6
62 | background = "#0E1113"
63 | foreground = "#afb1db"
64 |
65 | [urgency_critical]
66 | timeout = 0
67 | background = "#0E1113"
68 | foreground = "#afb1db"
69 |
--------------------------------------------------------------------------------
/config/bspwm/eww/calendar/calendar.scss:
--------------------------------------------------------------------------------
1 | .date {
2 | background-color: $bg;
3 | color: $fg;
4 | border-radius: .5rem;
5 | }
6 |
7 | .cal-box {
8 | font-family: Cantarell;
9 | font-weight: Bold;
10 | font-size: .9rem;
11 | background-color: $bg;
12 | border-radius: .5rem;
13 | padding: 0 1rem .2rem;
14 | color: $fg;
15 | background-color: $bg-alt;
16 | margin: .6rem .6rem .6rem .6rem;
17 |
18 | .cal {
19 | background-color: inherit;
20 | padding: .5rem .15rem .2rem;
21 | margin-left: 10px;
22 |
23 | & > * {
24 | border: solid 0px transparent;
25 | }
26 |
27 | &.highlight {
28 | padding: 10rem;
29 | }
30 | }
31 | }
32 |
33 | calendar:selected {
34 | color: $magenta;
35 | }
36 |
37 | calendar.header {
38 | color: $magenta;
39 | font-weight: bold;
40 | }
41 |
42 | calendar.button {
43 | color: $fg;
44 | }
45 |
46 | calendar.highlight {
47 | color: $green;
48 | font-weight: bold;
49 | }
50 |
51 | calendar:indeterminate {
52 | color: $lightblack;
53 | }
54 |
--------------------------------------------------------------------------------
/config/bspwm/eww/calendar/calendar.yuck:
--------------------------------------------------------------------------------
1 |
2 | (defwidget cal []
3 | (box :class "cal-box"
4 | :orientation "v"
5 | :space-evenly false
6 | (calendar :class "cal"
7 | :day {formattime(EWW_TIME, "%d")}
8 | :month {formattime(EWW_TIME, "%m")}
9 | :year {formattime(EWW_TIME, "%Y")}
10 | ))
11 | )
12 |
13 | ;; Windows ;;
14 | (defwindow date
15 | :geometry (geometry :x "42.3%"
16 | :y "5%"
17 | :anchor "center top")
18 | :wm-ignore true
19 | (cal))
20 |
--------------------------------------------------------------------------------
/config/bspwm/eww/colors.scss:
--------------------------------------------------------------------------------
1 | // Eww colors for Karla rice
2 | $bg: #0E1113;
3 | $bg-alt: #111517;
4 | $fg: #afb1db;
5 | $black: #373542;
6 | $lightblack: #262831;
7 | $red: #e7034a;
8 | $blue: #5884d4;
9 | $cyan: #7df0f0;
10 | $magenta: #7a44e3;
11 | $green: #61b33e;
12 | $yellow: #ffb964;
13 | $archicon: #0f94d2;
14 |
--------------------------------------------------------------------------------
/config/bspwm/eww/eww.scss:
--------------------------------------------------------------------------------
1 | * {
2 | all: unset;
3 | }
4 |
5 | tooltip {
6 | background-color: #14171c;
7 | color: #b8bfe5;
8 | font-family: Inconsolata SemiCondensed Medium;
9 | font-weight: Bold;
10 | font-size: 1rem;
11 | }
12 |
13 | @import "colors.scss";
14 | @import "calendar/calendar.scss";
15 | @import "powermenu/powermenu.scss";
16 | @import "profilecard/profilecard.scss";
17 | @import "player/player.scss";
18 |
--------------------------------------------------------------------------------
/config/bspwm/eww/eww.yuck:
--------------------------------------------------------------------------------
1 | (include "calendar/calendar.yuck")
2 | (include "powermenu/powermenu.yuck")
3 | (include "profilecard/profilecard.yuck")
4 | (include "player/player.yuck")
5 |
--------------------------------------------------------------------------------
/config/bspwm/eww/player/player.scss:
--------------------------------------------------------------------------------
1 | .player {
2 | font-family: "JetBrains Mono Medium", "Material Design Icons Desktop";
3 | background-color: $bg;
4 | padding: 0.6rem;
5 | min-height: 12rem;
6 | border-radius: 0.6rem;
7 |
8 | .player-art {
9 | background-size: cover;
10 | background-repeat: no-repeat;
11 | background-position: center;
12 | box-shadow: 0 0 0.3rem black;
13 | border-radius: 1.2rem;
14 | min-width: 22rem;
15 |
16 | .player-info {
17 | border-radius: 1rem;
18 | background: linear-gradient(to right, rgb(#191919, 1), rgba(#262626, 0.5));
19 | padding: 0.65rem;
20 |
21 | .player-shuffle,
22 | .player-loop {
23 | font-size: 1rem;
24 | text-shadow: 0 0 0.2rem black;
25 | }
26 |
27 | .spotify-icon {
28 | font-size: 1.25rem;
29 | color: $green;
30 | text-shadow: 0 0 0.2rem black;
31 | }
32 |
33 | .mpd-icon {
34 | font-size: 1.25rem;
35 | color: $magenta;
36 | text-shadow: 0 0 0.2rem black;
37 | }
38 |
39 | .player-title {
40 | font-style: italic;
41 | font-family: Cartograph CF;
42 | font-size: 1.1rem;
43 | font-weight: bold;
44 | color: $fg;
45 | text-shadow: 0 0 0.5rem rgba($color: black, $alpha: 1);
46 | }
47 |
48 | .player-artist {
49 | font-family: JetBrainsMono Nerd Font;
50 | font-weight: bolder;
51 | font-size: 0.8rem;
52 | color: $fg;
53 | text-shadow: 0 0 0.5rem rgba($color: black, $alpha: 1);
54 | }
55 |
56 | .player-time {
57 | font-style: italic;
58 | font-family: Cartograph CF;
59 | font-size: 0.8rem;
60 | color: $fg;
61 | }
62 |
63 | .player-bar scale trough highlight {
64 | all: unset;
65 | background-image: linear-gradient(
66 | to right,
67 | darken($color: $green, $amount: 15%),
68 | $green
69 | );
70 | border-radius: 2rem;
71 | }
72 |
73 | .player-bar scale trough {
74 | all: unset;
75 | background-color: rgba($fg, 0.3);
76 | box-shadow: 0px 0px 2px 1px rgba(black, 0.5);
77 | border-radius: 1rem;
78 | min-height: 0.35rem;
79 | margin: 0rem 0.2rem 0.2rem 0rem;
80 | }
81 |
82 | .player-position {
83 | font-size: 0.9rem;
84 | font-weight: 500;
85 | color: $fg;
86 | }
87 | }
88 | }
89 |
90 | .player-controls {
91 | padding: 0rem 0.7rem 0rem 1rem;
92 | border-radius: 1rem;
93 |
94 | .player-toggle {
95 | font-size: 1.6rem;
96 | color: $fg;
97 | }
98 |
99 | .player-previous,
100 | .player-next {
101 | font-size: 1.6rem;
102 | color: $fg;
103 | }
104 |
105 | button {
106 | &:hover {
107 | color: $magenta;
108 | }
109 | }
110 | }
111 | }
112 |
--------------------------------------------------------------------------------
/config/bspwm/eww/player/player.yuck:
--------------------------------------------------------------------------------
1 | ;; Vars ;;
2 |
3 | (defpoll music-player :interval "1s" "MediaControl --player")
4 | (defpoll music-art :interval "1s" "MediaControl --cover")
5 | (defpoll music-title :interval "1s" "MediaControl --title")
6 | (defpoll music-artist :interval "1s" "MediaControl --artist")
7 | (defpoll music-status :interval "1s" "MediaControl --status")
8 | (defpoll music-position :interval "1s" "MediaControl --position")
9 | (defpoll music-positions :interval "1s" "MediaControl --positions")
10 | (defpoll music-length :interval "1s" "MediaControl --length")
11 | (defpoll music-lengths :interval "1s" "MediaControl --lengths")
12 | (defpoll shuffle :interval "1s" "MediaControl --shuffle")
13 | (defpoll loop :interval "1s" "MediaControl --loop")
14 |
15 | ;; Widgets ;;
16 |
17 | (defwidget shuffle [color action status]
18 | (eventbox
19 | :cursor "pointer"
20 | (button
21 | :onclick action
22 | :style "color: ${color}"
23 | :tooltip status
24 | ""
25 | )
26 | )
27 | )
28 |
29 | (defwidget loop [icon color status action]
30 | (eventbox
31 | :cursor "pointer"
32 | (button
33 | :onclick action
34 | :style "color: ${color}"
35 | :tooltip status
36 | icon
37 | )
38 | )
39 | )
40 |
41 | (defwidget player []
42 | (box
43 | :class "player"
44 | :space-evenly false
45 | (box
46 | :class "player-art"
47 | :style "background-image: url('${music-art}')"
48 | (box
49 | :class "player-info"
50 | :space-evenly false
51 | :orientation "v"
52 | :spacing 10
53 | (box
54 | :class "top-icons"
55 | (box
56 | :space-evenly false
57 | :spacing 10
58 | (shuffle
59 | :action {music-player != "spotify" ? "mpc random" : "playerctl -p spotify shuffle toggle"}
60 | :color {shuffle == "On" ? "#81ae5f" : "#b8bfe5"}
61 | :status shuffle
62 | )
63 | (loop
64 | :action {loop == "None" ? "playerctl -p spotify loop playlist" :
65 | loop == "Off" ? "mpc repeat on" :
66 | loop == "On" ? "mpc repeat off" :
67 | loop == "Playlist" ? "playerctl -p spotify loop track" : "playerctl -p spotify loop none"}
68 | :icon {loop == "Track" ? "" :
69 | loop == "Playlist" || loop == "On" ? "" : ""}
70 | :color {loop == "Playlist" || loop == "Track" || loop == "On" ? "#81ae5f" : "#b8bfe5"}
71 | :status loop
72 | )
73 | )
74 | (box
75 | (button
76 | :class {music-player != "spotify" ? "mpd-icon" : "spotify-icon"}
77 | :halign "end"
78 | {music-player != "spotify" ? "" : ""}
79 | )
80 | )
81 | )
82 | (label
83 | :class "player-title"
84 | :halign "start"
85 | :text music-title
86 | :limit-width 30
87 | :wrap true
88 | :xalign 0
89 | )
90 | (label
91 | :class "player-artist"
92 | :halign "start"
93 | :text music-artist
94 | :limit-width 35
95 | )
96 |
97 | (box
98 | :space-evenly false
99 | :orientation "v"
100 | :valign "end"
101 | :spacing 6
102 | :vexpand true
103 | (box
104 | :class "player-bar"
105 | (eventbox
106 | :cursor "pointer"
107 | (scale
108 | :onchange {music-player != "spotify" ? "mpc seek {}" : "playerctl -p ${music-player} position {}"}
109 | :min 0
110 | :max music-lengths
111 | :value music-positions
112 | )
113 | )
114 | )
115 | (box
116 | :class "player-position"
117 | :space-evenly false
118 | :valign "end"
119 | :spacing 3
120 | (label
121 | :class "player-time"
122 | :text music-position
123 | )
124 | (label :class "player-time" :text "/")
125 | (label
126 | :class "player-time"
127 | :text music-length
128 | )
129 | )
130 | )
131 | )
132 | )
133 | (box
134 | :class "player-controls"
135 | :orientation "v"
136 | :valign "center"
137 | :hexpand true
138 | :space-evenly false
139 | :spacing 20
140 | (eventbox
141 | :cursor "pointer"
142 | (button
143 | :class "player-previous"
144 | :onclick "MediaControl --previous"
145 | ""
146 | )
147 | )
148 | (eventbox
149 | :cursor "pointer"
150 | (button
151 | :class "player-toggle"
152 | :onclick "MediaControl --toggle"
153 | {music-status == "Playing" ? "" : music-status == "Paused" ? "" : ""}
154 | )
155 | )
156 | (eventbox
157 | :cursor "pointer"
158 | (button
159 | :class "player-next"
160 | :onclick "MediaControl --next"
161 | ""
162 | )
163 | )
164 | )
165 | )
166 | )
167 |
168 | ;; Windows ;;
169 |
170 | (defwindow music
171 | :geometry (geometry :x "15%"
172 | :y "5%"
173 | :anchor "center top")
174 | :wm-ignore false
175 | (player))
176 |
177 |
--------------------------------------------------------------------------------
/config/bspwm/eww/powermenu/powermenu.scss:
--------------------------------------------------------------------------------
1 | window>.powermenu {
2 | margin: .5rem;
3 | background-color: $bg;
4 | }
5 |
6 | .powermenu {
7 | font-family: "Font Awesome 6 Free Solid";
8 | font-size: 1.5rem;
9 | padding: .3rem;
10 | border-radius: .5rem;
11 |
12 | &.shutdown {
13 | color: $red;
14 | }
15 |
16 | &.reboot {
17 | color: $green;
18 | }
19 |
20 | &.lock {
21 | color: $yellow;
22 | }
23 |
24 | &.exit {
25 | color: $magenta;
26 | }
27 |
28 | button {
29 | background-color: $bg-alt;
30 | padding: 1.2rem;
31 |
32 | &:hover {
33 | background-color: lighten($color: $bg-alt, $amount: 4%);
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/config/bspwm/eww/powermenu/powermenu.yuck:
--------------------------------------------------------------------------------
1 | (defwidget powermenu []
2 | (box :class "powermenu"
3 | :orientation "v"
4 | :space-evenly "false"
5 | (lock-power-restart)))
6 |
7 |
8 | (defwidget lock-power-restart []
9 | (box :class "powermenu"
10 | :orientation "v"
11 | :spacing 10
12 | (eventbox :cursor "pointer"
13 | (button :class "powermenu lock"
14 | :onclick "physlock -d"
15 | :tooltip "Lock session"
16 | ""))
17 | (eventbox :cursor "pointer"
18 | (button :class "powermenu exit"
19 | :onclick "bspc quit"
20 | :tooltip "Logout bspwm"
21 | ""))
22 | (eventbox :cursor "pointer"
23 | (button :class "powermenu reboot"
24 | :onclick "systemctl reboot"
25 | :tooltip "Restart"
26 | ""))
27 | (eventbox :cursor "pointer"
28 | (button :class "powermenu shutdown"
29 | :onclick "systemctl poweroff"
30 | :tooltip "Shutdown"
31 | ""))
32 | )
33 | )
34 |
35 | ;; Power Menu ;;
36 | (defwindow powermenu
37 | :geometry (geometry :x "0%"
38 | :y "0%"
39 | :anchor "center right")
40 | :wm-ignore false
41 | (powermenu))
42 |
43 |
--------------------------------------------------------------------------------
/config/bspwm/eww/profilecard/profilecard.scss:
--------------------------------------------------------------------------------
1 | .launchermenu {
2 | background-color: $bg;
3 | border-radius: 0.5rem;
4 | margin: .8rem .8rem;
5 | min-width: 18rem;
6 | }
7 |
8 | .timebox {
9 | margin: 0 2.5rem;
10 | .time-container {
11 | .content {
12 | font-family: JetBrainsMono Nerd Font;
13 | font-weight: Bolder;
14 | font-size: 3.6rem;
15 | color: $fg;
16 | }
17 | .divider {
18 | margin: .2rem 15px;
19 | padding: 0px 1px;
20 | background: linear-gradient($red, $magenta, $blue, $cyan);
21 | }
22 | }
23 | .date-container {
24 | font-family: Inconsolata SemiCondensed Medium;
25 | font-weight: Bold;
26 | font-size: 1rem;
27 | color: $fg;
28 | margin: 3px 0;
29 | }
30 | }
31 |
32 | .usercard {
33 | background-color: $bg-alt;
34 | border-radius: 0.5rem;
35 | }
36 |
37 | .face {
38 | background-repeat: no-repeat;
39 | background-size: cover;
40 | background-position: center;
41 | min-height: 65px;
42 | min-width: 65px;
43 | //border: .2rem solid $bg;
44 | border-radius: 100%;
45 | box-shadow: 0 0 7px 1px rgba($fg, 0.3);
46 | margin: 10px -8px 10px 10px;
47 | }
48 |
49 | .user-host {
50 | color: $fg;
51 | font-family: Cartograph CF;
52 | font-weight: Normal;
53 | font-size: 1rem;
54 | }
55 |
56 | .host {
57 | color: $fg;
58 | font-family: Cartograph CF;
59 | font-size: .8rem;
60 | }
61 |
62 | .uptime {
63 | color: $fg;
64 | font-family: Cartograph CF;
65 | font-size: .7rem;
66 | margin-top: .5rem;
67 | }
68 |
69 | .btn-info {
70 | font-family: Material Design Icons Desktop;
71 | font-size: 1.2rem;
72 | color: $fg;
73 | padding: 0 .6rem;
74 | }
75 |
76 | .btn-info:hover {
77 | text-shadow: 0 0 2px $fg;
78 | }
79 |
80 | .usearch {
81 | background-color: $bg-alt;
82 | padding: .8rem;
83 | border-radius: 0.5rem;
84 | color: $fg;
85 | }
86 |
87 | .launcher-pfp-label {
88 | font-family: Inconsolata SemiCondensed Medium;
89 | font-weight: Bold;
90 | font-size: 1rem;
91 | }
92 |
93 | .pacman {
94 | background-color: $bg-alt;
95 | padding: .8rem;
96 | border-radius: 0.5rem;
97 | color: $fg;
98 |
99 | .pacman-icon {
100 | font-family: Material Design Icons Desktop;
101 | font-size: 1.2rem;
102 | color: $yellow;
103 | }
104 | .pacman-info {
105 | font-family: Inconsolata SemiCondensed Medium;
106 | font-weight: Bold;
107 | font-size: 1rem;
108 | }
109 | .pacman-updates {
110 | font-family: Inconsolata Condensed Medium;
111 | font-weight: Bold;
112 | font-size: 1rem;
113 | }
114 | }
115 |
116 | .fetch {
117 | background-color: $bg-alt;
118 | padding: .8rem 2rem .8rem 1rem;
119 | border-radius: 0.5rem;
120 | color: $fg;
121 |
122 | .arch-icon {
123 | font-family: Material Design Icons Desktop;
124 | font-size: 3rem;
125 | color: $archicon;
126 | }
127 | }
128 |
129 | .os-icon {
130 | font-family: Material Design Icons Desktop;
131 | font-size: .8rem;
132 | color: $archicon;
133 | }
134 |
135 | .pkgs-icon {
136 | font-family: Material Design Icons Desktop;
137 | font-size: .8rem;
138 | color: $yellow;
139 | }
140 |
141 | .wm-icon {
142 | font-family: Material Design Icons Desktop;
143 | font-size: .8rem;
144 | color: $magenta;
145 | }
146 |
147 | .os-text,
148 | .pkgs-text,
149 | .wm-text {
150 | font-family: Inconsolata SemiCondensed Medium;
151 | font-weight: Bold;
152 | font-size: 1rem;
153 | }
154 |
155 | .weatherbox {
156 | background-color: $bg-alt;
157 | border-radius: 0.5rem;
158 | padding: .8rem;
159 | }
160 |
161 | .weathericon {
162 | padding: 0 .8rem;
163 | border-radius: 0.5rem;
164 | margin-left: .6rem;
165 | background-color: $bg-alt;
166 | font-size: 1.5rem;
167 | font-family: "Font Awesome 6 Free Solid";
168 | }
169 |
170 | .weatherdesc {
171 | font-size: 1.75rem;
172 | font-family: "Inconsolata SemiCondensed Medium";
173 | font-weight: Bold;
174 | }
175 |
176 | .weathertemp {
177 | font-family: "Iosevka Nerd Font";
178 | font-size: 1.5rem;
179 | font-weight: bold;
180 | color: $fg;
181 | }
182 |
183 | .weathercity {
184 | font-size: .9rem;
185 | margin-top: .2rem;
186 | color: $fg;
187 | font-family: Inconsolata SemiCondensed Medium;
188 | font-weight: Bold;
189 | }
190 |
191 | .launcher-apps {
192 | background-color: $bg-alt;
193 | padding: .8rem;
194 | border-radius: 0.5rem;
195 | }
196 |
197 | .launcher-btn {
198 | color: $black;
199 | font-family: Material Design Icons Desktop;
200 | font-size: 1.5rem;
201 | }
202 |
203 | .launcher-btn:hover {
204 | color: $fg;
205 | font-family: Material Design Icons Desktop;
206 | font-size: 1.5rem;
207 | text-shadow: 0 0 0.2rem $fg;
208 | }
209 |
210 |
211 | .progress {
212 | background-color: $bg-alt;
213 | padding: .7rem .7rem;
214 | border-radius: 1rem;
215 |
216 | circular-progress {
217 | background-color: $black;
218 |
219 | &.ram {
220 | color: $blue;
221 | }
222 |
223 | &.cpu {
224 | color: $green;
225 | }
226 |
227 | &.temp {
228 | color: $red;
229 | }
230 |
231 | &.disk {
232 | color: $magenta;
233 | }
234 | }
235 |
236 |
237 | .icon {
238 | font-family: "Font Awesome 6 Free Solid";
239 | font-size: 1rem;
240 | padding: 1.1rem;
241 | }
242 |
243 | }
244 |
--------------------------------------------------------------------------------
/config/bspwm/eww/profilecard/profilecard.yuck:
--------------------------------------------------------------------------------
1 | ;; Vars ;;
2 |
3 | (defpoll completeday :interval "1s" "date '+%A, %d %B'")
4 |
5 |
6 | (defvar IMAGEP "../assets/profile.png")
7 |
8 | (defpoll username :interval "24h" "whoami")
9 | (defpoll hostname :interval "24h" "cat /etc/hostname")
10 | (defpoll uptime :interval "30s" "uptime -p | sed -E -e 's/hour(s)?/hrs/g' -e 's/minute(s)?/min/g'")
11 |
12 | (defpoll updates :interval "2m" "Updates --get-updates")
13 | (defpoll packages :interval "1h" "pacman -Q | wc -l")
14 |
15 | (defpoll weathericon :interval "15m" "Weather icon")
16 | (defpoll weathercity :interval "15m" "Weather city")
17 | (defpoll weathertemp :interval "15m" "Weather current_temp")
18 | (defpoll weatherdesc :interval "15m" "Weather weather_desc")
19 | (defpoll weatherhex :interval "15m" "Weather hex")
20 |
21 | (defpoll temp :interval "5s" "../scripts/temp.sh")
22 |
23 | ;; Widegets ;;
24 |
25 | (defwidget launchermenu []
26 | (box :class "launchermenu"
27 | :orientation "v"
28 | :space-evenly "false"
29 | :spacing 7
30 | (time)
31 | (pfp)
32 | (iuse)
33 | (infoarch)
34 | (weather)
35 | ;;(sysinfo)
36 | (system)
37 | (apps)))
38 |
39 | (defwidget divider []
40 | (box :class "divider"
41 | :orientation "v"
42 | :space-evenly true)
43 | )
44 |
45 | (defwidget time []
46 | (box :class "timebox"
47 | :orientation "v"
48 | :space-evenly false
49 | (box :class "time-container"
50 | :orientation "h"
51 | :space-evenly false
52 | :halign "center"
53 | :valign "center"
54 | (label :text "${formattime(EWW_TIME, "%H")}" :class "content")
55 | (divider)
56 | (label :text "${formattime(EWW_TIME, "%M")}" :class "content")
57 | )
58 | (box :class "date-container"
59 | :orientation "h"
60 | :space-evenly true
61 | :halign "center"
62 | (label :text "${completeday}")
63 | )
64 | )
65 | )
66 |
67 | (defwidget pfp []
68 | (box :orientation "h"
69 | :space-evenly "false"
70 | :class "usercard"
71 | (box :space-evenly "false"
72 | :hexpand true
73 | :orientation "h"
74 | :spacing "15"
75 | (box :style "background-image: url('${IMAGEP}');"
76 | :class "face"
77 | :halign "center")
78 | (box :orientation "v"
79 | :space-evenly "false"
80 | :hexpand true
81 | :valign "center"
82 | (box :class "user-host"
83 | :halign "start"
84 | (label :text username))
85 | (box :class "host"
86 | :halign "start"
87 | (label :text "@${hostname}"))
88 | (box :class "uptime"
89 | :halign "start"
90 | (label :text uptime)))
91 | (box :orientation "v"
92 | :space-evenly "false"
93 | :spacing 10
94 | :valign "center"
95 | :halign "start"
96 | :hexpand false
97 | ;;:style "border: 1px solid #ffffff;"
98 | (eventbox :cursor "pointer"
99 | (button :class "btn-info" :tooltip "Lock Computer" :onclick "physlock -d" ""))
100 | (eventbox :cursor "pointer"
101 | (button :class "btn-info" :tooltip "Logout BSPWM" :onclick "bspc quit" "")))
102 | )
103 | )
104 | )
105 | (defwidget iuse []
106 | (box :orientation "v"
107 | :space-evenly "false"
108 | :class "usearch"
109 | :hexpand true
110 | (label :class "launcher-pfp-label"
111 | :xalign 0.5
112 | :limit-width 30
113 | :text "I use Arch btw..")))
114 |
115 | (defwidget infoarch []
116 | (box :orientation "h"
117 | :space-evenly "false"
118 | :spacing 7
119 | (box :orientation "v"
120 | :class "pacman"
121 | :hexpand true
122 | (label :halign "start"
123 | :class "pacman-icon"
124 | :text "")
125 | (box :space-evenly "false"
126 | (eventbox :cursor "pointer"
127 | (button :class "pacman-updates"
128 | :halign "start"
129 | :tooltip "Click to update"
130 | :onclick "OpenApps --update" "${updates} Updates"))))
131 | (box :orientation "h"
132 | :space-evenly "false"
133 | :class "fetch"
134 | :spacing 8
135 | (label :class "arch-icon"
136 | :halign "start"
137 | :text "")
138 | (box
139 | :space-evenly "false"
140 | (box :orientation "v"
141 | :spacing 3
142 | :halign "end"
143 | :style "margin-left: 10px;"
144 | (label :class "os-icon"
145 | :halign "start"
146 | :text "")
147 | (label :class "pkgs-icon"
148 | :halign "start"
149 | :text "")
150 | (label :class "wm-icon"
151 | :halign "start"
152 | :text "")))
153 | (box
154 | :space-evenly "false"
155 | (box :orientation "v"
156 | :spacing 3
157 | :halign "start"
158 | (label :class "os-text"
159 | :halign "start"
160 | :text "Arch")
161 | (label :class "pkgs-text"
162 | :halign "start"
163 | :text packages)
164 | (label :class "wm-text"
165 | :halign "start"
166 | :text "Bspwm"))))))
167 |
168 | (defwidget weather[]
169 | (box :orientation "h" :class "weatherboxfull" :space-evenly false
170 | (box :orientation "v" :class "weatherbox" :hexpand true :space-evenly false
171 | (box :orientation "h" :class "weathertop" :space-evenly false
172 | (box :class "weatherdesc" :style "color: ${weatherhex};" :halign "start" :hexpand true weatherdesc)
173 | (box :class "weathertemp" :halign "end" "${weathertemp}°C")
174 | )
175 | (box :orientation "v" :class "weatherbot" :space-evenly false
176 | (box :class "weathercity" :halign "start" :hexpand true
177 | (label :limit-width 22 :text weathercity))
178 | )
179 | )
180 | (box :class "weathericon" :style "color: ${weatherhex};" :halign "center" weathericon)
181 | )
182 | )
183 |
184 | (defwidget system_progress [data icon css tip]
185 | (box
186 | :class "progress"
187 | (circular-progress
188 | :class css
189 | :value data
190 | :thickness 6
191 | :tooltip tip
192 | (overlay
193 | :valign "center"
194 | (label
195 | :class "icon"
196 | :text icon
197 | )
198 | )
199 | )
200 | )
201 | )
202 |
203 | (defwidget cpu []
204 | (system_progress
205 | :css "cpu"
206 | :tip "CPU ${round(EWW_CPU.avg,0)}%"
207 | :data {round(EWW_CPU.avg, 0)}
208 | :icon ""
209 | )
210 | )
211 |
212 | (defwidget ram []
213 | (system_progress
214 | :css "ram"
215 | :tip "RAM ${round(EWW_RAM.used_mem / 1048576, 2)}MB"
216 | :data {round(EWW_RAM.used_mem_perc, 0)}
217 | :icon ""
218 | )
219 | )
220 |
221 | (defwidget disk []
222 | (system_progress
223 | :css "disk"
224 | :tip "SSD ${round(EWW_DISK["/"].used_perc, 2)}%"
225 | :data {round(EWW_DISK["/"].used_perc, 0)}
226 | :icon ""
227 | )
228 | )
229 |
230 | (defwidget temp []
231 | (system_progress
232 | :css "temp"
233 | :tip "Cpu temperature ${temp}°C"
234 | :data temp
235 | :icon ""
236 | )
237 | )
238 |
239 | (defwidget system []
240 | (box
241 | :class "system"
242 | :spacing 8
243 | (cpu)
244 | (ram)
245 | (disk)
246 | (temp)
247 | )
248 | )
249 |
250 | (defwidget apps []
251 | (box :orientation "v"
252 | :space-evenly "false"
253 | :class "launcher-apps"
254 | (box :orientation "h"
255 | :space-evenly "false"
256 | :hexpand true
257 | :halign "center"
258 | :spacing 12
259 | (eventbox :cursor "pointer"
260 | (button :class "launcher-btn"
261 | :onclick "OpenApps --browser"
262 | :tooltip "Browser"
263 | ""))
264 | (eventbox :cursor "pointer"
265 | (button :class "launcher-btn"
266 | :onclick "OpenApps --fetch"
267 | :tooltip "System Fetch"
268 | ""))
269 | (eventbox :cursor "pointer"
270 | (button :class "launcher-btn"
271 | :onclick "cd && OpenApps --filemanager"
272 | :tooltip "File Manager"
273 | ""))
274 | (eventbox :cursor "pointer"
275 | (button :class "launcher-btn"
276 | :onclick "cd && OpenApps --terminal"
277 | :tooltip "Terminal"
278 | ""))
279 | (eventbox :cursor "pointer"
280 | (button :class "launcher-btn"
281 | :onclick "OpenApps --editor"
282 | :tooltip "Editor"
283 | "")))))
284 |
285 | ;; Windows ;;
286 |
287 | (defwindow launchermenu
288 | :geometry (geometry :x "500px" :y "-219px" :anchor "left center")
289 | :wm-ignore false
290 | (launchermenu))
291 |
--------------------------------------------------------------------------------
/config/bspwm/jgmenurc:
--------------------------------------------------------------------------------
1 | position_mode = pointer
2 | stay_alive = 0
3 | tint2_look = 0
4 | terminal_exec = alacritty
5 | terminal_args = -e
6 | menu_width = 160
7 | menu_padding_top = 5
8 | menu_padding_right = 5
9 | menu_padding_bottom = 5
10 | menu_padding_left = 5
11 | menu_radius = 8
12 | menu_border = 0
13 | menu_halign = left
14 | sub_hover_action = 1
15 | item_margin_y = 5
16 | item_height = 30
17 | item_padding_x = 8
18 | item_radius = 6
19 | item_border = 0
20 | sep_height = 2
21 | font = Clarity City Bold 12px
22 | icon_size = 16
23 | icon_theme = Papirus-Dark
24 | arrow_string =
25 | color_menu_border = #ffffff 0
26 | color_menu_bg = #0E1113
27 | color_norm_bg = #ffffff 0
28 | color_norm_fg = #afb1db
29 | color_sel_bg = #111517
30 | color_sel_fg = #afb1db
31 | color_sep_fg = #373542
32 |
--------------------------------------------------------------------------------
/config/bspwm/karla/Theme.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | # ██╗ ██╗ █████╗ ██████╗ ██╗ █████╗ ██████╗ ██╗ ██████╗███████╗
3 | # ██║ ██╔╝██╔══██╗██╔══██╗██║ ██╔══██╗ ██╔══██╗██║██╔════╝██╔════╝
4 | # █████╔╝ ███████║██████╔╝██║ ███████║ ██████╔╝██║██║ █████╗
5 | # ██╔═██╗ ██╔══██║██╔══██╗██║ ██╔══██║ ██╔══██╗██║██║ ██╔══╝
6 | # ██║ ██╗██║ ██║██║ ██║███████╗██║ ██║ ██║ ██║██║╚██████╗███████╗
7 | # ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═════╝╚══════╝
8 | #
9 | #
10 |
11 | # Set bspwm configuration for Karla
12 | set_bspwm_config() {
13 | bspc config border_width 3
14 | bspc config top_padding 48
15 | bspc config bottom_padding 2
16 | bspc config left_padding 2
17 | bspc config right_padding 2
18 | bspc config normal_border_color "#21222c"
19 | bspc config active_border_color "#353c52"
20 | bspc config focused_border_color "#353c52"
21 | bspc config presel_feedback_color "#8656e3"
22 | }
23 |
24 | # Reload terminal colors
25 | set_term_config() {
26 | sed -i "$HOME"/.config/alacritty/fonts.yml \
27 | -e "s/family: .*/family: JetBrainsMono Nerd Font/g" \
28 | -e "s/size: .*/size: 6/g"
29 |
30 | sed -i "$HOME"/.config/alacritty/rice-colors.yml \
31 | -e "s/colors: .*/colors: *karla_z0mbi3_night/"
32 | }
33 |
34 | # Set compositor configuration
35 | set_picom_config() {
36 | sed -i "$HOME"/.config/bspwm/picom.conf \
37 | -e "s/normal = .*/normal = { fade = false; shadow = false; }/g" \
38 | -e "s/shadow-color = .*/shadow-color = \"#000000\"/g" \
39 | -e "s/corner-radius = .*/corner-radius = 0/g" \
40 | -e "s/\".*:class_g = 'Alacritty'\"/\"95:class_g = 'Alacritty'\"/g" \
41 | -e "s/\".*:class_g = 'FloaTerm'\"/\"95:class_g = 'FloaTerm'\"/g"
42 | }
43 |
44 | # Set stalonetray config
45 | set_stalonetray_config() {
46 | sed -i "$HOME"/.config/bspwm/stalonetrayrc \
47 | -e "s/background .*/background \"#0E1113\"/" \
48 | -e "s/vertical .*/vertical true/" \
49 | -e "s/geometry .*/geometry 1x1-58+46/" \
50 | -e "s/grow_gravity .*/grow_gravity NE/" \
51 | -e "s/icon_gravity .*/icon_gravity NE/"
52 | }
53 |
54 | # Set dunst notification daemon config
55 | set_dunst_config() {
56 | sed -i "$HOME"/.config/bspwm/dunstrc \
57 | -e "s/transparency = .*/transparency = 8/g" \
58 | -e "s/frame_color = .*/frame_color = \"#0E1113\"/g" \
59 | -e "s/separator_color = .*/separator_color = \"#353c52\"/g" \
60 | -e "s/font = .*/font = JetBrainsMono Nerd Font Medium 9/g" \
61 | -e "s/foreground='.*'/foreground='#7a44e3'/g"
62 |
63 | sed -i '/urgency_low/Q' "$HOME"/.config/bspwm/dunstrc
64 | cat >> "$HOME"/.config/bspwm/dunstrc <<- _EOF_
65 | [urgency_low]
66 | timeout = 3
67 | background = "#0E1113"
68 | foreground = "#afb1db"
69 |
70 | [urgency_normal]
71 | timeout = 6
72 | background = "#0E1113"
73 | foreground = "#afb1db"
74 |
75 | [urgency_critical]
76 | timeout = 0
77 | background = "#0E1113"
78 | foreground = "#afb1db"
79 | _EOF_
80 | }
81 |
82 | # Set eww colors
83 | set_eww_colors() {
84 | cat > "$HOME"/.config/bspwm/eww/colors.scss << EOF
85 | // Eww colors for Karla rice
86 | \$bg: #0E1113;
87 | \$bg-alt: #111517;
88 | \$fg: #afb1db;
89 | \$black: #373542;
90 | \$lightblack: #262831;
91 | \$red: #e7034a;
92 | \$blue: #5884d4;
93 | \$cyan: #7df0f0;
94 | \$magenta: #7a44e3;
95 | \$green: #61b33e;
96 | \$yellow: #ffb964;
97 | \$archicon: #0f94d2;
98 | EOF
99 | }
100 |
101 | # Set jgmenu colors for Karla
102 | set_jgmenu_colors() {
103 | sed -i "$HOME"/.config/bspwm/jgmenurc \
104 | -e 's/color_menu_bg = .*/color_menu_bg = #0E1113/' \
105 | -e 's/color_norm_fg = .*/color_norm_fg = #afb1db/' \
106 | -e 's/color_sel_bg = .*/color_sel_bg = #111517/' \
107 | -e 's/color_sel_fg = .*/color_sel_fg = #afb1db/' \
108 | -e 's/color_sep_fg = .*/color_sep_fg = #373542/'
109 | }
110 |
111 | # Set Rofi launcher config
112 | set_launcher_config () {
113 | sed -i "$HOME/.config/bspwm/scripts/Launcher.rasi" \
114 | -e 's/\(font: \).*/\1"JetBrainsMono Nerd Font Bold 9";/' \
115 | -e 's/\(background: \).*/\1#0E1113F7;/' \
116 | -e 's/\(background-alt: \).*/\1#0E1113F5;/' \
117 | -e 's/\(foreground: \).*/\1#afb1db;/' \
118 | -e 's/\(selected: \).*/\1#3d7fea;/' \
119 | -e 's/[^/]*-rofi/ka-rofi/'
120 | }
121 |
122 | # Launch the bar
123 | launch_bars() {
124 |
125 | for mon in $(polybar --list-monitors | cut -d":" -f1); do
126 | (MONITOR=$mon polybar -q karla-bar -c ${rice_dir}/config.ini)&
127 | (MONITOR=$mon polybar -q karla-bar2 -c ${rice_dir}/config.ini)&
128 | (MONITOR=$mon polybar -q karla-bar3 -c ${rice_dir}/config.ini)&
129 | done
130 |
131 | }
132 |
133 |
134 |
135 | ### ---------- Apply Configurations ---------- ###
136 |
137 | set_bspwm_config
138 | set_term_config
139 | set_picom_config
140 | set_stalonetray_config
141 | launch_bars
142 | set_dunst_config
143 | set_eww_colors
144 | set_jgmenu_colors
145 |
--------------------------------------------------------------------------------
/config/bspwm/karla/config.ini:
--------------------------------------------------------------------------------
1 | ; ____ _ _
2 | ;| _ \ ___ | |_ _| |__ __ _ _ __
3 | ;| |_) / _ \| | | | | '_ \ / _` | '__|
4 | ;| __/ (_) | | |_| | |_) | (_| | |
5 | ;|_| \___/|_|\__, |_.__/ \__,_|_|
6 | ; |___/
7 |
8 | [global/wm]
9 |
10 | margin-bottom = 0
11 | margin-top = 0
12 |
13 | include-file = ~/.config/bspwm/scripts/system.ini
14 | include-file = ~/.config/bspwm/scripts/colors.ini
15 | include-file = modules.ini
16 |
17 | [bar/karla-bar]
18 | monitor = ${env:MONITOR:}
19 | monitor-strict = false
20 | override-redirect = false
21 | bottom = false
22 | fixed-center = true
23 |
24 | width = 38%
25 | height = 37
26 |
27 | offset-x = 1%
28 | offset-y = 5
29 |
30 | background = ${karla.bg}
31 | foreground = ${karla.fg}
32 |
33 | radius = 12.0
34 |
35 | line-size = 2
36 | line-color = ${karla.blue}
37 |
38 | border-size = 2
39 | border-color = ${karla.bc}
40 |
41 | padding = 2
42 |
43 | module-margin-left = 0
44 | module-margin-right = 0
45 |
46 | ; Text
47 | font-0 = "JetBrainsMono:style=Bold:size=9;2"
48 | ; Icons
49 | font-1 = "Material Design Icons Desktop:size=13;3"
50 | font-2 = "Font Awesome 6 Free Solid:size=10;2"
51 |
52 | ;dpi = 96
53 |
54 | modules-left = launcher
55 | modules-center = cpu sep memory sep filesystem sep usercard
56 | modules-right = weather
57 |
58 | dim-value = 1.0
59 |
60 | ;;locale = es_MX.UTF-8
61 | wm-restack = bspwm
62 | enable-ipc = true
63 |
64 | cursor-click = pointer
65 | cursor-scroll =
66 |
67 | [bar/karla-bar2]
68 | monitor = ${env:MONITOR:}
69 | monitor-strict = false
70 | override-redirect = false
71 |
72 | bottom = false
73 | fixed-center = true
74 |
75 | width = 38%
76 | height = 37
77 |
78 | offset-x = 61%
79 | offset-y = 5
80 |
81 | background = ${karla.bg}
82 | foreground = ${karla.fg}
83 |
84 | radius = 12.0
85 |
86 | line-size = 2
87 | line-color = ${karla.blue}
88 |
89 | border-size = 2
90 | border-color = ${karla.bc}
91 |
92 | padding = 2
93 |
94 | module-margin-left = 0
95 | module-margin-right = 0
96 |
97 | ; Text
98 | font-0 = "JetBrainsMono:style=Bold:size=9;2"
99 | ; Icons
100 | font-1 = "Font Awesome 6 Free Solid:size=10;3"
101 | ;dpi = 96
102 |
103 | ;; Available modules
104 | ;; brightness
105 | modules-left = mpd_control sep mplayer
106 | modules-center = battery sep network sep pulseaudio sep updates
107 | modules-right = date systray power
108 |
109 | separator =
110 | dim-value = 1.0
111 |
112 | ;;locale = es_MX.UTF-8
113 |
114 |
115 | ;;tray-position = right
116 | ;;tray-detached = false
117 | ;;tray-maxsize = 16
118 | ;;tray-background = ${karla.bg}
119 | ;;tray-offset-x = 0
120 | ;;tray-offset-y = 0
121 | ;;tray-padding = 0
122 | ;;tray-scale = 1.0
123 |
124 | wm-restack = bspwm
125 | enable-ipc = true
126 |
127 | cursor-click = pointer
128 | cursor-scroll =
129 |
130 | [bar/karla-bar3]
131 | monitor = ${env:MONITOR:}
132 | monitor-strict = false
133 | override-redirect = false
134 |
135 | bottom = false
136 | fixed-center = true
137 |
138 | width = 20%
139 | height = 37
140 |
141 | offset-x = 40%
142 | offset-y = 5
143 |
144 | background = ${karla.bg}
145 | foreground = ${karla.fg}
146 |
147 | radius = 12.0
148 |
149 | line-size = 2
150 | line-color = ${karla.blue}
151 |
152 | border-size = 2
153 | border-color = ${karla.bc}
154 |
155 | padding = 3
156 |
157 | module-margin-left = 0
158 | module-margin-right = 0
159 |
160 | ; Text
161 | font-0 = "Inconsolata Semi Condensed Extra Bold:size=10;1"
162 | ; Icons
163 | font-1 = "Material Design Icons Desktop:size=13;3"
164 | ;dpi = 96
165 |
166 | modules-left =
167 | modules-center = bspwm
168 | modules-right =
169 |
170 | separator =
171 | dim-value = 1.0
172 |
173 | ;;locale = es_MX.UTF-8
174 |
175 | wm-restack = bspwm
176 | enable-ipc = true
177 |
178 | cursor-click = pointer
179 | cursor-scroll =
180 |
181 |
182 | [settings]
183 |
184 | screenchange-reload = false
185 |
186 | compositing-background = source
187 | compositing-foreground = over
188 | compositing-overline = over
189 | compositing-underline = over
190 | compositing-border = over
191 |
192 | pseudo-transparency = false
193 |
--------------------------------------------------------------------------------
/config/bspwm/karla/modules.ini:
--------------------------------------------------------------------------------
1 | ; __ __ _ _
2 | ;| \/ | ___ __| |_ _| | ___ ___
3 | ;| |\/| |/ _ \ / _` | | | | |/ _ \/ __|
4 | ;| | | | (_) | (_| | |_| | | __/\__ \
5 | ;|_| |_|\___/ \__,_|\__,_|_|\___||___/
6 | ;
7 |
8 |
9 | [module/date]
10 | type = internal/date
11 |
12 | interval = 1.0
13 |
14 | time = %I:%M %P
15 | date-alt = " %a, %d %b %y"
16 |
17 | format =