@ -0,0 +1,66 @@ | |||||
Xft.dpi: 192 | |||||
Xft.autohint: 0 | |||||
Xft.lcdfilter: lcddefault | |||||
Xft.hintstyle: hintfull | |||||
Xft.hinting: 1 | |||||
Xft.antialias: 1 | |||||
Xft.rgba: rgb | |||||
rofi.dpi: 192 | |||||
!--------------------xdefauls | |||||
URxvt.font: xft:terminus:size=13 | |||||
URxvt.depth: 32 | |||||
urxvt*termName: rxvt | |||||
urxvt*scrollBar: false | |||||
urxvt*matcher.button: 1 | |||||
urxvt.transparent: false | |||||
urxvt.boldFont: | |||||
URxvt.letterSpace: -1 | |||||
Xft*dpi: 96 | |||||
Xft*antialias: true | |||||
Xft*hinting: true | |||||
Xft*hintstyle: hintfull | |||||
URxvt*cursorUnderline: true | |||||
Xft*rgba: rgb | |||||
URxvt*geometry: 160x45 | |||||
*internalBorder: 26 | |||||
URxvt*fading: 0 | |||||
URxvt*tintColor: #ffffff | |||||
URxvt*shading: 0 | |||||
URxvt*inheritPixmap: False | |||||
! special | |||||
*.foreground: #aaaaaa | |||||
*.background: [95]#161b21 | |||||
*.cursorColor: #aaaaaa | |||||
! black | |||||
*.color0: #9ea2a5 | |||||
*.color8: #9ea2a5 | |||||
! red | |||||
*.color1: #8b6066 | |||||
*.color9: #8b6066 | |||||
! green | |||||
*.color2: #9a7e62 | |||||
*.color10: #9a7e62 | |||||
! yellow | |||||
*.color3: #e7d869 | |||||
*.color11: #e7d869 | |||||
! blue | |||||
*.color4: #354f73 | |||||
*.color12: #354f73 | |||||
! magenta | |||||
*.color5: #55465b | |||||
*.color13: #55465b | |||||
! cyan | |||||
*.color6: #716467 | |||||
*.color14: #716467 | |||||
! white | |||||
*.color7: #aaaaaa | |||||
*.color15: #a7a9a8 |
@ -0,0 +1,3 @@ | |||||
export GDK_SCALE=2 | |||||
export GDK_DPI_SCALE=0.5 | |||||
export QT_AUTO_SCREEN_SCALE_FACTOR=1 |
@ -0,0 +1,48 @@ | |||||
#!/bin/bash | |||||
sudo timedatectl set-ntp true | |||||
sudo hwclock --systohc | |||||
sudo reflector -c Switzerland -a 12 --sort rate --save /etc/pacman.d/mirrorlist | |||||
sudo pacman -Syy | |||||
sudo firewall-cmd --add-port=1025-65535/tcp --permanent | |||||
sudo firewall-cmd --add-port=1025-65535/udp --permanent | |||||
sudo firewall-cmd --reload | |||||
# sudo virsh net-autostart default | |||||
git clone https://aur.archlinux.org/pikaur.git | |||||
cd pikaur/ | |||||
makepkg -si --noconfirm | |||||
#pikaur -S --noconfirm lightdm-slick-greeter | |||||
#pikaur -S --noconfirm lightdm-settings | |||||
#pikaur -S --noconfirm polybar | |||||
#pikaur -S --noconfirm nerd-fonts-iosevka | |||||
#pikaur -S --noconfirm ttf-icomoon-feather | |||||
#pikaur -S --noconfirm system76-power | |||||
#sudo systemctl enable --now system76-power | |||||
#sudo system76-power graphics integrated | |||||
#pikaur -S --noconfirm gnome-shell-extension-system76-power-git | |||||
#pikaur -S --noconfirm auto-cpufreq | |||||
#sudo systemctl enable --now auto-cpufreq | |||||
echo "MAIN PACKAGES" | |||||
sleep 5 | |||||
sudo pacman -S --noconfirm xorg light-locker lightdm bspwm sxhkd firefox rxvt-unicode picom nitrogen lxappearance dmenu nautilus arandr simplescreenrecorder alsa-utils pulseaudio alsa-utils pulseaudio-alsa pavucontrol arc-gtk-theme arc-icon-theme obs-studio vlc dina-font tamsyn-font bdf-unifont ttf-bitstream-vera ttf-croscore ttf-dejavu ttf-droid gnu-free-fonts ttf-ibm-plex ttf-liberation ttf-linux-libertine noto-fonts font-bh-ttf ttf-roboto tex-gyre-fonts ttf-ubuntu-font-family ttf-anonymous-pro ttf-cascadia-code ttf-fantasque-sans-mono ttf-fira-mono ttf-hack ttf-fira-code ttf-inconsolata ttf-jetbrains-mono ttf-monofur adobe-source-code-pro-fonts cantarell-fonts inter-font ttf-opensans gentium-plus-font ttf-junicode adobe-source-han-sans-otc-fonts adobe-source-han-serif-otc-fonts noto-fonts-cjk noto-fonts-emoji ttf-font-awesome awesome-terminal-fonts archlinux-wallpaper rofi playerctl scrot obs-studio dunst pacman-contrib | |||||
#sudo flatpak install -y spotify | |||||
#sudo flatpak install -y kdenlive | |||||
sudo systemctl enable lightdm | |||||
mkdir -p .config/{bspwm,sxhkd,dunst} | |||||
install -Dm755 /usr/share/doc/bspwm/examples/bspwmrc ~/.config/bspwm/bspwmrc | |||||
install -Dm644 /usr/share/doc/bspwm/examples/sxhkdrc ~/.config/sxhkd/sxhkdrc | |||||
printf "\e[1;32mCHANGE NECESSARY FILES BEFORE REBOOT\e[0m" | |||||
@ -0,0 +1,28 @@ | |||||
#! /bin/sh | |||||
pgrep -x sxhkd > /dev/null || sxhkd & | |||||
setxkbmap ch & | |||||
light-locker & | |||||
/usr/bin/dunst & | |||||
bash /home/ermanno/.config/polybar/forest/launch.sh & | |||||
nitrogen --restore | |||||
xrandr --output DisplayPort-0 --mode 3840x2160 & | |||||
picom --no-fading-openclose & | |||||
bspc monitor DisplayPort-0 -d I II III IV V | |||||
bspc monitor DisplayPort-1 -d VI | |||||
bspc config border_width 0 | |||||
bspc config window_gap 12 | |||||
bspc config split_ratio 0.52 | |||||
bspc config borderless_monocle true | |||||
bspc config gapless_monocle true | |||||
bspc rule -a Gimp desktop='^8' state=floating follow=on | |||||
bspc rule -a firefox desktop='^2' | |||||
bspc rule -a Spotify desktop='^5' | |||||
bspc rule -a Virt-manager desktop='^4' state=floating | |||||
bspc rule -a Org.gnome.Nautilus state=floating | |||||
bspc rule -a Kupfer.py focus=on | |||||
bspc rule -a Screenkey manage=off |
@ -0,0 +1,600 @@ | |||||
;; ┌────────────────────────────────────────────────────┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▄░█▀█░█▀▄░█▀▀│ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▄░█▀█░█▀▄░▀▀█│ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀░░▀░▀░▀░▀░▀▀▀│ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░│ | |||||
;; └────────────────────────────────────────────────────┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[bar] | |||||
fill = ⏽ | |||||
empty = ⏽ | |||||
indicator = ⏽ | |||||
; Nerd font : , ⏽, 樂 籠 錄 , 雷 絛 | |||||
[module/volume] | |||||
type = internal/alsa | |||||
; Soundcard to be used | |||||
; Usually in the format hw:# where # is the card number | |||||
; You can find the different card numbers in `/proc/asound/cards` | |||||
master-soundcard = default | |||||
speaker-soundcard = default | |||||
headphone-soundcard = default | |||||
; Name of the master, speaker and headphone mixers | |||||
; Use the following command to list available mixer controls: | |||||
; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" | |||||
; If master, speaker or headphone-soundcard isn't the default, | |||||
; use `amixer -c # scontrols` instead where # is the number | |||||
; of the master, speaker or headphone soundcard respectively | |||||
; | |||||
; Default: Master | |||||
master-mixer = Master | |||||
; Optionally define speaker and headphone mixers | |||||
; Default: none | |||||
;;speaker-mixer = Speaker | |||||
; Default: none | |||||
;;headphone-mixer = Headphone | |||||
; NOTE: This is required if headphone_mixer is defined | |||||
; Use the following command to list available device controls | |||||
; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort | |||||
; You may also need to use `amixer -c # controls` as above for the mixer names | |||||
; Default: none | |||||
;;headphone-id = 9 | |||||
; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear | |||||
; Default: false | |||||
;;mapped = true | |||||
; Interval for volume increase/decrease (in percent points) | |||||
; Default: 5 | |||||
interval = 5 | |||||
; Available tags: | |||||
; <label-volume> (default) | |||||
; <ramp-volume> | |||||
; <bar-volume> | |||||
format-volume = <bar-volume> | |||||
format-volume-prefix = | |||||
format-volume-prefix-padding = 1 | |||||
format-volume-prefix-background = ${color.blue} | |||||
format-volume-prefix-foreground = ${color.foreground} | |||||
format-volume-background = ${color.background-alt} | |||||
format-volume-foreground = ${color.foreground} | |||||
format-volume-overline = ${color.background} | |||||
format-volume-underline = ${color.background} | |||||
; Available tags: | |||||
; <label-muted> (default) | |||||
; <ramp-volume> | |||||
; <bar-volume> | |||||
format-muted = <label-muted> | |||||
format-muted-prefix = | |||||
format-muted-prefix-padding = 1 | |||||
format-muted-prefix-background = ${color.red} | |||||
format-muted-overline = ${color.background} | |||||
format-muted-underline = ${color.background} | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
label-volume = %percentage%% | |||||
label-volume-background = ${color.background-alt} | |||||
label-volume-padding = 1 | |||||
; Available tokens: | |||||
; %percentage% (default | |||||
label-muted = "Muted" | |||||
label-muted-foreground = ${color.foreground} | |||||
label-muted-background = ${color.background-alt} | |||||
label-muted-padding = 1 | |||||
; Only applies if <ramp-volume> is used | |||||
ramp-volume-0 = | |||||
ramp-volume-1 = | |||||
ramp-volume-2 = | |||||
ramp-volume-background = ${color.blue} | |||||
ramp-volume-padding = 1 | |||||
; Only applies if <bar-volume> is used | |||||
bar-volume-format = " %fill%%indicator%%empty% " | |||||
bar-volume-width = 10 | |||||
bar-volume-gradient = false | |||||
bar-volume-indicator = ${bar.indicator} | |||||
bar-volume-indicator-foreground = ${color.foreground} | |||||
bar-volume-fill = ${bar.fill} | |||||
bar-volume-foreground-0 = ${color.foreground} | |||||
bar-volume-foreground-1 = ${color.foreground} | |||||
bar-volume-foreground-2 = ${color.foreground} | |||||
bar-volume-empty = ${bar.empty} | |||||
bar-volume-empty-foreground = ${color.gray} | |||||
; If defined, it will replace <ramp-volume> when | |||||
; headphones are plugged in to `headphone_control_numid` | |||||
; If undefined, <ramp-volume> will be used for both | |||||
; Only applies if <ramp-volume> is used | |||||
ramp-headphones-0 = | |||||
ramp-headphones-background = ${color.blue} | |||||
ramp-headphones-padding = 1 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/brightness] | |||||
;type = internal/xbacklight | |||||
type = internal/backlight | |||||
; Use the following command to list available cards: | |||||
; $ ls -1 /sys/class/backlight/ | |||||
;card = intel_backlight | |||||
card = amdgpu_bl0 | |||||
; Available tags: | |||||
; <label> (default) | |||||
; <ramp> | |||||
; <bar> | |||||
format = <bar> | |||||
format-prefix = | |||||
format-prefix-padding = 1 | |||||
format-prefix-background = ${color.lime} | |||||
format-prefix-foreground = ${color.foreground} | |||||
format-background = ${color.background-alt} | |||||
format-foreground = ${color.foreground} | |||||
format-overline = ${color.background} | |||||
format-underline = ${color.background} | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
label = %percentage%% | |||||
; Only applies if <ramp> is used | |||||
ramp-0 = | |||||
ramp-1 = | |||||
ramp-2 = | |||||
ramp-3 = | |||||
ramp-4 = | |||||
; Only applies if <bar> is used | |||||
bar-format = " %fill%%indicator%%empty% " | |||||
bar-width = 10 | |||||
bar-gradient = false | |||||
bar-indicator = ${bar.indicator} | |||||
bar-indicator-foreground = ${color.foreground} | |||||
bar-fill = ${bar.fill} | |||||
bar-foreground-0 = ${color.foreground} | |||||
bar-foreground-1 = ${color.foreground} | |||||
bar-foreground-2 = ${color.foreground} | |||||
bar-empty = ${bar.empty} | |||||
bar-empty-foreground = ${color.gray} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/battery_bar] | |||||
type = internal/battery | |||||
; This is useful in case the battery never reports 100% charge | |||||
full-at = 99 | |||||
; Use the following command to list batteries and adapters: | |||||
; $ ls -1 /sys/class/power_supply/ | |||||
battery = BAT1 | |||||
adapter = ACAD | |||||
; If an inotify event haven't been reported in this many | |||||
; seconds, manually poll for new values. | |||||
; | |||||
; Needed as a fallback for systems that don't report events | |||||
; on sysfs/procfs. | |||||
; | |||||
; Disable polling by setting the interval to 0. | |||||
; | |||||
; Default: 5 | |||||
poll-interval = 2 | |||||
; see "man date" for details on how to format the time string | |||||
; NOTE: if you want to use syntax tags here you need to use %%{...} | |||||
; Default: %H:%M:%S | |||||
time-format = %H:%M | |||||
; Available tags: | |||||
; <label-charging> (default) | |||||
; <bar-capacity> | |||||
; <ramp-capacity> | |||||
; <animation-charging> | |||||
format-charging = <bar-capacity> | |||||
format-charging-prefix = "" | |||||
format-charging-prefix-padding = 1 | |||||
format-charging-prefix-background = ${color.green} | |||||
format-charging-prefix-foreground = ${color.foreground} | |||||
format-charging-background = ${color.background-alt} | |||||
format-charging-foreground = ${color.foreground} | |||||
format-charging-overline = ${color.background} | |||||
format-charging-underline = ${color.background} | |||||
; Available tags: | |||||
; <label-discharging> (default) | |||||
; <bar-capacity> | |||||
; <ramp-capacity> | |||||
; <animation-discharging> | |||||
format-discharging = <bar-capacity> | |||||
format-discharging-prefix = "" | |||||
format-discharging-prefix-padding = 1 | |||||
format-discharging-prefix-background = ${color.pink} | |||||
format-discharging-prefix-foreground = ${color.foreground} | |||||
format-discharging-background = ${color.background-alt} | |||||
format-discharging-foreground = ${color.foreground} | |||||
format-discharging-overline = ${color.background} | |||||
format-discharging-underline = ${color.background} | |||||
; Available tags: | |||||
; <label-full> (default) | |||||
; <bar-capacity> | |||||
; <ramp-capacity> | |||||
format-full = <label-full> | |||||
format-full-prefix = "" | |||||
format-full-prefix-padding = 1 | |||||
format-full-prefix-background = ${color.red} | |||||
format-full-prefix-foreground = ${color.foreground} | |||||
format-full-background = ${color.background-alt} | |||||
format-full-foreground = ${color.foreground} | |||||
format-full-overline = ${color.background} | |||||
format-full-underline = ${color.background} | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
; %time% | |||||
; %consumption% (shows current charge rate in watts) | |||||
label-charging = %percentage%% | |||||
label-charging-background = ${color.background-alt} | |||||
label-charging-padding = 1 | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
; %time% | |||||
; %consumption% (shows current discharge rate in watts) | |||||
label-discharging = %percentage%% | |||||
label-discharging-background = ${color.background-alt} | |||||
label-discharging-padding = 1 | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
label-full = Full | |||||
label-full-background = ${color.background-alt} | |||||
label-full-padding = 1 | |||||
; Only applies if <bar-capacity> is used | |||||
bar-capacity-format = " %fill%%indicator%%empty% " | |||||
bar-capacity-width = 10 | |||||
bar-capacity-gradient = false | |||||
bar-capacity-indicator = ${bar.indicator} | |||||
bar-capacity-indicator-foreground = ${color.foreground} | |||||
bar-capacity-fill = ${bar.fill} | |||||
bar-capacity-foreground-0 = ${color.foreground} | |||||
bar-capacity-foreground-1 = ${color.foreground} | |||||
bar-capacity-foreground-2 = ${color.foreground} | |||||
bar-capacity-empty = ${bar.empty} | |||||
bar-capacity-empty-foreground = ${color.gray} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/cpu_bar] | |||||
type = internal/cpu | |||||
; Seconds to sleep between updates | |||||
; Default: 1 | |||||
interval = 0.5 | |||||
; Available tags: | |||||
; <label> (default) | |||||
; <bar-load> | |||||
; <ramp-load> | |||||
; <ramp-coreload> | |||||
;;format = <label> <ramp-coreload> | |||||
format = <bar-load><label> | |||||
format-prefix = | |||||
format-prefix-padding = 1 | |||||
format-prefix-background = ${color.teal} | |||||
format-prefix-foreground = ${color.foreground} | |||||
format-background = ${color.background-alt} | |||||
format-foreground = ${color.foreground} | |||||
format-overline = ${color.background} | |||||
format-underline = ${color.background} | |||||
; Available tokens: | |||||
; %percentage% (default) - total cpu load averaged over all cores | |||||
; %percentage-sum% - Cumulative load on all cores | |||||
; %percentage-cores% - load percentage for each core | |||||
; %percentage-core[1-9]% - load percentage for specific core | |||||
label = "%percentage%% " | |||||
; Only applies if <bar-load> is used | |||||
bar-load-format = " %fill%%indicator%%empty% " | |||||
bar-load-width = 10 | |||||
bar-load-gradient = false | |||||
bar-load-indicator = ${bar.indicator} | |||||
bar-load-indicator-foreground = ${color.foreground} | |||||
bar-load-fill = ${bar.fill} | |||||
bar-load-foreground-0 = ${color.foreground} | |||||
bar-load-foreground-1 = ${color.foreground} | |||||
bar-load-foreground-2 = ${color.foreground} | |||||
bar-load-empty = ${bar.empty} | |||||
bar-load-empty-foreground = ${color.gray} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/filesystem_bar] | |||||
type = internal/fs | |||||
; Mountpoints to display | |||||
mount-0 = / | |||||
;;mount-1 = /home | |||||
;;mount-2 = /var | |||||
; Seconds to sleep between updates | |||||
; Default: 30 | |||||
interval = 30 | |||||
; Display fixed precision values | |||||
; Default: false | |||||
fixed-values = false | |||||
; Spacing between entries | |||||
; Default: 2 | |||||
;;spacing = 4 | |||||
; Available tags: | |||||
; <label-mounted> (default) | |||||
; <bar-free> | |||||
; <bar-used> | |||||
; <ramp-capacity> | |||||
format-mounted = <bar-used><label-mounted> | |||||
format-mounted-prefix = | |||||
format-mounted-prefix-padding = 1 | |||||
format-mounted-prefix-background = ${color.purple} | |||||
format-mounted-prefix-foreground = ${color.foreground} | |||||
format-mounted-background = ${color.background-alt} | |||||
format-mounted-foreground = ${color.foreground} | |||||
format-mounted-overline = ${color.background} | |||||
format-mounted-underline = ${color.background} | |||||
; Available tags: | |||||
; <label-unmounted> (default) | |||||
format-unmounted = <label-unmounted> | |||||
format-unmounted-prefix = | |||||
format-unmounted-prefix-padding = 1 | |||||
format-unmounted-prefix-background = ${color.red} | |||||
format-unmounted-prefix-foreground = ${color.foreground} | |||||
format-unmounted-background = ${color.background-alt} | |||||
format-unmounted-foreground = ${color.foreground} | |||||
format-unmounted-overline = ${color.background} | |||||
format-unmounted-underline = ${color.background} | |||||
; Available tokens: | |||||
; %mountpoint% | |||||
; %type% | |||||
; %fsname% | |||||
; %percentage_free% | |||||
; %percentage_used% | |||||
; %total% | |||||
; %free% | |||||
; %used% | |||||
; Default: %mountpoint% %percentage_free%% | |||||
label-mounted = "%used%/%total% " | |||||
; Available tokens: | |||||
; %mountpoint% | |||||
; Default: %mountpoint% is not mounted | |||||
label-unmounted = " %mountpoint%: not mounted " | |||||
; Only applies if <bar-used> is used | |||||
bar-used-format = " %fill%%indicator%%empty% " | |||||
bar-used-width = 10 | |||||
bar-used-gradient = false | |||||
bar-used-indicator = ${bar.indicator} | |||||
bar-used-indicator-foreground = ${color.foreground} | |||||
bar-used-fill = ${bar.fill} | |||||
bar-used-foreground-0 = ${color.foreground} | |||||
bar-used-foreground-1 = ${color.foreground} | |||||
bar-used-foreground-2 = ${color.foreground} | |||||
bar-used-empty = ${bar.empty} | |||||
bar-used-empty-foreground = ${color.gray} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/memory_bar] | |||||
type = internal/memory | |||||
; Seconds to sleep between updates | |||||
; Default: 1 | |||||
interval = 2 | |||||
; Available tags: | |||||
; <label> (default) | |||||
; <bar-used> | |||||
; <bar-free> | |||||
; <ramp-used> | |||||
; <ramp-free> | |||||
; <bar-swap-used> | |||||
; <bar-swap-free> | |||||
; <ramp-swap-used> | |||||
; <ramp-swap-free> | |||||
format = <bar-used><label> | |||||
format-prefix = | |||||
format-prefix-padding = 1 | |||||
format-prefix-background = ${color.indigo} | |||||
format-prefix-foreground = ${color.foreground} | |||||
format-background = ${color.background-alt} | |||||
format-foreground = ${color.foreground} | |||||
format-overline = ${color.background} | |||||
format-underline = ${color.background} | |||||
; Available tokens: | |||||
; %percentage_used% (default) | |||||
; %percentage_free% | |||||
; %gb_used% | |||||
; %gb_free% | |||||
; %gb_total% | |||||
; %mb_used% | |||||
; %mb_free% | |||||
; %mb_total% | |||||
; %percentage_swap_used% | |||||
; %percentage_swap_free% | |||||
; %mb_swap_total% | |||||
; %mb_swap_free% | |||||
; %mb_swap_used% | |||||
; %gb_swap_total% | |||||
; %gb_swap_free% | |||||
; %gb_swap_used% | |||||
label = "%mb_used% " | |||||
; Only applies if <bar-used> is used | |||||
bar-used-format = " %fill%%indicator%%empty% " | |||||
bar-used-width = 10 | |||||
bar-used-gradient = false | |||||
bar-used-indicator = ${bar.indicator} | |||||
bar-used-indicator-foreground = ${color.foreground} | |||||
bar-used-fill = ${bar.fill} | |||||
bar-used-foreground-0 = ${color.foreground} | |||||
bar-used-foreground-1 = ${color.foreground} | |||||
bar-used-foreground-2 = ${color.foreground} | |||||
bar-used-empty = ${bar.empty} | |||||
bar-used-empty-foreground = ${color.gray} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/mpd_bar] | |||||
type = internal/mpd | |||||
; Host where mpd is running (either ip or domain name) | |||||
; Can also be the full path to a unix socket where mpd is running. | |||||
;;host = 127.0.0.1 | |||||
;;port = 6600 | |||||
;;password = mysecretpassword | |||||
; Seconds to sleep between progressbar/song timer sync | |||||
; Default: 1 | |||||
interval = 1 | |||||
; Available tags: | |||||
; <label-song> (default) | |||||
; <label-time> | |||||
; <bar-progress> | |||||
; <toggle> - gets replaced with <icon-(pause|play)> | |||||
; <toggle-stop> - gets replaced with <icon-(stop|play)> | |||||
; <icon-random> | |||||
; <icon-repeat> | |||||
; <icon-repeatone> (deprecated) | |||||
; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> | |||||
; <icon-consume> | |||||
; <icon-prev> | |||||
; <icon-stop> | |||||
; <icon-play> | |||||
; <icon-pause> | |||||
; <icon-next> | |||||
; <icon-seekb> | |||||
; <icon-seekf> | |||||
format-online = <label-song><bar-progress><label-time> | |||||
format-online-prefix = | |||||
format-online-prefix-padding = 1 | |||||
format-online-prefix-background = ${color.green} | |||||
format-online-prefix-foreground = ${color.foreground} | |||||
format-online-background = ${color.background-alt} | |||||
format-online-foreground = ${color.foreground} | |||||
format-online-overline = ${color.background} | |||||
format-online-underline = ${color.background} | |||||
;format-playing = ${self.format-online} | |||||
;format-paused = ${self.format-online} | |||||
;format-stopped = ${self.format-online} | |||||
; Available tags: | |||||
; <label-offline> | |||||
format-offline = <label-offline> | |||||
format-offline-prefix = | |||||
format-offline-prefix-padding = 1 | |||||
format-offline-prefix-background = ${color.red} | |||||
format-offline-prefix-foreground = ${color.foreground} | |||||
format-offline-background = ${color.background-alt} | |||||
format-offline-foreground = ${color.foreground} | |||||
format-offline-overline = ${color.background} | |||||
format-offline-underline = ${color.background} | |||||
; Available tokens: | |||||
; %artist% | |||||
; %album-artist% | |||||
; %album% | |||||
; %date% | |||||
; %title% | |||||
; Default: %artist% - %title% | |||||
label-song = " %artist% - %title%" | |||||
label-song-maxlen = 25 | |||||
label-song-ellipsis = true | |||||
; Available tokens: | |||||
; %elapsed% | |||||
; %total% | |||||
; Default: %elapsed% / %total% | |||||
label-time = "%elapsed% / %total% " | |||||
; Available tokens: | |||||
; None | |||||
label-offline = " Offline " | |||||
; Only applies if <icon-X> is used | |||||
icon-play = | |||||
icon-pause = | |||||
icon-stop = | |||||
icon-next = | |||||
icon-prev = | |||||
icon-seekf = | |||||
icon-seekb = | |||||
icon-random = | |||||
icon-repeat = | |||||
icon-repeatone = | |||||
icon-single = | |||||
icon-consume = | |||||
; Used to display the state of random/repeat/repeatone/single | |||||
; Only applies if <icon-[random|repeat|repeatone|single]> is used | |||||
toggle-on-foreground = ${color.primary} | |||||
toggle-off-foreground = ${color.secondary} | |||||
; Only applies if <bar-progress> is used | |||||
bar-progress-format = " %fill%%indicator%%empty% " | |||||
bar-progress-width = 10 | |||||
bar-progress-gradient = false | |||||
bar-progress-indicator = ${bar.indicator} | |||||
bar-progress-indicator-foreground = ${color.foreground} | |||||
bar-progress-fill = ${bar.fill} | |||||
bar-progress-foreground-0 = ${color.foreground} | |||||
bar-progress-foreground-1 = ${color.foreground} | |||||
bar-progress-foreground-2 = ${color.foreground} | |||||
bar-progress-empty = ${bar.empty} | |||||
bar-progress-empty-foreground = ${color.gray} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |
@ -0,0 +1,39 @@ | |||||
;; ┌────────────────────────────────────────────────────────────┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ | |||||
;; └────────────────────────────────────────────────────────────┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[color] | |||||
;; Use pywal.sh in scripts directory to use colors from an image/wallpaper. | |||||
;; main colors | |||||
background = #2f343f | |||||
background-alt = #C4C7C5 | |||||
foreground = #1C1E20 | |||||
foreground-alt = #C4C7C5 | |||||
primary = #B4BC67 | |||||
white = #FFFFFF | |||||
black = #000000 | |||||
red = #EC7875 | |||||
pink = #EC6798 | |||||
purple = #BE78D1 | |||||
blue = #75A4CD | |||||
cyan = #00C7DF | |||||
teal = #00B19F | |||||
green = #61C766 | |||||
lime = #B9C244 | |||||
yellow = #EBD369 | |||||
amber = #EDB83F | |||||
orange = #E57C46 | |||||
brown = #AC8476 | |||||
gray = #9E9E9E | |||||
indigo = #6C77BB | |||||
blue-gray = #6D8895 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |
@ -0,0 +1,293 @@ | |||||
;; ┌────────────────────────────────────────────────────────────┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ | |||||
;; └────────────────────────────────────────────────────────────┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Global WM Settings | |||||
[global/wm] | |||||
; Adjust the _NET_WM_STRUT_PARTIAL top value | |||||
; Used for top aligned bars | |||||
margin-bottom = 0 | |||||
; Adjust the _NET_WM_STRUT_PARTIAL bottom value | |||||
; Used for bottom aligned bars | |||||
margin-top = 0 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; File Inclusion | |||||
; include an external file, like module file, etc. | |||||
include-file = ~/.config/polybar/blocks/bars.ini | |||||
include-file = ~/.config/polybar/blocks/colors.ini | |||||
include-file = ~/.config/polybar/blocks/modules.ini | |||||
include-file = ~/.config/polybar/blocks/user_modules.ini | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Bar Settings | |||||
[bar/main] | |||||
; Use either of the following command to list available outputs: | |||||
; If unspecified, the application will pick the first one it finds. | |||||
; $ polybar -m | cut -d ':' -f 1 | |||||
; $ xrandr -q | grep " connected" | cut -d ' ' -f1 | |||||
monitor = | |||||
; Use the specified monitor as a fallback if the main one is not found. | |||||
monitor-fallback = | |||||
; Require the monitor to be in connected state | |||||
; XRandR sometimes reports my monitor as being disconnected (when in use) | |||||
monitor-strict = false | |||||
; Tell the Window Manager not to configure the window. | |||||
; Use this to detach the bar if your WM is locking its size/position. | |||||
override-redirect = false | |||||
; Put the bar at the bottom of the screen | |||||
bottom = false | |||||
; Prefer fixed center position for the `modules-center` block | |||||
; When false, the center position will be based on the size of the other blocks. | |||||
fixed-center = true | |||||
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), | |||||
; the percentage can optionally be extended with a pixel offset like so: | |||||
; 50%:-10, this will result in a width or height of 50% minus 10 pixels | |||||
width = 100% | |||||
height = 34 | |||||
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) | |||||
; the percentage can optionally be extended with a pixel offset like so: | |||||
; 50%:-10, this will result in an offset in the x or y direction | |||||
; of 50% minus 10 pixels | |||||
offset-x = 0% | |||||
offset-y = 0% | |||||
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
background = ${color.background} | |||||
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
foreground = ${color.foreground} | |||||
; Background gradient (vertical steps) | |||||
; background-[0-9]+ = #aarrggbb | |||||
;;background-0 = | |||||
; Value used for drawing rounded corners | |||||
; Note: This shouldn't be used together with border-size because the border | |||||
; doesn't get rounded | |||||
; Individual top/bottom values can be defined using: | |||||
; radius-{top,bottom} | |||||
radius-top = 0.0 | |||||
radius-bottom = 0.0 | |||||
; Under-/overline pixel size and argb color | |||||
; Individual values can be defined using: | |||||
; {overline,underline}-size | |||||
; {overline,underline}-color | |||||
line-size = 5 | |||||
line-color = ${color.background} | |||||
; Values applied to all borders | |||||
; Individual side values can be defined using: | |||||
; border-{left,top,right,bottom}-size | |||||
; border-{left,top,right,bottom}-color | |||||
; The top and bottom borders are added to the bar height, so the effective | |||||
; window height is: | |||||
; height + border-top-size + border-bottom-size | |||||
; Meanwhile the effective window width is defined entirely by the width key and | |||||
; the border is placed withing this area. So you effectively only have the | |||||
; following horizontal space on the bar: | |||||
; width - border-right-size - border-left-size | |||||
border-bottom-size = 0 | |||||
border-bottom-color = ${color.primary} | |||||
; Number of spaces to add at the beginning/end of the bar | |||||
; Individual side values can be defined using: | |||||
; padding-{left,right} | |||||
padding = 0 | |||||
; Number of spaces to add before/after each module | |||||
; Individual side values can be defined using: | |||||
; module-margin-{left,right} | |||||
module-margin-left = 0 | |||||
module-margin-right = 0 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
; Fonts are defined using <font-name>;<vertical-offset> | |||||
; Font names are specified using a fontconfig pattern. | |||||
; font-0 = NotoSans-Regular:size=8;2 | |||||
; font-1 = MaterialIcons:size=10 | |||||
; font-2 = Termsynu:size=8;-1 | |||||
; font-3 = FontAwesome:size=10 | |||||
; See the Fonts wiki page for more details | |||||
font-0 = "Iosevka Nerd Font:size=10;4" | |||||
font-1 = "feather:size=10;3" | |||||
; Modules are added to one of the available blocks | |||||
; modules-left = cpu ram | |||||
; modules-center = xwindow xbacklight | |||||
; modules-right = ipc clock | |||||
modules-left = sep launcher sep workspaces sep mpd | |||||
modules-center = title | |||||
modules-right = color-switch sep alsa sep battery sep network sep date sep sysmenu sep | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
; The separator will be inserted between the output of each module | |||||
separator = | |||||
; Opacity value between 0.0 and 1.0 used on fade in/out | |||||
dim-value = 1.0 | |||||
; Value to be used to set the WM_NAME atom | |||||
; If the value is empty or undefined, the atom value | |||||
; will be created from the following template: polybar-[BAR]_[MONITOR] | |||||
; NOTE: The placeholders are not available for custom values | |||||
wm-name = | |||||
; Locale used to localize various module data (e.g. date) | |||||
; Expects a valid libc locale, for example: sv_SE.UTF-8 | |||||
locale = | |||||
; Position of the system tray window | |||||
; If empty or undefined, tray support will be disabled | |||||
; NOTE: A center aligned tray will cover center aligned modules | |||||
; | |||||
; Available positions: | |||||
; left | |||||
; center | |||||
; right | |||||
; none | |||||
tray-position = none | |||||
; If true, the bar will not shift its | |||||
; contents when the tray changes | |||||
tray-detached = false | |||||
; Tray icon max size | |||||
tray-maxsize = 16 | |||||
; Background color for the tray container | |||||
; ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
; By default the tray container will use the bar | |||||
; background color. | |||||
tray-background = ${color.background} | |||||
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) | |||||
tray-offset-x = 0 | |||||
tray-offset-y = 0 | |||||
; Pad the sides of each tray icon | |||||
tray-padding = 0 | |||||
; Scale factor for tray clients | |||||
tray-scale = 1.0 | |||||
; Restack the bar window and put it above the | |||||
; selected window manager's root | |||||
; | |||||
; Fixes the issue where the bar is being drawn | |||||
; on top of fullscreen window's | |||||
; | |||||
; Currently supported WM's: | |||||
; bspwm | |||||
; i3 (requires: `override-redirect = true`) | |||||
;;wm-restack = | |||||
; Set a DPI values used when rendering text | |||||
; This only affects scalable fonts | |||||
; dpi = | |||||
; Enable support for inter-process messaging | |||||
; See the Messaging wiki page for more details. | |||||
enable-ipc = true | |||||
; Fallback click handlers that will be called if | |||||
; there's no matching module handler found. | |||||
click-left = | |||||
click-middle = | |||||
click-right = | |||||
scroll-up = | |||||
scroll-down = | |||||
double-click-left = | |||||
double-click-middle = | |||||
double-click-right = | |||||
; Requires polybar to be built with xcursor support (xcb-util-cursor) | |||||
; Possible values are: | |||||
; - default : The default pointer as before, can also be an empty string (default) | |||||
; - pointer : Typically in the form of a hand | |||||
; - ns-resize : Up and down arrows, can be used to indicate scrolling | |||||
cursor-click = | |||||
cursor-scroll = | |||||
;; WM Workspace Specific | |||||
; bspwm | |||||
;;scroll-up = bspwm-desknext | |||||
;;scroll-down = bspwm-deskprev | |||||
;;scroll-up = bspc desktop -f prev.local | |||||
;;scroll-down = bspc desktop -f next.local | |||||
;i3 | |||||
;;scroll-up = i3wm-wsnext | |||||
;;scroll-down = i3wm-wsprev | |||||
;;scroll-up = i3-msg workspace next_on_output | |||||
;;scroll-down = i3-msg workspace prev_on_output | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Application Settings | |||||
[settings] | |||||
; The throttle settings lets the eventloop swallow up til X events | |||||
; if they happen within Y millisecond after first event was received. | |||||
; This is done to prevent flood of update event. | |||||
; | |||||
; For example if 5 modules emit an update event at the same time, we really | |||||
; just care about the last one. But if we wait too long for events to swallow | |||||
; the bar would appear sluggish so we continue if timeout | |||||
; expires or limit is reached. | |||||
throttle-output = 5 | |||||
throttle-output-for = 10 | |||||
; Time in milliseconds that the input handler will wait between processing events | |||||
;throttle-input-for = 30 | |||||
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events | |||||
screenchange-reload = false | |||||
; Compositing operators | |||||
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t | |||||
compositing-background = source | |||||
compositing-foreground = over | |||||
compositing-overline = over | |||||
compositing-underline = over | |||||
compositing-border = over | |||||
; Define fallback values used by all module formats | |||||
;format-foreground = | |||||
;format-background = | |||||
;format-underline = | |||||
;format-overline = | |||||
;format-spacing = | |||||
;format-padding = | |||||
;format-margin = | |||||
;format-offset = | |||||
; Enables pseudo-transparency for the bar | |||||
; If set to true the bar can be transparent without a compositor. | |||||
pseudo-transparency = false | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |
@ -0,0 +1,14 @@ | |||||
#!/usr/bin/env bash | |||||
# Add this script to your wm startup file. | |||||
DIR="$HOME/.config/polybar/blocks" | |||||
# Terminate already running bar instances | |||||
killall -q polybar | |||||
# Wait until the processes have been shut down | |||||
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done | |||||
# Launch the bar | |||||
polybar -q main -c "$DIR"/config.ini & |
@ -0,0 +1,309 @@ | |||||
;; ┌────────────────────────────────────────────────────────────────────┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀█░█▀▄░█▀▀░█░█░▀█▀░█▀▀░█░█░█▀▀│ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▀░█▀▄░█▀▀░▀▄▀░░█░░█▀▀░█▄█░▀▀█│ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░░░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀░▀░▀▀▀│ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ | |||||
;; └────────────────────────────────────────────────────────────────────┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Global WM Settings | |||||
[global/wm] | |||||
; Adjust the _NET_WM_STRUT_PARTIAL top value | |||||
; Used for top aligned bars | |||||
margin-bottom = 0 | |||||
; Adjust the _NET_WM_STRUT_PARTIAL bottom value | |||||
; Used for bottom aligned bars | |||||
margin-top = 0 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; File Inclusion | |||||
; include an external file, like module file, etc. | |||||
include-file = ~/.config/polybar/blocks/bars.ini | |||||
include-file = ~/.config/polybar/blocks/colors.ini | |||||
include-file = ~/.config/polybar/blocks/modules.ini | |||||
include-file = ~/.config/polybar/blocks/user_modules.ini | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Bar Settings | |||||
[bar/main] | |||||
; Use either of the following command to list available outputs: | |||||
; If unspecified, the application will pick the first one it finds. | |||||
; $ polybar -m | cut -d ':' -f 1 | |||||
; $ xrandr -q | grep " connected" | cut -d ' ' -f1 | |||||
monitor = | |||||
; Use the specified monitor as a fallback if the main one is not found. | |||||
monitor-fallback = | |||||
; Require the monitor to be in connected state | |||||
; XRandR sometimes reports my monitor as being disconnected (when in use) | |||||
monitor-strict = false | |||||
; Tell the Window Manager not to configure the window. | |||||
; Use this to detach the bar if your WM is locking its size/position. | |||||
override-redirect = false | |||||
; Put the bar at the bottom of the screen | |||||
bottom = false | |||||
; Prefer fixed center position for the `modules-center` block | |||||
; When false, the center position will be based on the size of the other blocks. | |||||
fixed-center = true | |||||
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), | |||||
; the percentage can optionally be extended with a pixel offset like so: | |||||
; 50%:-10, this will result in a width or height of 50% minus 10 pixels | |||||
width = 100% | |||||
height = 34 | |||||
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) | |||||
; the percentage can optionally be extended with a pixel offset like so: | |||||
; 50%:-10, this will result in an offset in the x or y direction | |||||
; of 50% minus 10 pixels | |||||
offset-x = 0% | |||||
offset-y = 0% | |||||
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
background = ${color.background} | |||||
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
foreground = ${color.foreground} | |||||
; Background gradient (vertical steps) | |||||
; background-[0-9]+ = #aarrggbb | |||||
;;background-0 = | |||||
; Value used for drawing rounded corners | |||||
; Note: This shouldn't be used together with border-size because the border | |||||
; doesn't get rounded | |||||
; Individual top/bottom values can be defined using: | |||||
; radius-{top,bottom} | |||||
radius-top = 0.0 | |||||
radius-bottom = 0.0 | |||||
; Under-/overline pixel size and argb color | |||||
; Individual values can be defined using: | |||||
; {overline,underline}-size | |||||
; {overline,underline}-color | |||||
line-size = 5 | |||||
line-color = ${color.background} | |||||
; Values applied to all borders | |||||
; Individual side values can be defined using: | |||||
; border-{left,top,right,bottom}-size | |||||
; border-{left,top,right,bottom}-color | |||||
; The top and bottom borders are added to the bar height, so the effective | |||||
; window height is: | |||||
; height + border-top-size + border-bottom-size | |||||
; Meanwhile the effective window width is defined entirely by the width key and | |||||
; the border is placed withing this area. So you effectively only have the | |||||
; following horizontal space on the bar: | |||||
; width - border-right-size - border-left-size | |||||
border-bottom-size = 0 | |||||
border-bottom-color = ${color.primary} | |||||
; Number of spaces to add at the beginning/end of the bar | |||||
; Individual side values can be defined using: | |||||
; padding-{left,right} | |||||
padding = 0 | |||||
; Number of spaces to add before/after each module | |||||
; Individual side values can be defined using: | |||||
; module-margin-{left,right} | |||||
module-margin-left = 0 | |||||
module-margin-right = 0 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
; Fonts are defined using <font-name>;<vertical-offset> | |||||
; Font names are specified using a fontconfig pattern. | |||||
; font-0 = NotoSans-Regular:size=8;2 | |||||
; font-1 = MaterialIcons:size=10 | |||||
; font-2 = Termsynu:size=8;-1 | |||||
; font-3 = FontAwesome:size=10 | |||||
; See the Fonts wiki page for more details | |||||
font-0 = "Iosevka Nerd Font:size=10;4" | |||||
font-1 = "feather:size=10;3" | |||||
; Modules are added to one of the available blocks | |||||
; modules-left = cpu ram | |||||
; modules-center = xwindow xbacklight | |||||
; modules-right = ipc clock | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[bar/top] | |||||
inherit = bar/main | |||||
offset-y = 10 | |||||
modules-center = sep launcher sep workspaces sep cpu sep memory sep mpd sep alsa sep battery sep network sep date sep sysmenu sep | |||||
enable-ipc = true | |||||
[bar/mid] | |||||
inherit = bar/main | |||||
offset-y = 54 | |||||
modules-center = volume sep brightness sep battery_bar sep cpu_bar sep filesystem_bar sep memory_bar sep mpd_bar | |||||
enable-ipc = true | |||||
[bar/bottom] | |||||
inherit = bar/main | |||||
offset-y = 98 | |||||
modules-center = title sep menu sep term files browser settings sep filesystem sep temperature sep color-switch sep keyboard sep pulseaudio sep backlight sep updates sep powermenu sep | |||||
enable-ipc = true | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
; The separator will be inserted between the output of each module | |||||
separator = | |||||
; Opacity value between 0.0 and 1.0 used on fade in/out | |||||
dim-value = 1.0 | |||||
; Value to be used to set the WM_NAME atom | |||||
; If the value is empty or undefined, the atom value | |||||
; will be created from the following template: polybar-[BAR]_[MONITOR] | |||||
; NOTE: The placeholders are not available for custom values | |||||
wm-name = | |||||
; Locale used to localize various module data (e.g. date) | |||||
; Expects a valid libc locale, for example: sv_SE.UTF-8 | |||||
locale = | |||||
; Position of the system tray window | |||||
; If empty or undefined, tray support will be disabled | |||||
; NOTE: A center aligned tray will cover center aligned modules | |||||
; | |||||
; Available positions: | |||||
; left | |||||
; center | |||||
; right | |||||
; none | |||||
tray-position = none | |||||
; If true, the bar will not shift its | |||||
; contents when the tray changes | |||||
tray-detached = false | |||||
; Tray icon max size | |||||
tray-maxsize = 16 | |||||
; Background color for the tray container | |||||
; ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
; By default the tray container will use the bar | |||||
; background color. | |||||
tray-background = ${color.background} | |||||
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) | |||||
tray-offset-x = 0 | |||||
tray-offset-y = 0 | |||||
; Pad the sides of each tray icon | |||||
tray-padding = 0 | |||||
; Scale factor for tray clients | |||||
tray-scale = 1.0 | |||||
; Restack the bar window and put it above the | |||||
; selected window manager's root | |||||
; | |||||
; Fixes the issue where the bar is being drawn | |||||
; on top of fullscreen window's | |||||
; | |||||
; Currently supported WM's: | |||||
; bspwm | |||||
; i3 (requires: `override-redirect = true`) | |||||
;;wm-restack = | |||||
; Set a DPI values used when rendering text | |||||
; This only affects scalable fonts | |||||
; dpi = | |||||
; Enable support for inter-process messaging | |||||
; See the Messaging wiki page for more details. | |||||
;enable-ipc = true | |||||
; Fallback click handlers that will be called if | |||||
; there's no matching module handler found. | |||||
click-left = | |||||
click-middle = | |||||
click-right = | |||||
scroll-up = | |||||
scroll-down = | |||||
double-click-left = | |||||
double-click-middle = | |||||
double-click-right = | |||||
; Requires polybar to be built with xcursor support (xcb-util-cursor) | |||||
; Possible values are: | |||||
; - default : The default pointer as before, can also be an empty string (default) | |||||
; - pointer : Typically in the form of a hand | |||||
; - ns-resize : Up and down arrows, can be used to indicate scrolling | |||||
cursor-click = | |||||
cursor-scroll = | |||||
;; WM Workspace Specific | |||||
; bspwm | |||||
;;scroll-up = bspwm-desknext | |||||
;;scroll-down = bspwm-deskprev | |||||
;;scroll-up = bspc desktop -f prev.local | |||||
;;scroll-down = bspc desktop -f next.local | |||||
;i3 | |||||
;;scroll-up = i3wm-wsnext | |||||
;;scroll-down = i3wm-wsprev | |||||
;;scroll-up = i3-msg workspace next_on_output | |||||
;;scroll-down = i3-msg workspace prev_on_output | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Application Settings | |||||
[settings] | |||||
; The throttle settings lets the eventloop swallow up til X events | |||||
; if they happen within Y millisecond after first event was received. | |||||
; This is done to prevent flood of update event. | |||||
; | |||||
; For example if 5 modules emit an update event at the same time, we really | |||||
; just care about the last one. But if we wait too long for events to swallow | |||||
; the bar would appear sluggish so we continue if timeout | |||||
; expires or limit is reached. | |||||
throttle-output = 5 | |||||
throttle-output-for = 10 | |||||
; Time in milliseconds that the input handler will wait between processing events | |||||
;throttle-input-for = 30 | |||||
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events | |||||
screenchange-reload = false | |||||
; Compositing operators | |||||
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t | |||||
compositing-background = source | |||||
compositing-foreground = over | |||||
compositing-overline = over | |||||
compositing-underline = over | |||||
compositing-border = over | |||||
; Define fallback values used by all module formats | |||||
;format-foreground = | |||||
;format-background = | |||||
;format-underline = | |||||
;format-overline = | |||||
;format-spacing = | |||||
;format-padding = | |||||
;format-margin = | |||||
;format-offset = | |||||
; Enables pseudo-transparency for the bar | |||||
; If set to true the bar can be transparent without a compositor. | |||||
pseudo-transparency = false | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |
@ -0,0 +1,14 @@ | |||||
#!/usr/bin/env bash | |||||
DIR="$HOME/.config/polybar/blocks" | |||||
# Terminate already running bar instances | |||||
killall -q polybar | |||||
# Wait until the processes have been shut down | |||||
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done | |||||
# Launch the preview bar | |||||
polybar -q top -c "$DIR"/preview.ini & | |||||
polybar -q mid -c "$DIR"/preview.ini & | |||||
polybar -q bottom -c "$DIR"/preview.ini & |
@ -0,0 +1,117 @@ | |||||
#!/usr/bin/bash | |||||
# | |||||
# checkupdates: Safely print a list of pending updates. | |||||
# | |||||
# Copyright (c) 2013 Kyle Keen <keenerd@gmail.com> | |||||
# | |||||
# This program is free software; you can redistribute it and/or modify | |||||
# it under the terms of the GNU General Public License as published by | |||||
# the Free Software Foundation; either version 2 of the License, or | |||||
# (at your option) any later version. | |||||
# | |||||
# This program is distributed in the hope that it will be useful, | |||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
# GNU General Public License for more details. | |||||
# | |||||
# You should have received a copy of the GNU General Public License | |||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |||||
# | |||||
declare -r myname='checkupdates' | |||||
declare -r myver='1.0.0' | |||||
plain() { | |||||
(( QUIET )) && return | |||||
local mesg=$1; shift | |||||
printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 | |||||
} | |||||
msg() { | |||||
(( QUIET )) && return | |||||
local mesg=$1; shift | |||||
printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 | |||||
} | |||||
msg2() { | |||||
(( QUIET )) && return | |||||
local mesg=$1; shift | |||||
printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 | |||||
} | |||||
ask() { | |||||
local mesg=$1; shift | |||||
printf "${BLUE}::${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&1 | |||||
} | |||||
warning() { | |||||
local mesg=$1; shift | |||||
printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 | |||||
} | |||||
error() { | |||||
local mesg=$1; shift | |||||
printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 | |||||
} | |||||
# check if messages are to be printed using color | |||||
unset ALL_OFF BOLD BLUE GREEN RED YELLOW | |||||
if [[ -t 2 && ! $USE_COLOR = "n" ]]; then | |||||
# prefer terminal safe colored and bold text when tput is supported | |||||
if tput setaf 0 &>/dev/null; then | |||||
ALL_OFF="$(tput sgr0)" | |||||
BOLD="$(tput bold)" | |||||
BLUE="${BOLD}$(tput setaf 4)" | |||||
GREEN="${BOLD}$(tput setaf 2)" | |||||
RED="${BOLD}$(tput setaf 1)" | |||||
YELLOW="${BOLD}$(tput setaf 3)" | |||||
else | |||||
ALL_OFF="\e[1;0m" | |||||
BOLD="\e[1;1m" | |||||
BLUE="${BOLD}\e[1;34m" | |||||
GREEN="${BOLD}\e[1;32m" | |||||
RED="${BOLD}\e[1;31m" | |||||
YELLOW="${BOLD}\e[1;33m" | |||||
fi | |||||
fi | |||||
readonly ALL_OFF BOLD BLUE GREEN RED YELLOW | |||||
if (( $# > 0 )); then | |||||
echo "${myname} v${myver}" | |||||
echo | |||||
echo "Safely print a list of pending updates" | |||||
echo | |||||
echo "Usage: ${myname}" | |||||
echo | |||||
echo 'Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.' | |||||
exit 0 | |||||
fi | |||||
if ! type -P fakeroot >/dev/null; then | |||||
error 'Cannot find the fakeroot binary.' | |||||
exit 1 | |||||
fi | |||||
if [[ -z $CHECKUPDATES_DB ]]; then | |||||
CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/" | |||||
fi | |||||
trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT | |||||
DBPath="$(pacman-conf DBPath)" | |||||
if [[ -z "$DBPath" ]] || [[ ! -d "$DBPath" ]]; then | |||||
DBPath="/var/lib/pacman/" | |||||
fi | |||||
mkdir -p "$CHECKUPDATES_DB" | |||||
ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null | |||||
if ! fakeroot -- pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then | |||||
error 'Cannot fetch updates' | |||||
exit 1 | |||||
fi | |||||
pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]' | |||||
exit 0 | |||||
# vim: set noet: |
@ -0,0 +1,12 @@ | |||||
#!/usr/bin/env bash | |||||
FILE="$HOME/.config/polybar/blocks/scripts/rofi/colors.rasi" | |||||
# random accent color | |||||
COLORS=('#EC7875' '#EC6798' '#BE78D1' '#75A4CD' '#00C7DF' '#00B19F' '#61C766' \ | |||||
'#B9C244' '#EBD369' '#EDB83F' '#E57C46' '#AC8476' '#6C77BB' '#6D8895') | |||||
AC="${COLORS[$(( $RANDOM % 14 ))]}" | |||||
sed -i -e "s/ac: .*/ac: ${AC}FF;/g" $FILE | |||||
sed -i -e "s/se: .*/se: ${AC}40;/g" $FILE | |||||
rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/blocks/scripts/rofi/launcher.rasi |
@ -0,0 +1,94 @@ | |||||
#!/usr/bin/env bash | |||||
## Author : Aditya Shakya | |||||
## Mail : adi1090x@gmail.com | |||||
## Github : @adi1090x | |||||
## Twitter : @adi1090x | |||||
dir="~/.config/polybar/blocks/scripts/rofi" | |||||
uptime=$(uptime -p | sed -e 's/up //g') | |||||
rofi_command="rofi -theme $dir/powermenu.rasi" | |||||
# Options | |||||
shutdown=" Shutdown" | |||||
reboot=" Restart" | |||||
lock=" Lock" | |||||
suspend=" Sleep" | |||||
logout=" Logout" | |||||
# Confirmation | |||||
confirm_exit() { | |||||
rofi -dmenu\ | |||||
-i\ | |||||
-no-fixed-num-lines\ | |||||
-p "Are You Sure? : "\ | |||||
-theme $dir/confirm.rasi | |||||
} | |||||
# Message | |||||
msg() { | |||||
rofi -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n" | |||||
} | |||||
# Variable passed to rofi | |||||
options="$lock\n$suspend\n$logout\n$reboot\n$shutdown" | |||||
chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 0)" | |||||
case $chosen in | |||||
$shutdown) | |||||
ans=$(confirm_exit &) | |||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then | |||||
systemctl poweroff | |||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then | |||||
exit 0 | |||||
else | |||||
msg | |||||
fi | |||||
;; | |||||
$reboot) | |||||
ans=$(confirm_exit &) | |||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then | |||||
systemctl reboot | |||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then | |||||
exit 0 | |||||
else | |||||
msg | |||||
fi | |||||
;; | |||||
$lock) | |||||
if [[ -f /usr/bin/i3lock ]]; then | |||||
i3lock | |||||
elif [[ -f /usr/bin/betterlockscreen ]]; then | |||||
betterlockscreen -l | |||||
fi | |||||
;; | |||||
$suspend) | |||||
ans=$(confirm_exit &) | |||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then | |||||
mpc -q pause | |||||
amixer set Master mute | |||||
systemctl suspend | |||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then | |||||
exit 0 | |||||
else | |||||
msg | |||||
fi | |||||
;; | |||||
$logout) | |||||
ans=$(confirm_exit &) | |||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then | |||||
if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then | |||||
openbox --exit | |||||
elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then | |||||
bspc quit | |||||
elif [[ "$DESKTOP_SESSION" == "i3" ]]; then | |||||
i3-msg exit | |||||
fi | |||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then | |||||
exit 0 | |||||
else | |||||
msg | |||||
fi | |||||
;; | |||||
esac |
@ -0,0 +1,11 @@ | |||||
/* colors */ | |||||
* { | |||||
al: #00000000; | |||||
bg: #2f343fFF; | |||||
bga: #C4C7C5FF; | |||||
fga: #C4C7C5FF; | |||||
fg: #1C1E20FF; | |||||
ac: #EBD369FF; | |||||
se: #EBD36940; | |||||
} |
@ -0,0 +1,24 @@ | |||||
/* Confirm Dialog */ | |||||
@import "colors.rasi" | |||||
* { | |||||
background-color: @bg; | |||||
text-color: @fga; | |||||
font: "Iosevka Nerd Font 10"; | |||||
} | |||||
window { | |||||
width: 210px; | |||||
padding: 25px; | |||||
border: 0px 0px 4px 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
location: center; | |||||
y-offset: -2em; | |||||
} | |||||
entry { | |||||
expand: true; | |||||
text-color: @ac; | |||||
} |
@ -0,0 +1,115 @@ | |||||
/* | |||||
* | |||||
* Author : Aditya Shakya | |||||
* Mail : adi1090x@gmail.com | |||||
* Github : @adi1090x | |||||
* Twitter : @adi1090x | |||||
* | |||||
*/ | |||||
configuration { | |||||
font: "Iosevka Nerd Font 10"; | |||||
show-icons: true; | |||||
icon-theme: "Papirus"; | |||||
display-drun: ""; | |||||
drun-display-format: "{name}"; | |||||
disable-history: false; | |||||
fullscreen: false; | |||||
hide-scrollbar: true; | |||||
sidebar-mode: false; | |||||
} | |||||
@import "colors.rasi" | |||||
window { | |||||
transparency: "real"; | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
border: 0px 0px 0px 0px; | |||||
border-color: @ac; | |||||
border-radius: 0px; | |||||
width: 550px; | |||||
location: center; | |||||
x-offset: 0; | |||||
y-offset: 0; | |||||
} | |||||
prompt { | |||||
enabled: true; | |||||
padding: 6px 7px 4px 7px; | |||||
background-color: @ac; | |||||
text-color: @fg; | |||||
font: "feather 12"; | |||||
} | |||||
entry { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
placeholder-color: @fg; | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
placeholder: "Search..."; | |||||
padding: 6px; | |||||
blink: true; | |||||
} | |||||
inputbar { | |||||
children: [ prompt, entry ]; | |||||
background-color: @bga; | |||||
text-color: @fg; | |||||
expand: false; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
margin: 0px; | |||||
padding: 0px; | |||||
} | |||||
listview { | |||||
background-color: @al; | |||||
padding: 0px; | |||||
columns: 2; | |||||
lines: 8; | |||||
spacing: 6px; | |||||
cycle: true; | |||||
dynamic: true; | |||||
layout: vertical; | |||||
} | |||||
mainbox { | |||||
background-color: @al; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
children: [ inputbar, listview ]; | |||||
spacing: 6px; | |||||
padding: 6px; | |||||
} | |||||
element { | |||||
background-color: @al; | |||||
text-color: @fga; | |||||
orientation: horizontal; | |||||
border-radius: 0px; | |||||
padding: 3px; | |||||
} | |||||
element-icon { | |||||
size: 24px; | |||||
border: 0px; | |||||
} | |||||
element-text { | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
vertical-align: 0.5; | |||||
margin: 0px 2.5px 0px 2.5px; | |||||
} | |||||
element selected { | |||||
background-color: @se; | |||||
text-color: @fga; | |||||
border: 0px 0px 0px 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
} |
@ -0,0 +1,24 @@ | |||||
/* Confirm Dialog */ | |||||
@import "colors.rasi" | |||||
* { | |||||
background-color: @bg; | |||||
text-color: @fga; | |||||
font: "Iosevka Nerd Font 10"; | |||||
} | |||||
window { | |||||
width: 320px; | |||||
padding: 25px; | |||||
border: 0px 0px 4px 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
location: center; | |||||
y-offset: -2em; | |||||
} | |||||
entry { | |||||
expand: true; | |||||
text-color: @ac; | |||||
} |
@ -0,0 +1,123 @@ | |||||
/* | |||||
* | |||||
* Author : Aditya Shakya | |||||
* Mail : adi1090x@gmail.com | |||||
* Github : @adi1090x | |||||
* Twitter : @adi1090x | |||||
* | |||||
*/ | |||||
configuration { | |||||
font: "Iosevka Nerd Font 10"; | |||||
show-icons: true; | |||||
icon-theme: "Papirus"; | |||||
display-drun: ""; | |||||
drun-display-format: "{name}"; | |||||
disable-history: false; | |||||
fullscreen: false; | |||||
hide-scrollbar: true; | |||||
sidebar-mode: false; | |||||
} | |||||
@import "colors.rasi" | |||||
window { | |||||
transparency: "real"; | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
border: 0px 0px 0px 0px; | |||||
border-color: @ac; | |||||
border-radius: 0px; | |||||
width: 400px; | |||||
location: center; | |||||
x-offset: 0; | |||||
y-offset: 0; | |||||
} | |||||
prompt { | |||||
enabled: true; | |||||
padding: 6px 7px 4px 7px; | |||||
background-color: @bga; | |||||
text-color: @fg; | |||||
} | |||||
textbox-prompt-colon { | |||||
padding: 6px 7px 4px 7px; | |||||
background-color: @ac; | |||||
text-color: @fg; | |||||
expand: false; | |||||
str: ""; | |||||
font: "feather 12"; | |||||
} | |||||
entry { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
placeholder-color: @fg; | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
placeholder: "Search..."; | |||||
padding: 6px; | |||||
blink: true; | |||||
} | |||||
inputbar { | |||||
children: [ textbox-prompt-colon, prompt ]; | |||||
background-color: @bga; | |||||
text-color: @fg; | |||||
expand: false; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
margin: 0px; | |||||
padding: 0px; | |||||
} | |||||
listview { | |||||
background-color: @al; | |||||
padding: 0px; | |||||
columns: 1; | |||||
lines: 8; | |||||
spacing: 6px; | |||||
cycle: true; | |||||
dynamic: true; | |||||
layout: vertical; | |||||
} | |||||
mainbox { | |||||
background-color: @al; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
children: [ inputbar, listview ]; | |||||
spacing: 6px; | |||||
padding: 6px; | |||||
} | |||||
element { | |||||
background-color: @al; | |||||
text-color: @fga; | |||||
orientation: horizontal; | |||||
border-radius: 0px; | |||||
padding: 3px 3px 3px -12px; | |||||
} | |||||
element-icon { | |||||
size: 24px; | |||||
border: 0px; | |||||
} | |||||
element-text { | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
vertical-align: 0.5; | |||||
margin: 0px 2.5px 0px 2.5px; | |||||
} | |||||
element selected { | |||||
background-color: @se; | |||||
text-color: @fga; | |||||
border: 0px 0px 0px 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
} |
@ -0,0 +1,123 @@ | |||||
/* | |||||
* | |||||
* Author : Aditya Shakya | |||||
* Mail : adi1090x@gmail.com | |||||
* Github : @adi1090x | |||||
* Twitter : @adi1090x | |||||
* | |||||
*/ | |||||
configuration { | |||||
font: "Iosevka Nerd Font 10"; | |||||
show-icons: true; | |||||
icon-theme: "Papirus"; | |||||
display-drun: ""; | |||||
drun-display-format: "{name}"; | |||||
disable-history: false; | |||||
fullscreen: false; | |||||
hide-scrollbar: true; | |||||
sidebar-mode: false; | |||||
} | |||||
@import "colors.rasi" | |||||
window { | |||||
transparency: "real"; | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
border: 0px 0px 0px 0px; | |||||
border-color: @ac; | |||||
border-radius: 0px; | |||||
width: 300px; | |||||
location: center; | |||||
x-offset: 0; | |||||
y-offset: 0; | |||||
} | |||||
prompt { | |||||
enabled: true; | |||||
padding: 6px 7px 4px 7px; | |||||
background-color: @bga; | |||||
text-color: @fg; | |||||
} | |||||
textbox-prompt-colon { | |||||
padding: 6px 7px 4px 7px; | |||||
background-color: @ac; | |||||
text-color: @fg; | |||||
expand: false; | |||||
str: ""; | |||||
font: "feather 12"; | |||||
} | |||||
entry { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
placeholder-color: @fg; | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
placeholder: "Search..."; | |||||
padding: 6px; | |||||
blink: true; | |||||
} | |||||
inputbar { | |||||
children: [ textbox-prompt-colon, prompt ]; | |||||
background-color: @bga; | |||||
text-color: @fg; | |||||
expand: false; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
margin: 0px; | |||||
padding: 0px; | |||||
} | |||||
listview { | |||||
background-color: @al; | |||||
padding: 0px; | |||||
columns: 1; | |||||
lines: 5; | |||||
spacing: 6px; | |||||
cycle: true; | |||||
dynamic: true; | |||||
layout: vertical; | |||||
} | |||||
mainbox { | |||||
background-color: @al; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
children: [ inputbar, listview ]; | |||||
spacing: 6px; | |||||
padding: 6px; | |||||
} | |||||
element { | |||||
background-color: @al; | |||||
text-color: @fga; | |||||
orientation: horizontal; | |||||
border-radius: 0px; | |||||
padding: 3px 3px 3px -23px; | |||||
} | |||||
element-icon { | |||||
size: 24px; | |||||
border: 0px; | |||||
} | |||||
element-text { | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
vertical-align: 0.5; | |||||
margin: 0px 2.5px 0px 2.5px; | |||||
} | |||||
element selected { | |||||
background-color: @se; | |||||
text-color: @fga; | |||||
border: 0px 0px 0px 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
} |
@ -0,0 +1,123 @@ | |||||
/* | |||||
* | |||||
* Author : Aditya Shakya | |||||
* Mail : adi1090x@gmail.com | |||||
* Github : @adi1090x | |||||
* Twitter : @adi1090x | |||||
* | |||||
*/ | |||||
configuration { | |||||
font: "Iosevka Nerd Font 10"; | |||||
show-icons: true; | |||||
icon-theme: "Papirus"; | |||||
display-drun: ""; | |||||
drun-display-format: "{name}"; | |||||
disable-history: false; | |||||
fullscreen: false; | |||||
hide-scrollbar: true; | |||||
sidebar-mode: false; | |||||
} | |||||
@import "colors.rasi" | |||||
window { | |||||
transparency: "real"; | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
border: 0px 0px 0px 0px; | |||||
border-color: @ac; | |||||
border-radius: 0px; | |||||
width: 300px; | |||||
location: center; | |||||
x-offset: 0; | |||||
y-offset: 0; | |||||
} | |||||
prompt { | |||||
enabled: true; | |||||
padding: 6px 7px 4px 7px; | |||||
background-color: @bga; | |||||
text-color: @fg; | |||||
} | |||||
textbox-prompt-colon { | |||||
padding: 6px 7px 4px 7px; | |||||
background-color: @ac; | |||||
text-color: @fg; | |||||
expand: false; | |||||
str: ""; | |||||
font: "feather 12"; | |||||
} | |||||
entry { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
placeholder-color: @fg; | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
placeholder: "Search..."; | |||||
padding: 6px; | |||||
blink: true; | |||||
} | |||||
inputbar { | |||||
children: [ textbox-prompt-colon, entry ]; | |||||
background-color: @bga; | |||||
text-color: @fg; | |||||
expand: false; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
margin: 0px; | |||||
padding: 0px; | |||||
} | |||||
listview { | |||||
background-color: @al; | |||||
padding: 0px; | |||||
columns: 1; | |||||
lines: 5; | |||||
spacing: 6px; | |||||
cycle: true; | |||||
dynamic: true; | |||||
layout: vertical; | |||||
} | |||||
mainbox { | |||||
background-color: @al; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
children: [ inputbar, listview ]; | |||||
spacing: 6px; | |||||
padding: 6px; | |||||
} | |||||
element { | |||||
background-color: @al; | |||||
text-color: @fga; | |||||
orientation: horizontal; | |||||
border-radius: 0px; | |||||
padding: 3px 3px 3px -23px; | |||||
} | |||||
element-icon { | |||||
size: 24px; | |||||
border: 0px; | |||||
} | |||||
element-text { | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
vertical-align: 0.5; | |||||
margin: 0px 2.5px 0px 2.5px; | |||||
} | |||||
element selected { | |||||
background-color: @se; | |||||
text-color: @fga; | |||||
border: 0px 0px 0px 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
} |
@ -0,0 +1,15 @@ | |||||
#!/usr/bin/env bash | |||||
SDIR="$HOME/.config/polybar/blocks/scripts" | |||||
# Launch Rofi | |||||
MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \ | |||||
-theme $SDIR/rofi/styles.rasi \ | |||||
<<< " Default| Nord| Gruvbox| Adapta| Cherry|")" | |||||
case "$MENU" in | |||||
*Default) "$SDIR"/styles.sh --default ;; | |||||
*Nord) "$SDIR"/styles.sh --nord ;; | |||||
*Gruvbox) "$SDIR"/styles.sh --gruvbox ;; | |||||
*Adapta) "$SDIR"/styles.sh --adapta ;; | |||||
*Cherry) "$SDIR"/styles.sh --cherry ;; | |||||
esac |
@ -0,0 +1,74 @@ | |||||
#!/usr/bin/env bash | |||||
# Color files | |||||
PFILE="$HOME/.config/polybar/blocks/colors.ini" | |||||
RFILE="$HOME/.config/polybar/blocks/scripts/rofi/colors.rasi" | |||||
# Change colors | |||||
change_color() { | |||||
# polybar | |||||
sed -i -e "s/background = #.*/background = $BG/g" $PFILE | |||||
sed -i -e "s/background-alt = #.*/background-alt = $BGA/g" $PFILE | |||||
sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE | |||||
sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE | |||||
sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE | |||||
# rofi | |||||
cat > $RFILE <<- EOF | |||||
/* colors */ | |||||
* { | |||||
al: #00000000; | |||||
bg: ${BG}FF; | |||||
bga: ${BGA}FF; | |||||
fga: ${FGA}FF; | |||||
fg: ${FG}FF; | |||||
ac: ${AC}FF; | |||||
se: ${AC}40; | |||||
} | |||||
EOF | |||||
polybar-msg cmd restart | |||||
} | |||||
if [[ $1 = "--default" ]]; then | |||||
BG="#2f343f" | |||||
BGA="#C4C7C5" | |||||
FGA="#C4C7C5" | |||||
FG="#1C1E20" | |||||
AC="#B4BC67" | |||||
change_color | |||||
elif [[ $1 = "--nord" ]]; then | |||||
BG="#3B4252" | |||||
BGA="#4C566A" | |||||
FGA="#E5E9F0" | |||||
FG="#ECEFF4" | |||||
AC="#A3BE8C" | |||||
change_color | |||||
elif [[ $1 = "--gruvbox" ]]; then | |||||
BG="#282828" | |||||
BGA="#EBDBB2" | |||||
FGA="#EBDBB2" | |||||
FG="#282828" | |||||
AC="#CC241D" | |||||
change_color | |||||
elif [[ $1 = "--adapta" ]]; then | |||||
BG="#243035" | |||||
BGA="#38444A" | |||||
FGA="#FDF6E3" | |||||
FG="#FFFFFF" | |||||
AC="#4DD0E1" | |||||
change_color | |||||
elif [[ $1 = "--cherry" ]]; then | |||||
BG="#1F1626" | |||||
BGA="#423949" | |||||
FGA="#FFFFFF" | |||||
FG="#FFFFFF" | |||||
AC="#D94085" | |||||
change_color | |||||
else | |||||
cat <<- _EOF_ | |||||
No option specified, Available options: | |||||
--default --nord --gruvbox --adapta --cherry | |||||
_EOF_ | |||||
fi |
@ -0,0 +1,45 @@ | |||||
#!/usr/bin/env bash | |||||
NOTIFY_ICON=/usr/share/icons/Papirus/32x32/apps/system-software-update.svg | |||||
get_total_updates() { UPDATES=$(checkupdates 2>/dev/null | wc -l); } | |||||
while true; do | |||||
get_total_updates | |||||
# notify user of updates | |||||
if hash notify-send &>/dev/null; then | |||||
if (( UPDATES > 50 )); then | |||||
notify-send -u critical -i $NOTIFY_ICON \ | |||||
"You really need to update!!" "$UPDATES New packages" | |||||
elif (( UPDATES > 25 )); then | |||||
notify-send -u normal -i $NOTIFY_ICON \ | |||||
"You should update soon" "$UPDATES New packages" | |||||
elif (( UPDATES > 2 )); then | |||||
notify-send -u low -i $NOTIFY_ICON \ | |||||
"$UPDATES New packages" | |||||
fi | |||||
fi | |||||
# when there are updates available | |||||
# every 10 seconds another check for updates is done | |||||
while (( UPDATES > 0 )); do | |||||
if (( UPDATES == 1 )); then | |||||
echo "$UPDATES" | |||||
elif (( UPDATES > 1 )); then | |||||
echo "$UPDATES" | |||||
else | |||||
echo "None" | |||||
fi | |||||
sleep 10 | |||||
get_total_updates | |||||
done | |||||
# when no updates are available, use a longer loop, this saves on CPU | |||||
# and network uptime, only checking once every 30 min for new updates | |||||
while (( UPDATES == 0 )); do | |||||
echo "None" | |||||
sleep 1800 | |||||
get_total_updates | |||||
done | |||||
done |
@ -0,0 +1,292 @@ | |||||
;; ┌──────────────────────────────────────────────────────────────────────────────-----┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█░█░█▀▀░█▀▀░█▀▄░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀ │ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░▀▀█░█▀▀░█▀▄░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█ │ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀░▀░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀ │ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ | |||||
;; └──────────────────────────────────────────────────────────────────────────────-----┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/updates] | |||||
type = custom/script | |||||
; Available tokens: | |||||
; %counter% | |||||
; Command to be executed (using "/usr/bin/env sh -c [command]") | |||||
exec = ~/.config/polybar/blocks/scripts/updates.sh | |||||
; Conditional command that, if defined, needs to exit successfully | |||||
; before the main exec command is invoked. | |||||
; Default: "" | |||||
;;exec-if = "" | |||||
; Will the script output continous content? | |||||
; Default: false | |||||
tail = true | |||||
; Seconds to sleep between updates | |||||
; Default: 2 (0 if `tail = true`) | |||||
interval = 5 | |||||
; Available tags: | |||||
; <output> - deprecated | |||||
; <label> (default) | |||||
format = <label> | |||||
format-prefix = | |||||
format-prefix-background = ${color.yellow} | |||||
format-prefix-padding = 1 | |||||
format-overline = ${color.background} | |||||
format-underline = ${color.background} | |||||
; Available tokens: | |||||
; %output% | |||||
; Default: %output% | |||||
label = %output% | |||||
label-background = ${color.background-alt} | |||||
label-padding = 1 | |||||
; Available tokens: | |||||
; %counter% | |||||
; %pid% | |||||
; | |||||
; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c [command]" | |||||
click-left = exo-open --launch TerminalEmulator & | |||||
click-right = exo-open --launch TerminalEmulator & | |||||
;;double-click-left = echo double left %counter% | |||||
;;double-click-middle = echo double middle %counter% | |||||
;;double-click-right = echo double right %counter% | |||||
; Available tokens: | |||||
; %counter% | |||||
; %pid% | |||||
; | |||||
; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c [command]" | |||||
;;scroll-up = echo scroll up %counter% | |||||
;;scroll-down = echo scroll down %counter% | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/launcher] | |||||
type = custom/text | |||||
content-prefix = | |||||
content-prefix-background = ${color.teal} | |||||
content-prefix-padding = 1 | |||||
content = " Menu " | |||||
content-background = ${color.background-alt} | |||||
content-foreground = ${color.foreground} | |||||
content-overline = ${color.background} | |||||
content-underline = ${color.background} | |||||
; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND" | |||||
click-left = ~/.config/polybar/blocks/scripts/launcher.sh & | |||||
;;click-middle = ~/.config/polybar/blocks/scripts/launcher-full | |||||
click-right = ~/.config/polybar/blocks/scripts/style-switch.sh & | |||||
; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND" | |||||
;;scroll-up = ~/.config/polybar/blocks/scripts/launcher.sh & | |||||
;;scroll-down = ~/.config/polybar/blocks/scripts/color-switch.sh & | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/sysmenu] | |||||
type = custom/text | |||||
content-prefix = | |||||
content-prefix-background = ${color.cyan} | |||||
content-prefix-padding = 1 | |||||
content = " System " | |||||
content-background = ${color.background-alt} | |||||
content-foreground = ${color.foreground} | |||||
content-overline = ${color.background} | |||||
content-underline = ${color.background} | |||||
click-left = ~/.config/polybar/blocks/scripts/powermenu.sh & | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/color-switch] | |||||
type = custom/text | |||||
content-prefix = | |||||
content-prefix-background = ${color.orange} | |||||
content-prefix-padding = 1 | |||||
content = " Style " | |||||
content-background = ${color.background-alt} | |||||
content-foreground = ${color.foreground} | |||||
content-overline = ${color.background} | |||||
content-underline = ${color.background} | |||||
click-left = ~/.config/polybar/blocks/scripts/style-switch.sh & | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/sep] | |||||
type = custom/text | |||||
content = | | |||||
content-background = ${color.background} | |||||
content-foreground = ${color.background} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/apps] | |||||
type = custom/text | |||||
content-overline = ${color.background} | |||||
content-underline = ${color.background} | |||||
content-padding = 1 | |||||
[module/term] | |||||
inherit = module/apps | |||||
content = | |||||
content-background = ${color.blue-gray} | |||||
content-foreground = ${color.foreground} | |||||
click-left = termite & | |||||
click-middle = urxvt & | |||||
click-right = xfce4-terminal & | |||||
[module/files] | |||||
inherit = module/apps | |||||
content = | |||||
content-background = ${color.blue} | |||||
content-foreground = ${color.foreground} | |||||
click-left = thunar & | |||||
click-right = pcmanfm & | |||||
[module/browser] | |||||
inherit = module/apps | |||||
content = | |||||
content-background = ${color.orange} | |||||
content-foreground = ${color.foreground} | |||||
click-left = firefox & | |||||
click-right = chromium & | |||||
[module/settings] | |||||
inherit = module/apps | |||||
content = | |||||
content-background = ${color.teal} | |||||
content-foreground = ${color.foreground} | |||||
click-left = xfce4-settings-manager & | |||||
click-right = lxappearance & | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/powermenu] | |||||
type = custom/menu | |||||
; If true, <label-toggle> will be to the left of the menu items (default). | |||||
; If false, it will be on the right of all the items. | |||||
expand-right = true | |||||
; "menu-LEVEL-N" has the same properties as "label-NAME" with | |||||
; the additional "exec" property | |||||
; | |||||
; Available exec commands: | |||||
; menu-open-LEVEL | |||||
; menu-close | |||||
; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" | |||||
menu-0-0 = " Reboot |" | |||||
menu-0-0-background = ${color.background-alt} | |||||
menu-0-0-exec = menu-open-1 | |||||
menu-0-1 = " Shutdown " | |||||
menu-0-1-background = ${color.background-alt} | |||||
menu-0-1-exec = menu-open-2 | |||||
menu-1-0 = " Back |" | |||||
menu-1-0-background = ${color.background-alt} | |||||
menu-1-0-exec = menu-open-0 | |||||
menu-1-1 = " Reboot " | |||||
menu-1-1-background = ${color.background-alt} | |||||
menu-1-1-exec = systemctl reboot | |||||
menu-2-0 = " Shutdown |" | |||||
menu-2-0-background = ${color.background-alt} | |||||
menu-2-0-exec = systemctl poweroff | |||||
menu-2-1 = " Back " | |||||
menu-2-1-background = ${color.background-alt} | |||||
menu-2-1-exec = menu-open-0 | |||||
; Available tags: | |||||
; <label-toggle> (default) - gets replaced with <label-(open|close)> | |||||
; <menu> (default) | |||||
; Note that if you use <label-toggle> you must also include | |||||
; the definition for <label-open> | |||||
format = <label-toggle><menu> | |||||
format-overline = ${color.background} | |||||
format-underline = ${color.background} | |||||
label-open = | |||||
label-open-background = ${color.cyan} | |||||
label-open-padding = 1 | |||||
label-close = | |||||
label-close-background = ${color.red} | |||||
label-close-padding = 1 | |||||
; Optional item separator | |||||
; Default: none | |||||
;label-separator = " | " | |||||
;label-separator-foreground = ${color.foreground} | |||||
;label-separator-background = ${color.background-alt} | |||||
;;label-open-foreground = ${color.foreground} | |||||
;;label-close-foreground = ${color.background} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/menu] | |||||
type = custom/menu | |||||
; If true, <label-toggle> will be to the left of the menu items (default). | |||||
; If false, it will be on the right of all the items. | |||||
expand-right = true | |||||
; "menu-LEVEL-N" has the same properties as "label-NAME" with | |||||
; the additional "exec" property | |||||
; | |||||
; Available exec commands: | |||||
; menu-open-LEVEL | |||||
; menu-close | |||||
; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" | |||||
menu-0-0 =" Menu | " | |||||
menu-0-0-background = ${color.background-alt} | |||||
menu-0-0-exec = ~/.config/polybar/blocks/scripts/launcher.sh & | |||||
menu-0-1 =" Files | " | |||||
menu-0-1-background = ${color.background-alt} | |||||
menu-0-1-exec = thunar & | |||||
menu-0-2 =" Terminal | " | |||||
menu-0-2-background = ${color.background-alt} | |||||
menu-0-2-exec = termite & | |||||
menu-0-3 =" Browser " | |||||
menu-0-3-background = ${color.background-alt} | |||||
menu-0-3-exec = firefox & | |||||
; Available tags: | |||||
; <label-toggle> (default) - gets replaced with <label-(open|close)> | |||||
; <menu> (default) | |||||
; Note that if you use <label-toggle> you must also include | |||||
; the definition for <label-open> | |||||
format = <label-toggle><menu> | |||||
format-overline = ${color.background} | |||||
format-underline = ${color.background} | |||||
label-open = | |||||
label-open-background = ${color.yellow} | |||||
label-open-padding = 1 | |||||
label-close = | |||||
label-close-background = ${color.red} | |||||
label-close-padding = 1 | |||||
; Optional item separator | |||||
; Default: none | |||||
;label-separator = " | " | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |
@ -0,0 +1,534 @@ | |||||
;; ┌────────────────────────────────────────────────────┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▄░█▀█░█▀▄░█▀▀│ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▄░█▀█░█▀▄░▀▀█│ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀░░▀░▀░▀░▀░▀▀▀│ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░│ | |||||
;; └────────────────────────────────────────────────────┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[bar] | |||||
fill = | |||||
empty = | |||||
indicator = ⏽ | |||||
; Nerd font : , ⏽, 樂 籠 錄 , 雷 絛 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/volume] | |||||
type = internal/alsa | |||||
; Soundcard to be used | |||||
; Usually in the format hw:# where # is the card number | |||||
; You can find the different card numbers in `/proc/asound/cards` | |||||
master-soundcard = default | |||||
speaker-soundcard = default | |||||
headphone-soundcard = default | |||||
; Name of the master, speaker and headphone mixers | |||||
; Use the following command to list available mixer controls: | |||||
; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" | |||||
; If master, speaker or headphone-soundcard isn't the default, | |||||
; use `amixer -c # scontrols` instead where # is the number | |||||
; of the master, speaker or headphone soundcard respectively | |||||
; | |||||
; Default: Master | |||||
master-mixer = Master | |||||
; Optionally define speaker and headphone mixers | |||||
; Default: none | |||||
;;speaker-mixer = Speaker | |||||
; Default: none | |||||
;;headphone-mixer = Headphone | |||||
; NOTE: This is required if headphone_mixer is defined | |||||
; Use the following command to list available device controls | |||||
; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort | |||||
; You may also need to use `amixer -c # controls` as above for the mixer names | |||||
; Default: none | |||||
;;headphone-id = 9 | |||||
; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear | |||||
; Default: false | |||||
;;mapped = true | |||||
; Interval for volume increase/decrease (in percent points) | |||||
; Default: 5 | |||||
interval = 5 | |||||
; Available tags: | |||||
; <label-volume> (default) | |||||
; <ramp-volume> | |||||
; <bar-volume> | |||||
format-volume = <ramp-volume> <bar-volume> | |||||
format-volume-background = ${color.shade6} | |||||
format-volume-padding = 2 | |||||
; Available tags: | |||||
; <label-muted> (default) | |||||
; <ramp-volume> | |||||
; <bar-volume> | |||||
format-muted = <label-muted> | |||||
format-muted-prefix = | |||||
format-muted-prefix-font = 2 | |||||
format-muted-background = ${color.shade6} | |||||
format-muted-padding = 2 | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
label-volume = %percentage%% | |||||
; Available tokens: | |||||
; %percentage% (default | |||||
label-muted = " Muted" | |||||
label-muted-foreground = ${color.foreground} | |||||
; Only applies if <ramp-volume> is used | |||||
ramp-volume-0 = | |||||
ramp-volume-1 = | |||||
ramp-volume-2 = | |||||
ramp-volume-font = 2 | |||||
; Only applies if <bar-volume> is used | |||||
bar-volume-width = 10 | |||||
bar-volume-gradient = false | |||||
bar-volume-indicator = ${bar.indicator} | |||||
bar-volume-indicator-foreground = ${color.foreground} | |||||
bar-volume-fill = ${bar.fill} | |||||
bar-volume-foreground-0 = ${color.foreground} | |||||
bar-volume-foreground-1 = ${color.foreground} | |||||
bar-volume-foreground-2 = ${color.foreground} | |||||
bar-volume-empty = ${bar.empty} | |||||
bar-volume-empty-foreground = ${color.foreground} | |||||
; If defined, it will replace <ramp-volume> when | |||||
; headphones are plugged in to `headphone_control_numid` | |||||
; If undefined, <ramp-volume> will be used for both | |||||
; Only applies if <ramp-volume> is used | |||||
ramp-headphones-0 = | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/brightness] | |||||
;type = internal/xbacklight | |||||
type = internal/backlight | |||||
; Use the following command to list available cards: | |||||
; $ ls -1 /sys/class/backlight/ | |||||
;card = intel_backlight | |||||
card = amdgpu_bl0 | |||||
; Available tags: | |||||
; <label> (default) | |||||
; <ramp> | |||||
; <bar> | |||||
format = <ramp> <bar> | |||||
format-background = ${color.shade7} | |||||
format-padding = 2 | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
label = %percentage%% | |||||
; Only applies if <ramp> is used | |||||
ramp-0 = | |||||
ramp-1 = | |||||
ramp-2 = | |||||
ramp-3 = | |||||
ramp-4 = | |||||
ramp-font = 2 | |||||
; Only applies if <bar> is used | |||||
bar-width = 10 | |||||
bar-gradient = false | |||||
bar-indicator = ${bar.indicator} | |||||
bar-indicator-foreground = ${color.foreground} | |||||
bar-fill = ${bar.fill} | |||||
bar-foreground-0 = ${color.foreground} | |||||
bar-foreground-1 = ${color.foreground} | |||||
bar-foreground-2 = ${color.foreground} | |||||
bar-empty = ${bar.empty} | |||||
bar-empty-foreground = ${color.foreground} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/battery_bar] | |||||
type = internal/battery | |||||
; This is useful in case the battery never reports 100% charge | |||||
full-at = 99 | |||||
; Use the following command to list batteries and adapters: | |||||
; $ ls -1 /sys/class/power_supply/ | |||||
battery = BAT1 | |||||
adapter = ACAD | |||||
; If an inotify event haven't been reported in this many | |||||
; seconds, manually poll for new values. | |||||
; | |||||
; Needed as a fallback for systems that don't report events | |||||
; on sysfs/procfs. | |||||
; | |||||
; Disable polling by setting the interval to 0. | |||||
; | |||||
; Default: 5 | |||||
poll-interval = 2 | |||||
; see "man date" for details on how to format the time string | |||||
; NOTE: if you want to use syntax tags here you need to use %%{...} | |||||
; Default: %H:%M:%S | |||||
time-format = %H:%M | |||||
; Available tags: | |||||
; <label-charging> (default) | |||||
; <bar-capacity> | |||||
; <ramp-capacity> | |||||
; <animation-charging> | |||||
format-charging = <bar-capacity> | |||||
format-charging-prefix = " " | |||||
format-charging-prefix-font = 2 | |||||
format-charging-background = ${color.shade5} | |||||
format-charging-padding = 2 | |||||
; Available tags: | |||||
; <label-discharging> (default) | |||||
; <bar-capacity> | |||||
; <ramp-capacity> | |||||
; <animation-discharging> | |||||
format-discharging = <bar-capacity> | |||||
format-discharging-prefix = " " | |||||
format-discharging-prefix-font = 2 | |||||
format-discharging-background = ${color.shade5} | |||||
format-discharging-padding = 2 | |||||
; Available tags: | |||||
; <label-full> (default) | |||||
; <bar-capacity> | |||||
; <ramp-capacity> | |||||
format-full = <label-full> | |||||
format-full-prefix = " " | |||||
format-full-prefix-font = 2 | |||||
format-full-background = ${color.shade5} | |||||
format-full-padding = 2 | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
; %time% | |||||
; %consumption% (shows current charge rate in watts) | |||||
label-charging = %percentage%% | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
; %time% | |||||
; %consumption% (shows current discharge rate in watts) | |||||
label-discharging = %percentage%% | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
label-full = "Full" | |||||
; Only applies if <bar-capacity> is used | |||||
bar-capacity-width = 10 | |||||
bar-capacity-gradient = false | |||||
bar-capacity-indicator = ${bar.indicator} | |||||
bar-capacity-indicator-foreground = ${color.foreground} | |||||
bar-capacity-fill = ${bar.fill} | |||||
bar-capacity-foreground-0 = ${color.foreground} | |||||
bar-capacity-foreground-1 = ${color.foreground} | |||||
bar-capacity-foreground-2 = ${color.foreground} | |||||
bar-capacity-empty = ${bar.empty} | |||||
bar-capacity-empty-foreground = ${color.foreground} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/cpu_bar] | |||||
type = internal/cpu | |||||
; Seconds to sleep between updates | |||||
; Default: 1 | |||||
interval = 0.5 | |||||
; Available tags: | |||||
; <label> (default) | |||||
; <bar-load> | |||||
; <ramp-load> | |||||
; <ramp-coreload> | |||||
;;format = <label> <ramp-coreload> | |||||
format = <bar-load> <label> | |||||
format-prefix = " " | |||||
format-prefix-font = 2 | |||||
format-background = ${color.shade7} | |||||
format-padding = 2 | |||||
; Available tokens: | |||||
; %percentage% (default) - total cpu load averaged over all cores | |||||
; %percentage-sum% - Cumulative load on all cores | |||||
; %percentage-cores% - load percentage for each core | |||||
; %percentage-core[1-9]% - load percentage for specific core | |||||
label = "%percentage%%" | |||||
; Only applies if <bar-load> is used | |||||
bar-load-width = 10 | |||||
bar-load-gradient = false | |||||
bar-load-indicator = ${bar.indicator} | |||||
bar-load-indicator-foreground = ${color.foreground} | |||||
bar-load-fill = ${bar.fill} | |||||
bar-load-foreground-0 = ${color.foreground} | |||||
bar-load-foreground-1 = ${color.foreground} | |||||
bar-load-foreground-2 = ${color.foreground} | |||||
bar-load-empty = ${bar.empty} | |||||
bar-load-empty-foreground = ${color.foreground} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/filesystem_bar] | |||||
type = internal/fs | |||||
; Mountpoints to display | |||||
mount-0 = / | |||||
;;mount-1 = /home | |||||
;;mount-2 = /var | |||||
; Seconds to sleep between updates | |||||
; Default: 30 | |||||
interval = 30 | |||||
; Display fixed precision values | |||||
; Default: false | |||||
fixed-values = false | |||||
; Spacing between entries | |||||
; Default: 2 | |||||
;;spacing = 4 | |||||
; Available tags: | |||||
; <label-mounted> (default) | |||||
; <bar-free> | |||||
; <bar-used> | |||||
; <ramp-capacity> | |||||
format-mounted = <bar-used> <label-mounted> | |||||
format-mounted-prefix = " " | |||||
format-mounted-prefix-font = 2 | |||||
format-mounted-background = ${color.shade5} | |||||
format-mounted-padding = 2 | |||||
; Available tags: | |||||
; <label-unmounted> (default) | |||||
format-unmounted = <label-unmounted> | |||||
format-unmounted-prefix = " " | |||||
format-unmounted-prefix-font = 2 | |||||
format-unmounted-background = ${color.shade5} | |||||
format-unmounted-padding = 2 | |||||
; Available tokens: | |||||
; %mountpoint% | |||||
; %type% | |||||
; %fsname% | |||||
; %percentage_free% | |||||
; %percentage_used% | |||||
; %total% | |||||
; %free% | |||||
; %used% | |||||
; Default: %mountpoint% %percentage_free%% | |||||
label-mounted = %used%/%total% | |||||
; Available tokens: | |||||
; %mountpoint% | |||||
; Default: %mountpoint% is not mounted | |||||
label-unmounted = "%mountpoint%: not mounted" | |||||
; Only applies if <bar-used> is used | |||||
bar-used-width = 10 | |||||
bar-used-gradient = false | |||||
bar-used-indicator = ${bar.indicator} | |||||
bar-used-indicator-foreground = ${color.foreground} | |||||
bar-used-fill = ${bar.fill} | |||||
bar-used-foreground-0 = ${color.foreground} | |||||
bar-used-foreground-1 = ${color.foreground} | |||||
bar-used-foreground-2 = ${color.foreground} | |||||
bar-used-empty = ${bar.empty} | |||||
bar-used-empty-foreground = ${color.foreground} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/memory_bar] | |||||
type = internal/memory | |||||
; Seconds to sleep between updates | |||||
; Default: 1 | |||||
interval = 2 | |||||
; Available tags: | |||||
; <label> (default) | |||||
; <bar-used> | |||||
; <bar-free> | |||||
; <ramp-used> | |||||
; <ramp-free> | |||||
; <bar-swap-used> | |||||
; <bar-swap-free> | |||||
; <ramp-swap-used> | |||||
; <ramp-swap-free> | |||||
format = <bar-used> <label> | |||||
format-prefix = " " | |||||
format-prefix-font = 2 | |||||
format-background = ${color.shade6} | |||||
format-padding = 2 | |||||
; Available tokens: | |||||
; %percentage_used% (default) | |||||
; %percentage_free% | |||||
; %gb_used% | |||||
; %gb_free% | |||||
; %gb_total% | |||||
; %mb_used% | |||||
; %mb_free% | |||||
; %mb_total% | |||||
; %percentage_swap_used% | |||||
; %percentage_swap_free% | |||||
; %mb_swap_total% | |||||
; %mb_swap_free% | |||||
; %mb_swap_used% | |||||
; %gb_swap_total% | |||||
; %gb_swap_free% | |||||
; %gb_swap_used% | |||||
label = "%mb_used%" | |||||
; Only applies if <bar-used> is used | |||||
bar-used-width = 10 | |||||
bar-used-gradient = false | |||||
bar-used-indicator = ${bar.indicator} | |||||
bar-used-indicator-foreground = ${color.foreground} | |||||
bar-used-fill = ${bar.fill} | |||||
bar-used-foreground-0 = ${color.foreground} | |||||
bar-used-foreground-1 = ${color.foreground} | |||||
bar-used-foreground-2 = ${color.foreground} | |||||
bar-used-empty = ${bar.empty} | |||||
bar-used-empty-foreground = ${color.foreground} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/mpd_bar] | |||||
type = internal/mpd | |||||
; Host where mpd is running (either ip or domain name) | |||||
; Can also be the full path to a unix socket where mpd is running. | |||||
;;host = 127.0.0.1 | |||||
;;port = 6600 | |||||
;;password = mysecretpassword | |||||
; Seconds to sleep between progressbar/song timer sync | |||||
; Default: 1 | |||||
interval = 1 | |||||
; Available tags: | |||||
; <label-song> (default) | |||||
; <label-time> | |||||
; <bar-progress> | |||||
; <toggle> - gets replaced with <icon-(pause|play)> | |||||
; <toggle-stop> - gets replaced with <icon-(stop|play)> | |||||
; <icon-random> | |||||
; <icon-repeat> | |||||
; <icon-repeatone> (deprecated) | |||||
; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> | |||||
; <icon-consume> | |||||
; <icon-prev> | |||||
; <icon-stop> | |||||
; <icon-play> | |||||
; <icon-pause> | |||||
; <icon-next> | |||||
; <icon-seekb> | |||||
; <icon-seekf> | |||||
format-online = <label-song> <bar-progress> <label-time> | |||||
format-online-prefix = ﱘ | |||||
format-online-prefix-font = 2 | |||||
format-online-background = ${color.shade4} | |||||
format-online-padding = 2 | |||||
;format-playing = ${self.format-online} | |||||
;format-paused = ${self.format-online} | |||||
;format-stopped = ${self.format-online} | |||||
; Available tags: | |||||
; <label-offline> | |||||
format-offline = <label-offline> | |||||
format-offline-prefix = ﱘ | |||||
format-offline-prefix-font = 2 | |||||
format-offline-background = ${color.shade4} | |||||
format-offline-padding = 2 | |||||
; Available tokens: | |||||
; %artist% | |||||
; %album-artist% | |||||
; %album% | |||||
; %date% | |||||
; %title% | |||||
; Default: %artist% - %title% | |||||
label-song = " %artist% - %title%" | |||||
label-song-maxlen = 25 | |||||
label-song-ellipsis = true | |||||
; Available tokens: | |||||
; %elapsed% | |||||
; %total% | |||||
; Default: %elapsed% / %total% | |||||
label-time = %elapsed% / %total% | |||||
; Available tokens: | |||||
; None | |||||
label-offline = " Offline" | |||||
; Only applies if <icon-X> is used | |||||
icon-play = 喇 | |||||
icon-pause = | |||||
icon-stop = | |||||
icon-prev = | |||||
icon-next = | |||||
icon-seekb = | |||||
icon-seekf = | |||||
icon-random = | |||||
icon-repeat = | |||||
icon-repeatone = | |||||
icon-single = | |||||
icon-consume = | |||||
; Used to display the state of random/repeat/repeatone/single | |||||
; Only applies if <icon-[random|repeat|repeatone|single]> is used | |||||
toggle-on-foreground = ${color.foreground} | |||||
toggle-off-foreground = ${color.background} | |||||
; Only applies if <bar-progress> is used | |||||
bar-progress-width = 10 | |||||
bar-progress-gradient = false | |||||
bar-progress-indicator = ${bar.indicator} | |||||
bar-progress-indicator-foreground = ${color.foreground} | |||||
bar-progress-fill = ${bar.fill} | |||||
bar-progress-foreground-0 = ${color.foreground} | |||||
bar-progress-foreground-1 = ${color.foreground} | |||||
bar-progress-foreground-2 = ${color.foreground} | |||||
bar-progress-empty = ${bar.empty} | |||||
bar-progress-empty-foreground = ${color.foreground} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |
@ -0,0 +1,30 @@ | |||||
;; ┌────────────────────────────────────────────────────────────┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ | |||||
;; └────────────────────────────────────────────────────────────┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[color] | |||||
;; Use pywal.sh in scripts directory to use colors from an image/wallpaper. | |||||
;; main colors | |||||
background = #141C21 | |||||
foreground = #F5F5F5 | |||||
foreground-alt = #FFFFFF | |||||
alpha = #00000000 | |||||
;; shades | |||||
shade1 = #BF360C | |||||
shade2 = #D84315 | |||||
shade3 = #E64A19 | |||||
shade4 = #F4511E | |||||
shade5 = #FF5722 | |||||
shade6 = #FF7043 | |||||
shade7 = #FF8A65 | |||||
shade8 = #FFAB91 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |
@ -0,0 +1,293 @@ | |||||
;; ┌────────────────────────────────────────────────────────────┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ | |||||
;; └────────────────────────────────────────────────────────────┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Global WM Settings | |||||
[global/wm] | |||||
; Adjust the _NET_WM_STRUT_PARTIAL top value | |||||
; Used for top aligned bars | |||||
margin-bottom = 0 | |||||
; Adjust the _NET_WM_STRUT_PARTIAL bottom value | |||||
; Used for bottom aligned bars | |||||
margin-top = 0 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; File Inclusion | |||||
; include an external file, like module file, etc. | |||||
include-file = ~/.config/polybar/colorblocks/bars.ini | |||||
include-file = ~/.config/polybar/colorblocks/colors.ini | |||||
include-file = ~/.config/polybar/colorblocks/modules.ini | |||||
include-file = ~/.config/polybar/colorblocks/user_modules.ini | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Bar Settings | |||||
[bar/main] | |||||
; Use either of the following command to list available outputs: | |||||
; If unspecified, the application will pick the first one it finds. | |||||
; $ polybar -m | cut -d ':' -f 1 | |||||
; $ xrandr -q | grep " connected" | cut -d ' ' -f1 | |||||
monitor = | |||||
; Use the specified monitor as a fallback if the main one is not found. | |||||
monitor-fallback = | |||||
; Require the monitor to be in connected state | |||||
; XRandR sometimes reports my monitor as being disconnected (when in use) | |||||
monitor-strict = false | |||||
; Tell the Window Manager not to configure the window. | |||||
; Use this to detach the bar if your WM is locking its size/position. | |||||
override-redirect = false | |||||
; Put the bar at the bottom of the screen | |||||
bottom = true | |||||
; Prefer fixed center position for the `modules-center` block | |||||
; When false, the center position will be based on the size of the other blocks. | |||||
fixed-center = true | |||||
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), | |||||
; the percentage can optionally be extended with a pixel offset like so: | |||||
; 50%:-10, this will result in a width or height of 50% minus 10 pixels | |||||
width = 99% | |||||
height = 40 | |||||
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) | |||||
; the percentage can optionally be extended with a pixel offset like so: | |||||
; 50%:-10, this will result in an offset in the x or y direction | |||||
; of 50% minus 10 pixels | |||||
offset-x = 0.5% | |||||
offset-y = 1% | |||||
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
background = ${color.alpha} | |||||
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
foreground = ${color.foreground} | |||||
; Background gradient (vertical steps) | |||||
; background-[0-9]+ = #aarrggbb | |||||
;;background-0 = | |||||
; Value used for drawing rounded corners | |||||
; Note: This shouldn't be used together with border-size because the border | |||||
; doesn't get rounded | |||||
; Individual top/bottom values can be defined using: | |||||
; radius-{top,bottom} | |||||
radius-top = 0.0 | |||||
radius-bottom = 0.0 | |||||
; Under-/overline pixel size and argb color | |||||
; Individual values can be defined using: | |||||
; {overline,underline}-size | |||||
; {overline,underline}-color | |||||
underline-size = 2 | |||||
underline-color = ${color.foreground} | |||||
; Values applied to all borders | |||||
; Individual side values can be defined using: | |||||
; border-{left,top,right,bottom}-size | |||||
; border-{left,top,right,bottom}-color | |||||
; The top and bottom borders are added to the bar height, so the effective | |||||
; window height is: | |||||
; height + border-top-size + border-bottom-size | |||||
; Meanwhile the effective window width is defined entirely by the width key and | |||||
; the border is placed withing this area. So you effectively only have the | |||||
; following horizontal space on the bar: | |||||
; width - border-right-size - border-left-size | |||||
border-size = 0 | |||||
border-color = ${color.background} | |||||
; Number of spaces to add at the beginning/end of the bar | |||||
; Individual side values can be defined using: | |||||
; padding-{left,right} | |||||
padding = 0 | |||||
; Number of spaces to add before/after each module | |||||
; Individual side values can be defined using: | |||||
; module-margin-{left,right} | |||||
module-margin-left = 0 | |||||
module-margin-right = 0 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
; Fonts are defined using <font-name>;<vertical-offset> | |||||
; Font names are specified using a fontconfig pattern. | |||||
; font-0 = NotoSans-Regular:size=8;2 | |||||
; font-1 = MaterialIcons:size=10 | |||||
; font-2 = Termsynu:size=8;-1 | |||||
; font-3 = FontAwesome:size=10 | |||||
; See the Fonts wiki page for more details | |||||
font-0 = "Iosevka Nerd Font:pixelsize=10;4" | |||||
font-1 = "Iosevka Nerd Font:pixelsize=13;4" | |||||
; Modules are added to one of the available blocks | |||||
; modules-left = cpu ram | |||||
; modules-center = xwindow xbacklight | |||||
; modules-right = ipc clock | |||||
modules-left = launcher sep workspaces sep mpd | |||||
modules-center = | |||||
modules-right = color-switch sep cpu memory alsa battery network date sep sysmenu | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
; The separator will be inserted between the output of each module | |||||
separator = | |||||
; Opacity value between 0.0 and 1.0 used on fade in/out | |||||
dim-value = 1.0 | |||||
; Value to be used to set the WM_NAME atom | |||||
; If the value is empty or undefined, the atom value | |||||
; will be created from the following template: polybar-[BAR]_[MONITOR] | |||||
; NOTE: The placeholders are not available for custom values | |||||
wm-name = | |||||
; Locale used to localize various module data (e.g. date) | |||||
; Expects a valid libc locale, for example: sv_SE.UTF-8 | |||||
locale = | |||||
; Position of the system tray window | |||||
; If empty or undefined, tray support will be disabled | |||||
; NOTE: A center aligned tray will cover center aligned modules | |||||
; | |||||
; Available positions: | |||||
; left | |||||
; center | |||||
; right | |||||
; none | |||||
tray-position = none | |||||
; If true, the bar will not shift its | |||||
; contents when the tray changes | |||||
tray-detached = false | |||||
; Tray icon max size | |||||
tray-maxsize = 16 | |||||
; Background color for the tray container | |||||
; ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
; By default the tray container will use the bar | |||||
; background color. | |||||
tray-background = ${color.background} | |||||
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) | |||||
tray-offset-x = 0 | |||||
tray-offset-y = 0 | |||||
; Pad the sides of each tray icon | |||||
tray-padding = 0 | |||||
; Scale factor for tray clients | |||||
tray-scale = 1.0 | |||||
; Restack the bar window and put it above the | |||||
; selected window manager's root | |||||
; | |||||
; Fixes the issue where the bar is being drawn | |||||
; on top of fullscreen window's | |||||
; | |||||
; Currently supported WM's: | |||||
; bspwm | |||||
; i3 (requires: `override-redirect = true`) | |||||
;;wm-restack = | |||||
; Set a DPI values used when rendering text | |||||
; This only affects scalable fonts | |||||
; dpi = | |||||
; Enable support for inter-process messaging | |||||
; See the Messaging wiki page for more details. | |||||
enable-ipc = true | |||||
; Fallback click handlers that will be called if | |||||
; there's no matching module handler found. | |||||
click-left = | |||||
click-middle = | |||||
click-right = | |||||
scroll-up = | |||||
scroll-down = | |||||
double-click-left = | |||||
double-click-middle = | |||||
double-click-right = | |||||
; Requires polybar to be built with xcursor support (xcb-util-cursor) | |||||
; Possible values are: | |||||
; - default : The default pointer as before, can also be an empty string (default) | |||||
; - pointer : Typically in the form of a hand | |||||
; - ns-resize : Up and down arrows, can be used to indicate scrolling | |||||
cursor-click = | |||||
cursor-scroll = | |||||
;; WM Workspace Specific | |||||
; bspwm | |||||
;;scroll-up = bspwm-desknext | |||||
;;scroll-down = bspwm-deskprev | |||||
;;scroll-up = bspc desktop -f prev.local | |||||
;;scroll-down = bspc desktop -f next.local | |||||
;i3 | |||||
;;scroll-up = i3wm-wsnext | |||||
;;scroll-down = i3wm-wsprev | |||||
;;scroll-up = i3-msg workspace next_on_output | |||||
;;scroll-down = i3-msg workspace prev_on_output | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Application Settings | |||||
[settings] | |||||
; The throttle settings lets the eventloop swallow up til X events | |||||
; if they happen within Y millisecond after first event was received. | |||||
; This is done to prevent flood of update event. | |||||
; | |||||
; For example if 5 modules emit an update event at the same time, we really | |||||
; just care about the last one. But if we wait too long for events to swallow | |||||
; the bar would appear sluggish so we continue if timeout | |||||
; expires or limit is reached. | |||||
throttle-output = 5 | |||||
throttle-output-for = 10 | |||||
; Time in milliseconds that the input handler will wait between processing events | |||||
;throttle-input-for = 30 | |||||
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events | |||||
screenchange-reload = false | |||||
; Compositing operators | |||||
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t | |||||
compositing-background = source | |||||
compositing-foreground = over | |||||
compositing-overline = over | |||||
compositing-underline = over | |||||
compositing-border = over | |||||
; Define fallback values used by all module formats | |||||
;format-foreground = | |||||
;format-background = | |||||
;format-underline = | |||||
;format-overline = | |||||
;format-spacing = | |||||
;format-padding = | |||||
;format-margin = | |||||
;format-offset = | |||||
; Enables pseudo-transparency for the bar | |||||
; If set to true the bar can be transparent without a compositor. | |||||
pseudo-transparency = false | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |
@ -0,0 +1,14 @@ | |||||
#!/usr/bin/env bash | |||||
# Add this script to your wm startup file. | |||||
DIR="$HOME/.config/polybar/colorblocks" | |||||
# Terminate already running bar instances | |||||
killall -q polybar | |||||
# Wait until the processes have been shut down | |||||
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done | |||||
# Launch the bar | |||||
polybar -q main -c "$DIR"/config.ini & |
@ -0,0 +1,311 @@ | |||||
;; ┌────────────────────────────────────────────────────────────────────┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀█░█▀▄░█▀▀░█░█░▀█▀░█▀▀░█░█░█▀▀│ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▀░█▀▄░█▀▀░▀▄▀░░█░░█▀▀░█▄█░▀▀█│ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░░░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀░▀░▀▀▀│ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ | |||||
;; └────────────────────────────────────────────────────────────────────┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Global WM Settings | |||||
[global/wm] | |||||
; Adjust the _NET_WM_STRUT_PARTIAL top value | |||||
; Used for top aligned bars | |||||
margin-bottom = 0 | |||||
; Adjust the _NET_WM_STRUT_PARTIAL bottom value | |||||
; Used for bottom aligned bars | |||||
margin-top = 0 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; File Inclusion | |||||
; include an external file, like module file, etc. | |||||
include-file = ~/.config/polybar/colorblocks/bars.ini | |||||
include-file = ~/.config/polybar/colorblocks/colors.ini | |||||
include-file = ~/.config/polybar/colorblocks/modules.ini | |||||
include-file = ~/.config/polybar/colorblocks/user_modules.ini | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Bar Settings | |||||
[bar/main] | |||||
; Use either of the following command to list available outputs: | |||||
; If unspecified, the application will pick the first one it finds. | |||||
; $ polybar -m | cut -d ':' -f 1 | |||||
; $ xrandr -q | grep " connected" | cut -d ' ' -f1 | |||||
monitor = | |||||
; Use the specified monitor as a fallback if the main one is not found. | |||||
monitor-fallback = | |||||
; Require the monitor to be in connected state | |||||
; XRandR sometimes reports my monitor as being disconnected (when in use) | |||||
monitor-strict = false | |||||
; Tell the Window Manager not to configure the window. | |||||
; Use this to detach the bar if your WM is locking its size/position. | |||||
override-redirect = false | |||||
; Put the bar at the bottom of the screen | |||||
bottom = true | |||||
; Prefer fixed center position for the `modules-center` block | |||||
; When false, the center position will be based on the size of the other blocks. | |||||
fixed-center = true | |||||
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), | |||||
; the percentage can optionally be extended with a pixel offset like so: | |||||
; 50%:-10, this will result in a width or height of 50% minus 10 pixels | |||||
width = 99% | |||||
height = 40 | |||||
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) | |||||
; the percentage can optionally be extended with a pixel offset like so: | |||||
; 50%:-10, this will result in an offset in the x or y direction | |||||
; of 50% minus 10 pixels | |||||
offset-x = 0.5% | |||||
offset-y = 1% | |||||
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
background = ${color.alpha} | |||||
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
foreground = ${color.foreground} | |||||
; Background gradient (vertical steps) | |||||
; background-[0-9]+ = #aarrggbb | |||||
;;background-0 = | |||||
; Value used for drawing rounded corners | |||||
; Note: This shouldn't be used together with border-size because the border | |||||
; doesn't get rounded | |||||
; Individual top/bottom values can be defined using: | |||||
; radius-{top,bottom} | |||||
radius-top = 0.0 | |||||
radius-bottom = 0.0 | |||||
; Under-/overline pixel size and argb color | |||||
; Individual values can be defined using: | |||||
; {overline,underline}-size | |||||
; {overline,underline}-color | |||||
underline-size = 2 | |||||
underline-color = ${color.foreground} | |||||
; Values applied to all borders | |||||
; Individual side values can be defined using: | |||||
; border-{left,top,right,bottom}-size | |||||
; border-{left,top,right,bottom}-color | |||||
; The top and bottom borders are added to the bar height, so the effective | |||||
; window height is: | |||||
; height + border-top-size + border-bottom-size | |||||
; Meanwhile the effective window width is defined entirely by the width key and | |||||
; the border is placed withing this area. So you effectively only have the | |||||
; following horizontal space on the bar: | |||||
; width - border-right-size - border-left-size | |||||
border-size = 0 | |||||
border-color = ${color.background} | |||||
; Number of spaces to add at the beginning/end of the bar | |||||
; Individual side values can be defined using: | |||||
; padding-{left,right} | |||||
padding = 0 | |||||
; Number of spaces to add before/after each module | |||||
; Individual side values can be defined using: | |||||
; module-margin-{left,right} | |||||
module-margin-left = 0 | |||||
module-margin-right = 0 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
; Fonts are defined using <font-name>;<vertical-offset> | |||||
; Font names are specified using a fontconfig pattern. | |||||
; font-0 = NotoSans-Regular:size=8;2 | |||||
; font-1 = MaterialIcons:size=10 | |||||
; font-2 = Termsynu:size=8;-1 | |||||
; font-3 = FontAwesome:size=10 | |||||
; See the Fonts wiki page for more details | |||||
font-0 = "Iosevka Nerd Font:pixelsize=10;4" | |||||
font-1 = "Iosevka Nerd Font:pixelsize=13;4" | |||||
; Modules are added to one of the available blocks | |||||
; modules-left = cpu ram | |||||
; modules-center = xwindow xbacklight | |||||
; modules-right = ipc clock | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[bar/top] | |||||
inherit = bar/main | |||||
modules-left = menu sep title sep google github reddit gmail twitter | |||||
modules-right = updates temperature filesystem keyboard pulseaudio backlight sep powermenu | |||||
enable-ipc = true | |||||
[bar/mid] | |||||
offset-y = 62 | |||||
inherit = bar/main | |||||
modules-center = cpu_bar sep memory_bar sep filesystem_bar sep mpd_bar sep battery_bar sep volume sep brightness | |||||
enable-ipc = true | |||||
[bar/bottom] | |||||
inherit = bar/main | |||||
offset-y = 114 | |||||
modules-left = launcher sep workspaces sep mpd | |||||
modules-center = | |||||
modules-right = color-switch sep cpu memory alsa battery network date sep sysmenu | |||||
enable-ipc = true | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
; The separator will be inserted between the output of each module | |||||
separator = | |||||
; Opacity value between 0.0 and 1.0 used on fade in/out | |||||
dim-value = 1.0 | |||||
; Value to be used to set the WM_NAME atom | |||||
; If the value is empty or undefined, the atom value | |||||
; will be created from the following template: polybar-[BAR]_[MONITOR] | |||||
; NOTE: The placeholders are not available for custom values | |||||
wm-name = | |||||
; Locale used to localize various module data (e.g. date) | |||||
; Expects a valid libc locale, for example: sv_SE.UTF-8 | |||||
locale = | |||||
; Position of the system tray window | |||||
; If empty or undefined, tray support will be disabled | |||||
; NOTE: A center aligned tray will cover center aligned modules | |||||
; | |||||
; Available positions: | |||||
; left | |||||
; center | |||||
; right | |||||
; none | |||||
tray-position = none | |||||
; If true, the bar will not shift its | |||||
; contents when the tray changes | |||||
tray-detached = false | |||||
; Tray icon max size | |||||
tray-maxsize = 16 | |||||
; Background color for the tray container | |||||
; ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
; By default the tray container will use the bar | |||||
; background color. | |||||
tray-background = ${color.background} | |||||
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) | |||||
tray-offset-x = 0 | |||||
tray-offset-y = 0 | |||||
; Pad the sides of each tray icon | |||||
tray-padding = 0 | |||||
; Scale factor for tray clients | |||||
tray-scale = 1.0 | |||||
; Restack the bar window and put it above the | |||||
; selected window manager's root | |||||
; | |||||
; Fixes the issue where the bar is being drawn | |||||
; on top of fullscreen window's | |||||
; | |||||
; Currently supported WM's: | |||||
; bspwm | |||||
; i3 (requires: `override-redirect = true`) | |||||
;;wm-restack = | |||||
; Set a DPI values used when rendering text | |||||
; This only affects scalable fonts | |||||
; dpi = | |||||
; Enable support for inter-process messaging | |||||
; See the Messaging wiki page for more details. | |||||
;enable-ipc = true | |||||
; Fallback click handlers that will be called if | |||||
; there's no matching module handler found. | |||||
click-left = | |||||
click-middle = | |||||
click-right = | |||||
scroll-up = | |||||
scroll-down = | |||||
double-click-left = | |||||
double-click-middle = | |||||
double-click-right = | |||||
; Requires polybar to be built with xcursor support (xcb-util-cursor) | |||||
; Possible values are: | |||||
; - default : The default pointer as before, can also be an empty string (default) | |||||
; - pointer : Typically in the form of a hand | |||||
; - ns-resize : Up and down arrows, can be used to indicate scrolling | |||||
cursor-click = | |||||
cursor-scroll = | |||||
;; WM Workspace Specific | |||||
; bspwm | |||||
;;scroll-up = bspwm-desknext | |||||
;;scroll-down = bspwm-deskprev | |||||
;;scroll-up = bspc desktop -f prev.local | |||||
;;scroll-down = bspc desktop -f next.local | |||||
;i3 | |||||
;;scroll-up = i3wm-wsnext | |||||
;;scroll-down = i3wm-wsprev | |||||
;;scroll-up = i3-msg workspace next_on_output | |||||
;;scroll-down = i3-msg workspace prev_on_output | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Application Settings | |||||
[settings] | |||||
; The throttle settings lets the eventloop swallow up til X events | |||||
; if they happen within Y millisecond after first event was received. | |||||
; This is done to prevent flood of update event. | |||||
; | |||||
; For example if 5 modules emit an update event at the same time, we really | |||||
; just care about the last one. But if we wait too long for events to swallow | |||||
; the bar would appear sluggish so we continue if timeout | |||||
; expires or limit is reached. | |||||
throttle-output = 5 | |||||
throttle-output-for = 10 | |||||
; Time in milliseconds that the input handler will wait between processing events | |||||
;throttle-input-for = 30 | |||||
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events | |||||
screenchange-reload = false | |||||
; Compositing operators | |||||
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t | |||||
compositing-background = source | |||||
compositing-foreground = over | |||||
compositing-overline = over | |||||
compositing-underline = over | |||||
compositing-border = over | |||||
; Define fallback values used by all module formats | |||||
;format-foreground = | |||||
;format-background = | |||||
;format-underline = | |||||
;format-overline = | |||||
;format-spacing = | |||||
;format-padding = | |||||
;format-margin = | |||||
;format-offset = | |||||
; Enables pseudo-transparency for the bar | |||||
; If set to true the bar can be transparent without a compositor. | |||||
pseudo-transparency = false | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |
@ -0,0 +1,14 @@ | |||||
#!/usr/bin/env bash | |||||
DIR="$HOME/.config/polybar/colorblocks" | |||||
# Terminate already running bar instances | |||||
killall -q polybar | |||||
# Wait until the processes have been shut down | |||||
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done | |||||
# Launch the preview bar | |||||
polybar -q top -c "$DIR"/preview.ini & | |||||
polybar -q mid -c "$DIR"/preview.ini & | |||||
polybar -q bottom -c "$DIR"/preview.ini & |
@ -0,0 +1,117 @@ | |||||
#!/usr/bin/bash | |||||
# | |||||
# checkupdates: Safely print a list of pending updates. | |||||
# | |||||
# Copyright (c) 2013 Kyle Keen <keenerd@gmail.com> | |||||
# | |||||
# This program is free software; you can redistribute it and/or modify | |||||
# it under the terms of the GNU General Public License as published by | |||||
# the Free Software Foundation; either version 2 of the License, or | |||||
# (at your option) any later version. | |||||
# | |||||
# This program is distributed in the hope that it will be useful, | |||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
# GNU General Public License for more details. | |||||
# | |||||
# You should have received a copy of the GNU General Public License | |||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |||||
# | |||||
declare -r myname='checkupdates' | |||||
declare -r myver='1.0.0' | |||||
plain() { | |||||
(( QUIET )) && return | |||||
local mesg=$1; shift | |||||
printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 | |||||
} | |||||
msg() { | |||||
(( QUIET )) && return | |||||
local mesg=$1; shift | |||||
printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 | |||||
} | |||||
msg2() { | |||||
(( QUIET )) && return | |||||
local mesg=$1; shift | |||||
printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 | |||||
} | |||||
ask() { | |||||
local mesg=$1; shift | |||||
printf "${BLUE}::${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&1 | |||||
} | |||||
warning() { | |||||
local mesg=$1; shift | |||||
printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 | |||||
} | |||||
error() { | |||||
local mesg=$1; shift | |||||
printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 | |||||
} | |||||
# check if messages are to be printed using color | |||||
unset ALL_OFF BOLD BLUE GREEN RED YELLOW | |||||
if [[ -t 2 && ! $USE_COLOR = "n" ]]; then | |||||
# prefer terminal safe colored and bold text when tput is supported | |||||
if tput setaf 0 &>/dev/null; then | |||||
ALL_OFF="$(tput sgr0)" | |||||
BOLD="$(tput bold)" | |||||
BLUE="${BOLD}$(tput setaf 4)" | |||||
GREEN="${BOLD}$(tput setaf 2)" | |||||
RED="${BOLD}$(tput setaf 1)" | |||||
YELLOW="${BOLD}$(tput setaf 3)" | |||||
else | |||||
ALL_OFF="\e[1;0m" | |||||
BOLD="\e[1;1m" | |||||
BLUE="${BOLD}\e[1;34m" | |||||
GREEN="${BOLD}\e[1;32m" | |||||
RED="${BOLD}\e[1;31m" | |||||
YELLOW="${BOLD}\e[1;33m" | |||||
fi | |||||
fi | |||||
readonly ALL_OFF BOLD BLUE GREEN RED YELLOW | |||||
if (( $# > 0 )); then | |||||
echo "${myname} v${myver}" | |||||
echo | |||||
echo "Safely print a list of pending updates" | |||||
echo | |||||
echo "Usage: ${myname}" | |||||
echo | |||||
echo 'Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.' | |||||
exit 0 | |||||
fi | |||||
if ! type -P fakeroot >/dev/null; then | |||||
error 'Cannot find the fakeroot binary.' | |||||
exit 1 | |||||
fi | |||||
if [[ -z $CHECKUPDATES_DB ]]; then | |||||
CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/" | |||||
fi | |||||
trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT | |||||
DBPath="$(pacman-conf DBPath)" | |||||
if [[ -z "$DBPath" ]] || [[ ! -d "$DBPath" ]]; then | |||||
DBPath="/var/lib/pacman/" | |||||
fi | |||||
mkdir -p "$CHECKUPDATES_DB" | |||||
ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null | |||||
if ! fakeroot -- pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then | |||||
error 'Cannot fetch updates' | |||||
exit 1 | |||||
fi | |||||
pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]' | |||||
exit 0 | |||||
# vim: set noet: |
@ -0,0 +1,55 @@ | |||||
#!/usr/bin/env bash | |||||
SDIR="$HOME/.config/polybar/colorblocks/scripts" | |||||
# Launch Rofi | |||||
MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \ | |||||
-theme $SDIR/rofi/styles.rasi \ | |||||
<<< "♥ amber|♥ blue|♥ blue-gray|♥ brown|♥ cyan|♥ deep-orange|\ | |||||
♥ deep-purple|♥ green|♥ gray|♥ indigo|♥ blue-light|♥ green-light|\ | |||||
♥ lime|♥ orange|♥ pink|♥ purple|♥ red|♥ teal|♥ yellow|♥ amber-dark|\ | |||||
♥ blue-dark|♥ blue-gray-dark|♥ brown-dark|♥ cyan-dark|♥ deep-orange-dark|\ | |||||
♥ deep-purple-dark|♥ green-dark|♥ gray-dark|♥ indigo-dark|♥ blue-light-dark|\ | |||||
♥ green-light-dark|♥ lime-dark|♥ orange-dark|♥ pink-dark|♥ purple-dark|♥ red-dark|♥ teal-dark|♥ yellow-dark|")" | |||||
case "$MENU" in | |||||
## Light Colors | |||||
*amber) "$SDIR"/colors-light.sh --amber ;; | |||||
*blue) "$SDIR"/colors-light.sh --blue ;; | |||||
*blue-gray) "$SDIR"/colors-light.sh --blue-gray ;; | |||||
*brown) "$SDIR"/colors-light.sh --brown ;; | |||||
*cyan) "$SDIR"/colors-light.sh --cyan ;; | |||||
*deep-orange) "$SDIR"/colors-light.sh --deep-orange ;; | |||||
*deep-purple) "$SDIR"/colors-light.sh --deep-purple ;; | |||||
*green) "$SDIR"/colors-light.sh --green ;; | |||||
*gray) "$SDIR"/colors-light.sh --gray ;; | |||||
*indigo) "$SDIR"/colors-light.sh --indigo ;; | |||||
*blue-light) "$SDIR"/colors-light.sh --light-blue ;; | |||||
*green-light) "$SDIR"/colors-light.sh --light-green ;; | |||||
*lime) "$SDIR"/colors-light.sh --lime ;; | |||||
*orange) "$SDIR"/colors-light.sh --orange ;; | |||||
*pink) "$SDIR"/colors-light.sh --pink ;; | |||||
*purple) "$SDIR"/colors-light.sh --purple ;; | |||||
*red) "$SDIR"/colors-light.sh --red ;; | |||||
*teal) "$SDIR"/colors-light.sh --teal ;; | |||||
*yellow) "$SDIR"/colors-light.sh --yellow ;; | |||||
## Dark Colors | |||||
*amber-dark) "$SDIR"/colors-dark.sh --amber ;; | |||||
*blue-dark) "$SDIR"/colors-dark.sh --blue ;; | |||||
*blue-gray-dark) "$SDIR"/colors-dark.sh --blue-gray ;; | |||||
*brown-dark) "$SDIR"/colors-dark.sh --brown ;; | |||||
*cyan-dark) "$SDIR"/colors-dark.sh --cyan ;; | |||||
*deep-orange-dark) "$SDIR"/colors-dark.sh --deep-orange ;; | |||||
*deep-purple-dark) "$SDIR"/colors-dark.sh --deep-purple ;; | |||||
*green-dark) "$SDIR"/colors-dark.sh --green ;; | |||||
*gray-dark) "$SDIR"/colors-dark.sh --gray ;; | |||||
*indigo-dark) "$SDIR"/colors-dark.sh --indigo ;; | |||||
*blue-light-dark) "$SDIR"/colors-dark.sh --light-blue ;; | |||||
*green-light-dark) "$SDIR"/colors-dark.sh --light-green ;; | |||||
*lime-dark) "$SDIR"/colors-dark.sh --lime ;; | |||||
*orange-dark) "$SDIR"/colors-dark.sh --orange ;; | |||||
*pink-dark) "$SDIR"/colors-dark.sh --pink ;; | |||||
*purple-dark) "$SDIR"/colors-dark.sh --purple ;; | |||||
*red-dark) "$SDIR"/colors-dark.sh --red ;; | |||||
*teal-dark) "$SDIR"/colors-dark.sh --teal ;; | |||||
*yellow-dark) "$SDIR"/colors-dark.sh --yellow | |||||
esac |
@ -0,0 +1,143 @@ | |||||
#!/usr/bin/env bash | |||||
# Color files | |||||
PFILE="$HOME/.config/polybar/colorblocks/colors.ini" | |||||
RFILE="$HOME/.config/polybar/colorblocks/scripts/rofi/colors.rasi" | |||||
# Change colors | |||||
change_color() { | |||||
# polybar | |||||
sed -i -e 's/background = #.*/background = #141C21/g' $PFILE | |||||
sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE | |||||
sed -i -e 's/foreground-alt = #.*/foreground-alt = #FFFFFF/g' $PFILE | |||||
sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE | |||||
sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE | |||||
sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE | |||||
sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE | |||||
sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE | |||||
sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE | |||||
sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE | |||||
sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE | |||||
# rofi | |||||
cat > $RFILE <<- EOF | |||||
/* colors */ | |||||
* { | |||||
al: #00000000; | |||||
bg: #141C21FF; | |||||
bg1: ${SH8}FF; | |||||
bg2: ${SH7}FF; | |||||
bg3: ${SH6}FF; | |||||
fg: #FFFFFFFF; | |||||
} | |||||
EOF | |||||
polybar-msg cmd restart | |||||
} | |||||
if [[ $1 = "--amber" ]]; then | |||||
FG="#141C21" | |||||
SH1="#FF6F00" SH2="#FF8F00" SH3="#FFA000" SH4="#FFB300" | |||||
SH5="#FFC107" SH6="#FFCA28" SH7="#FFD54F" SH8="#FFE082" | |||||
change_color | |||||
elif [[ $1 = "--blue" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#0D47A1" SH2="#1565C0" SH3="#1976D2" SH4="#1E88E5" | |||||
SH5="#2196F3" SH6="#42A5F5" SH7="#64B5F6" SH8="#90CAF9" | |||||
change_color | |||||
elif [[ $1 = "--blue-gray" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#263238" SH2="#37474F" SH3="#455A64" SH4="#546E7A" | |||||
SH5="#607D8B" SH6="#78909C" SH7="#90A4AE" SH8="#B0BEC5" | |||||
change_color | |||||
elif [[ $1 = "--brown" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#3E2723" SH2="#4E342E" SH3="#5D4037" SH4="#6D4C41" | |||||
SH5="#795548" SH6="#8D6E63" SH7="#A1887F" SH8="#BCAAA4" | |||||
change_color | |||||
elif [[ $1 = "--cyan" ]]; then | |||||
FG="#141C21" | |||||
SH1="#006064" SH2="#00838F" SH3="#0097A7" SH4="#00ACC1" | |||||
SH5="#00BCD4" SH6="#26C6DA" SH7="#4DD0E1" SH8="#80DEEA" | |||||
change_color | |||||
elif [[ $1 = "--deep-orange" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#BF360C" SH2="#D84315" SH3="#E64A19" SH4="#F4511E" | |||||
SH5="#FF5722" SH6="#FF7043" SH7="#FF8A65" SH8="#FFAB91" | |||||
change_color | |||||
elif [[ $1 = "--deep-purple" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#311B92" SH2="#4527A0" SH3="#512DA8" SH4="#5E35B1" | |||||
SH5="#673AB7" SH6="#7E57C2" SH7="#9575CD" SH8="#B39DDB" | |||||
change_color | |||||
elif [[ $1 = "--green" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#1B5E20" SH2="#2E7D32" SH3="#388E3C" SH4="#43A047" | |||||
SH5="#4CAF50" SH6="#66BB6A" SH7="#81C784" SH8="#A5D6A7" | |||||
change_color | |||||
elif [[ $1 = "--gray" ]]; then | |||||
FG="#141C21" | |||||
SH1="#212121" SH2="#424242" SH3="#616161" SH4="#757575" | |||||
SH5="#9E9E9E" SH6="#BDBDBD" SH7="#D4D4D4" SH8="#EEEEEE" | |||||
change_color | |||||
elif [[ $1 = "--indigo" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#1A237E" SH2="#283593" SH3="#303F9F" SH4="#3949AB" | |||||
SH5="#3F51B5" SH6="#5C6BC0" SH7="#7986CB" SH8="#9FA8DA" | |||||
change_color | |||||
elif [[ $1 = "--light-blue" ]]; then | |||||
FG="#141C21" | |||||
SH1="#01579B" SH2="#0277BD" SH3="#0288D1" SH4="#039BE5" | |||||
SH5="#03A9F4" SH6="#29B6F6" SH7="#4FC3F7" SH8="#81D4FA" | |||||
change_color | |||||
elif [[ $1 = "--light-green" ]]; then | |||||
FG="#141C21" | |||||
SH1="#33691E" SH2="#558B2F" SH3="#689F38" SH4="#7CB342" | |||||
SH5="#8BC34A" SH6="#9CCC65" SH7="#AED581" SH8="#C5E1A5" | |||||
change_color | |||||
elif [[ $1 = "--lime" ]]; then | |||||
FG="#141C21" | |||||
SH1="#827717" SH2="#9E9D24" SH3="#AFB42B" SH4="#C0CA33" | |||||
SH5="#CDDC39" SH6="#D4E157" SH7="#DCE775" SH8="#E6EE9C" | |||||
change_color | |||||
elif [[ $1 = "--orange" ]]; then | |||||
FG="#141C21" | |||||
SH1="#E65100" SH2="#EF6C00" SH3="#F57C00" SH4="#FB8C00" | |||||
SH5="#FF9800" SH6="#FFA726" SH7="#FFB74D" SH8="#FFCC80" | |||||
change_color | |||||
elif [[ $1 = "--pink" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#880E4F" SH2="#AD1457" SH3="#C2185B" SH4="#D81B60" | |||||
SH5="#E91E63" SH6="#EC407A" SH7="#F06292" SH8="#F48FB1" | |||||
change_color | |||||
elif [[ $1 = "--purple" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#4A148C" SH2="#6A1B9A" SH3="#7B1FA2" SH4="#8E24AA" | |||||
SH5="#9C27B0" SH6="#AB47BC" SH7="#BA68C8" SH8="#CE93D8" | |||||
change_color | |||||
elif [[ $1 = "--red" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#B71C1C" SH2="#C62828" SH3="#D32F2F" SH4="#E53935" | |||||
SH5="#EE413D" SH6="#EF5350" SH7="#E57373" SH8="#EF9A9A" | |||||
change_color | |||||
elif [[ $1 = "--teal" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#004D40" SH2="#00695C" SH3="#00796B" SH4="#00897B" | |||||
SH5="#009688" SH6="#26A69A" SH7="#4DB6AC" SH8="#80CBC4" | |||||
change_color | |||||
elif [[ $1 = "--yellow" ]]; then | |||||
FG="#141C21" | |||||
SH1="#F57F17" SH2="#F9A825" SH3="#FBC02D" SH4="#FDD835" | |||||
SH5="#FFEB3B" SH6="#FFEE58" SH7="#FFF176" SH8="#FFF59D" | |||||
change_color | |||||
else | |||||
cat <<- _EOF_ | |||||
No option specified, Available options: | |||||
--amber --blue --blue-gray --brown | |||||
--cyan --deep-orange --deep-purple --green | |||||
--gray --indigo --light-blue --light-green | |||||
--lime --orange --pink --purple | |||||
--red --teal --yellow | |||||
_EOF_ | |||||
fi |
@ -0,0 +1,143 @@ | |||||
#!/usr/bin/env bash | |||||
# Color files | |||||
PFILE="$HOME/.config/polybar/colorblocks/colors.ini" | |||||
RFILE="$HOME/.config/polybar/colorblocks/scripts/rofi/colors.rasi" | |||||
# Change colors | |||||
change_color() { | |||||
# polybar | |||||
sed -i -e 's/background = #.*/background = #FFFFFF/g' $PFILE | |||||
sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE | |||||
sed -i -e 's/foreground-alt = #.*/foreground-alt = #141C21/g' $PFILE | |||||
sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE | |||||
sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE | |||||
sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE | |||||
sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE | |||||
sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE | |||||
sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE | |||||
sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE | |||||
sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE | |||||
# rofi | |||||
cat > $RFILE <<- EOF | |||||
/* colors */ | |||||
* { | |||||
al: #00000000; | |||||
bg: #FFFFFFFF; | |||||
bg1: ${SH5}FF; | |||||
bg2: ${SH4}FF; | |||||
bg3: ${SH3}FF; | |||||
fg: #141C21FF; | |||||
} | |||||
EOF | |||||
polybar-msg cmd restart | |||||
} | |||||
if [[ $1 = "--amber" ]]; then | |||||
FG="#141C21" | |||||
SH1="#FF6F00" SH2="#FF8F00" SH3="#FFA000" SH4="#FFB300" | |||||
SH5="#FFC107" SH6="#FFCA28" SH7="#FFD54F" SH8="#FFE082" | |||||
change_color | |||||
elif [[ $1 = "--blue" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#0D47A1" SH2="#1565C0" SH3="#1976D2" SH4="#1E88E5" | |||||
SH5="#2196F3" SH6="#42A5F5" SH7="#64B5F6" SH8="#90CAF9" | |||||
change_color | |||||
elif [[ $1 = "--blue-gray" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#263238" SH2="#37474F" SH3="#455A64" SH4="#546E7A" | |||||
SH5="#607D8B" SH6="#78909C" SH7="#90A4AE" SH8="#B0BEC5" | |||||
change_color | |||||
elif [[ $1 = "--brown" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#3E2723" SH2="#4E342E" SH3="#5D4037" SH4="#6D4C41" | |||||
SH5="#795548" SH6="#8D6E63" SH7="#A1887F" SH8="#BCAAA4" | |||||
change_color | |||||
elif [[ $1 = "--cyan" ]]; then | |||||
FG="#141C21" | |||||
SH1="#006064" SH2="#00838F" SH3="#0097A7" SH4="#00ACC1" | |||||
SH5="#00BCD4" SH6="#26C6DA" SH7="#4DD0E1" SH8="#80DEEA" | |||||
change_color | |||||
elif [[ $1 = "--deep-orange" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#BF360C" SH2="#D84315" SH3="#E64A19" SH4="#F4511E" | |||||
SH5="#FF5722" SH6="#FF7043" SH7="#FF8A65" SH8="#FFAB91" | |||||
change_color | |||||
elif [[ $1 = "--deep-purple" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#311B92" SH2="#4527A0" SH3="#512DA8" SH4="#5E35B1" | |||||
SH5="#673AB7" SH6="#7E57C2" SH7="#9575CD" SH8="#B39DDB" | |||||
change_color | |||||
elif [[ $1 = "--green" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#1B5E20" SH2="#2E7D32" SH3="#388E3C" SH4="#43A047" | |||||
SH5="#4CAF50" SH6="#66BB6A" SH7="#81C784" SH8="#A5D6A7" | |||||
change_color | |||||
elif [[ $1 = "--gray" ]]; then | |||||
FG="#141C21" | |||||
SH1="#212121" SH2="#424242" SH3="#616161" SH4="#757575" | |||||
SH5="#9E9E9E" SH6="#BDBDBD" SH7="#D4D4D4" SH8="#EEEEEE" | |||||
change_color | |||||
elif [[ $1 = "--indigo" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#1A237E" SH2="#283593" SH3="#303F9F" SH4="#3949AB" | |||||
SH5="#3F51B5" SH6="#5C6BC0" SH7="#7986CB" SH8="#9FA8DA" | |||||
change_color | |||||
elif [[ $1 = "--light-blue" ]]; then | |||||
FG="#141C21" | |||||
SH1="#01579B" SH2="#0277BD" SH3="#0288D1" SH4="#039BE5" | |||||
SH5="#03A9F4" SH6="#29B6F6" SH7="#4FC3F7" SH8="#81D4FA" | |||||
change_color | |||||
elif [[ $1 = "--light-green" ]]; then | |||||
FG="#141C21" | |||||
SH1="#33691E" SH2="#558B2F" SH3="#689F38" SH4="#7CB342" | |||||
SH5="#8BC34A" SH6="#9CCC65" SH7="#AED581" SH8="#C5E1A5" | |||||
change_color | |||||
elif [[ $1 = "--lime" ]]; then | |||||
FG="#141C21" | |||||
SH1="#827717" SH2="#9E9D24" SH3="#AFB42B" SH4="#C0CA33" | |||||
SH5="#CDDC39" SH6="#D4E157" SH7="#DCE775" SH8="#E6EE9C" | |||||
change_color | |||||
elif [[ $1 = "--orange" ]]; then | |||||
FG="#141C21" | |||||
SH1="#E65100" SH2="#EF6C00" SH3="#F57C00" SH4="#FB8C00" | |||||
SH5="#FF9800" SH6="#FFA726" SH7="#FFB74D" SH8="#FFCC80" | |||||
change_color | |||||
elif [[ $1 = "--pink" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#880E4F" SH2="#AD1457" SH3="#C2185B" SH4="#D81B60" | |||||
SH5="#E91E63" SH6="#EC407A" SH7="#F06292" SH8="#F48FB1" | |||||
change_color | |||||
elif [[ $1 = "--purple" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#4A148C" SH2="#6A1B9A" SH3="#7B1FA2" SH4="#8E24AA" | |||||
SH5="#9C27B0" SH6="#AB47BC" SH7="#BA68C8" SH8="#CE93D8" | |||||
change_color | |||||
elif [[ $1 = "--red" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#B71C1C" SH2="#C62828" SH3="#D32F2F" SH4="#E53935" | |||||
SH5="#EE413D" SH6="#EF5350" SH7="#E57373" SH8="#EF9A9A" | |||||
change_color | |||||
elif [[ $1 = "--teal" ]]; then | |||||
FG="#F5F5F5" | |||||
SH1="#004D40" SH2="#00695C" SH3="#00796B" SH4="#00897B" | |||||
SH5="#009688" SH6="#26A69A" SH7="#4DB6AC" SH8="#80CBC4" | |||||
change_color | |||||
elif [[ $1 = "--yellow" ]]; then | |||||
FG="#141C21" | |||||
SH1="#F57F17" SH2="#F9A825" SH3="#FBC02D" SH4="#FDD835" | |||||
SH5="#FFEB3B" SH6="#FFEE58" SH7="#FFF176" SH8="#FFF59D" | |||||
change_color | |||||
else | |||||
cat <<- _EOF_ | |||||
No option specified, Available options: | |||||
--amber --blue --blue-gray --brown | |||||
--cyan --deep-orange --deep-purple --green | |||||
--gray --indigo --light-blue --light-green | |||||
--lime --orange --pink --purple | |||||
--red --teal --yellow | |||||
_EOF_ | |||||
fi |
@ -0,0 +1,3 @@ | |||||
#!/usr/bin/env bash | |||||
rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/colorblocks/scripts/rofi/launcher.rasi |
@ -0,0 +1,94 @@ | |||||
#!/usr/bin/env bash | |||||
## Author : Aditya Shakya | |||||
## Mail : adi1090x@gmail.com | |||||
## Github : @adi1090x | |||||
## Twitter : @adi1090x | |||||
dir="~/.config/polybar/colorblocks/scripts/rofi" | |||||
uptime=$(uptime -p | sed -e 's/up //g') | |||||
rofi_command="rofi -theme $dir/powermenu.rasi" | |||||
# Options | |||||
shutdown=" Shutdown" | |||||
reboot=" Restart" | |||||
lock=" Lock" | |||||
suspend=" Sleep" | |||||
logout=" Logout" | |||||
# Confirmation | |||||
confirm_exit() { | |||||
rofi -dmenu\ | |||||
-i\ | |||||
-no-fixed-num-lines\ | |||||
-p "Are You Sure? : "\ | |||||
-theme $dir/confirm.rasi | |||||
} | |||||
# Message | |||||
msg() { | |||||
rofi -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n" | |||||
} | |||||
# Variable passed to rofi | |||||
options="$lock\n$suspend\n$logout\n$reboot\n$shutdown" | |||||
chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 0)" | |||||
case $chosen in | |||||
$shutdown) | |||||
ans=$(confirm_exit &) | |||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then | |||||
systemctl poweroff | |||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then | |||||
exit 0 | |||||
else | |||||
msg | |||||
fi | |||||
;; | |||||
$reboot) | |||||
ans=$(confirm_exit &) | |||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then | |||||
systemctl reboot | |||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then | |||||
exit 0 | |||||
else | |||||
msg | |||||
fi | |||||
;; | |||||
$lock) | |||||
if [[ -f /usr/bin/i3lock ]]; then | |||||
i3lock | |||||
elif [[ -f /usr/bin/betterlockscreen ]]; then | |||||
betterlockscreen -l | |||||
fi | |||||
;; | |||||
$suspend) | |||||
ans=$(confirm_exit &) | |||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then | |||||
mpc -q pause | |||||
amixer set Master mute | |||||
systemctl suspend | |||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then | |||||
exit 0 | |||||
else | |||||
msg | |||||
fi | |||||
;; | |||||
$logout) | |||||
ans=$(confirm_exit &) | |||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then | |||||
if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then | |||||
openbox --exit | |||||
elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then | |||||
bspc quit | |||||
elif [[ "$DESKTOP_SESSION" == "i3" ]]; then | |||||
i3-msg exit | |||||
fi | |||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then | |||||
exit 0 | |||||
else | |||||
msg | |||||
fi | |||||
;; | |||||
esac |
@ -0,0 +1,71 @@ | |||||
#!/usr/bin/env bash | |||||
# Color files | |||||
PFILE="$HOME/.config/polybar/colorblocks/colors.ini" | |||||
RFILE="$HOME/.config/polybar/colorblocks/scripts/rofi/colors.rasi" | |||||
# Get colors | |||||
pywal_get() { | |||||
wal -i "$1" -q -t | |||||
} | |||||
# Change colors | |||||
change_color() { | |||||
# polybar | |||||
sed -i -e "s/background = #.*/background = $BG/g" $PFILE | |||||
sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE | |||||
sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE | |||||
sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE | |||||
sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE | |||||
sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE | |||||
sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE | |||||
sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE | |||||
sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE | |||||
sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE | |||||
sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE | |||||
# rofi | |||||
cat > $RFILE <<- EOF | |||||
/* colors */ | |||||
* { | |||||
al: #00000000; | |||||
bg: ${BG}FF; | |||||
bg1: ${SH8}FF; | |||||
bg2: ${SH7}FF; | |||||
bg3: ${SH6}FF; | |||||
fg: ${FGA}FF; | |||||
} | |||||
EOF | |||||
polybar-msg cmd restart | |||||
} | |||||
# Main | |||||
if [[ -f "/usr/bin/wal" ]]; then | |||||
if [[ "$1" ]]; then | |||||
pywal_get "$1" | |||||
# Source the pywal color file | |||||
. "$HOME/.cache/wal/colors.sh" | |||||
BG=`printf "%s\n" "$background"` | |||||
FG=`printf "%s\n" "$color0"` | |||||
FGA=`printf "%s\n" "$color7"` | |||||
SH1=`printf "%s\n" "$color1"` | |||||
SH2=`printf "%s\n" "$color2"` | |||||
SH3=`printf "%s\n" "$color1"` | |||||
SH4=`printf "%s\n" "$color2"` | |||||
SH5=`printf "%s\n" "$color1"` | |||||
SH6=`printf "%s\n" "$color2"` | |||||
SH7=`printf "%s\n" "$color1"` | |||||
SH8=`printf "%s\n" "$color2"` | |||||
change_color | |||||
else | |||||
echo -e "[!] Please enter the path to wallpaper. \n" | |||||
echo "Usage : ./pywal.sh path/to/image" | |||||
fi | |||||
else | |||||
echo "[!] 'pywal' is not installed." | |||||
fi |
@ -0,0 +1,84 @@ | |||||
#!/usr/bin/env bash | |||||
# Color files | |||||
PFILE="$HOME/.config/polybar/colorblocks/colors.ini" | |||||
RFILE="$HOME/.config/polybar/colorblocks/scripts/rofi/colors.rasi" | |||||
# Change colors | |||||
change_color() { | |||||
# polybar | |||||
sed -i -e "s/background = #.*/background = $BG/g" $PFILE | |||||
sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE | |||||
sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE | |||||
sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE | |||||
sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE | |||||
sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE | |||||
sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE | |||||
sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE | |||||
sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE | |||||
sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE | |||||
sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE | |||||
# rofi | |||||
cat > $RFILE <<- EOF | |||||
/* colors */ | |||||
* { | |||||
al: #00000000; | |||||
bg: #141C21FF; | |||||
bg1: ${SH8}FF; | |||||
bg2: ${SH7}FF; | |||||
bg3: ${SH6}FF; | |||||
fg: #FFFFFFFF; | |||||
} | |||||
EOF | |||||
polybar-msg cmd restart | |||||
} | |||||
get_random_number() { | |||||
RNUM=$(( ($RANDOM % $1) + 1 )) | |||||
} | |||||
get_random_color() { | |||||
RCOLOR="#" | |||||
for i in 1 2 3 4 5 6 | |||||
do | |||||
get_random_number "16" | |||||
case $RNUM in | |||||
"1") NEXTDIGIT="1";; | |||||
"2") NEXTDIGIT="2";; | |||||
"3") NEXTDIGIT="3";; | |||||
"4") NEXTDIGIT="4";; | |||||
"5") NEXTDIGIT="5";; | |||||
"6") NEXTDIGIT="6";; | |||||
"7") NEXTDIGIT="7";; | |||||
"8") NEXTDIGIT="8";; | |||||
"9") NEXTDIGIT="9";; | |||||
"10") NEXTDIGIT="A";; | |||||
"11") NEXTDIGIT="B";; | |||||
"12") NEXTDIGIT="C";; | |||||
"13") NEXTDIGIT="D";; | |||||
"14") NEXTDIGIT="E";; | |||||
"15") NEXTDIGIT="F";; | |||||
"16") NEXTDIGIT="0";; | |||||
esac | |||||
RCOLOR="$RCOLOR$NEXTDIGIT" | |||||
done | |||||
echo $RCOLOR | |||||
} | |||||
# Main | |||||
BG='#141C21' # change to light bg | |||||
FG='#141C21' # change to dark fg | |||||
FGA='#FFFFFF' # change to gray fg | |||||
SH1=`get_random_color` | |||||
SH2=`get_random_color` | |||||
SH3=`get_random_color` | |||||
SH4=`get_random_color` | |||||
SH5=`get_random_color` | |||||
SH6=`get_random_color` | |||||
SH7=`get_random_color` | |||||
SH8=`get_random_color` | |||||
change_color |
@ -0,0 +1,10 @@ | |||||
/* colors */ | |||||
* { | |||||
al: #00000000; | |||||
bg: #141C21FF; | |||||
bg1: #FFAB91FF; | |||||
bg2: #FF8A65FF; | |||||
bg3: #FF7043FF; | |||||
fg: #FFFFFFFF; | |||||
} |
@ -0,0 +1,24 @@ | |||||
/* Confirm Dialog */ | |||||
@import "colors.rasi" | |||||
* { | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
font: "Iosevka Nerd Font 10"; | |||||
} | |||||
window { | |||||
width: 225px; | |||||
padding: 25px; | |||||
border: 0px 0px 0px 4px; | |||||
border-radius: 0px; | |||||
border-color: @bg3; | |||||
location: center; | |||||
y-offset: -2em; | |||||
} | |||||
entry { | |||||
expand: true; | |||||
text-color: @bg2; | |||||
} |
@ -0,0 +1,116 @@ | |||||
/* | |||||
* | |||||
* Author : Aditya Shakya | |||||
* Mail : adi1090x@gmail.com | |||||
* Github : @adi1090x | |||||
* Twitter : @adi1090x | |||||
* | |||||
*/ | |||||
configuration { | |||||
font: "Iosevka Nerd Font 10"; | |||||
show-icons: true; | |||||
icon-theme: "Papirus"; | |||||
display-drun: ""; | |||||
drun-display-format: "{name}"; | |||||
disable-history: false; | |||||
fullscreen: false; | |||||
hide-scrollbar: true; | |||||
sidebar-mode: false; | |||||
} | |||||
@import "colors.rasi" | |||||
window { | |||||
transparency: "real"; | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
border: 0px; | |||||
border-color: @bg1; | |||||
border-radius: 0px; | |||||
width: 700px; | |||||
location: center; | |||||
x-offset: 0; | |||||
y-offset: 0; | |||||
} | |||||
prompt { | |||||
enabled: true; | |||||
padding: 12px 15px 12px 15px; | |||||
background-color: @bg1; | |||||
text-color: @fga; | |||||
font: "Iosevka Nerd Font 12"; | |||||
} | |||||
entry { | |||||
background-color: @bg2; | |||||
text-color: @fga; | |||||
placeholder-color: @fga; | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
placeholder: "Search..."; | |||||
padding: 15px 0px 0px 15px; | |||||
margin: 0px 250px 0px 0px; | |||||
border-radius: 0px 50px 50px 0px; | |||||
blink: true; | |||||
} | |||||
inputbar { | |||||
children: [ prompt, entry ]; | |||||
background-color: @bg3; | |||||
text-color: @fg; | |||||
expand: false; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
spacing: 0px; | |||||
} | |||||
listview { | |||||
background-color: @al; | |||||
padding: 10px 10px 10px 10px; | |||||
columns: 3; | |||||
lines: 8; | |||||
spacing: 5px; | |||||
cycle: true; | |||||
dynamic: true; | |||||
layout: vertical; | |||||
} | |||||
mainbox { | |||||
background-color: @al; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @bg4; | |||||
children: [ inputbar, listview ]; | |||||
spacing: 0px; | |||||
padding: 0px; | |||||
} | |||||
element { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
orientation: horizontal; | |||||
border-radius: 0px; | |||||
padding: 8px; | |||||
} | |||||
element-icon { | |||||
size: 24px; | |||||
border: 0px; | |||||
} | |||||
element-text { | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
vertical-align: 0.5; | |||||
margin: 0px 2.5px 0px 2.5px; | |||||
} | |||||
element selected { | |||||
background-color: @bg; | |||||
text-color: @bg3; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @bg; | |||||
} |
@ -0,0 +1,24 @@ | |||||
/* Confirm Dialog */ | |||||
@import "colors.rasi" | |||||
* { | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
font: "Iosevka Nerd Font 10"; | |||||
} | |||||
window { | |||||
width: 320px; | |||||
padding: 25px; | |||||
border: 0px 0px 0px 4px; | |||||
border-radius: 0px; | |||||
border-color: @bg3; | |||||
location: center; | |||||
y-offset: -2em; | |||||
} | |||||
entry { | |||||
expand: true; | |||||
text-color: @bg2; | |||||
} |
@ -0,0 +1,124 @@ | |||||
/* | |||||
* | |||||
* Author : Aditya Shakya | |||||
* Mail : adi1090x@gmail.com | |||||
* Github : @adi1090x | |||||
* Twitter : @adi1090x | |||||
* | |||||
*/ | |||||
configuration { | |||||
font: "Iosevka Nerd Font 10"; | |||||
show-icons: true; | |||||
icon-theme: "Papirus"; | |||||
display-drun: ""; | |||||
drun-display-format: "{name}"; | |||||
disable-history: false; | |||||
fullscreen: false; | |||||
hide-scrollbar: true; | |||||
sidebar-mode: false; | |||||
} | |||||
@import "colors.rasi" | |||||
window { | |||||
transparency: "real"; | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
border: 0px; | |||||
border-color: @bg1; | |||||
border-radius: 0px; | |||||
width: 400px; | |||||
location: center; | |||||
x-offset: 0; | |||||
y-offset: 0; | |||||
} | |||||
prompt { | |||||
enabled: true; | |||||
padding: 12px 15px 12px 15px; | |||||
background-color: @bg2; | |||||
text-color: @fga; | |||||
} | |||||
textbox-prompt-colon { | |||||
padding: 10px 15px 10px 15px; | |||||
font: "Iosevka Nerd Font 12"; | |||||
background-color: @bg1; | |||||
text-color: @fga; | |||||
expand: false; | |||||
str: "直"; | |||||
} | |||||
entry { | |||||
background-color: @bg2; | |||||
text-color: @fga; | |||||
placeholder-color: @fga; | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
placeholder: "Search..."; | |||||
padding: 15px 0px 0px 15px; | |||||
margin: 0px 250px 0px 0px; | |||||
border-radius: 0px 50px 50px 0px; | |||||
blink: true; | |||||
} | |||||
inputbar { | |||||
children: [ textbox-prompt-colon, prompt ]; | |||||
background-color: @bg2; | |||||
text-color: @fg; | |||||
expand: false; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
spacing: 0px; | |||||
} | |||||
listview { | |||||
background-color: @al; | |||||
padding: 10px 10px 10px 10px; | |||||
columns: 1; | |||||
lines: 8; | |||||
spacing: 5px; | |||||
cycle: true; | |||||
dynamic: true; | |||||
layout: vertical; | |||||
} | |||||
mainbox { | |||||
background-color: @al; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @bg4; | |||||
children: [ inputbar, listview ]; | |||||
spacing: 0px; | |||||
padding: 0px; | |||||
} | |||||
element { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
orientation: horizontal; | |||||
border-radius: 0px; | |||||
padding: 8px 8px 8px -4px; | |||||
} | |||||
element-icon { | |||||
size: 24px; | |||||
border: 0px; | |||||
} | |||||
element-text { | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
vertical-align: 0.5; | |||||
margin: 0px 2.5px 0px 2.5px; | |||||
} | |||||
element selected { | |||||
background-color: @bg; | |||||
text-color: @bg3; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @bg; | |||||
} |
@ -0,0 +1,124 @@ | |||||
/* | |||||
* | |||||
* Author : Aditya Shakya | |||||
* Mail : adi1090x@gmail.com | |||||
* Github : @adi1090x | |||||
* Twitter : @adi1090x | |||||
* | |||||
*/ | |||||
configuration { | |||||
font: "Iosevka Nerd Font 10"; | |||||
show-icons: true; | |||||
icon-theme: "Papirus"; | |||||
display-drun: ""; | |||||
drun-display-format: "{name}"; | |||||
disable-history: false; | |||||
fullscreen: false; | |||||
hide-scrollbar: true; | |||||
sidebar-mode: false; | |||||
} | |||||
@import "colors.rasi" | |||||
window { | |||||
transparency: "real"; | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
border: 0px; | |||||
border-color: @bg1; | |||||
border-radius: 0px; | |||||
width: 300px; | |||||
location: center; | |||||
x-offset: 0; | |||||
y-offset: 0; | |||||
} | |||||
prompt { | |||||
enabled: true; | |||||
padding: 12px 15px 12px 15px; | |||||
background-color: @bg2; | |||||
text-color: @fga; | |||||
} | |||||
textbox-prompt-colon { | |||||
padding: 10px 15px 10px 15px; | |||||
font: "Iosevka Nerd Font 12"; | |||||
background-color: @bg1; | |||||
text-color: @fga; | |||||
expand: false; | |||||
str: ""; | |||||
} | |||||
entry { | |||||
background-color: @bg2; | |||||
text-color: @fga; | |||||
placeholder-color: @fga; | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
placeholder: "Search..."; | |||||
padding: 15px 0px 0px 15px; | |||||
margin: 0px 250px 0px 0px; | |||||
border-radius: 0px 50px 50px 0px; | |||||
blink: true; | |||||
} | |||||
inputbar { | |||||
children: [ textbox-prompt-colon, prompt ]; | |||||
background-color: @bg2; | |||||
text-color: @fg; | |||||
expand: false; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
spacing: 0px; | |||||
} | |||||
listview { | |||||
background-color: @al; | |||||
padding: 10px 10px 10px 10px; | |||||
columns: 1; | |||||
lines: 5; | |||||
spacing: 5px; | |||||
cycle: true; | |||||
dynamic: true; | |||||
layout: vertical; | |||||
} | |||||
mainbox { | |||||
background-color: @al; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @bg4; | |||||
children: [ inputbar, listview ]; | |||||
spacing: 0px; | |||||
padding: 0px; | |||||
} | |||||
element { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
orientation: horizontal; | |||||
border-radius: 0px; | |||||
padding: 8px 8px 8px -25px; | |||||
} | |||||
element-icon { | |||||
size: 24px; | |||||
border: 0px; | |||||
} | |||||
element-text { | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
vertical-align: 0.5; | |||||
margin: 0px 2.5px 0px 2.5px; | |||||
} | |||||
element selected { | |||||
background-color: @bg; | |||||
text-color: @bg3; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @bg; | |||||
} |
@ -0,0 +1,124 @@ | |||||
/* | |||||
* | |||||
* Author : Aditya Shakya | |||||
* Mail : adi1090x@gmail.com | |||||
* Github : @adi1090x | |||||
* Twitter : @adi1090x | |||||
* | |||||
*/ | |||||
configuration { | |||||
font: "Iosevka Nerd Font 10"; | |||||
show-icons: true; | |||||
icon-theme: "Papirus"; | |||||
display-drun: ""; | |||||
drun-display-format: "{name}"; | |||||
disable-history: false; | |||||
fullscreen: false; | |||||
hide-scrollbar: true; | |||||
sidebar-mode: false; | |||||
} | |||||
@import "colors.rasi" | |||||
window { | |||||
transparency: "real"; | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
border: 0px; | |||||
border-color: @bg1; | |||||
border-radius: 0px; | |||||
width: 300px; | |||||
location: center; | |||||
x-offset: 0; | |||||
y-offset: 0; | |||||
} | |||||
prompt { | |||||
enabled: true; | |||||
padding: 12px 15px 12px 15px; | |||||
background-color: @bg2; | |||||
text-color: @fga; | |||||
} | |||||
textbox-prompt-colon { | |||||
padding: 10px 15px 10px 15px; | |||||
font: "Iosevka Nerd Font 12"; | |||||
background-color: @bg1; | |||||
text-color: @fga; | |||||
expand: false; | |||||
str: ""; | |||||
} | |||||
entry { | |||||
background-color: @bg2; | |||||
text-color: @fga; | |||||
placeholder-color: @fga; | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
placeholder: "Search..."; | |||||
padding: 10px 15px 10px 15px; | |||||
margin: 0px 250px 0px 0px; | |||||
border-radius: 0px 50px 50px 0px; | |||||
blink: true; | |||||
} | |||||
inputbar { | |||||
children: [ textbox-prompt-colon, entry ]; | |||||
background-color: @bg2; | |||||
text-color: @fg; | |||||
expand: false; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
spacing: 0px; | |||||
} | |||||
listview { | |||||
background-color: @al; | |||||
padding: 10px 10px 10px 10px; | |||||
columns: 1; | |||||
lines: 5; | |||||
spacing: 5px; | |||||
cycle: true; | |||||
dynamic: true; | |||||
layout: vertical; | |||||
} | |||||
mainbox { | |||||
background-color: @al; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @bg4; | |||||
children: [ inputbar, listview ]; | |||||
spacing: 0px; | |||||
padding: 0px; | |||||
} | |||||
element { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
orientation: horizontal; | |||||
border-radius: 0px; | |||||
padding: 8px 8px 8px -25px; | |||||
} | |||||
element-icon { | |||||
size: 24px; | |||||
border: 0px; | |||||
} | |||||
element-text { | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
vertical-align: 0.5; | |||||
margin: 0px 2.5px 0px 2.5px; | |||||
} | |||||
element selected { | |||||
background-color: @bg; | |||||
text-color: @bg3; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @bg; | |||||
} |
@ -0,0 +1,45 @@ | |||||
#!/usr/bin/env bash | |||||
NOTIFY_ICON=/usr/share/icons/Papirus/32x32/apps/system-software-update.svg | |||||
get_total_updates() { UPDATES=$(checkupdates 2>/dev/null | wc -l); } | |||||
while true; do | |||||
get_total_updates | |||||
# notify user of updates | |||||
if hash notify-send &>/dev/null; then | |||||
if (( UPDATES > 50 )); then | |||||
notify-send -u critical -i $NOTIFY_ICON \ | |||||
"You really need to update!!" "$UPDATES New packages" | |||||
elif (( UPDATES > 25 )); then | |||||
notify-send -u normal -i $NOTIFY_ICON \ | |||||
"You should update soon" "$UPDATES New packages" | |||||
elif (( UPDATES > 2 )); then | |||||
notify-send -u low -i $NOTIFY_ICON \ | |||||
"$UPDATES New packages" | |||||
fi | |||||
fi | |||||
# when there are updates available | |||||
# every 10 seconds another check for updates is done | |||||
while (( UPDATES > 0 )); do | |||||
if (( UPDATES == 1 )); then | |||||
echo " $UPDATES" | |||||
elif (( UPDATES > 1 )); then | |||||
echo " $UPDATES" | |||||
else | |||||
echo " None" | |||||
fi | |||||
sleep 10 | |||||
get_total_updates | |||||
done | |||||
# when no updates are available, use a longer loop, this saves on CPU | |||||
# and network uptime, only checking once every 30 min for new updates | |||||
while (( UPDATES == 0 )); do | |||||
echo " None" | |||||
sleep 1800 | |||||
get_total_updates | |||||
done | |||||
done |
@ -0,0 +1,288 @@ | |||||
;; ┌──────────────────────────────────────────────────────────────────────────────-----┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█░█░█▀▀░█▀▀░█▀▄░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀ │ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░▀▀█░█▀▀░█▀▄░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█ │ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀░▀░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀ │ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ | |||||
;; └──────────────────────────────────────────────────────────────────────────────-----┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/updates] | |||||
type = custom/script | |||||
; Available tokens: | |||||
; %counter% | |||||
; Command to be executed (using "/usr/bin/env sh -c [command]") | |||||
exec = ~/.config/polybar/colorblocks/scripts/updates.sh | |||||
; Conditional command that, if defined, needs to exit successfully | |||||
; before the main exec command is invoked. | |||||
; Default: "" | |||||
;;exec-if = "" | |||||
; Will the script output continous content? | |||||
; Default: false | |||||
tail = true | |||||
; Seconds to sleep between updates | |||||
; Default: 2 (0 if `tail = true`) | |||||
interval = 5 | |||||
; Available tags: | |||||
; <output> - deprecated | |||||
; <label> (default) | |||||
format = <label> | |||||
format-prefix = | |||||
format-prefix-font = 2 | |||||
format-background = ${color.shade8} | |||||
format-foreground = ${color.foreground} | |||||
format-padding = 2 | |||||
; Available tokens: | |||||
; %output% | |||||
; Default: %output% | |||||
label = %output% | |||||
; Available tokens: | |||||
; %counter% | |||||
; %pid% | |||||
; | |||||
; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c [command]" | |||||
click-left = exo-open --launch TerminalEmulator & | |||||
click-right = exo-open --launch TerminalEmulator & | |||||
;;double-click-left = echo double left %counter% | |||||
;;double-click-middle = echo double middle %counter% | |||||
;;double-click-right = echo double right %counter% | |||||
; Available tokens: | |||||
; %counter% | |||||
; %pid% | |||||
; | |||||
; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c [command]" | |||||
;;scroll-up = echo scroll up %counter% | |||||
;;scroll-down = echo scroll down %counter% | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/launcher] | |||||
type = custom/text | |||||
content = | |||||
; "content" has the same properties as "format-NAME" | |||||
content-background = ${color.background} | |||||
content-foreground = ${color.shade4} | |||||
content-padding = 2 | |||||
; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND" | |||||
click-left = ~/.config/polybar/colorblocks/scripts/launcher.sh & | |||||
;;click-middle = ~/.config/polybar/colorblocks/scripts/launcher-full | |||||
click-right = ~/.config/polybar/colorblocks/scripts/color-switch.sh & | |||||
; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND" | |||||
;;scroll-up = ~/.config/polybar/colorblocks/scripts/launcher.sh & | |||||
;;scroll-down = ~/.config/polybar/colorblocks/scripts/color-switch.sh & | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/sysmenu] | |||||
type = custom/text | |||||
content = | |||||
content-background = ${color.background} | |||||
content-foreground = ${color.shade4} | |||||
content-padding = 2 | |||||
click-left = ~/.config/polybar/colorblocks/scripts/powermenu.sh & | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/color-switch] | |||||
type = custom/text | |||||
content = | |||||
content-background = #FFFFFF | |||||
content-foreground = #CC6666 | |||||
content-padding = 2 | |||||
click-left = ~/.config/polybar/colorblocks/scripts/color-switch.sh & | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/sep] | |||||
type = custom/text | |||||
content = " " | |||||
content-background = ${color.alpha} | |||||
content-foreground = ${color.alpha} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/links] | |||||
type = custom/text | |||||
content-background = ${color.background} | |||||
content-padding = 2 | |||||
content-font = 2 | |||||
[module/google] | |||||
inherit = module/links | |||||
content = | |||||
content-foreground = ${color.shade7} | |||||
click-left = exo-open https://www.google.com/ & | |||||
[module/github] | |||||
inherit = module/links | |||||
content = | |||||
content-foreground = ${color.shade6} | |||||
click-left = exo-open https://www.github.com/ & | |||||
[module/reddit] | |||||
inherit = module/links | |||||
content = | |||||
content-foreground = ${color.shade5} | |||||
click-left = exo-open https://www.reddit.com/ & | |||||
[module/gmail] | |||||
inherit = module/links | |||||
content = | |||||
content-foreground = ${color.shade4} | |||||
click-left = exo-open https://mail.google.com/ & | |||||
[module/twitter] | |||||
inherit = module/links | |||||
content = | |||||
content-foreground = ${color.shade3} | |||||
click-left = exo-open https://www.twitter.com/ & | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/powermenu] | |||||
type = custom/menu | |||||
; If true, <label-toggle> will be to the left of the menu items (default). | |||||
; If false, it will be on the right of all the items. | |||||
expand-right = true | |||||
; "menu-LEVEL-N" has the same properties as "label-NAME" with | |||||
; the additional "exec" property | |||||
; | |||||
; Available exec commands: | |||||
; menu-open-LEVEL | |||||
; menu-close | |||||
; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" | |||||
menu-0-0 = " Reboot " | |||||
menu-0-0-background = ${color.background} | |||||
menu-0-0-foreground = ${color.foreground-alt} | |||||
menu-0-0-exec = menu-open-1 | |||||
menu-0-1 = " Shutdown " | |||||
menu-0-1-background = ${color.background} | |||||
menu-0-1-foreground = ${color.foreground-alt} | |||||
menu-0-1-exec = menu-open-2 | |||||
menu-1-0 = " Back " | |||||
menu-1-0-background = ${color.background} | |||||
menu-1-0-foreground = ${color.foreground-alt} | |||||
menu-1-0-exec = menu-open-0 | |||||
menu-1-1 = " Reboot " | |||||
menu-1-1-background = ${color.background} | |||||
menu-1-1-foreground = ${color.foreground-alt} | |||||
menu-1-1-exec = systemctl reboot | |||||
menu-2-0 = " Shutdown " | |||||
menu-2-0-background = ${color.background} | |||||
menu-2-0-foreground = ${color.foreground-alt} | |||||
menu-2-0-exec = systemctl poweroff | |||||
menu-2-1 = " Back " | |||||
menu-2-1-background = ${color.background} | |||||
menu-2-1-foreground = ${color.foreground-alt} | |||||
menu-2-1-exec = menu-open-0 | |||||
; Available tags: | |||||
; <label-toggle> (default) - gets replaced with <label-(open|close)> | |||||
; <menu> (default) | |||||
; Note that if you use <label-toggle> you must also include | |||||
; the definition for <label-open> | |||||
format = <label-toggle><menu> | |||||
format-background = ${color.background} | |||||
format-foreground = ${color.foreground} | |||||
label-open = | |||||
label-open-background = ${color.background} | |||||
label-open-foreground = ${color.shade4} | |||||
label-open-padding = 2 | |||||
label-open-font = 1 | |||||
label-close = | |||||
label-close-background = ${color.background} | |||||
label-close-foreground = ${color.shade4} | |||||
label-close-padding = 2 | |||||
label-close-font = 2 | |||||
; Optional item separator | |||||
; Default: none | |||||
label-separator = " | " | |||||
label-separator-background = ${color.background} | |||||
label-separator-foreground = ${color.shade4} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/menu] | |||||
type = custom/menu | |||||
; If true, <label-toggle> will be to the left of the menu items (default). | |||||
; If false, it will be on the right of all the items. | |||||
expand-right = true | |||||
; "menu-LEVEL-N" has the same properties as "label-NAME" with | |||||
; the additional "exec" property | |||||
; | |||||
; Available exec commands: | |||||
; menu-open-LEVEL | |||||
; menu-close | |||||
; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" | |||||
menu-0-0 = Menu | |||||
menu-0-0-background = ${color.background} | |||||
menu-0-0-foreground = ${color.foreground-alt} | |||||
menu-0-0-exec = ~/.config/polybar/colorblocks/scripts/launcher.sh & | |||||
menu-0-1 = Files | |||||
menu-0-1-background = ${color.background} | |||||
menu-0-1-foreground = ${color.foreground-alt} | |||||
menu-0-1-exec = thunar & | |||||
menu-0-2 = Terminal | |||||
menu-0-2-background = ${color.background} | |||||
menu-0-2-foreground = ${color.foreground-alt} | |||||
menu-0-2-exec = termite & | |||||
menu-0-3 =" Browser " | |||||
menu-0-3-background = ${color.background} | |||||
menu-0-3-foreground = ${color.foreground-alt} | |||||
menu-0-3-exec = firefox & | |||||
; Available tags: | |||||
; <label-toggle> (default) - gets replaced with <label-(open|close)> | |||||
; <menu> (default) | |||||
; Note that if you use <label-toggle> you must also include | |||||
; the definition for <label-open> | |||||
format = <label-toggle><menu> | |||||
format-background = ${color.background} | |||||
label-open = | |||||
label-open-background = ${color.background} | |||||
label-open-foreground = ${color.shade4} | |||||
label-open-padding = 2 | |||||
label-open-font = 2 | |||||
label-close = | |||||
label-close-background = ${color.background} | |||||
label-close-foreground = ${color.shade4} | |||||
label-close-padding = 2 | |||||
label-close-font = 2 | |||||
; Optional item separator | |||||
; Default: none | |||||
label-separator = " | " | |||||
label-separator-background = ${color.background} | |||||
label-separator-foreground = ${color.shade4} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |
@ -0,0 +1,542 @@ | |||||
;; ┌────────────────────────────────────────────────────┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▄░█▀█░█▀▄░█▀▀│ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▄░█▀█░█▀▄░▀▀█│ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀░░▀░▀░▀░▀░▀▀▀│ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░│ | |||||
;; └────────────────────────────────────────────────────┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[bar] | |||||
fill = ﭳ | |||||
empty = ﭳ | |||||
indicator = | |||||
width = 6 | |||||
format = %{T4}%fill%%indicator%%empty%%{F-}%{T-} | |||||
[module/volume] | |||||
type = internal/alsa | |||||
; Soundcard to be used | |||||
; Usually in the format hw:# where # is the card number | |||||
; You can find the different card numbers in `/proc/asound/cards` | |||||
master-soundcard = default | |||||
speaker-soundcard = default | |||||
headphone-soundcard = default | |||||
; Name of the master, speaker and headphone mixers | |||||
; Use the following command to list available mixer controls: | |||||
; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" | |||||
; If master, speaker or headphone-soundcard isn't the default, | |||||
; use `amixer -c # scontrols` instead where # is the number | |||||
; of the master, speaker or headphone soundcard respectively | |||||
; | |||||
; Default: Master | |||||
master-mixer = Master | |||||
; Optionally define speaker and headphone mixers | |||||
; Default: none | |||||
;;speaker-mixer = Speaker | |||||
; Default: none | |||||
;;headphone-mixer = Headphone | |||||
; NOTE: This is required if headphone_mixer is defined | |||||
; Use the following command to list available device controls | |||||
; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort | |||||
; You may also need to use `amixer -c # controls` as above for the mixer names | |||||
; Default: none | |||||
;;headphone-id = 9 | |||||
; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear | |||||
; Default: false | |||||
;;mapped = true | |||||
; Interval for volume increase/decrease (in percent points) | |||||
; Default: 5 | |||||
interval = 5 | |||||
; Available tags: | |||||
; <label-volume> (default) | |||||
; <ramp-volume> | |||||
; <bar-volume> | |||||
format-volume = <ramp-volume> <bar-volume> | |||||
format-volume-background = ${color.background} | |||||
format-volume-padding = 1 | |||||
; Available tags: | |||||
; <label-muted> (default) | |||||
; <ramp-volume> | |||||
; <bar-volume> | |||||
format-muted = <label-muted> | |||||
format-muted-prefix = | |||||
format-muted-background = ${color.background} | |||||
format-muted-padding = 1 | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
label-volume = %percentage%% | |||||
; Available tokens: | |||||
; %percentage% (default | |||||
label-muted = " Muted" | |||||
label-muted-foreground = ${color.foreground} | |||||
; Only applies if <ramp-volume> is used | |||||
ramp-volume-0 = | |||||
ramp-volume-1 = | |||||
ramp-volume-2 = | |||||
; Only applies if <bar-volume> is used | |||||
bar-volume-format = ${bar.format} | |||||
bar-volume-width = ${bar.width} | |||||
bar-volume-gradient = false | |||||
bar-volume-indicator = ${bar.indicator} | |||||
bar-volume-indicator-foreground = ${color.foreground} | |||||
bar-volume-fill = ${bar.fill} | |||||
bar-volume-foreground-0 = ${color.green} | |||||
bar-volume-foreground-1 = ${color.green} | |||||
bar-volume-foreground-2 = ${color.yellow} | |||||
bar-volume-foreground-3 = ${color.yellow} | |||||
bar-volume-foreground-4 = ${color.red} | |||||
bar-volume-empty = ${bar.empty} | |||||
bar-volume-empty-foreground = ${color.foreground-alt} | |||||
; If defined, it will replace <ramp-volume> when | |||||
; headphones are plugged in to `headphone_control_numid` | |||||
; If undefined, <ramp-volume> will be used for both | |||||
; Only applies if <ramp-volume> is used | |||||
ramp-headphones-0 = | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/brightness] | |||||
;type = internal/xbacklight | |||||
type = internal/backlight | |||||
; Use the following command to list available cards: | |||||
; $ ls -1 /sys/class/backlight/ | |||||
;card = intel_backlight | |||||
card = amdgpu_bl0 | |||||
; Available tags: | |||||
; <label> (default) | |||||
; <ramp> | |||||
; <bar> | |||||
format = <ramp> <bar> | |||||
format-background = ${color.background} | |||||
format-padding = 1 | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
label = %percentage%% | |||||
; Only applies if <ramp> is used | |||||
ramp-0 = | |||||
ramp-1 = | |||||
ramp-2 = | |||||
ramp-3 = | |||||
ramp-4 = | |||||
; Only applies if <bar> is used | |||||
bar-format = ${bar.format} | |||||
bar-width = ${bar.width} | |||||
bar-gradient = false | |||||
bar-indicator = ${bar.indicator} | |||||
bar-indicator-foreground = ${color.foreground} | |||||
bar-fill = ${bar.fill} | |||||
bar-foreground-0 = ${color.green} | |||||
bar-foreground-1 = ${color.green} | |||||
bar-foreground-2 = ${color.yellow} | |||||
bar-foreground-3 = ${color.yellow} | |||||
bar-foreground-4 = ${color.red} | |||||
bar-empty = ${bar.empty} | |||||
bar-empty-foreground = ${color.foreground-alt} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/battery_bar] | |||||
type = internal/battery | |||||
; This is useful in case the battery never reports 100% charge | |||||
full-at = 99 | |||||
; Use the following command to list batteries and adapters: | |||||
; $ ls -1 /sys/class/power_supply/ | |||||
battery = BAT1 | |||||
adapter = ACAD | |||||
; If an inotify event haven't been reported in this many | |||||
; seconds, manually poll for new values. | |||||
; | |||||
; Needed as a fallback for systems that don't report events | |||||
; on sysfs/procfs. | |||||
; | |||||
; Disable polling by setting the interval to 0. | |||||
; | |||||
; Default: 5 | |||||
poll-interval = 2 | |||||
; see "man date" for details on how to format the time string | |||||
; NOTE: if you want to use syntax tags here you need to use %%{...} | |||||
; Default: %H:%M:%S | |||||
time-format = %H:%M | |||||
; Available tags: | |||||
; <label-charging> (default) | |||||
; <bar-capacity> | |||||
; <ramp-capacity> | |||||
; <animation-charging> | |||||
format-charging = <bar-capacity> | |||||
format-charging-prefix = " " | |||||
format-charging-background = ${color.background} | |||||
format-charging-padding = 1 | |||||
; Available tags: | |||||
; <label-discharging> (default) | |||||
; <bar-capacity> | |||||
; <ramp-capacity> | |||||
; <animation-discharging> | |||||
format-discharging = <bar-capacity> | |||||
format-discharging-prefix = " " | |||||
format-discharging-background = ${color.background} | |||||
format-discharging-padding = 1 | |||||
; Available tags: | |||||
; <label-full> (default) | |||||
; <bar-capacity> | |||||
; <ramp-capacity> | |||||
format-full = <label-full> | |||||
format-full-prefix = " " | |||||
format-full-background = ${color.background} | |||||
format-full-padding = 1 | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
; %time% | |||||
; %consumption% (shows current charge rate in watts) | |||||
label-charging = %percentage%% | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
; %time% | |||||
; %consumption% (shows current discharge rate in watts) | |||||
label-discharging = %percentage%% | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
label-full = " Full" | |||||
; Only applies if <bar-capacity> is used | |||||
bar-capacity-format = ${bar.format} | |||||
bar-capacity-width = ${bar.width} | |||||
bar-capacity-gradient = false | |||||
bar-capacity-indicator = ${bar.indicator} | |||||
bar-capacity-indicator-foreground = ${color.foreground} | |||||
bar-capacity-fill = ${bar.fill} | |||||
bar-capacity-foreground-0 = ${color.green} | |||||
bar-capacity-foreground-1 = ${color.green} | |||||
bar-capacity-foreground-2 = ${color.yellow} | |||||
bar-capacity-foreground-3 = ${color.yellow} | |||||
bar-capacity-foreground-4 = ${color.red} | |||||
bar-capacity-empty = ${bar.empty} | |||||
bar-capacity-empty-foreground = ${color.foreground-alt} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/cpu_bar] | |||||
type = internal/cpu | |||||
; Seconds to sleep between updates | |||||
; Default: 1 | |||||
interval = 0.5 | |||||
; Available tags: | |||||
; <label> (default) | |||||
; <bar-load> | |||||
; <ramp-load> | |||||
; <ramp-coreload> | |||||
;;format = <label> <ramp-coreload> | |||||
format = <bar-load> <label> | |||||
format-prefix = " " | |||||
format-background = ${color.background} | |||||
format-padding = 1 | |||||
; Available tokens: | |||||
; %percentage% (default) - total cpu load averaged over all cores | |||||
; %percentage-sum% - Cumulative load on all cores | |||||
; %percentage-cores% - load percentage for each core | |||||
; %percentage-core[1-9]% - load percentage for specific core | |||||
label = "%percentage%%" | |||||
; Only applies if <bar-load> is used | |||||
bar-load-format = ${bar.format} | |||||
bar-load-width = ${bar.width} | |||||
bar-load-gradient = false | |||||
bar-load-indicator = ${bar.indicator} | |||||
bar-load-indicator-foreground = ${color.foreground} | |||||
bar-load-fill = ${bar.fill} | |||||
bar-load-foreground-0 = ${color.green} | |||||
bar-load-foreground-1 = ${color.green} | |||||
bar-load-foreground-2 = ${color.yellow} | |||||
bar-load-foreground-3 = ${color.yellow} | |||||
bar-load-foreground-4 = ${color.red} | |||||
bar-load-empty = ${bar.empty} | |||||
bar-load-empty-foreground = ${color.foreground-alt} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/filesystem_bar] | |||||
type = internal/fs | |||||
; Mountpoints to display | |||||
mount-0 = / | |||||
;;mount-1 = /home | |||||
;;mount-2 = /var | |||||
; Seconds to sleep between updates | |||||
; Default: 30 | |||||
interval = 30 | |||||
; Display fixed precision values | |||||
; Default: false | |||||
fixed-values = false | |||||
; Spacing between entries | |||||
; Default: 2 | |||||
;;spacing = 4 | |||||
; Available tags: | |||||
; <label-mounted> (default) | |||||
; <bar-free> | |||||
; <bar-used> | |||||
; <ramp-capacity> | |||||
format-mounted = <bar-used> <label-mounted> | |||||
format-mounted-prefix = " " | |||||
format-mounted-background = ${color.background} | |||||
format-mounted-padding = 1 | |||||
; Available tags: | |||||
; <label-unmounted> (default) | |||||
format-unmounted = <label-unmounted> | |||||
format-unmounted-prefix = " " | |||||
format-unmounted-background = ${color.background} | |||||
format-unmounted-padding = 1 | |||||
; Available tokens: | |||||
; %mountpoint% | |||||
; %type% | |||||
; %fsname% | |||||
; %percentage_free% | |||||
; %percentage_used% | |||||
; %total% | |||||
; %free% | |||||
; %used% | |||||
; Default: %mountpoint% %percentage_free%% | |||||
label-mounted = %used%/%total% | |||||
; Available tokens: | |||||
; %mountpoint% | |||||
; Default: %mountpoint% is not mounted | |||||
label-unmounted = "%mountpoint%: not mounted" | |||||
; Only applies if <bar-used> is used | |||||
bar-used-format = ${bar.format} | |||||
bar-used-width = ${bar.width} | |||||
bar-used-gradient = false | |||||
bar-used-indicator = ${bar.indicator} | |||||
bar-used-indicator-foreground = ${color.foreground} | |||||
bar-used-fill = ${bar.fill} | |||||
bar-used-foreground-0 = ${color.green} | |||||
bar-used-foreground-1 = ${color.green} | |||||
bar-used-foreground-2 = ${color.yellow} | |||||
bar-used-foreground-3 = ${color.yellow} | |||||
bar-used-foreground-4 = ${color.red} | |||||
bar-used-empty = ${bar.empty} | |||||
bar-used-empty-foreground = ${color.foreground-alt} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/memory_bar] | |||||
type = internal/memory | |||||
; Seconds to sleep between updates | |||||
; Default: 1 | |||||
interval = 2 | |||||
; Available tags: | |||||
; <label> (default) | |||||
; <bar-used> | |||||
; <bar-free> | |||||
; <ramp-used> | |||||
; <ramp-free> | |||||
; <bar-swap-used> | |||||
; <bar-swap-free> | |||||
; <ramp-swap-used> | |||||
; <ramp-swap-free> | |||||
format = <bar-used> <label> | |||||
format-prefix = " " | |||||
format-background = ${color.background} | |||||
format-padding = 1 | |||||
; Available tokens: | |||||
; %percentage_used% (default) | |||||
; %percentage_free% | |||||
; %gb_used% | |||||
; %gb_free% | |||||
; %gb_total% | |||||
; %mb_used% | |||||
; %mb_free% | |||||
; %mb_total% | |||||
; %percentage_swap_used% | |||||
; %percentage_swap_free% | |||||
; %mb_swap_total% | |||||
; %mb_swap_free% | |||||
; %mb_swap_used% | |||||
; %gb_swap_total% | |||||
; %gb_swap_free% | |||||
; %gb_swap_used% | |||||
label = "%mb_used%" | |||||
; Only applies if <bar-used> is used | |||||
bar-used-format = ${bar.format} | |||||
bar-used-width = ${bar.width} | |||||
bar-used-gradient = false | |||||
bar-used-indicator = ${bar.indicator} | |||||
bar-used-indicator-foreground = ${color.foreground} | |||||
bar-used-fill = ${bar.fill} | |||||
bar-used-foreground-0 = ${color.green} | |||||
bar-used-foreground-1 = ${color.green} | |||||
bar-used-foreground-2 = ${color.yellow} | |||||
bar-used-foreground-3 = ${color.yellow} | |||||
bar-used-foreground-4 = ${color.red} | |||||
bar-used-empty = ${bar.empty} | |||||
bar-used-empty-foreground = ${color.foreground-alt} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/mpd_bar] | |||||
type = internal/mpd | |||||
; Host where mpd is running (either ip or domain name) | |||||
; Can also be the full path to a unix socket where mpd is running. | |||||
;;host = 127.0.0.1 | |||||
;;port = 6600 | |||||
;;password = mysecretpassword | |||||
; Seconds to sleep between progressbar/song timer sync | |||||
; Default: 1 | |||||
interval = 1 | |||||
; Available tags: | |||||
; <label-song> (default) | |||||
; <label-time> | |||||
; <bar-progress> | |||||
; <toggle> - gets replaced with <icon-(pause|play)> | |||||
; <toggle-stop> - gets replaced with <icon-(stop|play)> | |||||
; <icon-random> | |||||
; <icon-repeat> | |||||
; <icon-repeatone> (deprecated) | |||||
; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> | |||||
; <icon-consume> | |||||
; <icon-prev> | |||||
; <icon-stop> | |||||
; <icon-play> | |||||
; <icon-pause> | |||||
; <icon-next> | |||||
; <icon-seekb> | |||||
; <icon-seekf> | |||||
format-online = <label-song> <bar-progress> <label-time> | |||||
format-online-prefix = | |||||
format-online-background = ${color.background} | |||||
format-online-padding = 1 | |||||
;format-playing = ${self.format-online} | |||||
;format-paused = ${self.format-online} | |||||
;format-stopped = ${self.format-online} | |||||
; Available tags: | |||||
; <label-offline> | |||||
format-offline = <label-offline> | |||||
format-offline-prefix = | |||||
format-offline-background = ${color.background} | |||||
format-offline-padding = 1 | |||||
; Available tokens: | |||||
; %artist% | |||||
; %album-artist% | |||||
; %album% | |||||
; %date% | |||||
; %title% | |||||
; Default: %artist% - %title% | |||||
label-song = " %artist% - %title%" | |||||
label-song-maxlen = 25 | |||||
label-song-ellipsis = true | |||||
; Available tokens: | |||||
; %elapsed% | |||||
; %total% | |||||
; Default: %elapsed% / %total% | |||||
label-time = %elapsed% / %total% | |||||
; Available tokens: | |||||
; None | |||||
label-offline = " Offline" | |||||
; Only applies if <icon-X> is used | |||||
icon-play = | |||||
icon-pause = | |||||
icon-stop = | |||||
icon-next = | |||||
icon-prev = | |||||
icon-seekf = | |||||
icon-seekb = | |||||
icon-random = | |||||
icon-repeat = | |||||
icon-repeatone = | |||||
icon-single = | |||||
icon-consume = | |||||
; Used to display the state of random/repeat/repeatone/single | |||||
; Only applies if <icon-[random|repeat|repeatone|single]> is used | |||||
toggle-on-foreground = ${color.green} | |||||
toggle-off-foreground = ${color.red} | |||||
; Only applies if <bar-progress> is used | |||||
bar-progress-format = ${bar.format} | |||||
bar-progress-width = ${bar.width} | |||||
bar-progress-gradient = false | |||||
bar-progress-indicator = ${bar.indicator} | |||||
bar-progress-indicator-foreground = ${color.foreground} | |||||
bar-progress-fill = ${bar.fill} | |||||
bar-progress-foreground-0 = ${color.green} | |||||
bar-progress-foreground-1 = ${color.green} | |||||
bar-progress-foreground-2 = ${color.yellow} | |||||
bar-progress-foreground-3 = ${color.yellow} | |||||
bar-progress-foreground-4 = ${color.red} | |||||
bar-progress-empty = ${bar.empty} | |||||
bar-progress-empty-foreground = ${color.foreground-alt} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |
@ -0,0 +1,24 @@ | |||||
;; ┌────────────────────────────────────────────────────────────┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ | |||||
;; └────────────────────────────────────────────────────────────┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[color] | |||||
;; Use pywal.sh in scripts directory to use colors from an image/wallpaper. | |||||
;; main colors | |||||
background = #0a0a0a | |||||
background-alt = #8C0a0a0a | |||||
foreground = #f5f5f5 | |||||
foreground-alt = #33f5f5f5 | |||||
primary = #fdd835 | |||||
red = #FF5250 | |||||
green = #43a047 | |||||
yellow = #fdd835 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |
@ -0,0 +1,312 @@ | |||||
;; ┌────────────────────────────────────────────────────────────┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ | |||||
;; └────────────────────────────────────────────────────────────┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Global WM Settings | |||||
[global/wm] | |||||
; Adjust the _NET_WM_STRUT_PARTIAL top value | |||||
; Used for top aligned bars | |||||
margin-bottom = 0 | |||||
; Adjust the _NET_WM_STRUT_PARTIAL bottom value | |||||
; Used for bottom aligned bars | |||||
margin-top = 0 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; File Inclusion | |||||
; include an external file, like module file, etc. | |||||
include-file = ~/.config/polybar/cuts/bars.ini | |||||
include-file = ~/.config/polybar/cuts/colors.ini | |||||
include-file = ~/.config/polybar/cuts/modules.ini | |||||
include-file = ~/.config/polybar/cuts/user_modules.ini | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Bar Settings | |||||
[bar/main] | |||||
; Use either of the following command to list available outputs: | |||||
; If unspecified, the application will pick the first one it finds. | |||||
; $ polybar -m | cut -d ':' -f 1 | |||||
; $ xrandr -q | grep " connected" | cut -d ' ' -f1 | |||||
monitor = | |||||
; Use the specified monitor as a fallback if the main one is not found. | |||||
monitor-fallback = | |||||
; Require the monitor to be in connected state | |||||
; XRandR sometimes reports my monitor as being disconnected (when in use) | |||||
monitor-strict = false | |||||
; Tell the Window Manager not to configure the window. | |||||
; Use this to detach the bar if your WM is locking its size/position. | |||||
override-redirect = false | |||||
; Put the bar at the bottom of the screen | |||||
bottom = false | |||||
; Prefer fixed center position for the `modules-center` block | |||||
; When false, the center position will be based on the size of the other blocks. | |||||
fixed-center = true | |||||
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), | |||||
; the percentage can optionally be extended with a pixel offset like so: | |||||
; 50%:-10, this will result in a width or height of 50% minus 10 pixels | |||||
width = 100% | |||||
height = 28 | |||||
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) | |||||
; the percentage can optionally be extended with a pixel offset like so: | |||||
; 50%:-10, this will result in an offset in the x or y direction | |||||
; of 50% minus 10 pixels | |||||
offset-x = 0% | |||||
offset-y = 0% | |||||
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
background = ${color.background-alt} | |||||
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
foreground = ${color.foreground} | |||||
; Background gradient (vertical steps) | |||||
; background-[0-9]+ = #aarrggbb | |||||
;;background-0 = | |||||
; Value used for drawing rounded corners | |||||
; Note: This shouldn't be used together with border-size because the border | |||||
; doesn't get rounded | |||||
; Individual top/bottom values can be defined using: | |||||
; radius-{top,bottom} | |||||
radius-top = 0.0 | |||||
radius-bottom = 0.0 | |||||
; Under-/overline pixel size and argb color | |||||
; Individual values can be defined using: | |||||
; {overline,underline}-size | |||||
; {overline,underline}-color | |||||
line-size = 2 | |||||
line-color = ${color.primary} | |||||
; Values applied to all borders | |||||
; Individual side values can be defined using: | |||||
; border-{left,top,right,bottom}-size | |||||
; border-{left,top,right,bottom}-color | |||||
; The top and bottom borders are added to the bar height, so the effective | |||||
; window height is: | |||||
; height + border-top-size + border-bottom-size | |||||
; Meanwhile the effective window width is defined entirely by the width key and | |||||
; the border is placed withing this area. So you effectively only have the | |||||
; following horizontal space on the bar: | |||||
; width - border-right-size - border-left-size | |||||
border-size = 0 | |||||
border-color = ${color.primary} | |||||
; Number of spaces to add at the beginning/end of the bar | |||||
; Individual side values can be defined using: | |||||
; padding-{left,right} | |||||
padding = 0 | |||||
; Number of spaces to add before/after each module | |||||
; Individual side values can be defined using: | |||||
; module-margin-{left,right} | |||||
module-margin-left = 0 | |||||
module-margin-right = 0 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
; Fonts are defined using <font-name>;<vertical-offset> | |||||
; Font names are specified using a fontconfig pattern. | |||||
; font-0 = NotoSans-Regular:size=8;2 | |||||
; font-1 = MaterialIcons:size=10 | |||||
; font-2 = Termsynu:size=8;-1 | |||||
; font-3 = FontAwesome:size=10 | |||||
; See the Fonts wiki page for more details | |||||
; Text Fonts | |||||
font-0 = Iosevka Nerd Font:style=Medium:size=10;4 | |||||
; Icons Fonts | |||||
font-1 = feather:style=Medium:size=12;3 | |||||
; Powerline Glyphs | |||||
font-2 = Iosevka Nerd Font:style=Medium:size=19;3 | |||||
; Larger font size for bar fill icons | |||||
font-3 = Iosevka Nerd Font:style=Medium:size=12;4 | |||||
; Smaller font size for shorter spaces | |||||
font-4 = Iosevka Nerd Font:style=Medium:size=7;4 | |||||
; Modules are added to one of the available blocks | |||||
; modules-left = cpu ram | |||||
; modules-center = xwindow xbacklight | |||||
; modules-right = ipc clock | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[bar/top] | |||||
inherit = bar/main | |||||
modules-left = launcher title decor1 decor2 workspaces decor1 decor2 color-switch decor1 | |||||
modules-right = decor4 updates decor3 decor4 temperature battery keyboard decor3 decor4 date sysmenu | |||||
enable-ipc = true | |||||
[bar/bottom] | |||||
inherit = bar/main | |||||
bottom = true | |||||
modules-left = mpd decor3 decor4 cpu memory filesystem decor3 | |||||
modules-right = decor2 network decor1 decor2 volume brightness | |||||
enable-ipc = true | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
; The separator will be inserted between the output of each module | |||||
separator = | |||||
; Opacity value between 0.0 and 1.0 used on fade in/out | |||||
dim-value = 1.0 | |||||
; Value to be used to set the WM_NAME atom | |||||
; If the value is empty or undefined, the atom value | |||||
; will be created from the following template: polybar-[BAR]_[MONITOR] | |||||
; NOTE: The placeholders are not available for custom values | |||||
wm-name = | |||||
; Locale used to localize various module data (e.g. date) | |||||
; Expects a valid libc locale, for example: sv_SE.UTF-8 | |||||
locale = | |||||
; Position of the system tray window | |||||
; If empty or undefined, tray support will be disabled | |||||
; NOTE: A center aligned tray will cover center aligned modules | |||||
; | |||||
; Available positions: | |||||
; left | |||||
; center | |||||
; right | |||||
; none | |||||
tray-position = none | |||||
; If true, the bar will not shift its | |||||
; contents when the tray changes | |||||
tray-detached = false | |||||
; Tray icon max size | |||||
tray-maxsize = 16 | |||||
; Background color for the tray container | |||||
; ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
; By default the tray container will use the bar | |||||
; background color. | |||||
tray-background = ${color.background-alt} | |||||
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) | |||||
tray-offset-x = 0 | |||||
tray-offset-y = 0 | |||||
; Pad the sides of each tray icon | |||||
tray-padding = 0 | |||||
; Scale factor for tray clients | |||||
tray-scale = 1.0 | |||||
; Restack the bar window and put it above the | |||||
; selected window manager's root | |||||
; | |||||
; Fixes the issue where the bar is being drawn | |||||
; on top of fullscreen window's | |||||
; | |||||
; Currently supported WM's: | |||||
; bspwm | |||||
; i3 (requires: `override-redirect = true`) | |||||
;;wm-restack = | |||||
; Set a DPI values used when rendering text | |||||
; This only affects scalable fonts | |||||
; dpi = | |||||
; Enable support for inter-process messaging | |||||
; See the Messaging wiki page for more details. | |||||
;enable-ipc = true | |||||
; Fallback click handlers that will be called if | |||||
; there's no matching module handler found. | |||||
click-left = | |||||
click-middle = | |||||
click-right = | |||||
scroll-up = | |||||
scroll-down = | |||||
double-click-left = | |||||
double-click-middle = | |||||
double-click-right = | |||||
; Requires polybar to be built with xcursor support (xcb-util-cursor) | |||||
; Possible values are: | |||||
; - default : The default pointer as before, can also be an empty string (default) | |||||
; - pointer : Typically in the form of a hand | |||||
; - ns-resize : Up and down arrows, can be used to indicate scrolling | |||||
cursor-click = | |||||
cursor-scroll = | |||||
;; WM Workspace Specific | |||||
; bspwm | |||||
;;scroll-up = bspwm-desknext | |||||
;;scroll-down = bspwm-deskprev | |||||
;;scroll-up = bspc desktop -f prev.local | |||||
;;scroll-down = bspc desktop -f next.local | |||||
;i3 | |||||
;;scroll-up = i3wm-wsnext | |||||
;;scroll-down = i3wm-wsprev | |||||
;;scroll-up = i3-msg workspace next_on_output | |||||
;;scroll-down = i3-msg workspace prev_on_output | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Application Settings | |||||
[settings] | |||||
; The throttle settings lets the eventloop swallow up til X events | |||||
; if they happen within Y millisecond after first event was received. | |||||
; This is done to prevent flood of update event. | |||||
; | |||||
; For example if 5 modules emit an update event at the same time, we really | |||||
; just care about the last one. But if we wait too long for events to swallow | |||||
; the bar would appear sluggish so we continue if timeout | |||||
; expires or limit is reached. | |||||
throttle-output = 5 | |||||
throttle-output-for = 10 | |||||
; Time in milliseconds that the input handler will wait between processing events | |||||
;throttle-input-for = 30 | |||||
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events | |||||
screenchange-reload = false | |||||
; Compositing operators | |||||
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t | |||||
compositing-background = source | |||||
compositing-foreground = over | |||||
compositing-overline = over | |||||
compositing-underline = over | |||||
compositing-border = over | |||||
; Define fallback values used by all module formats | |||||
;format-foreground = | |||||
;format-background = | |||||
;format-underline = | |||||
;format-overline = | |||||
;format-spacing = | |||||
;format-padding = | |||||
;format-margin = | |||||
;format-offset = | |||||
; Enables pseudo-transparency for the bar | |||||
; If set to true the bar can be transparent without a compositor. | |||||
pseudo-transparency = false | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |
@ -0,0 +1,15 @@ | |||||
#!/usr/bin/env bash | |||||
# Add this script to your wm startup file. | |||||
DIR="$HOME/.config/polybar/cuts" | |||||
# Terminate already running bar instances | |||||
killall -q polybar | |||||
# Wait until the processes have been shut down | |||||
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done | |||||
# Launch the bar | |||||
polybar -q top -c "$DIR"/config.ini & | |||||
polybar -q bottom -c "$DIR"/config.ini & |
@ -0,0 +1,323 @@ | |||||
;; ┌────────────────────────────────────────────────────────────────────┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀█░█▀▄░█▀▀░█░█░▀█▀░█▀▀░█░█░█▀▀│ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▀░█▀▄░█▀▀░▀▄▀░░█░░█▀▀░█▄█░▀▀█│ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░░░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀░▀░▀▀▀│ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ | |||||
;; └────────────────────────────────────────────────────────────────────┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Global WM Settings | |||||
[global/wm] | |||||
; Adjust the _NET_WM_STRUT_PARTIAL top value | |||||
; Used for top aligned bars | |||||
margin-bottom = 0 | |||||
; Adjust the _NET_WM_STRUT_PARTIAL bottom value | |||||
; Used for bottom aligned bars | |||||
margin-top = 0 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; File Inclusion | |||||
; include an external file, like module file, etc. | |||||
include-file = ~/.config/polybar/cuts/bars.ini | |||||
include-file = ~/.config/polybar/cuts/colors.ini | |||||
include-file = ~/.config/polybar/cuts/modules.ini | |||||
include-file = ~/.config/polybar/cuts/user_modules.ini | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Bar Settings | |||||
[bar/main] | |||||
; Use either of the following command to list available outputs: | |||||
; If unspecified, the application will pick the first one it finds. | |||||
; $ polybar -m | cut -d ':' -f 1 | |||||
; $ xrandr -q | grep " connected" | cut -d ' ' -f1 | |||||
monitor = | |||||
; Use the specified monitor as a fallback if the main one is not found. | |||||
monitor-fallback = | |||||
; Require the monitor to be in connected state | |||||
; XRandR sometimes reports my monitor as being disconnected (when in use) | |||||
monitor-strict = false | |||||
; Tell the Window Manager not to configure the window. | |||||
; Use this to detach the bar if your WM is locking its size/position. | |||||
override-redirect = false | |||||
; Put the bar at the bottom of the screen | |||||
bottom = false | |||||
; Prefer fixed center position for the `modules-center` block | |||||
; When false, the center position will be based on the size of the other blocks. | |||||
fixed-center = true | |||||
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), | |||||
; the percentage can optionally be extended with a pixel offset like so: | |||||
; 50%:-10, this will result in a width or height of 50% minus 10 pixels | |||||
width = 100% | |||||
height = 28 | |||||
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) | |||||
; the percentage can optionally be extended with a pixel offset like so: | |||||
; 50%:-10, this will result in an offset in the x or y direction | |||||
; of 50% minus 10 pixels | |||||
offset-x = 0% | |||||
offset-y = 0% | |||||
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
background = ${color.background-alt} | |||||
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
foreground = ${color.foreground} | |||||
; Background gradient (vertical steps) | |||||
; background-[0-9]+ = #aarrggbb | |||||
;;background-0 = | |||||
; Value used for drawing rounded corners | |||||
; Note: This shouldn't be used together with border-size because the border | |||||
; doesn't get rounded | |||||
; Individual top/bottom values can be defined using: | |||||
; radius-{top,bottom} | |||||
radius-top = 0.0 | |||||
radius-bottom = 0.0 | |||||
; Under-/overline pixel size and argb color | |||||
; Individual values can be defined using: | |||||
; {overline,underline}-size | |||||
; {overline,underline}-color | |||||
line-size = 2 | |||||
line-color = ${color.primary} | |||||
; Values applied to all borders | |||||
; Individual side values can be defined using: | |||||
; border-{left,top,right,bottom}-size | |||||
; border-{left,top,right,bottom}-color | |||||
; The top and bottom borders are added to the bar height, so the effective | |||||
; window height is: | |||||
; height + border-top-size + border-bottom-size | |||||
; Meanwhile the effective window width is defined entirely by the width key and | |||||
; the border is placed withing this area. So you effectively only have the | |||||
; following horizontal space on the bar: | |||||
; width - border-right-size - border-left-size | |||||
border-size = 0 | |||||
border-color = ${color.primary} | |||||
; Number of spaces to add at the beginning/end of the bar | |||||
; Individual side values can be defined using: | |||||
; padding-{left,right} | |||||
padding = 0 | |||||
; Number of spaces to add before/after each module | |||||
; Individual side values can be defined using: | |||||
; module-margin-{left,right} | |||||
module-margin-left = 0 | |||||
module-margin-right = 0 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
; Fonts are defined using <font-name>;<vertical-offset> | |||||
; Font names are specified using a fontconfig pattern. | |||||
; font-0 = NotoSans-Regular:size=8;2 | |||||
; font-1 = MaterialIcons:size=10 | |||||
; font-2 = Termsynu:size=8;-1 | |||||
; font-3 = FontAwesome:size=10 | |||||
; See the Fonts wiki page for more details | |||||
; Text Fonts | |||||
font-0 = Iosevka Nerd Font:style=Medium:size=10;4 | |||||
; Icons Fonts | |||||
font-1 = feather:style=Medium:size=12;3 | |||||
; Powerline Glyphs | |||||
font-2 = Iosevka Nerd Font:style=Medium:size=19;3 | |||||
; Larger font size for bar fill icons | |||||
font-3 = Iosevka Nerd Font:style=Medium:size=12;4 | |||||
; Smaller font size for shorter spaces | |||||
font-4 = Iosevka Nerd Font:style=Medium:size=7;4 | |||||
; Modules are added to one of the available blocks | |||||
; modules-left = cpu ram | |||||
; modules-center = xwindow xbacklight | |||||
; modules-right = ipc clock | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[bar/top] | |||||
inherit = bar/main | |||||
bottom = true | |||||
offset-y = 71 | |||||
modules-left = launcher title decor1 decor2 workspaces decor1 decor2 color-switch decor1 | |||||
modules-right = decor4 updates decor3 decor4 temperature battery keyboard decor3 decor4 date sysmenu | |||||
enable-ipc = true | |||||
[bar/mid] | |||||
inherit = bar/main | |||||
bottom = true | |||||
offset-y = 38 | |||||
modules-left = menu decor1 decor2 mpd_bar decor1 decor2 term files browser settings decor1 decor2 cpu_bar decor1 | |||||
modules-right = decor4 memory_bar decor3 decor4 alsa backlight decor3 decor4 filesystem_bar decor3 decor4 battery_bar pulseaudio decor3 decor4 powermenu | |||||
enable-ipc = true | |||||
[bar/bottom] | |||||
inherit = bar/main | |||||
bottom = true | |||||
offset-y = 5 | |||||
modules-left = mpd decor3 decor4 cpu memory filesystem decor3 | |||||
modules-right = decor2 network decor1 decor2 volume brightness | |||||
enable-ipc = true | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
; The separator will be inserted between the output of each module | |||||
separator = | |||||
; Opacity value between 0.0 and 1.0 used on fade in/out | |||||
dim-value = 1.0 | |||||
; Value to be used to set the WM_NAME atom | |||||
; If the value is empty or undefined, the atom value | |||||
; will be created from the following template: polybar-[BAR]_[MONITOR] | |||||
; NOTE: The placeholders are not available for custom values | |||||
wm-name = | |||||
; Locale used to localize various module data (e.g. date) | |||||
; Expects a valid libc locale, for example: sv_SE.UTF-8 | |||||
locale = | |||||
; Position of the system tray window | |||||
; If empty or undefined, tray support will be disabled | |||||
; NOTE: A center aligned tray will cover center aligned modules | |||||
; | |||||
; Available positions: | |||||
; left | |||||
; center | |||||
; right | |||||
; none | |||||
tray-position = none | |||||
; If true, the bar will not shift its | |||||
; contents when the tray changes | |||||
tray-detached = false | |||||
; Tray icon max size | |||||
tray-maxsize = 16 | |||||
; Background color for the tray container | |||||
; ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
; By default the tray container will use the bar | |||||
; background color. | |||||
tray-background = ${color.background-alt} | |||||
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) | |||||
tray-offset-x = 0 | |||||
tray-offset-y = 0 | |||||
; Pad the sides of each tray icon | |||||
tray-padding = 0 | |||||
; Scale factor for tray clients | |||||
tray-scale = 1.0 | |||||
; Restack the bar window and put it above the | |||||
; selected window manager's root | |||||
; | |||||
; Fixes the issue where the bar is being drawn | |||||
; on top of fullscreen window's | |||||
; | |||||
; Currently supported WM's: | |||||
; bspwm | |||||
; i3 (requires: `override-redirect = true`) | |||||
;;wm-restack = | |||||
; Set a DPI values used when rendering text | |||||
; This only affects scalable fonts | |||||
; dpi = | |||||
; Enable support for inter-process messaging | |||||
; See the Messaging wiki page for more details. | |||||
;enable-ipc = true | |||||
; Fallback click handlers that will be called if | |||||
; there's no matching module handler found. | |||||
click-left = | |||||
click-middle = | |||||
click-right = | |||||
scroll-up = | |||||
scroll-down = | |||||
double-click-left = | |||||
double-click-middle = | |||||
double-click-right = | |||||
; Requires polybar to be built with xcursor support (xcb-util-cursor) | |||||
; Possible values are: | |||||
; - default : The default pointer as before, can also be an empty string (default) | |||||
; - pointer : Typically in the form of a hand | |||||
; - ns-resize : Up and down arrows, can be used to indicate scrolling | |||||
cursor-click = | |||||
cursor-scroll = | |||||
;; WM Workspace Specific | |||||
; bspwm | |||||
;;scroll-up = bspwm-desknext | |||||
;;scroll-down = bspwm-deskprev | |||||
;;scroll-up = bspc desktop -f prev.local | |||||
;;scroll-down = bspc desktop -f next.local | |||||
;i3 | |||||
;;scroll-up = i3wm-wsnext | |||||
;;scroll-down = i3wm-wsprev | |||||
;;scroll-up = i3-msg workspace next_on_output | |||||
;;scroll-down = i3-msg workspace prev_on_output | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Application Settings | |||||
[settings] | |||||
; The throttle settings lets the eventloop swallow up til X events | |||||
; if they happen within Y millisecond after first event was received. | |||||
; This is done to prevent flood of update event. | |||||
; | |||||
; For example if 5 modules emit an update event at the same time, we really | |||||
; just care about the last one. But if we wait too long for events to swallow | |||||
; the bar would appear sluggish so we continue if timeout | |||||
; expires or limit is reached. | |||||
throttle-output = 5 | |||||
throttle-output-for = 10 | |||||
; Time in milliseconds that the input handler will wait between processing events | |||||
;throttle-input-for = 30 | |||||
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events | |||||
screenchange-reload = false | |||||
; Compositing operators | |||||
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t | |||||
compositing-background = source | |||||
compositing-foreground = over | |||||
compositing-overline = over | |||||
compositing-underline = over | |||||
compositing-border = over | |||||
; Define fallback values used by all module formats | |||||
;format-foreground = | |||||
;format-background = | |||||
;format-underline = | |||||
;format-overline = | |||||
;format-spacing = | |||||
;format-padding = | |||||
;format-margin = | |||||
;format-offset = | |||||
; Enables pseudo-transparency for the bar | |||||
; If set to true the bar can be transparent without a compositor. | |||||
pseudo-transparency = false | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |
@ -0,0 +1,14 @@ | |||||
#!/usr/bin/env bash | |||||
DIR="$HOME/.config/polybar/cuts" | |||||
# Terminate already running bar instances | |||||
killall -q polybar | |||||
# Wait until the processes have been shut down | |||||
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done | |||||
# Launch the preview bar | |||||
polybar -q top -c "$DIR"/preview.ini & | |||||
polybar -q mid -c "$DIR"/preview.ini & | |||||
polybar -q bottom -c "$DIR"/preview.ini & |
@ -0,0 +1,117 @@ | |||||
#!/usr/bin/bash | |||||
# | |||||
# checkupdates: Safely print a list of pending updates. | |||||
# | |||||
# Copyright (c) 2013 Kyle Keen <keenerd@gmail.com> | |||||
# | |||||
# This program is free software; you can redistribute it and/or modify | |||||
# it under the terms of the GNU General Public License as published by | |||||
# the Free Software Foundation; either version 2 of the License, or | |||||
# (at your option) any later version. | |||||
# | |||||
# This program is distributed in the hope that it will be useful, | |||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
# GNU General Public License for more details. | |||||
# | |||||
# You should have received a copy of the GNU General Public License | |||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |||||
# | |||||
declare -r myname='checkupdates' | |||||
declare -r myver='1.0.0' | |||||
plain() { | |||||
(( QUIET )) && return | |||||
local mesg=$1; shift | |||||
printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 | |||||
} | |||||
msg() { | |||||
(( QUIET )) && return | |||||
local mesg=$1; shift | |||||
printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 | |||||
} | |||||
msg2() { | |||||
(( QUIET )) && return | |||||
local mesg=$1; shift | |||||
printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 | |||||
} | |||||
ask() { | |||||
local mesg=$1; shift | |||||
printf "${BLUE}::${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&1 | |||||
} | |||||
warning() { | |||||
local mesg=$1; shift | |||||
printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 | |||||
} | |||||
error() { | |||||
local mesg=$1; shift | |||||
printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 | |||||
} | |||||
# check if messages are to be printed using color | |||||
unset ALL_OFF BOLD BLUE GREEN RED YELLOW | |||||
if [[ -t 2 && ! $USE_COLOR = "n" ]]; then | |||||
# prefer terminal safe colored and bold text when tput is supported | |||||
if tput setaf 0 &>/dev/null; then | |||||
ALL_OFF="$(tput sgr0)" | |||||
BOLD="$(tput bold)" | |||||
BLUE="${BOLD}$(tput setaf 4)" | |||||
GREEN="${BOLD}$(tput setaf 2)" | |||||
RED="${BOLD}$(tput setaf 1)" | |||||
YELLOW="${BOLD}$(tput setaf 3)" | |||||
else | |||||
ALL_OFF="\e[1;0m" | |||||
BOLD="\e[1;1m" | |||||
BLUE="${BOLD}\e[1;34m" | |||||
GREEN="${BOLD}\e[1;32m" | |||||
RED="${BOLD}\e[1;31m" | |||||
YELLOW="${BOLD}\e[1;33m" | |||||
fi | |||||
fi | |||||
readonly ALL_OFF BOLD BLUE GREEN RED YELLOW | |||||
if (( $# > 0 )); then | |||||
echo "${myname} v${myver}" | |||||
echo | |||||
echo "Safely print a list of pending updates" | |||||
echo | |||||
echo "Usage: ${myname}" | |||||
echo | |||||
echo 'Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.' | |||||
exit 0 | |||||
fi | |||||
if ! type -P fakeroot >/dev/null; then | |||||
error 'Cannot find the fakeroot binary.' | |||||
exit 1 | |||||
fi | |||||
if [[ -z $CHECKUPDATES_DB ]]; then | |||||
CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/" | |||||
fi | |||||
trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT | |||||
DBPath="$(pacman-conf DBPath)" | |||||
if [[ -z "$DBPath" ]] || [[ ! -d "$DBPath" ]]; then | |||||
DBPath="/var/lib/pacman/" | |||||
fi | |||||
mkdir -p "$CHECKUPDATES_DB" | |||||
ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null | |||||
if ! fakeroot -- pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then | |||||
error 'Cannot fetch updates' | |||||
exit 1 | |||||
fi | |||||
pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]' | |||||
exit 0 | |||||
# vim: set noet: |
@ -0,0 +1,55 @@ | |||||
#!/usr/bin/env bash | |||||
SDIR="$HOME/.config/polybar/cuts/scripts" | |||||
# Launch Rofi | |||||
MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \ | |||||
-theme $SDIR/rofi/styles.rasi \ | |||||
<<< " amber| blue| blue-gray| brown| cyan| deep-orange|\ | |||||
deep-purple| green| gray| indigo| blue-light| green-light|\ | |||||
lime| orange| pink| purple| red| teal| yellow| amber-dark|\ | |||||
blue-dark| blue-gray-dark| brown-dark| cyan-dark| deep-orange-dark|\ | |||||
deep-purple-dark| green-dark| gray-dark| indigo-dark| blue-light-dark|\ | |||||
green-light-dark| lime-dark| orange-dark| pink-dark| purple-dark| red-dark| teal-dark| yellow-dark|")" | |||||
case "$MENU" in | |||||
## Light Colors | |||||
*amber) "$SDIR"/colors-light.sh --amber ;; | |||||
*blue) "$SDIR"/colors-light.sh --blue ;; | |||||
*blue-gray) "$SDIR"/colors-light.sh --blue-gray ;; | |||||
*brown) "$SDIR"/colors-light.sh --brown ;; | |||||
*cyan) "$SDIR"/colors-light.sh --cyan ;; | |||||
*deep-orange) "$SDIR"/colors-light.sh --deep-orange ;; | |||||
*deep-purple) "$SDIR"/colors-light.sh --deep-purple ;; | |||||
*green) "$SDIR"/colors-light.sh --green ;; | |||||
*gray) "$SDIR"/colors-light.sh --gray ;; | |||||
*indigo) "$SDIR"/colors-light.sh --indigo ;; | |||||
*blue-light) "$SDIR"/colors-light.sh --light-blue ;; | |||||
*green-light) "$SDIR"/colors-light.sh --light-green ;; | |||||
*lime) "$SDIR"/colors-light.sh --lime ;; | |||||
*orange) "$SDIR"/colors-light.sh --orange ;; | |||||
*pink) "$SDIR"/colors-light.sh --pink ;; | |||||
*purple) "$SDIR"/colors-light.sh --purple ;; | |||||
*red) "$SDIR"/colors-light.sh --red ;; | |||||
*teal) "$SDIR"/colors-light.sh --teal ;; | |||||
*yellow) "$SDIR"/colors-light.sh --yellow ;; | |||||
## Dark Colors | |||||
*amber-dark) "$SDIR"/colors-dark.sh --amber ;; | |||||
*blue-dark) "$SDIR"/colors-dark.sh --blue ;; | |||||
*blue-gray-dark) "$SDIR"/colors-dark.sh --blue-gray ;; | |||||
*brown-dark) "$SDIR"/colors-dark.sh --brown ;; | |||||
*cyan-dark) "$SDIR"/colors-dark.sh --cyan ;; | |||||
*deep-orange-dark) "$SDIR"/colors-dark.sh --deep-orange ;; | |||||
*deep-purple-dark) "$SDIR"/colors-dark.sh --deep-purple ;; | |||||
*green-dark) "$SDIR"/colors-dark.sh --green ;; | |||||
*gray-dark) "$SDIR"/colors-dark.sh --gray ;; | |||||
*indigo-dark) "$SDIR"/colors-dark.sh --indigo ;; | |||||
*blue-light-dark) "$SDIR"/colors-dark.sh --light-blue ;; | |||||
*green-light-dark) "$SDIR"/colors-dark.sh --light-green ;; | |||||
*lime-dark) "$SDIR"/colors-dark.sh --lime ;; | |||||
*orange-dark) "$SDIR"/colors-dark.sh --orange ;; | |||||
*pink-dark) "$SDIR"/colors-dark.sh --pink ;; | |||||
*purple-dark) "$SDIR"/colors-dark.sh --purple ;; | |||||
*red-dark) "$SDIR"/colors-dark.sh --red ;; | |||||
*teal-dark) "$SDIR"/colors-dark.sh --teal ;; | |||||
*yellow-dark) "$SDIR"/colors-dark.sh --yellow | |||||
esac |
@ -0,0 +1,102 @@ | |||||
#!/usr/bin/env bash | |||||
# Color files | |||||
PFILE="$HOME/.config/polybar/cuts/colors.ini" | |||||
RFILE="$HOME/.config/polybar/cuts/scripts/rofi/colors.rasi" | |||||
BG="0a0a0a" | |||||
FG="f5f5f5" | |||||
# Change colors | |||||
change_color() { | |||||
# polybar | |||||
sed -i -e "s/background = #.*/background = #${BG}/g" $PFILE | |||||
sed -i -e "s/background-alt = #.*/background-alt = #8C${BG}/g" $PFILE | |||||
sed -i -e "s/foreground = #.*/foreground = #${FG}/g" $PFILE | |||||
sed -i -e "s/foreground-alt = #.*/foreground-alt = #33${FG}/g" $PFILE | |||||
sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE | |||||
# rofi | |||||
cat > $RFILE <<- EOF | |||||
/* colors */ | |||||
* { | |||||
al: #00000000; | |||||
bg: #${BG}BF; | |||||
bga: #${BG}FF; | |||||
fg: #${FG}FF; | |||||
ac: ${AC}FF; | |||||
se: ${AC}1A; | |||||
} | |||||
EOF | |||||
polybar-msg cmd restart | |||||
} | |||||
if [[ $1 = "--amber" ]]; then | |||||
AC="#ffb300" | |||||
change_color | |||||
elif [[ $1 = "--blue" ]]; then | |||||
AC="#1e88e5" | |||||
change_color | |||||
elif [[ $1 = "--blue-gray" ]]; then | |||||
AC="#546e7a" | |||||
change_color | |||||
elif [[ $1 = "--brown" ]]; then | |||||
AC="#6d4c41" | |||||
change_color | |||||
elif [[ $1 = "--cyan" ]]; then | |||||
AC="#00acc1" | |||||
change_color | |||||
elif [[ $1 = "--deep-orange" ]]; then | |||||
AC="#f4511e" | |||||
change_color | |||||
elif [[ $1 = "--deep-purple" ]]; then | |||||
AC="#5e35b1" | |||||
change_color | |||||
elif [[ $1 = "--green" ]]; then | |||||
AC="#43a047" | |||||
change_color | |||||
elif [[ $1 = "--gray" ]]; then | |||||
AC="#757575" | |||||
change_color | |||||
elif [[ $1 = "--indigo" ]]; then | |||||
AC="#3949ab" | |||||
change_color | |||||
elif [[ $1 = "--light-blue" ]]; then | |||||
AC="#039be5" | |||||
change_color | |||||
elif [[ $1 = "--light-green" ]]; then | |||||
AC="#7cb342" | |||||
change_color | |||||
elif [[ $1 = "--lime" ]]; then | |||||
AC="#c0ca33" | |||||
change_color | |||||
elif [[ $1 = "--orange" ]]; then | |||||
AC="#fb8c00" | |||||
change_color | |||||
elif [[ $1 = "--pink" ]]; then | |||||
AC="#d81b60" | |||||
change_color | |||||
elif [[ $1 = "--purple" ]]; then | |||||
AC="#8e24aa" | |||||
change_color | |||||
elif [[ $1 = "--red" ]]; then | |||||
AC="#e53935" | |||||
change_color | |||||
elif [[ $1 = "--teal" ]]; then | |||||
AC="#00897b" | |||||
change_color | |||||
elif [[ $1 = "--yellow" ]]; then | |||||
AC="#fdd835" | |||||
change_color | |||||
else | |||||
cat <<- _EOF_ | |||||
No option specified, Available options: | |||||
--amber --blue --blue-gray --brown | |||||
--cyan --deep-orange --deep-purple --green | |||||
--gray --indigo --light-blue --light-green | |||||
--lime --orange --pink --purple | |||||
--red --teal --yellow | |||||
_EOF_ | |||||
fi |
@ -0,0 +1,102 @@ | |||||
#!/usr/bin/env bash | |||||
# Color files | |||||
PFILE="$HOME/.config/polybar/cuts/colors.ini" | |||||
RFILE="$HOME/.config/polybar/cuts/scripts/rofi/colors.rasi" | |||||
BG="FFFFFF" | |||||
FG="0A0A0A" | |||||
# Change colors | |||||
change_color() { | |||||
# polybar | |||||
sed -i -e "s/background = #.*/background = #${BG}/g" $PFILE | |||||
sed -i -e "s/background-alt = #.*/background-alt = #8C${BG}/g" $PFILE | |||||
sed -i -e "s/foreground = #.*/foreground = #${FG}/g" $PFILE | |||||
sed -i -e "s/foreground-alt = #.*/foreground-alt = #33${FG}/g" $PFILE | |||||
sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE | |||||
# rofi | |||||
cat > $RFILE <<- EOF | |||||
/* colors */ | |||||
* { | |||||
al: #00000000; | |||||
bg: #${BG}BF; | |||||
bga: #${BG}FF; | |||||
fg: #${FG}FF; | |||||
ac: ${AC}FF; | |||||
se: ${AC}1A; | |||||
} | |||||
EOF | |||||
polybar-msg cmd restart | |||||
} | |||||
if [[ $1 = "--amber" ]]; then | |||||
AC="#ffb300" | |||||
change_color | |||||
elif [[ $1 = "--blue" ]]; then | |||||
AC="#1e88e5" | |||||
change_color | |||||
elif [[ $1 = "--blue-gray" ]]; then | |||||
AC="#546e7a" | |||||
change_color | |||||
elif [[ $1 = "--brown" ]]; then | |||||
AC="#6d4c41" | |||||
change_color | |||||
elif [[ $1 = "--cyan" ]]; then | |||||
AC="#00acc1" | |||||
change_color | |||||
elif [[ $1 = "--deep-orange" ]]; then | |||||
AC="#f4511e" | |||||
change_color | |||||
elif [[ $1 = "--deep-purple" ]]; then | |||||
AC="#5e35b1" | |||||
change_color | |||||
elif [[ $1 = "--green" ]]; then | |||||
AC="#43a047" | |||||
change_color | |||||
elif [[ $1 = "--gray" ]]; then | |||||
AC="#757575" | |||||
change_color | |||||
elif [[ $1 = "--indigo" ]]; then | |||||
AC="#3949ab" | |||||
change_color | |||||
elif [[ $1 = "--light-blue" ]]; then | |||||
AC="#039be5" | |||||
change_color | |||||
elif [[ $1 = "--light-green" ]]; then | |||||
AC="#7cb342" | |||||
change_color | |||||
elif [[ $1 = "--lime" ]]; then | |||||
AC="#c0ca33" | |||||
change_color | |||||
elif [[ $1 = "--orange" ]]; then | |||||
AC="#fb8c00" | |||||
change_color | |||||
elif [[ $1 = "--pink" ]]; then | |||||
AC="#d81b60" | |||||
change_color | |||||
elif [[ $1 = "--purple" ]]; then | |||||
AC="#8e24aa" | |||||
change_color | |||||
elif [[ $1 = "--red" ]]; then | |||||
AC="#e53935" | |||||
change_color | |||||
elif [[ $1 = "--teal" ]]; then | |||||
AC="#00897b" | |||||
change_color | |||||
elif [[ $1 = "--yellow" ]]; then | |||||
AC="#fdd835" | |||||
change_color | |||||
else | |||||
cat <<- _EOF_ | |||||
No option specified, Available options: | |||||
--amber --blue --blue-gray --brown | |||||
--cyan --deep-orange --deep-purple --green | |||||
--gray --indigo --light-blue --light-green | |||||
--lime --orange --pink --purple | |||||
--red --teal --yellow | |||||
_EOF_ | |||||
fi |
@ -0,0 +1,3 @@ | |||||
#!/usr/bin/env bash | |||||
rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/cuts/scripts/rofi/launcher.rasi |
@ -0,0 +1,94 @@ | |||||
#!/usr/bin/env bash | |||||
## Author : Aditya Shakya | |||||
## Mail : adi1090x@gmail.com | |||||
## Github : @adi1090x | |||||
## Twitter : @adi1090x | |||||
dir="~/.config/polybar/cuts/scripts/rofi" | |||||
uptime=$(uptime -p | sed -e 's/up //g') | |||||
rofi_command="rofi -theme $dir/powermenu.rasi" | |||||
# Options | |||||
shutdown=" Shutdown" | |||||
reboot=" Restart" | |||||
lock=" Lock" | |||||
suspend=" Sleep" | |||||
logout=" Logout" | |||||
# Confirmation | |||||
confirm_exit() { | |||||
rofi -dmenu\ | |||||
-i\ | |||||
-no-fixed-num-lines\ | |||||
-p "Are You Sure? : "\ | |||||
-theme $dir/confirm.rasi | |||||
} | |||||
# Message | |||||
msg() { | |||||
rofi -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n" | |||||
} | |||||
# Variable passed to rofi | |||||
options="$lock\n$suspend\n$logout\n$reboot\n$shutdown" | |||||
chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 0)" | |||||
case $chosen in | |||||
$shutdown) | |||||
ans=$(confirm_exit &) | |||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then | |||||
systemctl poweroff | |||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then | |||||
exit 0 | |||||
else | |||||
msg | |||||
fi | |||||
;; | |||||
$reboot) | |||||
ans=$(confirm_exit &) | |||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then | |||||
systemctl reboot | |||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then | |||||
exit 0 | |||||
else | |||||
msg | |||||
fi | |||||
;; | |||||
$lock) | |||||
if [[ -f /usr/bin/i3lock ]]; then | |||||
i3lock | |||||
elif [[ -f /usr/bin/betterlockscreen ]]; then | |||||
betterlockscreen -l | |||||
fi | |||||
;; | |||||
$suspend) | |||||
ans=$(confirm_exit &) | |||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then | |||||
mpc -q pause | |||||
amixer set Master mute | |||||
systemctl suspend | |||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then | |||||
exit 0 | |||||
else | |||||
msg | |||||
fi | |||||
;; | |||||
$logout) | |||||
ans=$(confirm_exit &) | |||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then | |||||
if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then | |||||
openbox --exit | |||||
elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then | |||||
bspc quit | |||||
elif [[ "$DESKTOP_SESSION" == "i3" ]]; then | |||||
i3-msg exit | |||||
fi | |||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then | |||||
exit 0 | |||||
else | |||||
msg | |||||
fi | |||||
;; | |||||
esac |
@ -0,0 +1,59 @@ | |||||
#!/usr/bin/env bash | |||||
# Color files | |||||
PFILE="$HOME/.config/polybar/cuts/colors.ini" | |||||
RFILE="$HOME/.config/polybar/cuts/scripts/rofi/colors.rasi" | |||||
# Get colors | |||||
pywal_get() { | |||||
wal -i "$1" -q -t | |||||
} | |||||
# Change colors | |||||
change_color() { | |||||
# polybar | |||||
sed -i -e "s/background = #.*/background = #${BG}/g" $PFILE | |||||
sed -i -e "s/background-alt = #.*/background-alt = #8C${BG}/g" $PFILE | |||||
sed -i -e "s/foreground = #.*/foreground = #${FG}/g" $PFILE | |||||
sed -i -e "s/foreground-alt = #.*/foreground-alt = #33${FG}/g" $PFILE | |||||
sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE | |||||
# rofi | |||||
cat > $RFILE <<- EOF | |||||
/* colors */ | |||||
* { | |||||
al: #00000000; | |||||
bg: #${BG}BF; | |||||
bga: #${BG}FF; | |||||
fg: #${FG}FF; | |||||
ac: ${AC}FF; | |||||
se: ${AC}1A; | |||||
} | |||||
EOF | |||||
polybar-msg cmd restart | |||||
} | |||||
# Main | |||||
if [[ -f "/usr/bin/wal" ]]; then | |||||
if [[ "$1" ]]; then | |||||
pywal_get "$1" | |||||
# Source the pywal color file | |||||
. "$HOME/.cache/wal/colors.sh" | |||||
BGC=`printf "%s\n" "$background"` | |||||
BG=${BGC:1} | |||||
FGC=`printf "%s\n" "$foreground"` | |||||
FG=${FGC:1} | |||||
AC=`printf "%s\n" "$color1"` | |||||
change_color | |||||
else | |||||
echo -e "[!] Please enter the path to wallpaper. \n" | |||||
echo "Usage : ./pywal.sh path/to/image" | |||||
fi | |||||
else | |||||
echo "[!] 'pywal' is not installed." | |||||
fi |
@ -0,0 +1,91 @@ | |||||
#!/usr/bin/env bash | |||||
# Color files | |||||
PFILE="$HOME/.config/polybar/cuts/colors.ini" | |||||
RFILE="$HOME/.config/polybar/cuts/scripts/rofi/colors.rasi" | |||||
# Change colors | |||||
change_color() { | |||||
# polybar | |||||
sed -i -e "s/background = #.*/background = #${BG}/g" $PFILE | |||||
sed -i -e "s/background-alt = #.*/background-alt = #8C${BG}/g" $PFILE | |||||
sed -i -e "s/foreground = #.*/foreground = #${FG}/g" $PFILE | |||||
sed -i -e "s/foreground-alt = #.*/foreground-alt = #33${FG}/g" $PFILE | |||||
sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE | |||||
# rofi | |||||
cat > $RFILE <<- EOF | |||||
/* colors */ | |||||
* { | |||||
al: #00000000; | |||||
bg: #${BG}BF; | |||||
bga: #${BG}FF; | |||||
fg: #${FG}FF; | |||||
ac: ${AC}FF; | |||||
se: ${AC}1A; | |||||
} | |||||
EOF | |||||
polybar-msg cmd restart | |||||
} | |||||
get_random_number() { | |||||
RNUM=$(( ($RANDOM % $1) + 1 )) | |||||
} | |||||
get_random_color() { | |||||
RCOLOR="#" | |||||
for i in 1 2 3 4 5 6 | |||||
do | |||||
get_random_number "16" | |||||
case $RNUM in | |||||
"1") NEXTDIGIT="1";; | |||||
"2") NEXTDIGIT="2";; | |||||
"3") NEXTDIGIT="3";; | |||||
"4") NEXTDIGIT="4";; | |||||
"5") NEXTDIGIT="5";; | |||||
"6") NEXTDIGIT="6";; | |||||
"7") NEXTDIGIT="7";; | |||||
"8") NEXTDIGIT="8";; | |||||
"9") NEXTDIGIT="9";; | |||||
"10") NEXTDIGIT="A";; | |||||
"11") NEXTDIGIT="B";; | |||||
"12") NEXTDIGIT="C";; | |||||
"13") NEXTDIGIT="D";; | |||||
"14") NEXTDIGIT="E";; | |||||
"15") NEXTDIGIT="F";; | |||||
"16") NEXTDIGIT="0";; | |||||
esac | |||||
RCOLOR="$RCOLOR$NEXTDIGIT" | |||||
done | |||||
echo $RCOLOR | |||||
} | |||||
hex_to_rgb() { | |||||
# Convert a hex value WITHOUT the hashtag (#) | |||||
R=$(printf "%d" 0x${1:0:2}) | |||||
G=$(printf "%d" 0x${1:2:2}) | |||||
B=$(printf "%d" 0x${1:4:2}) | |||||
} | |||||
get_fg_color(){ | |||||
INTENSITY=$(calc "$R*0.299 + $G*0.587 + $B*0.114") | |||||
if [ $(echo "$INTENSITY>186" | bc) -eq 1 ]; then | |||||
FG="0a0a0a" | |||||
AC="#0a0a0a" | |||||
else | |||||
FG="F5F5F5" | |||||
AC="#F5F5F5" | |||||
fi | |||||
} | |||||
# Main | |||||
BGC=`get_random_color` | |||||
BG=${BGC:1} | |||||
HEX=$BG | |||||
hex_to_rgb $HEX | |||||
get_fg_color | |||||
change_color |
@ -0,0 +1,10 @@ | |||||
/* colors */ | |||||
* { | |||||
al: #00000000; | |||||
bg: #0a0a0aBF; | |||||
bga: #0a0a0aFF; | |||||
fg: #f5f5f5FF; | |||||
ac: #fdd835FF; | |||||
se: #fdd8351A; | |||||
} |
@ -0,0 +1,25 @@ | |||||
/* Confirm Dialog */ | |||||
@import "colors.rasi" | |||||
* { | |||||
background-color: @bga; | |||||
text-color: @fg; | |||||
font: "Iosevka Nerd Font 10"; | |||||
} | |||||
window { | |||||
width: 225px; | |||||
padding: 25px; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
location: center; | |||||
y-offset: -2em; | |||||
} | |||||
entry { | |||||
expand: true; | |||||
text-color: @ac; | |||||
} | |||||
@ -0,0 +1,115 @@ | |||||
/* | |||||
* | |||||
* Author : Aditya Shakya | |||||
* Mail : adi1090x@gmail.com | |||||
* Github : @adi1090x | |||||
* Twitter : @adi1090x | |||||
* | |||||
*/ | |||||
configuration { | |||||
font: "Iosevka Nerd Font 10"; | |||||
show-icons: true; | |||||
icon-theme: "Papirus"; | |||||
display-drun: ""; | |||||
drun-display-format: "{name}"; | |||||
disable-history: false; | |||||
fullscreen: false; | |||||
hide-scrollbar: true; | |||||
sidebar-mode: false; | |||||
} | |||||
@import "colors.rasi" | |||||
window { | |||||
transparency: "real"; | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
border: 0px; | |||||
border-color: @ac; | |||||
border-radius: 0px; | |||||
width: 500px; | |||||
location: center; | |||||
x-offset: 0; | |||||
y-offset: 0; | |||||
} | |||||
prompt { | |||||
enabled: true; | |||||
padding: 0px; | |||||
background-color: @al; | |||||
text-color: @ac; | |||||
font: "feather 12"; | |||||
} | |||||
entry { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
placeholder-color: @fg; | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
placeholder: "Search..."; | |||||
padding: 0px 0px 0px 8px; | |||||
blink: true; | |||||
} | |||||
inputbar { | |||||
children: [ prompt, entry ]; | |||||
background-color: @bga; | |||||
text-color: @fg; | |||||
expand: false; | |||||
border: 0px 0px 0px 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
margin: 0px; | |||||
padding: 12px; | |||||
} | |||||
listview { | |||||
background-color: @al; | |||||
padding: 0px; | |||||
columns: 1; | |||||
lines: 6; | |||||
spacing: 5px; | |||||
cycle: true; | |||||
dynamic: true; | |||||
layout: vertical; | |||||
} | |||||
mainbox { | |||||
background-color: @al; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
children: [ inputbar, listview ]; | |||||
spacing: 0px; | |||||
padding: 0px; | |||||
} | |||||
element { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
orientation: horizontal; | |||||
border-radius: 0px; | |||||
padding: 8px; | |||||
} | |||||
element-icon { | |||||
size: 24px; | |||||
border: 0px; | |||||
} | |||||
element-text { | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
vertical-align: 0.5; | |||||
margin: 0px 2.5px 0px 2.5px; | |||||
} | |||||
element selected { | |||||
background-color: @se; | |||||
text-color: @fg; | |||||
border: 0px 0px 0px 2px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
} |
@ -0,0 +1,24 @@ | |||||
/* Confirm Dialog */ | |||||
@import "colors.rasi" | |||||
* { | |||||
background-color: @bga; | |||||
text-color: @fg; | |||||
font: "Iosevka Nerd Font 10"; | |||||
} | |||||
window { | |||||
width: 320px; | |||||
padding: 25px; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
location: center; | |||||
y-offset: -2em; | |||||
} | |||||
entry { | |||||
expand: true; | |||||
text-color: @ac; | |||||
} |
@ -0,0 +1,123 @@ | |||||
/* | |||||
* | |||||
* Author : Aditya Shakya | |||||
* Mail : adi1090x@gmail.com | |||||
* Github : @adi1090x | |||||
* Twitter : @adi1090x | |||||
* | |||||
*/ | |||||
configuration { | |||||
font: "Iosevka Nerd Font 10"; | |||||
show-icons: true; | |||||
icon-theme: "Papirus"; | |||||
display-drun: ""; | |||||
drun-display-format: "{name}"; | |||||
disable-history: false; | |||||
fullscreen: false; | |||||
hide-scrollbar: true; | |||||
sidebar-mode: false; | |||||
} | |||||
@import "colors.rasi" | |||||
window { | |||||
transparency: "real"; | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
border: 0px; | |||||
border-color: @ac; | |||||
border-radius: 0px; | |||||
width: 400px; | |||||
location: center; | |||||
x-offset: 0; | |||||
y-offset: 0; | |||||
} | |||||
prompt { | |||||
enabled: true; | |||||
padding: 0px 0px 0px 5px; | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
} | |||||
textbox-prompt-colon { | |||||
padding: 0px 0px 0px 2px; | |||||
background-color: @al; | |||||
text-color: @ac; | |||||
expand: false; | |||||
str: ""; | |||||
font: "feather 12"; | |||||
} | |||||
entry { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
placeholder-color: @fg; | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
placeholder: "Search..."; | |||||
padding: 0px; | |||||
blink: true; | |||||
} | |||||
inputbar { | |||||
children: [ textbox-prompt-colon, prompt ]; | |||||
background-color: @bga; | |||||
text-color: @fg; | |||||
expand: false; | |||||
border: 0px 0px 0px 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
margin: 0px; | |||||
padding: 12px; | |||||
} | |||||
listview { | |||||
background-color: @al; | |||||
padding: 0px; | |||||
columns: 1; | |||||
lines: 8; | |||||
spacing: 0px; | |||||
cycle: true; | |||||
dynamic: true; | |||||
layout: vertical; | |||||
} | |||||
mainbox { | |||||
background-color: @al; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
children: [ inputbar, listview ]; | |||||
spacing: 0px; | |||||
padding: 0px; | |||||
} | |||||
element { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
orientation: horizontal; | |||||
border-radius: 0px; | |||||
padding: 8px 8px 8px -15px; | |||||
} | |||||
element-icon { | |||||
size: 24px; | |||||
border: 0px; | |||||
} | |||||
element-text { | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
vertical-align: 0.5; | |||||
margin: 0px 2.5px 0px 2.5px; | |||||
} | |||||
element selected { | |||||
background-color: @se; | |||||
text-color: @fg; | |||||
border: 0px 0px 0px 2px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
} |
@ -0,0 +1,123 @@ | |||||
/* | |||||
* | |||||
* Author : Aditya Shakya | |||||
* Mail : adi1090x@gmail.com | |||||
* Github : @adi1090x | |||||
* Twitter : @adi1090x | |||||
* | |||||
*/ | |||||
configuration { | |||||
font: "Iosevka Nerd Font 10"; | |||||
show-icons: true; | |||||
icon-theme: "Papirus"; | |||||
display-drun: ""; | |||||
drun-display-format: "{name}"; | |||||
disable-history: false; | |||||
fullscreen: false; | |||||
hide-scrollbar: true; | |||||
sidebar-mode: false; | |||||
} | |||||
@import "colors.rasi" | |||||
window { | |||||
transparency: "real"; | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
border: 0px; | |||||
border-color: @ac; | |||||
border-radius: 0px; | |||||
width: 300px; | |||||
location: center; | |||||
x-offset: 0; | |||||
y-offset: 0; | |||||
} | |||||
prompt { | |||||
enabled: true; | |||||
padding: 0px 0px 0px 5px; | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
} | |||||
textbox-prompt-colon { | |||||
padding: 0px 0px 0px 2px; | |||||
background-color: @al; | |||||
text-color: @ac; | |||||
expand: false; | |||||
str: ""; | |||||
font: "feather 12"; | |||||
} | |||||
entry { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
placeholder-color: @fg; | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
placeholder: "Search..."; | |||||
padding: 0px; | |||||
blink: true; | |||||
} | |||||
inputbar { | |||||
children: [ textbox-prompt-colon, prompt ]; | |||||
background-color: @bga; | |||||
text-color: @fg; | |||||
expand: false; | |||||
border: 0px 0px 0px 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
margin: 0px; | |||||
padding: 12px; | |||||
} | |||||
listview { | |||||
background-color: @al; | |||||
padding: 0px; | |||||
columns: 1; | |||||
lines: 5; | |||||
spacing: 0px; | |||||
cycle: true; | |||||
dynamic: true; | |||||
layout: vertical; | |||||
} | |||||
mainbox { | |||||
background-color: @al; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
children: [ inputbar, listview ]; | |||||
spacing: 0px; | |||||
padding: 0px; | |||||
} | |||||
element { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
orientation: horizontal; | |||||
border-radius: 0px; | |||||
padding: 8px 8px 8px -15px; | |||||
} | |||||
element-icon { | |||||
size: 24px; | |||||
border: 0px; | |||||
} | |||||
element-text { | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
vertical-align: 0.5; | |||||
margin: 0px 2.5px 0px 2.5px; | |||||
} | |||||
element selected { | |||||
background-color: @se; | |||||
text-color: @fg; | |||||
border: 0px 0px 0px 2px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
} |
@ -0,0 +1,123 @@ | |||||
/* | |||||
* | |||||
* Author : Aditya Shakya | |||||
* Mail : adi1090x@gmail.com | |||||
* Github : @adi1090x | |||||
* Twitter : @adi1090x | |||||
* | |||||
*/ | |||||
configuration { | |||||
font: "Iosevka Nerd Font 10"; | |||||
show-icons: true; | |||||
icon-theme: "Papirus"; | |||||
display-drun: ""; | |||||
drun-display-format: "{name}"; | |||||
disable-history: false; | |||||
fullscreen: false; | |||||
hide-scrollbar: true; | |||||
sidebar-mode: false; | |||||
} | |||||
@import "colors.rasi" | |||||
window { | |||||
transparency: "real"; | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
border: 0px; | |||||
border-color: @ac; | |||||
border-radius: 0px; | |||||
width: 300px; | |||||
location: center; | |||||
x-offset: 0; | |||||
y-offset: 0; | |||||
} | |||||
prompt { | |||||
enabled: true; | |||||
padding: 0px 0px 0px 5px; | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
} | |||||
textbox-prompt-colon { | |||||
padding: 0px 0px 0px 2px; | |||||
background-color: @al; | |||||
text-color: @ac; | |||||
expand: false; | |||||
str: ""; | |||||
font: "feather 12"; | |||||
} | |||||
entry { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
placeholder-color: @fg; | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
placeholder: "Search..."; | |||||
padding: 0px 0px 0px 5px; | |||||
blink: true; | |||||
} | |||||
inputbar { | |||||
children: [ textbox-prompt-colon, entry ]; | |||||
background-color: @bga; | |||||
text-color: @fg; | |||||
expand: false; | |||||
border: 0px 0px 0px 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
margin: 0px; | |||||
padding: 12px; | |||||
} | |||||
listview { | |||||
background-color: @al; | |||||
padding: 0px; | |||||
columns: 1; | |||||
lines: 5; | |||||
spacing: 0px; | |||||
cycle: true; | |||||
dynamic: true; | |||||
layout: vertical; | |||||
} | |||||
mainbox { | |||||
background-color: @al; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
children: [ inputbar, listview ]; | |||||
spacing: 0px; | |||||
padding: 0px; | |||||
} | |||||
element { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
orientation: horizontal; | |||||
border-radius: 0px; | |||||
padding: 8px 8px 8px -15px; | |||||
} | |||||
element-icon { | |||||
size: 24px; | |||||
border: 0px; | |||||
} | |||||
element-text { | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
vertical-align: 0.5; | |||||
margin: 0px 2.5px 0px 2.5px; | |||||
} | |||||
element selected { | |||||
background-color: @se; | |||||
text-color: @fg; | |||||
border: 0px 0px 0px 2px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
} |
@ -0,0 +1,20 @@ | |||||
#!/usr/bin/env bash | |||||
SDIR="$HOME/.config/polybar/cuts/scripts" | |||||
# Launch Rofi | |||||
MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \ | |||||
-theme $SDIR/rofi/styles.rasi \ | |||||
<<< " Black| Adapta| Dark| Red| Green| Teal| Gruvbox| Nord| Solarized| Cherry|")" | |||||
case "$MENU" in | |||||
*Black) "$SDIR"/styles.sh --mode1 ;; | |||||
*Adapta) "$SDIR"/styles.sh --mode2 ;; | |||||
*Dark) "$SDIR"/styles.sh --mode3 ;; | |||||
*Red) "$SDIR"/styles.sh --mode4 ;; | |||||
*Green) "$SDIR"/styles.sh --mode5 ;; | |||||
*Teal) "$SDIR"/styles.sh --mode6 ;; | |||||
*Gruvbox) "$SDIR"/styles.sh --mode7 ;; | |||||
*Nord) "$SDIR"/styles.sh --mode8 ;; | |||||
*Solarized) "$SDIR"/styles.sh --mode9 ;; | |||||
*Cherry) "$SDIR"/styles.sh --mode10 ;; | |||||
esac |
@ -0,0 +1,89 @@ | |||||
#!/usr/bin/env bash | |||||
# Color files | |||||
PFILE="$HOME/.config/polybar/cuts/colors.ini" | |||||
RFILE="$HOME/.config/polybar/cuts/scripts/rofi/colors.rasi" | |||||
# Change colors | |||||
change_color() { | |||||
# polybar | |||||
sed -i -e "s/background = #.*/background = #${BG}/g" $PFILE | |||||
sed -i -e "s/background-alt = #.*/background-alt = #8C${BG}/g" $PFILE | |||||
sed -i -e "s/foreground = #.*/foreground = #${FG}/g" $PFILE | |||||
sed -i -e "s/foreground-alt = #.*/foreground-alt = #33${FG}/g" $PFILE | |||||
sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE | |||||
# rofi | |||||
cat > $RFILE <<- EOF | |||||
/* colors */ | |||||
* { | |||||
al: #00000000; | |||||
bg: #${BG}BF; | |||||
bga: #${BG}FF; | |||||
fg: #${FG}FF; | |||||
ac: ${AC}FF; | |||||
se: ${AC}1A; | |||||
} | |||||
EOF | |||||
polybar-msg cmd restart | |||||
} | |||||
if [[ $1 = "--mode1" ]]; then | |||||
BG="0a0a0a" | |||||
FG="f5f5f5" | |||||
AC="#fdd835" | |||||
change_color | |||||
elif [[ $1 = "--mode2" ]]; then | |||||
BG="263238" | |||||
FG="DFDFDF" | |||||
AC="#00BCD4" | |||||
change_color | |||||
elif [[ $1 = "--mode3" ]]; then | |||||
BG="112526" | |||||
FG="C4AAA5" | |||||
AC="#EE7313" | |||||
change_color | |||||
elif [[ $1 = "--mode4" ]]; then | |||||
BG="461320" | |||||
FG="f5f5f5" | |||||
AC="#fdd835" | |||||
change_color | |||||
elif [[ $1 = "--mode5" ]]; then | |||||
BG="092F1C" | |||||
FG="f5f5f5" | |||||
AC="#fdd835" | |||||
change_color | |||||
elif [[ $1 = "--mode6" ]]; then | |||||
BG="003C3C" | |||||
FG="CFCFCF" | |||||
AC="#00acc1" | |||||
change_color | |||||
elif [[ $1 = "--mode7" ]]; then | |||||
BG="3C3836" | |||||
FG="EBDBB2" | |||||
AC="#FB4934" | |||||
change_color | |||||
elif [[ $1 = "--mode8" ]]; then | |||||
BG="2E3440" | |||||
FG="D8DEE9" | |||||
AC="#BF616A" | |||||
change_color | |||||
elif [[ $1 = "--mode9" ]]; then | |||||
BG="002b36" | |||||
FG="839496" | |||||
AC="#b58900" | |||||
change_color | |||||
elif [[ $1 = "--mode10" ]]; then | |||||
BG="1F1626" | |||||
FG="FFFFFF" | |||||
AC="#FFD16F" | |||||
change_color | |||||
else | |||||
cat <<- _EOF_ | |||||
No option specified, Available options: | |||||
--mode1 --mode2 --mode3 --mode4 --mode5 | |||||
--mode6 --mode7 --mode8 --mode9 --mode10 | |||||
_EOF_ | |||||
fi |
@ -0,0 +1,45 @@ | |||||
#!/usr/bin/env bash | |||||
NOTIFY_ICON=/usr/share/icons/Papirus/32x32/apps/system-software-update.svg | |||||
get_total_updates() { UPDATES=$(checkupdates 2>/dev/null | wc -l); } | |||||
while true; do | |||||
get_total_updates | |||||
# notify user of updates | |||||
if hash notify-send &>/dev/null; then | |||||
if (( UPDATES > 50 )); then | |||||
notify-send -u critical -i $NOTIFY_ICON \ | |||||
"You really need to update!!" "$UPDATES New packages" | |||||
elif (( UPDATES > 25 )); then | |||||
notify-send -u normal -i $NOTIFY_ICON \ | |||||
"You should update soon" "$UPDATES New packages" | |||||
elif (( UPDATES > 2 )); then | |||||
notify-send -u low -i $NOTIFY_ICON \ | |||||
"$UPDATES New packages" | |||||
fi | |||||
fi | |||||
# when there are updates available | |||||
# every 10 seconds another check for updates is done | |||||
while (( UPDATES > 0 )); do | |||||
if (( UPDATES == 1 )); then | |||||
echo " $UPDATES" | |||||
elif (( UPDATES > 1 )); then | |||||
echo " $UPDATES" | |||||
else | |||||
echo " None" | |||||
fi | |||||
sleep 10 | |||||
get_total_updates | |||||
done | |||||
# when no updates are available, use a longer loop, this saves on CPU | |||||
# and network uptime, only checking once every 30 min for new updates | |||||
while (( UPDATES == 0 )); do | |||||
echo " None" | |||||
sleep 1800 | |||||
get_total_updates | |||||
done | |||||
done |
@ -0,0 +1,267 @@ | |||||
;; ┌──────────────────────────────────────────────────────────────────────────────-----┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█░█░█▀▀░█▀▀░█▀▄░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀ │ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░▀▀█░█▀▀░█▀▄░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█ │ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀░▀░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀ │ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ | |||||
;; └──────────────────────────────────────────────────────────────────────────────-----┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/updates] | |||||
type = custom/script | |||||
; Available tokens: | |||||
; %counter% | |||||
; Command to be executed (using "/usr/bin/env sh -c [command]") | |||||
exec = ~/.config/polybar/cuts/scripts/updates.sh | |||||
; Conditional command that, if defined, needs to exit successfully | |||||
; before the main exec command is invoked. | |||||
; Default: "" | |||||
;;exec-if = "" | |||||
; Will the script output continous content? | |||||
; Default: false | |||||
tail = true | |||||
; Seconds to sleep between updates | |||||
; Default: 2 (0 if `tail = true`) | |||||
interval = 5 | |||||
; Available tags: | |||||
; <output> - deprecated | |||||
; <label> (default) | |||||
format = <label> | |||||
format-prefix = | |||||
format-background = ${color.background} | |||||
format-padding = 1 | |||||
; Available tokens: | |||||
; %output% | |||||
; Default: %output% | |||||
label = %output% | |||||
; Available tokens: | |||||
; %counter% | |||||
; %pid% | |||||
; | |||||
; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c [command]" | |||||
click-left = exo-open --launch TerminalEmulator & | |||||
click-right = exo-open --launch TerminalEmulator & | |||||
;;double-click-left = echo double left %counter% | |||||
;;double-click-middle = echo double middle %counter% | |||||
;;double-click-right = echo double right %counter% | |||||
; Available tokens: | |||||
; %counter% | |||||
; %pid% | |||||
; | |||||
; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c [command]" | |||||
;;scroll-up = echo scroll up %counter% | |||||
;;scroll-down = echo scroll down %counter% | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/launcher] | |||||
type = custom/text | |||||
content = | |||||
; "content" has the same properties as "format-NAME" | |||||
content-background = ${color.background} | |||||
content-foreground = ${color.primary} | |||||
content-padding = 1 | |||||
; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND" | |||||
click-left = ~/.config/polybar/cuts/scripts/launcher.sh & | |||||
;;click-middle = ~/.config/polybar/cuts/scripts/launcher-full | |||||
click-right = ~/.config/polybar/cuts/scripts/color-switch.sh & | |||||
; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND" | |||||
;;scroll-up = ~/.config/polybar/cuts/scripts/launcher.sh & | |||||
;;scroll-down = ~/.config/polybar/cuts/scripts/color-switch.sh & | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/sysmenu] | |||||
type = custom/text | |||||
content = | |||||
content-background = ${color.background} | |||||
content-foreground = ${color.primary} | |||||
content-padding = 1 | |||||
click-left = ~/.config/polybar/cuts/scripts/powermenu.sh & | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/color-switch] | |||||
type = custom/text | |||||
content = | |||||
content-background = ${color.background} | |||||
content-foreground = ${color.foreground} | |||||
content-padding = 1 | |||||
click-left = ~/.config/polybar/cuts/scripts/style-switch.sh & | |||||
click-right = ~/.config/polybar/cuts/scripts/color-switch.sh & | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/apps] | |||||
type = custom/text | |||||
content-background = ${color.background} | |||||
content-padding = 1 | |||||
[module/term] | |||||
inherit = module/apps | |||||
content = | |||||
content-foreground = #fdd835 | |||||
click-left = termite & | |||||
click-middle = urxvt & | |||||
click-right = xfce4-terminal & | |||||
[module/files] | |||||
inherit = module/apps | |||||
content-foreground = #1e88e5 | |||||
content = | |||||
click-left = thunar & | |||||
click-right = pcmanfm & | |||||
[module/browser] | |||||
inherit = module/apps | |||||
content-foreground = #fb8c00 | |||||
content = | |||||
click-left = firefox & | |||||
click-right = chromium & | |||||
[module/settings] | |||||
inherit = module/apps | |||||
content-foreground = #00897b | |||||
content = | |||||
click-left = xfce4-settings-manager & | |||||
click-right = lxappearance & | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/powermenu] | |||||
type = custom/menu | |||||
; If true, <label-toggle> will be to the left of the menu items (default). | |||||
; If false, it will be on the right of all the items. | |||||
expand-right = true | |||||
; "menu-LEVEL-N" has the same properties as "label-NAME" with | |||||
; the additional "exec" property | |||||
; | |||||
; Available exec commands: | |||||
; menu-open-LEVEL | |||||
; menu-close | |||||
; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" | |||||
menu-0-0 = reboot | |||||
menu-0-0-exec = menu-open-1 | |||||
menu-0-1 = shutdown | |||||
menu-0-1-exec = menu-open-2 | |||||
menu-1-0 = back | |||||
menu-1-0-exec = menu-open-0 | |||||
menu-1-1 = reboot | |||||
menu-1-1-exec = systemctl reboot | |||||
menu-2-0 = shutdown | |||||
menu-2-0-exec = systemctl poweroff | |||||
menu-2-1 = back | |||||
menu-2-1-exec = menu-open-0 | |||||
; Available tags: | |||||
; <label-toggle> (default) - gets replaced with <label-(open|close)> | |||||
; <menu> (default) | |||||
; Note that if you use <label-toggle> you must also include | |||||
; the definition for <label-open> | |||||
format = <label-toggle> <menu> | |||||
format-background = ${color.background} | |||||
format-padding = 1 | |||||
label-open = | |||||
label-close = | |||||
; Optional item separator | |||||
; Default: none | |||||
label-separator = " | " | |||||
label-open-foreground = ${color.primary} | |||||
label-close-foreground = ${color.primary} | |||||
;;label-separator-foreground = ${color.background} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/menu] | |||||
type = custom/menu | |||||
; If true, <label-toggle> will be to the left of the menu items (default). | |||||
; If false, it will be on the right of all the items. | |||||
expand-right = true | |||||
; "menu-LEVEL-N" has the same properties as "label-NAME" with | |||||
; the additional "exec" property | |||||
; | |||||
; Available exec commands: | |||||
; menu-open-LEVEL | |||||
; menu-close | |||||
; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" | |||||
menu-0-0 = Menu | |||||
menu-0-0-exec = ~/.config/polybar/cuts/scripts/launcher.sh & | |||||
menu-0-1 = Files | |||||
menu-0-1-exec = thunar & | |||||
menu-0-2 = Terminal | |||||
menu-0-2-exec = termite & | |||||
menu-0-3 = Browser | |||||
menu-0-3-exec = firefox & | |||||
; Available tags: | |||||
; <label-toggle> (default) - gets replaced with <label-(open|close)> | |||||
; <menu> (default) | |||||
; Note that if you use <label-toggle> you must also include | |||||
; the definition for <label-open> | |||||
format = <label-toggle> <menu> | |||||
format-background = ${color.background} | |||||
format-padding = 1 | |||||
label-open = | |||||
label-close = | |||||
; Optional item separator | |||||
; Default: none | |||||
label-separator = " | " | |||||
label-open-foreground = ${color.primary} | |||||
label-close-foreground = ${color.primary} | |||||
;;label-separator-foreground = ${color.background} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/decor-glyph] | |||||
type = custom/text | |||||
content-background = ${color.background-alt} | |||||
content-foreground = ${color.background} | |||||
[module/decor1] | |||||
inherit = module/decor-glyph | |||||
content = "%{T3}%{T-}" | |||||
[module/decor2] | |||||
inherit = module/decor-glyph | |||||
content = "%{T3}%{T-}" | |||||
[module/decor3] | |||||
inherit = module/decor-glyph | |||||
content = "%{T3}%{T-}" | |||||
[module/decor4] | |||||
inherit = module/decor-glyph | |||||
content = "%{T3}%{T-}" | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
@ -0,0 +1,498 @@ | |||||
;; ┌────────────────────────────────────────────────────┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▄░█▀█░█▀▄░█▀▀│ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▄░█▀█░█▀▄░▀▀█│ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀░░▀░▀░▀░▀░▀▀▀│ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░│ | |||||
;; └────────────────────────────────────────────────────┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[bar] | |||||
fill = | |||||
empty = | |||||
indicator = ⏽ | |||||
; Nerd font : , ⏽, 樂 籠 錄 , 雷 絛 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/volume] | |||||
type = internal/alsa | |||||
; Soundcard to be used | |||||
; Usually in the format hw:# where # is the card number | |||||
; You can find the different card numbers in `/proc/asound/cards` | |||||
master-soundcard = default | |||||
speaker-soundcard = default | |||||
headphone-soundcard = default | |||||
; Name of the master, speaker and headphone mixers | |||||
; Use the following command to list available mixer controls: | |||||
; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" | |||||
; If master, speaker or headphone-soundcard isn't the default, | |||||
; use `amixer -c # scontrols` instead where # is the number | |||||
; of the master, speaker or headphone soundcard respectively | |||||
; | |||||
; Default: Master | |||||
master-mixer = Master | |||||
; Optionally define speaker and headphone mixers | |||||
; Default: none | |||||
;;speaker-mixer = Speaker | |||||
; Default: none | |||||
;;headphone-mixer = Headphone | |||||
; NOTE: This is required if headphone_mixer is defined | |||||
; Use the following command to list available device controls | |||||
; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort | |||||
; You may also need to use `amixer -c # controls` as above for the mixer names | |||||
; Default: none | |||||
;;headphone-id = 9 | |||||
; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear | |||||
; Default: false | |||||
;;mapped = true | |||||
; Interval for volume increase/decrease (in percent points) | |||||
; Default: 5 | |||||
interval = 5 | |||||
; Available tags: | |||||
; <label-volume> (default) | |||||
; <ramp-volume> | |||||
; <bar-volume> | |||||
format-volume = <ramp-volume> <bar-volume> | |||||
; Available tags: | |||||
; <label-muted> (default) | |||||
; <ramp-volume> | |||||
; <bar-volume> | |||||
format-muted = <label-muted> | |||||
format-muted-prefix = | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
label-volume = %percentage%% | |||||
; Available tokens: | |||||
; %percentage% (default | |||||
label-muted = " Muted" | |||||
label-muted-foreground = ${color.foreground-alt} | |||||
; Only applies if <ramp-volume> is used | |||||
ramp-volume-0 = | |||||
ramp-volume-1 = | |||||
ramp-volume-2 = | |||||
; Only applies if <bar-volume> is used | |||||
bar-volume-width = 10 | |||||
bar-volume-gradient = false | |||||
bar-volume-indicator = ${bar.indicator} | |||||
bar-volume-indicator-foreground = ${color.foreground} | |||||
bar-volume-fill = ${bar.fill} | |||||
bar-volume-foreground-0 = ${color.foreground} | |||||
bar-volume-foreground-1 = ${color.foreground} | |||||
bar-volume-foreground-2 = ${color.foreground} | |||||
bar-volume-empty = ${bar.empty} | |||||
bar-volume-empty-foreground = ${color.foreground} | |||||
; If defined, it will replace <ramp-volume> when | |||||
; headphones are plugged in to `headphone_control_numid` | |||||
; If undefined, <ramp-volume> will be used for both | |||||
; Only applies if <ramp-volume> is used | |||||
ramp-headphones-0 = | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/brightness] | |||||
;type = internal/xbacklight | |||||
type = internal/backlight | |||||
; Use the following command to list available cards: | |||||
; $ ls -1 /sys/class/backlight/ | |||||
;card = intel_backlight | |||||
card = amdgpu_bl0 | |||||
; Available tags: | |||||
; <label> (default) | |||||
; <ramp> | |||||
; <bar> | |||||
format = <ramp> <bar> | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
label = %percentage%% | |||||
; Only applies if <ramp> is used | |||||
ramp-0 = | |||||
ramp-1 = | |||||
ramp-2 = | |||||
ramp-3 = | |||||
ramp-4 = | |||||
; Only applies if <bar> is used | |||||
bar-width = 10 | |||||
bar-gradient = false | |||||
bar-indicator = ${bar.indicator} | |||||
bar-indicator-foreground = ${color.foreground} | |||||
bar-fill = ${bar.fill} | |||||
bar-foreground-0 = ${color.foreground} | |||||
bar-foreground-1 = ${color.foreground} | |||||
bar-foreground-2 = ${color.foreground} | |||||
bar-empty = ${bar.empty} | |||||
bar-empty-foreground = ${color.foreground} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/battery_bar] | |||||
type = internal/battery | |||||
; This is useful in case the battery never reports 100% charge | |||||
full-at = 99 | |||||
; Use the following command to list batteries and adapters: | |||||
; $ ls -1 /sys/class/power_supply/ | |||||
battery = BAT1 | |||||
adapter = ACAD | |||||
; If an inotify event haven't been reported in this many | |||||
; seconds, manually poll for new values. | |||||
; | |||||
; Needed as a fallback for systems that don't report events | |||||
; on sysfs/procfs. | |||||
; | |||||
; Disable polling by setting the interval to 0. | |||||
; | |||||
; Default: 5 | |||||
poll-interval = 2 | |||||
; see "man date" for details on how to format the time string | |||||
; NOTE: if you want to use syntax tags here you need to use %%{...} | |||||
; Default: %H:%M:%S | |||||
time-format = %H:%M | |||||
; Available tags: | |||||
; <label-charging> (default) | |||||
; <bar-capacity> | |||||
; <ramp-capacity> | |||||
; <animation-charging> | |||||
format-charging = <bar-capacity> | |||||
format-charging-prefix = " " | |||||
; Available tags: | |||||
; <label-discharging> (default) | |||||
; <bar-capacity> | |||||
; <ramp-capacity> | |||||
; <animation-discharging> | |||||
format-discharging = <bar-capacity> | |||||
format-discharging-prefix = " " | |||||
; Available tags: | |||||
; <label-full> (default) | |||||
; <bar-capacity> | |||||
; <ramp-capacity> | |||||
format-full = <label-full> | |||||
format-full-prefix = " " | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
; %time% | |||||
; %consumption% (shows current charge rate in watts) | |||||
label-charging = %percentage%% | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
; %time% | |||||
; %consumption% (shows current discharge rate in watts) | |||||
label-discharging = %percentage%% | |||||
; Available tokens: | |||||
; %percentage% (default) | |||||
label-full = " Full" | |||||
; Only applies if <bar-capacity> is used | |||||
bar-capacity-width = 10 | |||||
bar-capacity-gradient = false | |||||
bar-capacity-indicator = ${bar.indicator} | |||||
bar-capacity-indicator-foreground = ${color.foreground} | |||||
bar-capacity-fill = ${bar.fill} | |||||
bar-capacity-foreground-0 = ${color.foreground} | |||||
bar-capacity-foreground-1 = ${color.foreground} | |||||
bar-capacity-foreground-2 = ${color.foreground} | |||||
bar-capacity-empty = ${bar.empty} | |||||
bar-capacity-empty-foreground = ${color.foreground} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/cpu_bar] | |||||
type = internal/cpu | |||||
; Seconds to sleep between updates | |||||
; Default: 1 | |||||
interval = 0.5 | |||||
; Available tags: | |||||
; <label> (default) | |||||
; <bar-load> | |||||
; <ramp-load> | |||||
; <ramp-coreload> | |||||
;;format = <label> <ramp-coreload> | |||||
format = <bar-load> <label> | |||||
format-prefix = " " | |||||
; Available tokens: | |||||
; %percentage% (default) - total cpu load averaged over all cores | |||||
; %percentage-sum% - Cumulative load on all cores | |||||
; %percentage-cores% - load percentage for each core | |||||
; %percentage-core[1-9]% - load percentage for specific core | |||||
label = "%percentage%%" | |||||
; Only applies if <bar-load> is used | |||||
bar-load-width = 10 | |||||
bar-load-gradient = false | |||||
bar-load-indicator = ${bar.indicator} | |||||
bar-load-indicator-foreground = ${color.foreground} | |||||
bar-load-fill = ${bar.fill} | |||||
bar-load-foreground-0 = ${color.foreground} | |||||
bar-load-foreground-1 = ${color.foreground} | |||||
bar-load-foreground-2 = ${color.foreground} | |||||
bar-load-empty = ${bar.empty} | |||||
bar-load-empty-foreground = ${color.foreground} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/filesystem_bar] | |||||
type = internal/fs | |||||
; Mountpoints to display | |||||
mount-0 = / | |||||
;;mount-1 = /home | |||||
;;mount-2 = /var | |||||
; Seconds to sleep between updates | |||||
; Default: 30 | |||||
interval = 30 | |||||
; Display fixed precision values | |||||
; Default: false | |||||
fixed-values = false | |||||
; Spacing between entries | |||||
; Default: 2 | |||||
;;spacing = 4 | |||||
; Available tags: | |||||
; <label-mounted> (default) | |||||
; <bar-free> | |||||
; <bar-used> | |||||
; <ramp-capacity> | |||||
format-mounted = <bar-used> <label-mounted> | |||||
format-mounted-prefix = " " | |||||
; Available tags: | |||||
; <label-unmounted> (default) | |||||
format-unmounted = <label-unmounted> | |||||
format-unmounted-prefix = " " | |||||
; Available tokens: | |||||
; %mountpoint% | |||||
; %type% | |||||
; %fsname% | |||||
; %percentage_free% | |||||
; %percentage_used% | |||||
; %total% | |||||
; %free% | |||||
; %used% | |||||
; Default: %mountpoint% %percentage_free%% | |||||
label-mounted = %used%/%total% | |||||
; Available tokens: | |||||
; %mountpoint% | |||||
; Default: %mountpoint% is not mounted | |||||
label-unmounted = "%mountpoint%: not mounted" | |||||
; Only applies if <bar-used> is used | |||||
bar-used-width = 10 | |||||
bar-used-gradient = false | |||||
bar-used-indicator = ${bar.indicator} | |||||
bar-used-indicator-foreground = ${color.foreground} | |||||
bar-used-fill = ${bar.fill} | |||||
bar-used-foreground-0 = ${color.foreground} | |||||
bar-used-foreground-1 = ${color.foreground} | |||||
bar-used-foreground-2 = ${color.foreground} | |||||
bar-used-empty = ${bar.empty} | |||||
bar-used-empty-foreground = ${color.foreground} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/memory_bar] | |||||
type = internal/memory | |||||
; Seconds to sleep between updates | |||||
; Default: 1 | |||||
interval = 2 | |||||
; Available tags: | |||||
; <label> (default) | |||||
; <bar-used> | |||||
; <bar-free> | |||||
; <ramp-used> | |||||
; <ramp-free> | |||||
; <bar-swap-used> | |||||
; <bar-swap-free> | |||||
; <ramp-swap-used> | |||||
; <ramp-swap-free> | |||||
format = <bar-used> <label> | |||||
format-prefix = " " | |||||
; Available tokens: | |||||
; %percentage_used% (default) | |||||
; %percentage_free% | |||||
; %gb_used% | |||||
; %gb_free% | |||||
; %gb_total% | |||||
; %mb_used% | |||||
; %mb_free% | |||||
; %mb_total% | |||||
; %percentage_swap_used% | |||||
; %percentage_swap_free% | |||||
; %mb_swap_total% | |||||
; %mb_swap_free% | |||||
; %mb_swap_used% | |||||
; %gb_swap_total% | |||||
; %gb_swap_free% | |||||
; %gb_swap_used% | |||||
label = "%mb_used%" | |||||
; Only applies if <bar-used> is used | |||||
bar-used-width = 10 | |||||
bar-used-gradient = false | |||||
bar-used-indicator = ${bar.indicator} | |||||
bar-used-indicator-foreground = ${color.foreground} | |||||
bar-used-fill = ${bar.fill} | |||||
bar-used-foreground-0 = ${color.foreground} | |||||
bar-used-foreground-1 = ${color.foreground} | |||||
bar-used-foreground-2 = ${color.foreground} | |||||
bar-used-empty = ${bar.empty} | |||||
bar-used-empty-foreground = ${color.foreground} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/mpd_bar] | |||||
type = internal/mpd | |||||
; Host where mpd is running (either ip or domain name) | |||||
; Can also be the full path to a unix socket where mpd is running. | |||||
;;host = 127.0.0.1 | |||||
;;port = 6600 | |||||
;;password = mysecretpassword | |||||
; Seconds to sleep between progressbar/song timer sync | |||||
; Default: 1 | |||||
interval = 1 | |||||
; Available tags: | |||||
; <label-song> (default) | |||||
; <label-time> | |||||
; <bar-progress> | |||||
; <toggle> - gets replaced with <icon-(pause|play)> | |||||
; <toggle-stop> - gets replaced with <icon-(stop|play)> | |||||
; <icon-random> | |||||
; <icon-repeat> | |||||
; <icon-repeatone> (deprecated) | |||||
; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> | |||||
; <icon-consume> | |||||
; <icon-prev> | |||||
; <icon-stop> | |||||
; <icon-play> | |||||
; <icon-pause> | |||||
; <icon-next> | |||||
; <icon-seekb> | |||||
; <icon-seekf> | |||||
format-online = <label-song> <bar-progress> <label-time> | |||||
format-online-prefix = | |||||
;format-playing = ${self.format-online} | |||||
;format-paused = ${self.format-online} | |||||
;format-stopped = ${self.format-online} | |||||
; Available tags: | |||||
; <label-offline> | |||||
format-offline = <label-offline> | |||||
format-offline-prefix = | |||||
; Available tokens: | |||||
; %artist% | |||||
; %album-artist% | |||||
; %album% | |||||
; %date% | |||||
; %title% | |||||
; Default: %artist% - %title% | |||||
label-song = " %artist% - %title%" | |||||
label-song-maxlen = 25 | |||||
label-song-ellipsis = true | |||||
; Available tokens: | |||||
; %elapsed% | |||||
; %total% | |||||
; Default: %elapsed% / %total% | |||||
label-time = %elapsed% / %total% | |||||
; Available tokens: | |||||
; None | |||||
label-offline = " Offline" | |||||
; Only applies if <icon-X> is used | |||||
icon-play = | |||||
icon-pause = | |||||
icon-stop = | |||||
icon-next = | |||||
icon-prev = | |||||
icon-seekf = | |||||
icon-seekb = | |||||
icon-random = | |||||
icon-repeat = | |||||
icon-repeatone = | |||||
icon-single = | |||||
icon-consume = | |||||
; Used to display the state of random/repeat/repeatone/single | |||||
; Only applies if <icon-[random|repeat|repeatone|single]> is used | |||||
toggle-on-foreground = ${color.primary} | |||||
toggle-off-foreground = ${color.secondary} | |||||
; Only applies if <bar-progress> is used | |||||
bar-progress-width = 10 | |||||
bar-progress-gradient = false | |||||
bar-progress-indicator = ${bar.indicator} | |||||
bar-progress-indicator-foreground = ${color.foreground} | |||||
bar-progress-fill = ${bar.fill} | |||||
bar-progress-foreground-0 = ${color.foreground} | |||||
bar-progress-foreground-1 = ${color.foreground} | |||||
bar-progress-foreground-2 = ${color.foreground} | |||||
bar-progress-empty = ${bar.empty} | |||||
bar-progress-empty-foreground = ${color.foreground} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |
@ -0,0 +1,23 @@ | |||||
;; ┌────────────────────────────────────────────────────────────┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ | |||||
;; └────────────────────────────────────────────────────────────┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[color] | |||||
;; Use pywal.sh in scripts directory to use colors from an image/wallpaper. | |||||
;; main colors | |||||
background = #1F1F1F | |||||
foreground = #FFFFFF | |||||
foreground-alt = #8F8F8F | |||||
module-fg = #FFFFFF | |||||
primary = #e53935 | |||||
secondary = #E53935 | |||||
alternate = #7cb342 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |
@ -0,0 +1,293 @@ | |||||
;; ┌────────────────────────────────────────────────────────────┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ | |||||
;; └────────────────────────────────────────────────────────────┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Global WM Settings | |||||
[global/wm] | |||||
; Adjust the _NET_WM_STRUT_PARTIAL top value | |||||
; Used for top aligned bars | |||||
margin-bottom = 0 | |||||
; Adjust the _NET_WM_STRUT_PARTIAL bottom value | |||||
; Used for bottom aligned bars | |||||
margin-top = 0 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; File Inclusion | |||||
; include an external file, like module file, etc. | |||||
include-file = ~/.config/polybar/docky/bars.ini | |||||
include-file = ~/.config/polybar/docky/colors.ini | |||||
include-file = ~/.config/polybar/docky/modules.ini | |||||
include-file = ~/.config/polybar/docky/user_modules.ini | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Bar Settings | |||||
[bar/main] | |||||
; Use either of the following command to list available outputs: | |||||
; If unspecified, the application will pick the first one it finds. | |||||
; $ polybar -m | cut -d ':' -f 1 | |||||
; $ xrandr -q | grep " connected" | cut -d ' ' -f1 | |||||
monitor = | |||||
; Use the specified monitor as a fallback if the main one is not found. | |||||
monitor-fallback = | |||||
; Require the monitor to be in connected state | |||||
; XRandR sometimes reports my monitor as being disconnected (when in use) | |||||
monitor-strict = false | |||||
; Tell the Window Manager not to configure the window. | |||||
; Use this to detach the bar if your WM is locking its size/position. | |||||
override-redirect = false | |||||
; Put the bar at the bottom of the screen | |||||
bottom = true | |||||
; Prefer fixed center position for the `modules-center` block | |||||
; When false, the center position will be based on the size of the other blocks. | |||||
fixed-center = true | |||||
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), | |||||
; the percentage can optionally be extended with a pixel offset like so: | |||||
; 50%:-10, this will result in a width or height of 50% minus 10 pixels | |||||
width = 98% | |||||
height = 40 | |||||
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) | |||||
; the percentage can optionally be extended with a pixel offset like so: | |||||
; 50%:-10, this will result in an offset in the x or y direction | |||||
; of 50% minus 10 pixels | |||||
offset-x = 1% | |||||
offset-y = 2%:-2 | |||||
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
background = ${color.background} | |||||
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
foreground = ${color.foreground} | |||||
; Background gradient (vertical steps) | |||||
; background-[0-9]+ = #aarrggbb | |||||
;;background-0 = | |||||
; Value used for drawing rounded corners | |||||
; Note: This shouldn't be used together with border-size because the border | |||||
; doesn't get rounded | |||||
; Individual top/bottom values can be defined using: | |||||
; radius-{top,bottom} | |||||
radius-top = 0.0 | |||||
radius-bottom = 0.0 | |||||
; Under-/overline pixel size and argb color | |||||
; Individual values can be defined using: | |||||
; {overline,underline}-size | |||||
; {overline,underline}-color | |||||
line-size = 2 | |||||
line-color = ${color.primary} | |||||
; Values applied to all borders | |||||
; Individual side values can be defined using: | |||||
; border-{left,top,right,bottom}-size | |||||
; border-{left,top,right,bottom}-color | |||||
; The top and bottom borders are added to the bar height, so the effective | |||||
; window height is: | |||||
; height + border-top-size + border-bottom-size | |||||
; Meanwhile the effective window width is defined entirely by the width key and | |||||
; the border is placed withing this area. So you effectively only have the | |||||
; following horizontal space on the bar: | |||||
; width - border-right-size - border-left-size | |||||
border-bottom-size = 2 | |||||
border-bottom-color = ${color.primary} | |||||
; Number of spaces to add at the beginning/end of the bar | |||||
; Individual side values can be defined using: | |||||
; padding-{left,right} | |||||
padding = 0 | |||||
; Number of spaces to add before/after each module | |||||
; Individual side values can be defined using: | |||||
; module-margin-{left,right} | |||||
module-margin-left = 2 | |||||
module-margin-right = 2 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
; Fonts are defined using <font-name>;<vertical-offset> | |||||
; Font names are specified using a fontconfig pattern. | |||||
; font-0 = NotoSans-Regular:size=8;2 | |||||
; font-1 = MaterialIcons:size=10 | |||||
; font-2 = Termsynu:size=8;-1 | |||||
; font-3 = FontAwesome:size=10 | |||||
; See the Fonts wiki page for more details | |||||
font-0 = "Iosevka Nerd Font:size=10;3" | |||||
font-1 = "feather:size=12;3" | |||||
; Modules are added to one of the available blocks | |||||
; modules-left = cpu ram | |||||
; modules-center = xwindow xbacklight | |||||
; modules-right = ipc clock | |||||
modules-left = launcher workspaces | |||||
modules-center = mpd | |||||
modules-right = updates color-switch alsa backlight battery network date sysmenu | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
; The separator will be inserted between the output of each module | |||||
separator = | |||||
; Opacity value between 0.0 and 1.0 used on fade in/out | |||||
dim-value = 1.0 | |||||
; Value to be used to set the WM_NAME atom | |||||
; If the value is empty or undefined, the atom value | |||||
; will be created from the following template: polybar-[BAR]_[MONITOR] | |||||
; NOTE: The placeholders are not available for custom values | |||||
wm-name = | |||||
; Locale used to localize various module data (e.g. date) | |||||
; Expects a valid libc locale, for example: sv_SE.UTF-8 | |||||
locale = | |||||
; Position of the system tray window | |||||
; If empty or undefined, tray support will be disabled | |||||
; NOTE: A center aligned tray will cover center aligned modules | |||||
; | |||||
; Available positions: | |||||
; left | |||||
; center | |||||
; right | |||||
; none | |||||
tray-position = none | |||||
; If true, the bar will not shift its | |||||
; contents when the tray changes | |||||
tray-detached = false | |||||
; Tray icon max size | |||||
tray-maxsize = 16 | |||||
; Background color for the tray container | |||||
; ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
; By default the tray container will use the bar | |||||
; background color. | |||||
tray-background = ${color.background} | |||||
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) | |||||
tray-offset-x = 0 | |||||
tray-offset-y = 0 | |||||
; Pad the sides of each tray icon | |||||
tray-padding = 0 | |||||
; Scale factor for tray clients | |||||
tray-scale = 1.0 | |||||
; Restack the bar window and put it above the | |||||
; selected window manager's root | |||||
; | |||||
; Fixes the issue where the bar is being drawn | |||||
; on top of fullscreen window's | |||||
; | |||||
; Currently supported WM's: | |||||
; bspwm | |||||
; i3 (requires: `override-redirect = true`) | |||||
;;wm-restack = | |||||
; Set a DPI values used when rendering text | |||||
; This only affects scalable fonts | |||||
; dpi = | |||||
; Enable support for inter-process messaging | |||||
; See the Messaging wiki page for more details. | |||||
enable-ipc = true | |||||
; Fallback click handlers that will be called if | |||||
; there's no matching module handler found. | |||||
click-left = | |||||
click-middle = | |||||
click-right = | |||||
scroll-up = | |||||
scroll-down = | |||||
double-click-left = | |||||
double-click-middle = | |||||
double-click-right = | |||||
; Requires polybar to be built with xcursor support (xcb-util-cursor) | |||||
; Possible values are: | |||||
; - default : The default pointer as before, can also be an empty string (default) | |||||
; - pointer : Typically in the form of a hand | |||||
; - ns-resize : Up and down arrows, can be used to indicate scrolling | |||||
cursor-click = | |||||
cursor-scroll = | |||||
;; WM Workspace Specific | |||||
; bspwm | |||||
;;scroll-up = bspwm-desknext | |||||
;;scroll-down = bspwm-deskprev | |||||
;;scroll-up = bspc desktop -f prev.local | |||||
;;scroll-down = bspc desktop -f next.local | |||||
;i3 | |||||
;;scroll-up = i3wm-wsnext | |||||
;;scroll-down = i3wm-wsprev | |||||
;;scroll-up = i3-msg workspace next_on_output | |||||
;;scroll-down = i3-msg workspace prev_on_output | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Application Settings | |||||
[settings] | |||||
; The throttle settings lets the eventloop swallow up til X events | |||||
; if they happen within Y millisecond after first event was received. | |||||
; This is done to prevent flood of update event. | |||||
; | |||||
; For example if 5 modules emit an update event at the same time, we really | |||||
; just care about the last one. But if we wait too long for events to swallow | |||||
; the bar would appear sluggish so we continue if timeout | |||||
; expires or limit is reached. | |||||
throttle-output = 5 | |||||
throttle-output-for = 10 | |||||
; Time in milliseconds that the input handler will wait between processing events | |||||
;throttle-input-for = 30 | |||||
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events | |||||
screenchange-reload = false | |||||
; Compositing operators | |||||
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t | |||||
compositing-background = source | |||||
compositing-foreground = over | |||||
compositing-overline = over | |||||
compositing-underline = over | |||||
compositing-border = over | |||||
; Define fallback values used by all module formats | |||||
;format-foreground = | |||||
;format-background = | |||||
;format-underline = | |||||
;format-overline = | |||||
;format-spacing = | |||||
;format-padding = | |||||
;format-margin = | |||||
;format-offset = | |||||
; Enables pseudo-transparency for the bar | |||||
; If set to true the bar can be transparent without a compositor. | |||||
pseudo-transparency = false | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |
@ -0,0 +1,14 @@ | |||||
#!/usr/bin/env bash | |||||
# Add this script to your wm startup file. | |||||
DIR="$HOME/.config/polybar/docky" | |||||
# Terminate already running bar instances | |||||
killall -q polybar | |||||
# Wait until the processes have been shut down | |||||
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done | |||||
# Launch the bar | |||||
polybar -q main -c "$DIR"/config.ini & |
@ -0,0 +1,319 @@ | |||||
;; ┌────────────────────────────────────────────────────────────────────┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀█░█▀▄░█▀▀░█░█░▀█▀░█▀▀░█░█░█▀▀│ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▀░█▀▄░█▀▀░▀▄▀░░█░░█▀▀░█▄█░▀▀█│ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░░░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀░▀░▀▀▀│ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ | |||||
;; └────────────────────────────────────────────────────────────────────┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Global WM Settings | |||||
[global/wm] | |||||
; Adjust the _NET_WM_STRUT_PARTIAL top value | |||||
; Used for top aligned bars | |||||
margin-bottom = 0 | |||||
; Adjust the _NET_WM_STRUT_PARTIAL bottom value | |||||
; Used for bottom aligned bars | |||||
margin-top = 0 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; File Inclusion | |||||
; include an external file, like module file, etc. | |||||
include-file = ~/.config/polybar/docky/bars.ini | |||||
include-file = ~/.config/polybar/docky/colors.ini | |||||
include-file = ~/.config/polybar/docky/modules.ini | |||||
include-file = ~/.config/polybar/docky/user_modules.ini | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Bar Settings | |||||
[bar/main] | |||||
; Use either of the following command to list available outputs: | |||||
; If unspecified, the application will pick the first one it finds. | |||||
; $ polybar -m | cut -d ':' -f 1 | |||||
; $ xrandr -q | grep " connected" | cut -d ' ' -f1 | |||||
monitor = | |||||
; Use the specified monitor as a fallback if the main one is not found. | |||||
monitor-fallback = | |||||
; Require the monitor to be in connected state | |||||
; XRandR sometimes reports my monitor as being disconnected (when in use) | |||||
monitor-strict = false | |||||
; Tell the Window Manager not to configure the window. | |||||
; Use this to detach the bar if your WM is locking its size/position. | |||||
override-redirect = false | |||||
; Put the bar at the bottom of the screen | |||||
bottom = true | |||||
; Prefer fixed center position for the `modules-center` block | |||||
; When false, the center position will be based on the size of the other blocks. | |||||
fixed-center = true | |||||
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), | |||||
; the percentage can optionally be extended with a pixel offset like so: | |||||
; 50%:-10, this will result in a width or height of 50% minus 10 pixels | |||||
width = 98% | |||||
height = 40 | |||||
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) | |||||
; the percentage can optionally be extended with a pixel offset like so: | |||||
; 50%:-10, this will result in an offset in the x or y direction | |||||
; of 50% minus 10 pixels | |||||
offset-x = 1% | |||||
offset-y = 2%:-2 | |||||
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
background = ${color.background} | |||||
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
foreground = ${color.foreground} | |||||
; Background gradient (vertical steps) | |||||
; background-[0-9]+ = #aarrggbb | |||||
;;background-0 = | |||||
; Value used for drawing rounded corners | |||||
; Note: This shouldn't be used together with border-size because the border | |||||
; doesn't get rounded | |||||
; Individual top/bottom values can be defined using: | |||||
; radius-{top,bottom} | |||||
radius-top = 0.0 | |||||
radius-bottom = 0.0 | |||||
; Under-/overline pixel size and argb color | |||||
; Individual values can be defined using: | |||||
; {overline,underline}-size | |||||
; {overline,underline}-color | |||||
line-size = 2 | |||||
line-color = ${color.primary} | |||||
; Values applied to all borders | |||||
; Individual side values can be defined using: | |||||
; border-{left,top,right,bottom}-size | |||||
; border-{left,top,right,bottom}-color | |||||
; The top and bottom borders are added to the bar height, so the effective | |||||
; window height is: | |||||
; height + border-top-size + border-bottom-size | |||||
; Meanwhile the effective window width is defined entirely by the width key and | |||||
; the border is placed withing this area. So you effectively only have the | |||||
; following horizontal space on the bar: | |||||
; width - border-right-size - border-left-size | |||||
;border-bottom-size = 2 | |||||
;border-bottom-color = ${color.primary} | |||||
; Number of spaces to add at the beginning/end of the bar | |||||
; Individual side values can be defined using: | |||||
; padding-{left,right} | |||||
padding = 0 | |||||
; Number of spaces to add before/after each module | |||||
; Individual side values can be defined using: | |||||
; module-margin-{left,right} | |||||
module-margin-left = 2 | |||||
module-margin-right = 2 | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
; Fonts are defined using <font-name>;<vertical-offset> | |||||
; Font names are specified using a fontconfig pattern. | |||||
; font-0 = NotoSans-Regular:size=8;2 | |||||
; font-1 = MaterialIcons:size=10 | |||||
; font-2 = Termsynu:size=8;-1 | |||||
; font-3 = FontAwesome:size=10 | |||||
; See the Fonts wiki page for more details | |||||
font-0 = "Iosevka Nerd Font:size=10;3" | |||||
font-1 = "feather:size=12;3" | |||||
; Modules are added to one of the available blocks | |||||
; modules-left = cpu ram | |||||
; modules-center = xwindow xbacklight | |||||
; modules-right = ipc clock | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[bar/top] | |||||
inherit = bar/main | |||||
bottom = true | |||||
border-top-size = 2 | |||||
border-top-color = ${color.primary} | |||||
offset-y = 139 | |||||
modules-left = menu term files browser settings filesystem temperature | |||||
modules-center = title | |||||
modules-right = color-switch keyboard pulseaudio backlight updates powermenu | |||||
enable-ipc = true | |||||
[bar/mid] | |||||
inherit = bar/main | |||||
bottom = true | |||||
offset-y = 80 | |||||
modules-center = volume brightness battery_bar cpu_bar filesystem_bar memory_bar mpd_bar | |||||
enable-ipc = true | |||||
[bar/bottom] | |||||
inherit = bar/main | |||||
bottom = true | |||||
border-bottom-size = 2 | |||||
border-bottom-color = ${color.primary} | |||||
modules-left = launcher workspaces cpu memory | |||||
modules-center = mpd | |||||
modules-right = alsa battery network date sysmenu | |||||
enable-ipc = true | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
; The separator will be inserted between the output of each module | |||||
separator = | |||||
; Opacity value between 0.0 and 1.0 used on fade in/out | |||||
dim-value = 1.0 | |||||
; Value to be used to set the WM_NAME atom | |||||
; If the value is empty or undefined, the atom value | |||||
; will be created from the following template: polybar-[BAR]_[MONITOR] | |||||
; NOTE: The placeholders are not available for custom values | |||||
wm-name = | |||||
; Locale used to localize various module data (e.g. date) | |||||
; Expects a valid libc locale, for example: sv_SE.UTF-8 | |||||
locale = | |||||
; Position of the system tray window | |||||
; If empty or undefined, tray support will be disabled | |||||
; NOTE: A center aligned tray will cover center aligned modules | |||||
; | |||||
; Available positions: | |||||
; left | |||||
; center | |||||
; right | |||||
; none | |||||
tray-position = none | |||||
; If true, the bar will not shift its | |||||
; contents when the tray changes | |||||
tray-detached = false | |||||
; Tray icon max size | |||||
tray-maxsize = 16 | |||||
; Background color for the tray container | |||||
; ARGB color (e.g. #f00, #ff992a, #ddff1023) | |||||
; By default the tray container will use the bar | |||||
; background color. | |||||
tray-background = ${color.background} | |||||
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) | |||||
tray-offset-x = 0 | |||||
tray-offset-y = 0 | |||||
; Pad the sides of each tray icon | |||||
tray-padding = 0 | |||||
; Scale factor for tray clients | |||||
tray-scale = 1.0 | |||||
; Restack the bar window and put it above the | |||||
; selected window manager's root | |||||
; | |||||
; Fixes the issue where the bar is being drawn | |||||
; on top of fullscreen window's | |||||
; | |||||
; Currently supported WM's: | |||||
; bspwm | |||||
; i3 (requires: `override-redirect = true`) | |||||
;;wm-restack = | |||||
; Set a DPI values used when rendering text | |||||
; This only affects scalable fonts | |||||
; dpi = | |||||
; Enable support for inter-process messaging | |||||
; See the Messaging wiki page for more details. | |||||
;enable-ipc = true | |||||
; Fallback click handlers that will be called if | |||||
; there's no matching module handler found. | |||||
click-left = | |||||
click-middle = | |||||
click-right = | |||||
scroll-up = | |||||
scroll-down = | |||||
double-click-left = | |||||
double-click-middle = | |||||
double-click-right = | |||||
; Requires polybar to be built with xcursor support (xcb-util-cursor) | |||||
; Possible values are: | |||||
; - default : The default pointer as before, can also be an empty string (default) | |||||
; - pointer : Typically in the form of a hand | |||||
; - ns-resize : Up and down arrows, can be used to indicate scrolling | |||||
cursor-click = | |||||
cursor-scroll = | |||||
;; WM Workspace Specific | |||||
; bspwm | |||||
;;scroll-up = bspwm-desknext | |||||
;;scroll-down = bspwm-deskprev | |||||
;;scroll-up = bspc desktop -f prev.local | |||||
;;scroll-down = bspc desktop -f next.local | |||||
;i3 | |||||
;;scroll-up = i3wm-wsnext | |||||
;;scroll-down = i3wm-wsprev | |||||
;;scroll-up = i3-msg workspace next_on_output | |||||
;;scroll-down = i3-msg workspace prev_on_output | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
;; Application Settings | |||||
[settings] | |||||
; The throttle settings lets the eventloop swallow up til X events | |||||
; if they happen within Y millisecond after first event was received. | |||||
; This is done to prevent flood of update event. | |||||
; | |||||
; For example if 5 modules emit an update event at the same time, we really | |||||
; just care about the last one. But if we wait too long for events to swallow | |||||
; the bar would appear sluggish so we continue if timeout | |||||
; expires or limit is reached. | |||||
throttle-output = 5 | |||||
throttle-output-for = 10 | |||||
; Time in milliseconds that the input handler will wait between processing events | |||||
;throttle-input-for = 30 | |||||
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events | |||||
screenchange-reload = false | |||||
; Compositing operators | |||||
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t | |||||
compositing-background = source | |||||
compositing-foreground = over | |||||
compositing-overline = over | |||||
compositing-underline = over | |||||
compositing-border = over | |||||
; Define fallback values used by all module formats | |||||
;format-foreground = | |||||
;format-background = | |||||
;format-underline = | |||||
;format-overline = | |||||
;format-spacing = | |||||
;format-padding = | |||||
;format-margin = | |||||
;format-offset = | |||||
; Enables pseudo-transparency for the bar | |||||
; If set to true the bar can be transparent without a compositor. | |||||
pseudo-transparency = false | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |
@ -0,0 +1,14 @@ | |||||
#!/usr/bin/env bash | |||||
DIR="$HOME/.config/polybar/docky" | |||||
# Terminate already running bar instances | |||||
killall -q polybar | |||||
# Wait until the processes have been shut down | |||||
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done | |||||
# Launch the preview bar | |||||
polybar -q top -c "$DIR"/preview.ini & | |||||
polybar -q mid -c "$DIR"/preview.ini & | |||||
polybar -q bottom -c "$DIR"/preview.ini & |
@ -0,0 +1,117 @@ | |||||
#!/usr/bin/bash | |||||
# | |||||
# checkupdates: Safely print a list of pending updates. | |||||
# | |||||
# Copyright (c) 2013 Kyle Keen <keenerd@gmail.com> | |||||
# | |||||
# This program is free software; you can redistribute it and/or modify | |||||
# it under the terms of the GNU General Public License as published by | |||||
# the Free Software Foundation; either version 2 of the License, or | |||||
# (at your option) any later version. | |||||
# | |||||
# This program is distributed in the hope that it will be useful, | |||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
# GNU General Public License for more details. | |||||
# | |||||
# You should have received a copy of the GNU General Public License | |||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |||||
# | |||||
declare -r myname='checkupdates' | |||||
declare -r myver='1.0.0' | |||||
plain() { | |||||
(( QUIET )) && return | |||||
local mesg=$1; shift | |||||
printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 | |||||
} | |||||
msg() { | |||||
(( QUIET )) && return | |||||
local mesg=$1; shift | |||||
printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 | |||||
} | |||||
msg2() { | |||||
(( QUIET )) && return | |||||
local mesg=$1; shift | |||||
printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 | |||||
} | |||||
ask() { | |||||
local mesg=$1; shift | |||||
printf "${BLUE}::${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&1 | |||||
} | |||||
warning() { | |||||
local mesg=$1; shift | |||||
printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 | |||||
} | |||||
error() { | |||||
local mesg=$1; shift | |||||
printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 | |||||
} | |||||
# check if messages are to be printed using color | |||||
unset ALL_OFF BOLD BLUE GREEN RED YELLOW | |||||
if [[ -t 2 && ! $USE_COLOR = "n" ]]; then | |||||
# prefer terminal safe colored and bold text when tput is supported | |||||
if tput setaf 0 &>/dev/null; then | |||||
ALL_OFF="$(tput sgr0)" | |||||
BOLD="$(tput bold)" | |||||
BLUE="${BOLD}$(tput setaf 4)" | |||||
GREEN="${BOLD}$(tput setaf 2)" | |||||
RED="${BOLD}$(tput setaf 1)" | |||||
YELLOW="${BOLD}$(tput setaf 3)" | |||||
else | |||||
ALL_OFF="\e[1;0m" | |||||
BOLD="\e[1;1m" | |||||
BLUE="${BOLD}\e[1;34m" | |||||
GREEN="${BOLD}\e[1;32m" | |||||
RED="${BOLD}\e[1;31m" | |||||
YELLOW="${BOLD}\e[1;33m" | |||||
fi | |||||
fi | |||||
readonly ALL_OFF BOLD BLUE GREEN RED YELLOW | |||||
if (( $# > 0 )); then | |||||
echo "${myname} v${myver}" | |||||
echo | |||||
echo "Safely print a list of pending updates" | |||||
echo | |||||
echo "Usage: ${myname}" | |||||
echo | |||||
echo 'Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.' | |||||
exit 0 | |||||
fi | |||||
if ! type -P fakeroot >/dev/null; then | |||||
error 'Cannot find the fakeroot binary.' | |||||
exit 1 | |||||
fi | |||||
if [[ -z $CHECKUPDATES_DB ]]; then | |||||
CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/" | |||||
fi | |||||
trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT | |||||
DBPath="$(pacman-conf DBPath)" | |||||
if [[ -z "$DBPath" ]] || [[ ! -d "$DBPath" ]]; then | |||||
DBPath="/var/lib/pacman/" | |||||
fi | |||||
mkdir -p "$CHECKUPDATES_DB" | |||||
ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null | |||||
if ! fakeroot -- pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then | |||||
error 'Cannot fetch updates' | |||||
exit 1 | |||||
fi | |||||
pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]' | |||||
exit 0 | |||||
# vim: set noet: |
@ -0,0 +1,55 @@ | |||||
#!/usr/bin/env bash | |||||
SDIR="$HOME/.config/polybar/docky/scripts" | |||||
# Launch Rofi | |||||
MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \ | |||||
-theme $SDIR/rofi/styles.rasi \ | |||||
<<< " amber| blue| blue-gray| brown| cyan| deep-orange|\ | |||||
deep-purple| green| gray| indigo| blue-light| green-light|\ | |||||
lime| orange| pink| purple| red| teal| yellow| amber-dark|\ | |||||
blue-dark| blue-gray-dark| brown-dark| cyan-dark| deep-orange-dark|\ | |||||
deep-purple-dark| green-dark| gray-dark| indigo-dark| blue-light-dark|\ | |||||
green-light-dark| lime-dark| orange-dark| pink-dark| purple-dark| red-dark| teal-dark| yellow-dark|")" | |||||
case "$MENU" in | |||||
## Light Colors | |||||
*amber) "$SDIR"/colors-light.sh --amber ;; | |||||
*blue) "$SDIR"/colors-light.sh --blue ;; | |||||
*blue-gray) "$SDIR"/colors-light.sh --blue-gray ;; | |||||
*brown) "$SDIR"/colors-light.sh --brown ;; | |||||
*cyan) "$SDIR"/colors-light.sh --cyan ;; | |||||
*deep-orange) "$SDIR"/colors-light.sh --deep-orange ;; | |||||
*deep-purple) "$SDIR"/colors-light.sh --deep-purple ;; | |||||
*green) "$SDIR"/colors-light.sh --green ;; | |||||
*gray) "$SDIR"/colors-light.sh --gray ;; | |||||
*indigo) "$SDIR"/colors-light.sh --indigo ;; | |||||
*blue-light) "$SDIR"/colors-light.sh --light-blue ;; | |||||
*green-light) "$SDIR"/colors-light.sh --light-green ;; | |||||
*lime) "$SDIR"/colors-light.sh --lime ;; | |||||
*orange) "$SDIR"/colors-light.sh --orange ;; | |||||
*pink) "$SDIR"/colors-light.sh --pink ;; | |||||
*purple) "$SDIR"/colors-light.sh --purple ;; | |||||
*red) "$SDIR"/colors-light.sh --red ;; | |||||
*teal) "$SDIR"/colors-light.sh --teal ;; | |||||
*yellow) "$SDIR"/colors-light.sh --yellow ;; | |||||
## Dark Colors | |||||
*amber-dark) "$SDIR"/colors-dark.sh --amber ;; | |||||
*blue-dark) "$SDIR"/colors-dark.sh --blue ;; | |||||
*blue-gray-dark) "$SDIR"/colors-dark.sh --blue-gray ;; | |||||
*brown-dark) "$SDIR"/colors-dark.sh --brown ;; | |||||
*cyan-dark) "$SDIR"/colors-dark.sh --cyan ;; | |||||
*deep-orange-dark) "$SDIR"/colors-dark.sh --deep-orange ;; | |||||
*deep-purple-dark) "$SDIR"/colors-dark.sh --deep-purple ;; | |||||
*green-dark) "$SDIR"/colors-dark.sh --green ;; | |||||
*gray-dark) "$SDIR"/colors-dark.sh --gray ;; | |||||
*indigo-dark) "$SDIR"/colors-dark.sh --indigo ;; | |||||
*blue-light-dark) "$SDIR"/colors-dark.sh --light-blue ;; | |||||
*green-light-dark) "$SDIR"/colors-dark.sh --light-green ;; | |||||
*lime-dark) "$SDIR"/colors-dark.sh --lime ;; | |||||
*orange-dark) "$SDIR"/colors-dark.sh --orange ;; | |||||
*pink-dark) "$SDIR"/colors-dark.sh --pink ;; | |||||
*purple-dark) "$SDIR"/colors-dark.sh --purple ;; | |||||
*red-dark) "$SDIR"/colors-dark.sh --red ;; | |||||
*teal-dark) "$SDIR"/colors-dark.sh --teal ;; | |||||
*yellow-dark) "$SDIR"/colors-dark.sh --yellow | |||||
esac |
@ -0,0 +1,120 @@ | |||||
#!/usr/bin/env bash | |||||
# Color files | |||||
PFILE="$HOME/.config/polybar/docky/colors.ini" | |||||
RFILE="$HOME/.config/polybar/docky/scripts/rofi/colors.rasi" | |||||
# Change colors | |||||
change_color() { | |||||
# polybar | |||||
sed -i -e 's/background = #.*/background = #1F1F1F/g' $PFILE | |||||
sed -i -e 's/foreground = #.*/foreground = #FFFFFF/g' $PFILE | |||||
sed -i -e 's/foreground-alt = #.*/foreground-alt = #8F8F8F/g' $PFILE | |||||
sed -i -e "s/module-fg = #.*/module-fg = $MF/g" $PFILE | |||||
sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE | |||||
sed -i -e 's/secondary = #.*/secondary = #E53935/g' $PFILE | |||||
sed -i -e 's/alternate = #.*/alternate = #7cb342/g' $PFILE | |||||
# rofi | |||||
cat > $RFILE <<- EOF | |||||
/* colors */ | |||||
* { | |||||
al: #00000000; | |||||
bg: #1F1F1FFF; | |||||
bga: ${AC}33; | |||||
bar: ${MF}FF; | |||||
fg: #FFFFFFFF; | |||||
ac: ${AC}FF; | |||||
} | |||||
EOF | |||||
polybar-msg cmd restart | |||||
} | |||||
if [[ $1 = "--amber" ]]; then | |||||
MF="#1F1F1F" | |||||
AC="#ffb300" | |||||
change_color | |||||
elif [[ $1 = "--blue" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#1e88e5" | |||||
change_color | |||||
elif [[ $1 = "--blue-gray" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#546e7a" | |||||
change_color | |||||
elif [[ $1 = "--brown" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#6d4c41" | |||||
change_color | |||||
elif [[ $1 = "--cyan" ]]; then | |||||
MF="#1F1F1F" | |||||
AC="#00acc1" | |||||
change_color | |||||
elif [[ $1 = "--deep-orange" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#f4511e" | |||||
change_color | |||||
elif [[ $1 = "--deep-purple" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#5e35b1" | |||||
change_color | |||||
elif [[ $1 = "--green" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#43a047" | |||||
change_color | |||||
elif [[ $1 = "--gray" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#757575" | |||||
change_color | |||||
elif [[ $1 = "--indigo" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#3949ab" | |||||
change_color | |||||
elif [[ $1 = "--light-blue" ]]; then | |||||
MF="#1F1F1F" | |||||
AC="#039be5" | |||||
change_color | |||||
elif [[ $1 = "--light-green" ]]; then | |||||
MF="#1F1F1F" | |||||
AC="#7cb342" | |||||
change_color | |||||
elif [[ $1 = "--lime" ]]; then | |||||
MF="#1F1F1F" | |||||
AC="#c0ca33" | |||||
change_color | |||||
elif [[ $1 = "--orange" ]]; then | |||||
MF="#1F1F1F" | |||||
AC="#fb8c00" | |||||
change_color | |||||
elif [[ $1 = "--pink" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#d81b60" | |||||
change_color | |||||
elif [[ $1 = "--purple" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#8e24aa" | |||||
change_color | |||||
elif [[ $1 = "--red" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#e53935" | |||||
change_color | |||||
elif [[ $1 = "--teal" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#00897b" | |||||
change_color | |||||
elif [[ $1 = "--yellow" ]]; then | |||||
MF="#1F1F1F" | |||||
AC="#fdd835" | |||||
change_color | |||||
else | |||||
cat <<- _EOF_ | |||||
No option specified, Available options: | |||||
--amber --blue --blue-gray --brown | |||||
--cyan --deep-orange --deep-purple --green | |||||
--gray --indigo --light-blue --light-green | |||||
--lime --orange --pink --purple | |||||
--red --teal --yellow | |||||
_EOF_ | |||||
fi |
@ -0,0 +1,120 @@ | |||||
#!/usr/bin/env bash | |||||
# Color files | |||||
PFILE="$HOME/.config/polybar/docky/colors.ini" | |||||
RFILE="$HOME/.config/polybar/docky/scripts/rofi/colors.rasi" | |||||
# Change colors | |||||
change_color() { | |||||
# polybar | |||||
sed -i -e 's/background = #.*/background = #FFFFFF/g' $PFILE | |||||
sed -i -e 's/foreground = #.*/foreground = #2E2E2E/g' $PFILE | |||||
sed -i -e 's/foreground-alt = #.*/foreground-alt = #656565/g' $PFILE | |||||
sed -i -e "s/module-fg = #.*/module-fg = $MF/g" $PFILE | |||||
sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE | |||||
sed -i -e 's/secondary = #.*/secondary = #E53935/g' $PFILE | |||||
sed -i -e 's/alternate = #.*/alternate = #7cb342/g' $PFILE | |||||
# rofi | |||||
cat > $RFILE <<- EOF | |||||
/* colors */ | |||||
* { | |||||
al: #00000000; | |||||
bg: #FFFFFFFF; | |||||
bga: ${AC}33; | |||||
bar: ${MF}FF; | |||||
fg: #2E2E2EFF; | |||||
ac: ${AC}FF; | |||||
} | |||||
EOF | |||||
polybar-msg cmd restart | |||||
} | |||||
if [[ $1 = "--amber" ]]; then | |||||
MF="#2E2E2E" | |||||
AC="#ffb300" | |||||
change_color | |||||
elif [[ $1 = "--blue" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#1e88e5" | |||||
change_color | |||||
elif [[ $1 = "--blue-gray" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#546e7a" | |||||
change_color | |||||
elif [[ $1 = "--brown" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#6d4c41" | |||||
change_color | |||||
elif [[ $1 = "--cyan" ]]; then | |||||
MF="#2E2E2E" | |||||
AC="#00acc1" | |||||
change_color | |||||
elif [[ $1 = "--deep-orange" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#f4511e" | |||||
change_color | |||||
elif [[ $1 = "--deep-purple" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#5e35b1" | |||||
change_color | |||||
elif [[ $1 = "--green" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#43a047" | |||||
change_color | |||||
elif [[ $1 = "--gray" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#757575" | |||||
change_color | |||||
elif [[ $1 = "--indigo" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#3949ab" | |||||
change_color | |||||
elif [[ $1 = "--light-blue" ]]; then | |||||
MF="#2E2E2E" | |||||
AC="#039be5" | |||||
change_color | |||||
elif [[ $1 = "--light-green" ]]; then | |||||
MF="#2E2E2E" | |||||
AC="#7cb342" | |||||
change_color | |||||
elif [[ $1 = "--lime" ]]; then | |||||
MF="#2E2E2E" | |||||
AC="#c0ca33" | |||||
change_color | |||||
elif [[ $1 = "--orange" ]]; then | |||||
MF="#2E2E2E" | |||||
AC="#fb8c00" | |||||
change_color | |||||
elif [[ $1 = "--pink" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#d81b60" | |||||
change_color | |||||
elif [[ $1 = "--purple" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#8e24aa" | |||||
change_color | |||||
elif [[ $1 = "--red" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#e53935" | |||||
change_color | |||||
elif [[ $1 = "--teal" ]]; then | |||||
MF="#FFFFFF" | |||||
AC="#00897b" | |||||
change_color | |||||
elif [[ $1 = "--yellow" ]]; then | |||||
MF="#2E2E2E" | |||||
AC="#fdd835" | |||||
change_color | |||||
else | |||||
cat <<- _EOF_ | |||||
No option specified, Available options: | |||||
--amber --blue --blue-gray --brown | |||||
--cyan --deep-orange --deep-purple --green | |||||
--gray --indigo --light-blue --light-green | |||||
--lime --orange --pink --purple | |||||
--red --teal --yellow | |||||
_EOF_ | |||||
fi |
@ -0,0 +1,3 @@ | |||||
#!/usr/bin/env bash | |||||
rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/docky/scripts/rofi/launcher.rasi |
@ -0,0 +1,94 @@ | |||||
#!/usr/bin/env bash | |||||
## Author : Aditya Shakya | |||||
## Mail : adi1090x@gmail.com | |||||
## Github : @adi1090x | |||||
## Twitter : @adi1090x | |||||
dir="~/.config/polybar/docky/scripts/rofi" | |||||
uptime=$(uptime -p | sed -e 's/up //g') | |||||
rofi_command="rofi -theme $dir/powermenu.rasi" | |||||
# Options | |||||
shutdown=" Shutdown" | |||||
reboot=" Restart" | |||||
lock=" Lock" | |||||
suspend=" Sleep" | |||||
logout=" Logout" | |||||
# Confirmation | |||||
confirm_exit() { | |||||
rofi -dmenu\ | |||||
-i\ | |||||
-no-fixed-num-lines\ | |||||
-p "Are You Sure? : "\ | |||||
-theme $dir/confirm.rasi | |||||
} | |||||
# Message | |||||
msg() { | |||||
rofi -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n" | |||||
} | |||||
# Variable passed to rofi | |||||
options="$lock\n$suspend\n$logout\n$reboot\n$shutdown" | |||||
chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 0)" | |||||
case $chosen in | |||||
$shutdown) | |||||
ans=$(confirm_exit &) | |||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then | |||||
systemctl poweroff | |||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then | |||||
exit 0 | |||||
else | |||||
msg | |||||
fi | |||||
;; | |||||
$reboot) | |||||
ans=$(confirm_exit &) | |||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then | |||||
systemctl reboot | |||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then | |||||
exit 0 | |||||
else | |||||
msg | |||||
fi | |||||
;; | |||||
$lock) | |||||
if [[ -f /usr/bin/i3lock ]]; then | |||||
i3lock | |||||
elif [[ -f /usr/bin/betterlockscreen ]]; then | |||||
betterlockscreen -l | |||||
fi | |||||
;; | |||||
$suspend) | |||||
ans=$(confirm_exit &) | |||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then | |||||
mpc -q pause | |||||
amixer set Master mute | |||||
systemctl suspend | |||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then | |||||
exit 0 | |||||
else | |||||
msg | |||||
fi | |||||
;; | |||||
$logout) | |||||
ans=$(confirm_exit &) | |||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then | |||||
if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then | |||||
openbox --exit | |||||
elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then | |||||
bspc quit | |||||
elif [[ "$DESKTOP_SESSION" == "i3" ]]; then | |||||
i3-msg exit | |||||
fi | |||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then | |||||
exit 0 | |||||
else | |||||
msg | |||||
fi | |||||
;; | |||||
esac |
@ -0,0 +1,81 @@ | |||||
#!/usr/bin/env bash | |||||
# Color files | |||||
PFILE="$HOME/.config/polybar/docky/colors.ini" | |||||
RFILE="$HOME/.config/polybar/docky/scripts/rofi/colors.rasi" | |||||
# Get colors | |||||
pywal_get() { | |||||
wal -i "$1" -q -t | |||||
} | |||||
# Change colors | |||||
change_color() { | |||||
# polybar | |||||
sed -i -e "s/background = #.*/background = $BG/g" $PFILE | |||||
sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE | |||||
sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE | |||||
sed -i -e "s/module-fg = #.*/module-fg = $MF/g" $PFILE | |||||
sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE | |||||
sed -i -e "s/secondary = #.*/secondary = $SC/g" $PFILE | |||||
sed -i -e "s/alternate = #.*/alternate = $AL/g" $PFILE | |||||
# rofi | |||||
cat > $RFILE <<- EOF | |||||
/* colors */ | |||||
* { | |||||
al: #00000000; | |||||
bg: ${BG}FF; | |||||
bga: ${AC}33; | |||||
bar: ${MF}FF; | |||||
fg: ${FG}FF; | |||||
ac: ${AC}FF; | |||||
} | |||||
EOF | |||||
} | |||||
hex_to_rgb() { | |||||
# Convert a hex value WITHOUT the hashtag (#) | |||||
R=$(printf "%d" 0x${1:0:2}) | |||||
G=$(printf "%d" 0x${1:2:2}) | |||||
B=$(printf "%d" 0x${1:4:2}) | |||||
} | |||||
get_fg_color(){ | |||||
INTENSITY=$(calc "$R*0.299 + $G*0.587 + $B*0.114") | |||||
if [ $(echo "$INTENSITY>186" | bc) -eq 1 ]; then | |||||
MF="#202020" | |||||
else | |||||
MF="#F5F5F5" | |||||
fi | |||||
} | |||||
# Main | |||||
if [[ -f "/usr/bin/wal" ]]; then | |||||
if [[ "$1" ]]; then | |||||
pywal_get "$1" | |||||
# Source the pywal color file | |||||
. "$HOME/.cache/wal/colors.sh" | |||||
BG=`printf "%s\n" "$background"` | |||||
FG=`printf "%s\n" "$foreground"` | |||||
FGA=`printf "%s\n" "$color8"` | |||||
AC=`printf "%s\n" "$color1"` | |||||
SC=`printf "%s\n" "$color2"` | |||||
AL=`printf "%s\n" "$color3"` | |||||
HEX=${AC:1} | |||||
hex_to_rgb $HEX | |||||
get_fg_color | |||||
change_color | |||||
else | |||||
echo -e "[!] Please enter the path to wallpaper. \n" | |||||
echo "Usage : ./pywal.sh path/to/image" | |||||
fi | |||||
else | |||||
echo "[!] 'pywal' is not installed." | |||||
fi |
@ -0,0 +1,96 @@ | |||||
#!/usr/bin/env bash | |||||
# Color files | |||||
PFILE="$HOME/.config/polybar/docky/colors.ini" | |||||
RFILE="$HOME/.config/polybar/docky/scripts/rofi/colors.rasi" | |||||
# Change colors | |||||
change_color() { | |||||
# polybar | |||||
sed -i -e "s/background = #.*/background = $BG/g" $PFILE | |||||
sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE | |||||
sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE | |||||
sed -i -e "s/module-fg = #.*/module-fg = $MF/g" $PFILE | |||||
sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE | |||||
sed -i -e "s/secondary = #.*/secondary = $SC/g" $PFILE | |||||
sed -i -e "s/alternate = #.*/alternate = $AL/g" $PFILE | |||||
# rofi | |||||
cat > $RFILE <<- EOF | |||||
/* colors */ | |||||
* { | |||||
al: #00000000; | |||||
bg: ${BG}FF; | |||||
bga: ${AC}33; | |||||
bar: ${MF}FF; | |||||
fg: ${FG}FF; | |||||
ac: ${AC}FF; | |||||
} | |||||
EOF | |||||
polybar-msg cmd restart | |||||
} | |||||
get_random_number() { | |||||
RNUM=$(( ($RANDOM % $1) + 1 )) | |||||
} | |||||
get_random_color() { | |||||
RCOLOR="#" | |||||
for i in 1 2 3 4 5 6 | |||||
do | |||||
get_random_number "16" | |||||
case $RNUM in | |||||
"1") NEXTDIGIT="1";; | |||||
"2") NEXTDIGIT="2";; | |||||
"3") NEXTDIGIT="3";; | |||||
"4") NEXTDIGIT="4";; | |||||
"5") NEXTDIGIT="5";; | |||||
"6") NEXTDIGIT="6";; | |||||
"7") NEXTDIGIT="7";; | |||||
"8") NEXTDIGIT="8";; | |||||
"9") NEXTDIGIT="9";; | |||||
"10") NEXTDIGIT="A";; | |||||
"11") NEXTDIGIT="B";; | |||||
"12") NEXTDIGIT="C";; | |||||
"13") NEXTDIGIT="D";; | |||||
"14") NEXTDIGIT="E";; | |||||
"15") NEXTDIGIT="F";; | |||||
"16") NEXTDIGIT="0";; | |||||
esac | |||||
RCOLOR="$RCOLOR$NEXTDIGIT" | |||||
done | |||||
echo $RCOLOR | |||||
} | |||||
hex_to_rgb() { | |||||
# Convert a hex value WITHOUT the hashtag (#) | |||||
R=$(printf "%d" 0x${1:0:2}) | |||||
G=$(printf "%d" 0x${1:2:2}) | |||||
B=$(printf "%d" 0x${1:4:2}) | |||||
} | |||||
get_fg_color(){ | |||||
INTENSITY=$(calc "$R*0.299 + $G*0.587 + $B*0.114") | |||||
if [ $(echo "$INTENSITY>186" | bc) -eq 1 ]; then | |||||
MF="#0a0a0a" | |||||
else | |||||
MF="#F5F5F5" | |||||
fi | |||||
} | |||||
# Main | |||||
BG='#1F1F1F' # change to light bg | |||||
FG='#FFFFFF' # change to dark fg | |||||
FGA=`get_random_color` | |||||
AC=`get_random_color` | |||||
SC=`get_random_color` | |||||
AL=`get_random_color` | |||||
HEX=${AC:1} | |||||
hex_to_rgb $HEX | |||||
get_fg_color | |||||
change_color |
@ -0,0 +1,10 @@ | |||||
/* colors */ | |||||
* { | |||||
al: #00000000; | |||||
bg: #1F1F1FFF; | |||||
bga: #e5393533; | |||||
bar: #FFFFFFFF; | |||||
fg: #FFFFFFFF; | |||||
ac: #e53935FF; | |||||
} |
@ -0,0 +1,24 @@ | |||||
/* Confirm Dialog */ | |||||
@import "colors.rasi" | |||||
* { | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
font: "Iosevka Nerd Font 10"; | |||||
} | |||||
window { | |||||
width: 225px; | |||||
padding: 25px; | |||||
border: 0px 0px 2px 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
location: center; | |||||
y-offset: -2em; | |||||
} | |||||
entry { | |||||
expand: true; | |||||
text-color: @ac; | |||||
} |
@ -0,0 +1,115 @@ | |||||
/* | |||||
* | |||||
* Author : Aditya Shakya | |||||
* Mail : adi1090x@gmail.com | |||||
* Github : @adi1090x | |||||
* Twitter : @adi1090x | |||||
* | |||||
*/ | |||||
configuration { | |||||
font: "Iosevka Nerd Font 10"; | |||||
show-icons: true; | |||||
icon-theme: "Papirus"; | |||||
display-drun: ""; | |||||
drun-display-format: "{name}"; | |||||
disable-history: false; | |||||
fullscreen: false; | |||||
hide-scrollbar: true; | |||||
sidebar-mode: false; | |||||
} | |||||
@import "colors.rasi" | |||||
window { | |||||
transparency: "real"; | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
border: 0px 0px 2px 0px; | |||||
border-color: @ac; | |||||
border-radius: 0px; | |||||
width: 350px; | |||||
location: center; | |||||
x-offset: 0; | |||||
y-offset: 0; | |||||
} | |||||
prompt { | |||||
enabled: true; | |||||
padding: 0px; | |||||
background-color: @al; | |||||
text-color: @bar; | |||||
font: "feather 12"; | |||||
} | |||||
entry { | |||||
background-color: @al; | |||||
text-color: @bar; | |||||
placeholder-color: @bar; | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
placeholder: "Search..."; | |||||
padding: 0px 0px 0px 10px; | |||||
blink: true; | |||||
} | |||||
inputbar { | |||||
children: [ prompt, entry ]; | |||||
background-color: @ac; | |||||
text-color: @bar; | |||||
expand: false; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
margin: 0px; | |||||
padding: 12px; | |||||
} | |||||
listview { | |||||
background-color: @al; | |||||
padding: 0px; | |||||
columns: 1; | |||||
lines: 5; | |||||
spacing: 5px; | |||||
cycle: true; | |||||
dynamic: true; | |||||
layout: vertical; | |||||
} | |||||
mainbox { | |||||
background-color: @al; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
children: [ inputbar, listview ]; | |||||
spacing: 0px; | |||||
padding: 0px; | |||||
} | |||||
element { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
orientation: horizontal; | |||||
border-radius: 0px; | |||||
padding: 10px; | |||||
} | |||||
element-icon { | |||||
size: 24px; | |||||
border: 0px; | |||||
} | |||||
element-text { | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
vertical-align: 0.5; | |||||
margin: 0px 2.5px 0px 2.5px; | |||||
} | |||||
element selected { | |||||
background-color: @bga; | |||||
text-color: @fg; | |||||
border: 0px 0px 0px 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
} |
@ -0,0 +1,24 @@ | |||||
/* Confirm Dialog */ | |||||
@import "colors.rasi" | |||||
* { | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
font: "Iosevka Nerd Font 10"; | |||||
} | |||||
window { | |||||
width: 320px; | |||||
padding: 25px; | |||||
border: 0px 0px 2px 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
location: center; | |||||
y-offset: -2em; | |||||
} | |||||
entry { | |||||
expand: true; | |||||
text-color: @ac; | |||||
} |
@ -0,0 +1,122 @@ | |||||
/* | |||||
* | |||||
* Author : Aditya Shakya | |||||
* Mail : adi1090x@gmail.com | |||||
* Github : @adi1090x | |||||
* Twitter : @adi1090x | |||||
* | |||||
*/ | |||||
configuration { | |||||
font: "Iosevka Nerd Font 10"; | |||||
show-icons: true; | |||||
icon-theme: "Papirus"; | |||||
display-drun: ""; | |||||
drun-display-format: "{name}"; | |||||
disable-history: false; | |||||
fullscreen: false; | |||||
hide-scrollbar: true; | |||||
sidebar-mode: false; | |||||
} | |||||
@import "colors.rasi" | |||||
window { | |||||
transparency: "real"; | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
border: 0px 0px 2px 0px; | |||||
border-color: @ac; | |||||
border-radius: 0px; | |||||
width: 400px; | |||||
location: center; | |||||
x-offset: 0; | |||||
y-offset: 0; | |||||
} | |||||
prompt { | |||||
enabled: true; | |||||
padding: 0px 0px 0px 5px; | |||||
background-color: @al; | |||||
text-color: @bar; | |||||
} | |||||
textbox-prompt-colon { | |||||
background-color: @al; | |||||
text-color: @bar; | |||||
expand: false; | |||||
str: ""; | |||||
font: "feather 12"; | |||||
} | |||||
entry { | |||||
background-color: @al; | |||||
text-color: @bar; | |||||
placeholder-color: @bar; | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
placeholder: "Search..."; | |||||
padding: 0px 0px 0px 10px; | |||||
blink: true; | |||||
} | |||||
inputbar { | |||||
children: [ textbox-prompt-colon, prompt ]; | |||||
background-color: @ac; | |||||
text-color: @bar; | |||||
expand: false; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
margin: 0px; | |||||
padding: 12px; | |||||
} | |||||
listview { | |||||
background-color: @al; | |||||
padding: 0px; | |||||
columns: 1; | |||||
lines: 8; | |||||
spacing: 5px; | |||||
cycle: true; | |||||
dynamic: true; | |||||
layout: vertical; | |||||
} | |||||
mainbox { | |||||
background-color: @al; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
children: [ inputbar, listview ]; | |||||
spacing: 0px; | |||||
padding: 0px; | |||||
} | |||||
element { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
orientation: horizontal; | |||||
border-radius: 0px; | |||||
padding: 10px 10px 10px -17px; | |||||
} | |||||
element-icon { | |||||
size: 24px; | |||||
border: 0px; | |||||
} | |||||
element-text { | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
vertical-align: 0.5; | |||||
margin: 0px 2.5px 0px 2.5px; | |||||
} | |||||
element selected { | |||||
background-color: @bga; | |||||
text-color: @fg; | |||||
border: 0px 0px 0px 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
} |
@ -0,0 +1,122 @@ | |||||
/* | |||||
* | |||||
* Author : Aditya Shakya | |||||
* Mail : adi1090x@gmail.com | |||||
* Github : @adi1090x | |||||
* Twitter : @adi1090x | |||||
* | |||||
*/ | |||||
configuration { | |||||
font: "Iosevka Nerd Font 10"; | |||||
show-icons: true; | |||||
icon-theme: "Papirus"; | |||||
display-drun: ""; | |||||
drun-display-format: "{name}"; | |||||
disable-history: false; | |||||
fullscreen: false; | |||||
hide-scrollbar: true; | |||||
sidebar-mode: false; | |||||
} | |||||
@import "colors.rasi" | |||||
window { | |||||
transparency: "real"; | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
border: 0px 0px 2px 0px; | |||||
border-color: @ac; | |||||
border-radius: 0px; | |||||
width: 350px; | |||||
location: center; | |||||
x-offset: 0; | |||||
y-offset: 0; | |||||
} | |||||
prompt { | |||||
enabled: true; | |||||
padding: 0px 0px 0px 5px; | |||||
background-color: @al; | |||||
text-color: @bar; | |||||
} | |||||
textbox-prompt-colon { | |||||
background-color: @al; | |||||
text-color: @bar; | |||||
expand: false; | |||||
str: ""; | |||||
font: "feather 12"; | |||||
} | |||||
entry { | |||||
background-color: @al; | |||||
text-color: @bar; | |||||
placeholder-color: @bar; | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
placeholder: "Search..."; | |||||
padding: 0px 0px 0px 10px; | |||||
blink: true; | |||||
} | |||||
inputbar { | |||||
children: [ textbox-prompt-colon, prompt ]; | |||||
background-color: @ac; | |||||
text-color: @bar; | |||||
expand: false; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
margin: 0px; | |||||
padding: 12px; | |||||
} | |||||
listview { | |||||
background-color: @al; | |||||
padding: 0px; | |||||
columns: 1; | |||||
lines: 5; | |||||
spacing: 5px; | |||||
cycle: true; | |||||
dynamic: true; | |||||
layout: vertical; | |||||
} | |||||
mainbox { | |||||
background-color: @al; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
children: [ inputbar, listview ]; | |||||
spacing: 0px; | |||||
padding: 0px; | |||||
} | |||||
element { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
orientation: horizontal; | |||||
border-radius: 0px; | |||||
padding: 10px 10px 10px -17px; | |||||
} | |||||
element-icon { | |||||
size: 24px; | |||||
border: 0px; | |||||
} | |||||
element-text { | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
vertical-align: 0.5; | |||||
margin: 0px 2.5px 0px 2.5px; | |||||
} | |||||
element selected { | |||||
background-color: @bga; | |||||
text-color: @fg; | |||||
border: 0px 0px 0px 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
} |
@ -0,0 +1,122 @@ | |||||
/* | |||||
* | |||||
* Author : Aditya Shakya | |||||
* Mail : adi1090x@gmail.com | |||||
* Github : @adi1090x | |||||
* Twitter : @adi1090x | |||||
* | |||||
*/ | |||||
configuration { | |||||
font: "Iosevka Nerd Font 10"; | |||||
show-icons: true; | |||||
icon-theme: "Papirus"; | |||||
display-drun: ""; | |||||
drun-display-format: "{name}"; | |||||
disable-history: false; | |||||
fullscreen: false; | |||||
hide-scrollbar: true; | |||||
sidebar-mode: false; | |||||
} | |||||
@import "colors.rasi" | |||||
window { | |||||
transparency: "real"; | |||||
background-color: @bg; | |||||
text-color: @fg; | |||||
border: 0px 0px 2px 0px; | |||||
border-color: @ac; | |||||
border-radius: 0px; | |||||
width: 350px; | |||||
location: center; | |||||
x-offset: 0; | |||||
y-offset: 0; | |||||
} | |||||
prompt { | |||||
enabled: true; | |||||
padding: 0px 0px 0px 5px; | |||||
background-color: @al; | |||||
text-color: @bar; | |||||
} | |||||
textbox-prompt-colon { | |||||
background-color: @al; | |||||
text-color: @bar; | |||||
expand: false; | |||||
str: ""; | |||||
font: "feather 12"; | |||||
} | |||||
entry { | |||||
background-color: @al; | |||||
text-color: @bar; | |||||
placeholder-color: @bar; | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
placeholder: "Search..."; | |||||
padding: 0px 0px 0px 5px; | |||||
blink: true; | |||||
} | |||||
inputbar { | |||||
children: [ textbox-prompt-colon, entry ]; | |||||
background-color: @ac; | |||||
text-color: @bar; | |||||
expand: false; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
margin: 0px; | |||||
padding: 12px; | |||||
} | |||||
listview { | |||||
background-color: @al; | |||||
padding: 0px; | |||||
columns: 1; | |||||
lines: 5; | |||||
spacing: 5px; | |||||
cycle: true; | |||||
dynamic: true; | |||||
layout: vertical; | |||||
} | |||||
mainbox { | |||||
background-color: @al; | |||||
border: 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
children: [ inputbar, listview ]; | |||||
spacing: 0px; | |||||
padding: 0px; | |||||
} | |||||
element { | |||||
background-color: @al; | |||||
text-color: @fg; | |||||
orientation: horizontal; | |||||
border-radius: 0px; | |||||
padding: 10px 10px 10px -17px; | |||||
} | |||||
element-icon { | |||||
size: 24px; | |||||
border: 0px; | |||||
} | |||||
element-text { | |||||
expand: true; | |||||
horizontal-align: 0; | |||||
vertical-align: 0.5; | |||||
margin: 0px 2.5px 0px 2.5px; | |||||
} | |||||
element selected { | |||||
background-color: @bga; | |||||
text-color: @fg; | |||||
border: 0px 0px 0px 0px; | |||||
border-radius: 0px; | |||||
border-color: @ac; | |||||
} |
@ -0,0 +1,45 @@ | |||||
#!/usr/bin/env bash | |||||
NOTIFY_ICON=/usr/share/icons/Papirus/32x32/apps/system-software-update.svg | |||||
get_total_updates() { UPDATES=$(checkupdates 2>/dev/null | wc -l); } | |||||
while true; do | |||||
get_total_updates | |||||
# notify user of updates | |||||
if hash notify-send &>/dev/null; then | |||||
if (( UPDATES > 50 )); then | |||||
notify-send -u critical -i $NOTIFY_ICON \ | |||||
"You really need to update!!" "$UPDATES New packages" | |||||
elif (( UPDATES > 25 )); then | |||||
notify-send -u normal -i $NOTIFY_ICON \ | |||||
"You should update soon" "$UPDATES New packages" | |||||
elif (( UPDATES > 2 )); then | |||||
notify-send -u low -i $NOTIFY_ICON \ | |||||
"$UPDATES New packages" | |||||
fi | |||||
fi | |||||
# when there are updates available | |||||
# every 10 seconds another check for updates is done | |||||
while (( UPDATES > 0 )); do | |||||
if (( UPDATES == 1 )); then | |||||
echo " $UPDATES" | |||||
elif (( UPDATES > 1 )); then | |||||
echo " $UPDATES" | |||||
else | |||||
echo " None" | |||||
fi | |||||
sleep 10 | |||||
get_total_updates | |||||
done | |||||
# when no updates are available, use a longer loop, this saves on CPU | |||||
# and network uptime, only checking once every 30 min for new updates | |||||
while (( UPDATES == 0 )); do | |||||
echo " None" | |||||
sleep 1800 | |||||
get_total_updates | |||||
done | |||||
done |
@ -0,0 +1,233 @@ | |||||
;; ┌──────────────────────────────────────────────────────────────────────────────-----┐ | |||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█░█░█▀▀░█▀▀░█▀▄░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀ │ | |||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░▀▀█░█▀▀░█▀▄░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█ │ | |||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀░▀░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀ │ | |||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ | |||||
;; └──────────────────────────────────────────────────────────────────────────────-----┘ | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/updates] | |||||
type = custom/script | |||||
; Available tokens: | |||||
; %counter% | |||||
; Command to be executed (using "/usr/bin/env sh -c [command]") | |||||
exec = ~/.config/polybar/docky/scripts/updates.sh | |||||
; Conditional command that, if defined, needs to exit successfully | |||||
; before the main exec command is invoked. | |||||
; Default: "" | |||||
;;exec-if = "" | |||||
; Will the script output continous content? | |||||
; Default: false | |||||
tail = true | |||||
; Seconds to sleep between updates | |||||
; Default: 2 (0 if `tail = true`) | |||||
interval = 5 | |||||
; Available tags: | |||||
; <output> - deprecated | |||||
; <label> (default) | |||||
format = <label> | |||||
format-prefix = | |||||
; Available tokens: | |||||
; %output% | |||||
; Default: %output% | |||||
label = %output% | |||||
; Available tokens: | |||||
; %counter% | |||||
; %pid% | |||||
; | |||||
; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c [command]" | |||||
click-left = exo-open --launch TerminalEmulator & | |||||
click-right = exo-open --launch TerminalEmulator & | |||||
;;double-click-left = echo double left %counter% | |||||
;;double-click-middle = echo double middle %counter% | |||||
;;double-click-right = echo double right %counter% | |||||
; Available tokens: | |||||
; %counter% | |||||
; %pid% | |||||
; | |||||
; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c [command]" | |||||
;;scroll-up = echo scroll up %counter% | |||||
;;scroll-down = echo scroll down %counter% | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/launcher] | |||||
type = custom/text | |||||
content = | |||||
; "content" has the same properties as "format-NAME" | |||||
content-background = ${color.primary} | |||||
content-foreground = ${color.module-fg} | |||||
content-padding = 2 | |||||
; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND" | |||||
click-left = ~/.config/polybar/docky/scripts/launcher.sh & | |||||
;;click-middle = ~/.config/polybar/docky/scripts/launcher-full | |||||
click-right = ~/.config/polybar/docky/scripts/color-switch.sh & | |||||
; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND" | |||||
;;scroll-up = ~/.config/polybar/docky/scripts/launcher.sh & | |||||
;;scroll-down = ~/.config/polybar/docky/scripts/color-switch.sh & | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/sysmenu] | |||||
type = custom/text | |||||
content = | |||||
content-background = ${color.primary} | |||||
content-foreground = ${color.module-fg} | |||||
content-padding = 2 | |||||
click-left = ~/.config/polybar/docky/scripts/powermenu.sh & | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/color-switch] | |||||
type = custom/text | |||||
content = | |||||
content-background = ${color.background} | |||||
content-foreground = ${color.foreground} | |||||
click-left = ~/.config/polybar/docky/scripts/color-switch.sh & | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/apps] | |||||
type = custom/text | |||||
content-foreground = ${color.foreground-alt} | |||||
content-padding = 1 | |||||
[module/term] | |||||
inherit = module/apps | |||||
content = | |||||
click-left = termite & | |||||
click-middle = urxvt & | |||||
click-right = xfce4-terminal & | |||||
[module/files] | |||||
inherit = module/apps | |||||
content = | |||||
click-left = thunar & | |||||
click-right = pcmanfm & | |||||
[module/browser] | |||||
inherit = module/apps | |||||
content = | |||||
click-left = firefox & | |||||
click-right = chromium & | |||||
[module/settings] | |||||
inherit = module/apps | |||||
content = | |||||
click-left = xfce4-settings-manager & | |||||
click-right = lxappearance & | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/powermenu] | |||||
type = custom/menu | |||||
; If true, <label-toggle> will be to the left of the menu items (default). | |||||
; If false, it will be on the right of all the items. | |||||
expand-right = true | |||||
; "menu-LEVEL-N" has the same properties as "label-NAME" with | |||||
; the additional "exec" property | |||||
; | |||||
; Available exec commands: | |||||
; menu-open-LEVEL | |||||
; menu-close | |||||
; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" | |||||
menu-0-0 = reboot | |||||
menu-0-0-exec = menu-open-1 | |||||
menu-0-1 = shutdown | |||||
menu-0-1-exec = menu-open-2 | |||||
menu-1-0 = back | |||||
menu-1-0-exec = menu-open-0 | |||||
menu-1-1 = reboot | |||||
menu-1-1-exec = systemctl reboot | |||||
menu-2-0 = shutdown | |||||
menu-2-0-exec = systemctl poweroff | |||||
menu-2-1 = back | |||||
menu-2-1-exec = menu-open-0 | |||||
; Available tags: | |||||
; <label-toggle> (default) - gets replaced with <label-(open|close)> | |||||
; <menu> (default) | |||||
; Note that if you use <label-toggle> you must also include | |||||
; the definition for <label-open> | |||||
format = <label-toggle> <menu> | |||||
format-background = ${color.primary} | |||||
format-foreground = ${color.module-fg} | |||||
format-padding = 2 | |||||
label-open = | |||||
label-close = | |||||
; Optional item separator | |||||
; Default: none | |||||
label-separator = " | " | |||||
;;label-open-foreground = ${color.foreground} | |||||
;;label-close-foreground = ${color.background} | |||||
;;label-separator-foreground = ${color.background} | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ | |||||
[module/menu] | |||||
type = custom/menu | |||||
; If true, <label-toggle> will be to the left of the menu items (default). | |||||
; If false, it will be on the right of all the items. | |||||
expand-right = true | |||||
; "menu-LEVEL-N" has the same properties as "label-NAME" with | |||||
; the additional "exec" property | |||||
; | |||||
; Available exec commands: | |||||
; menu-open-LEVEL | |||||
; menu-close | |||||
; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" | |||||
menu-0-0 = Menu | |||||
menu-0-0-exec = ~/.config/polybar/docky/scripts/launcher.sh & | |||||
menu-0-1 = Files | |||||
menu-0-1-exec = thunar & | |||||
menu-0-2 = Terminal | |||||
menu-0-2-exec = termite & | |||||
menu-0-3 = Browser | |||||
menu-0-3-exec = firefox & | |||||
; Available tags: | |||||
; <label-toggle> (default) - gets replaced with <label-(open|close)> | |||||
; <menu> (default) | |||||
; Note that if you use <label-toggle> you must also include | |||||
; the definition for <label-open> | |||||
format = <label-toggle> <menu> | |||||
format-background = ${color.primary} | |||||
format-foreground = ${color.module-fg} | |||||
format-padding = 2 | |||||
label-open = | |||||
label-close = | |||||
; Optional item separator | |||||
; Default: none | |||||
label-separator = " | " | |||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |