@ -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 = " | " | |||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |