diff options
| author | Anhgelus Morhtuuzh <anhgelus.morhtuuzh@gmx.com> | 2023-07-25 23:46:05 +0200 |
|---|---|---|
| committer | Anhgelus Morhtuuzh <anhgelus.morhtuuzh@gmx.com> | 2023-07-25 23:46:05 +0200 |
| commit | c57e8ab185623510e527400a34d729b313daffc4 (patch) | |
| tree | 7b67d44894255ce4810d8074d68fce88f66d37d0 /config/polybar/material/scripts | |
| parent | 9f004955033387eebf3f58aec2501fba5020f307 (diff) | |
feat(polybar): update polybar style
Diffstat (limited to 'config/polybar/material/scripts')
| -rwxr-xr-x | config/polybar/material/scripts/checkupdates | 117 | ||||
| -rwxr-xr-x | config/polybar/material/scripts/color-switch.sh | 55 | ||||
| -rwxr-xr-x | config/polybar/material/scripts/colors-dark.sh | 120 | ||||
| -rwxr-xr-x | config/polybar/material/scripts/colors-light.sh | 120 | ||||
| -rwxr-xr-x | config/polybar/material/scripts/launcher.sh | 3 | ||||
| -rwxr-xr-x | config/polybar/material/scripts/powermenu.sh | 95 | ||||
| -rwxr-xr-x | config/polybar/material/scripts/pywal.sh | 87 | ||||
| -rwxr-xr-x | config/polybar/material/scripts/random.sh | 96 | ||||
| -rw-r--r-- | config/polybar/material/scripts/rofi/colors.rasi | 10 | ||||
| -rw-r--r-- | config/polybar/material/scripts/rofi/confirm.rasi | 24 | ||||
| -rw-r--r-- | config/polybar/material/scripts/rofi/launcher.rasi | 119 | ||||
| -rw-r--r-- | config/polybar/material/scripts/rofi/message.rasi | 24 | ||||
| -rw-r--r-- | config/polybar/material/scripts/rofi/networkmenu.rasi | 126 | ||||
| -rw-r--r-- | config/polybar/material/scripts/rofi/powermenu.rasi | 126 | ||||
| -rw-r--r-- | config/polybar/material/scripts/rofi/styles.rasi | 126 | ||||
| -rwxr-xr-x | config/polybar/material/scripts/updates.sh | 45 |
16 files changed, 1293 insertions, 0 deletions
diff --git a/config/polybar/material/scripts/checkupdates b/config/polybar/material/scripts/checkupdates new file mode 100755 index 0000000..4d8a5e8 --- /dev/null +++ b/config/polybar/material/scripts/checkupdates @@ -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: diff --git a/config/polybar/material/scripts/color-switch.sh b/config/polybar/material/scripts/color-switch.sh new file mode 100755 index 0000000..6c7311e --- /dev/null +++ b/config/polybar/material/scripts/color-switch.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +SDIR="$HOME/.config/polybar/material/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 diff --git a/config/polybar/material/scripts/colors-dark.sh b/config/polybar/material/scripts/colors-dark.sh new file mode 100755 index 0000000..c33c038 --- /dev/null +++ b/config/polybar/material/scripts/colors-dark.sh @@ -0,0 +1,120 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/material/colors.ini" +RFILE="$HOME/.config/polybar/material/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 diff --git a/config/polybar/material/scripts/colors-light.sh b/config/polybar/material/scripts/colors-light.sh new file mode 100755 index 0000000..0854635 --- /dev/null +++ b/config/polybar/material/scripts/colors-light.sh @@ -0,0 +1,120 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/material/colors.ini" +RFILE="$HOME/.config/polybar/material/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="#2E2E2E" + 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 diff --git a/config/polybar/material/scripts/launcher.sh b/config/polybar/material/scripts/launcher.sh new file mode 100755 index 0000000..5e544b9 --- /dev/null +++ b/config/polybar/material/scripts/launcher.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/material/scripts/rofi/launcher.rasi diff --git a/config/polybar/material/scripts/powermenu.sh b/config/polybar/material/scripts/powermenu.sh new file mode 100755 index 0000000..6e13e39 --- /dev/null +++ b/config/polybar/material/scripts/powermenu.sh @@ -0,0 +1,95 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya +## Mail : adi1090x@gmail.com +## Github : @adi1090x +## Twitter : @adi1090x + +dir="~/.config/polybar/material/scripts/rofi" +uptime=$(uptime -p | sed -e 's/up //g') + +rofi_command="rofi -no-config -theme $dir/powermenu.rasi" + +# Options +shutdown=" Shutdown" +reboot=" Restart" +lock=" Lock" +suspend=" Sleep" +logout=" Logout" + +# Confirmation +confirm_exit() { + rofi -dmenu\ + -no-config\ + -i\ + -no-fixed-num-lines\ + -p "Are You Sure? : "\ + -theme $dir/confirm.rasi +} + +# Message +msg() { + rofi -no-config -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 diff --git a/config/polybar/material/scripts/pywal.sh b/config/polybar/material/scripts/pywal.sh new file mode 100755 index 0000000..4602458 --- /dev/null +++ b/config/polybar/material/scripts/pywal.sh @@ -0,0 +1,87 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/material/colors.ini" +RFILE="$HOME/.config/polybar/material/scripts/rofi/colors.rasi" +WFILE="$HOME/.cache/wal/colors.sh" + +# 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 [[ -x "`which wal`" ]]; then + if [[ "$1" ]]; then + pywal_get "$1" + + # Source the pywal color file + if [[ -e "$WFILE" ]]; then + . "$WFILE" + else + echo 'Color file does not exist, exiting...' + exit 1 + fi + + 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 diff --git a/config/polybar/material/scripts/random.sh b/config/polybar/material/scripts/random.sh new file mode 100755 index 0000000..5e2485b --- /dev/null +++ b/config/polybar/material/scripts/random.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/material/colors.ini" +RFILE="$HOME/.config/polybar/material/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 diff --git a/config/polybar/material/scripts/rofi/colors.rasi b/config/polybar/material/scripts/rofi/colors.rasi new file mode 100644 index 0000000..c941c28 --- /dev/null +++ b/config/polybar/material/scripts/rofi/colors.rasi @@ -0,0 +1,10 @@ +/* colors */ + +* { + al: #00000000; + bg: #1F1F1FFF; + bga: #ffb30033; + bar: #1F1F1FFF; + fg: #FFFFFFFF; + ac: #ffb300FF; +} diff --git a/config/polybar/material/scripts/rofi/confirm.rasi b/config/polybar/material/scripts/rofi/confirm.rasi new file mode 100644 index 0000000..d5683bb --- /dev/null +++ b/config/polybar/material/scripts/rofi/confirm.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Fantasque Sans Mono 10"; +} + +window { + width: 225px; + padding: 25px; + border: 1px; + border-radius: 0px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} diff --git a/config/polybar/material/scripts/rofi/launcher.rasi b/config/polybar/material/scripts/rofi/launcher.rasi new file mode 100644 index 0000000..7a598e0 --- /dev/null +++ b/config/polybar/material/scripts/rofi/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Fantasque Sans Mono 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: 550px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 0px 5px 0px -10px; + background-color: @al; + text-color: @bar; + font: "Material\-Design\-Iconic\-Font 12"; +} + +entry { + background-color: @al; + text-color: @bar; + placeholder-color: @bar; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 1px; + 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: 15px 0px 12px 25px; +} + +listview { + background-color: @al; + padding: 10px 10px 10px 10px; + columns: 2; + lines: 7; + 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 { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + 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; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/material/scripts/rofi/message.rasi b/config/polybar/material/scripts/rofi/message.rasi new file mode 100644 index 0000000..37ca719 --- /dev/null +++ b/config/polybar/material/scripts/rofi/message.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Fantasque Sans Mono 10"; +} + +window { + width: 320px; + padding: 25px; + border: 1px; + border-radius: 0px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} diff --git a/config/polybar/material/scripts/rofi/networkmenu.rasi b/config/polybar/material/scripts/rofi/networkmenu.rasi new file mode 100644 index 0000000..b946736 --- /dev/null +++ b/config/polybar/material/scripts/rofi/networkmenu.rasi @@ -0,0 +1,126 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Fantasque Sans Mono 10"; + show-icons: true; + icon-theme: "Papirus"; + 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 5px 5px 0px; + background-color: @al; + text-color: @bar; +} + +textbox-prompt-colon { + padding: -2px 5px 5px -10px; + font: "Material\-Design\-Iconic\-Font 12"; + background-color: @al; + text-color: @bar; + expand: false; + str: ""; +} + +entry { + background-color: @al; + text-color: @bar; + placeholder-color: @bar; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 1px; + 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: 15px 0px 8px 25px; +} + +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: 15px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 0px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 0px 0px -3px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/material/scripts/rofi/powermenu.rasi b/config/polybar/material/scripts/rofi/powermenu.rasi new file mode 100644 index 0000000..9e61702 --- /dev/null +++ b/config/polybar/material/scripts/rofi/powermenu.rasi @@ -0,0 +1,126 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Fantasque Sans Mono 10"; + show-icons: true; + icon-theme: "Papirus"; + 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 5px 5px 0px; + background-color: @al; + text-color: @bar; +} + +textbox-prompt-colon { + padding: -2px 5px 5px -10px; + font: "Material\-Design\-Iconic\-Font 12"; + background-color: @al; + text-color: @bar; + expand: false; + str: ""; +} + +entry { + background-color: @al; + text-color: @bar; + placeholder-color: @bar; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 1px; + 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: 15px 0px 8px 25px; +} + +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: 15px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 0px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 0px 0px -5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/material/scripts/rofi/styles.rasi b/config/polybar/material/scripts/rofi/styles.rasi new file mode 100644 index 0000000..b37c6c2 --- /dev/null +++ b/config/polybar/material/scripts/rofi/styles.rasi @@ -0,0 +1,126 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Fantasque Sans Mono 10"; + show-icons: true; + icon-theme: "Papirus"; + 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 5px 5px 0px; + background-color: @al; + text-color: @bar; +} + +textbox-prompt-colon { + padding: 0.5px 5px 5px -10px; + font: "Material\-Design\-Iconic\-Font 12"; + background-color: @al; + text-color: @bar; + expand: false; + str: ""; +} + +entry { + background-color: @al; + text-color: @bar; + placeholder-color: @bar; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 2px; + 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: 15px 0px 8px 25px; +} + +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: 15px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 0px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 0px 0px -5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/material/scripts/updates.sh b/config/polybar/material/scripts/updates.sh new file mode 100755 index 0000000..b967afd --- /dev/null +++ b/config/polybar/material/scripts/updates.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +NOTIFY_ICON=/usr/share/icons/Papirus/32x32/apps/system-software-update.svg + +get_total_updates() { UPDATES=$(~/.config/polybar/material/scripts/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 |
