diff options
Diffstat (limited to 'polybar/cuts/scripts')
-rwxr-xr-x | polybar/cuts/scripts/checkupdates | 117 | ||||
-rwxr-xr-x | polybar/cuts/scripts/color-switch.sh | 55 | ||||
-rwxr-xr-x | polybar/cuts/scripts/colors-dark.sh | 102 | ||||
-rwxr-xr-x | polybar/cuts/scripts/colors-light.sh | 102 | ||||
-rwxr-xr-x | polybar/cuts/scripts/launcher.sh | 3 | ||||
-rwxr-xr-x | polybar/cuts/scripts/powermenu.sh | 94 | ||||
-rwxr-xr-x | polybar/cuts/scripts/pywal.sh | 59 | ||||
-rwxr-xr-x | polybar/cuts/scripts/random.sh | 91 | ||||
-rw-r--r-- | polybar/cuts/scripts/rofi/colors.rasi | 10 | ||||
-rw-r--r-- | polybar/cuts/scripts/rofi/confirm.rasi | 25 | ||||
-rw-r--r-- | polybar/cuts/scripts/rofi/launcher.rasi | 115 | ||||
-rw-r--r-- | polybar/cuts/scripts/rofi/message.rasi | 24 | ||||
-rw-r--r-- | polybar/cuts/scripts/rofi/networkmenu.rasi | 123 | ||||
-rw-r--r-- | polybar/cuts/scripts/rofi/powermenu.rasi | 123 | ||||
-rw-r--r-- | polybar/cuts/scripts/rofi/styles.rasi | 123 | ||||
-rwxr-xr-x | polybar/cuts/scripts/style-switch.sh | 20 | ||||
-rwxr-xr-x | polybar/cuts/scripts/styles.sh | 89 | ||||
-rwxr-xr-x | polybar/cuts/scripts/updates.sh | 45 |
18 files changed, 1320 insertions, 0 deletions
diff --git a/polybar/cuts/scripts/checkupdates b/polybar/cuts/scripts/checkupdates new file mode 100755 index 0000000..4d8a5e8 --- /dev/null +++ b/polybar/cuts/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/polybar/cuts/scripts/color-switch.sh b/polybar/cuts/scripts/color-switch.sh new file mode 100755 index 0000000..83941b6 --- /dev/null +++ b/polybar/cuts/scripts/color-switch.sh @@ -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 diff --git a/polybar/cuts/scripts/colors-dark.sh b/polybar/cuts/scripts/colors-dark.sh new file mode 100755 index 0000000..22f1ca8 --- /dev/null +++ b/polybar/cuts/scripts/colors-dark.sh @@ -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 diff --git a/polybar/cuts/scripts/colors-light.sh b/polybar/cuts/scripts/colors-light.sh new file mode 100755 index 0000000..d7151e9 --- /dev/null +++ b/polybar/cuts/scripts/colors-light.sh @@ -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 diff --git a/polybar/cuts/scripts/launcher.sh b/polybar/cuts/scripts/launcher.sh new file mode 100755 index 0000000..0386394 --- /dev/null +++ b/polybar/cuts/scripts/launcher.sh @@ -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 diff --git a/polybar/cuts/scripts/powermenu.sh b/polybar/cuts/scripts/powermenu.sh new file mode 100755 index 0000000..7017be5 --- /dev/null +++ b/polybar/cuts/scripts/powermenu.sh @@ -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 diff --git a/polybar/cuts/scripts/pywal.sh b/polybar/cuts/scripts/pywal.sh new file mode 100755 index 0000000..fac5fbc --- /dev/null +++ b/polybar/cuts/scripts/pywal.sh @@ -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 diff --git a/polybar/cuts/scripts/random.sh b/polybar/cuts/scripts/random.sh new file mode 100755 index 0000000..6addb58 --- /dev/null +++ b/polybar/cuts/scripts/random.sh @@ -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 diff --git a/polybar/cuts/scripts/rofi/colors.rasi b/polybar/cuts/scripts/rofi/colors.rasi new file mode 100644 index 0000000..9ca84d0 --- /dev/null +++ b/polybar/cuts/scripts/rofi/colors.rasi @@ -0,0 +1,10 @@ +/* colors */ + +* { + al: #00000000; + bg: #100f0eBF; + bga: #100f0eFF; + fg: #e5e5e8FF; + ac: #717986FF; + se: #7179861A; +} diff --git a/polybar/cuts/scripts/rofi/confirm.rasi b/polybar/cuts/scripts/rofi/confirm.rasi new file mode 100644 index 0000000..bd82b52 --- /dev/null +++ b/polybar/cuts/scripts/rofi/confirm.rasi @@ -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; +} + diff --git a/polybar/cuts/scripts/rofi/launcher.rasi b/polybar/cuts/scripts/rofi/launcher.rasi new file mode 100644 index 0000000..f9be5dd --- /dev/null +++ b/polybar/cuts/scripts/rofi/launcher.rasi @@ -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; +} diff --git a/polybar/cuts/scripts/rofi/message.rasi b/polybar/cuts/scripts/rofi/message.rasi new file mode 100644 index 0000000..434f16b --- /dev/null +++ b/polybar/cuts/scripts/rofi/message.rasi @@ -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; +} diff --git a/polybar/cuts/scripts/rofi/networkmenu.rasi b/polybar/cuts/scripts/rofi/networkmenu.rasi new file mode 100644 index 0000000..2ac18b8 --- /dev/null +++ b/polybar/cuts/scripts/rofi/networkmenu.rasi @@ -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; +} diff --git a/polybar/cuts/scripts/rofi/powermenu.rasi b/polybar/cuts/scripts/rofi/powermenu.rasi new file mode 100644 index 0000000..7c83572 --- /dev/null +++ b/polybar/cuts/scripts/rofi/powermenu.rasi @@ -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; +} diff --git a/polybar/cuts/scripts/rofi/styles.rasi b/polybar/cuts/scripts/rofi/styles.rasi new file mode 100644 index 0000000..6d3b7f2 --- /dev/null +++ b/polybar/cuts/scripts/rofi/styles.rasi @@ -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; +} diff --git a/polybar/cuts/scripts/style-switch.sh b/polybar/cuts/scripts/style-switch.sh new file mode 100755 index 0000000..e693e53 --- /dev/null +++ b/polybar/cuts/scripts/style-switch.sh @@ -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 diff --git a/polybar/cuts/scripts/styles.sh b/polybar/cuts/scripts/styles.sh new file mode 100755 index 0000000..94b6739 --- /dev/null +++ b/polybar/cuts/scripts/styles.sh @@ -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 diff --git a/polybar/cuts/scripts/updates.sh b/polybar/cuts/scripts/updates.sh new file mode 100755 index 0000000..9dcc903 --- /dev/null +++ b/polybar/cuts/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=$(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 |