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/colorblocks/scripts | |
| parent | 9f004955033387eebf3f58aec2501fba5020f307 (diff) | |
feat(polybar): update polybar style
Diffstat (limited to 'config/polybar/colorblocks/scripts')
16 files changed, 1324 insertions, 0 deletions
diff --git a/config/polybar/colorblocks/scripts/checkupdates b/config/polybar/colorblocks/scripts/checkupdates new file mode 100755 index 0000000..4d8a5e8 --- /dev/null +++ b/config/polybar/colorblocks/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/colorblocks/scripts/color-switch.sh b/config/polybar/colorblocks/scripts/color-switch.sh new file mode 100755 index 0000000..72b4768 --- /dev/null +++ b/config/polybar/colorblocks/scripts/color-switch.sh @@ -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 diff --git a/config/polybar/colorblocks/scripts/colors-dark.sh b/config/polybar/colorblocks/scripts/colors-dark.sh new file mode 100755 index 0000000..983ec29 --- /dev/null +++ b/config/polybar/colorblocks/scripts/colors-dark.sh @@ -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 diff --git a/config/polybar/colorblocks/scripts/colors-light.sh b/config/polybar/colorblocks/scripts/colors-light.sh new file mode 100755 index 0000000..d9639ee --- /dev/null +++ b/config/polybar/colorblocks/scripts/colors-light.sh @@ -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 diff --git a/config/polybar/colorblocks/scripts/launcher.sh b/config/polybar/colorblocks/scripts/launcher.sh new file mode 100755 index 0000000..4fa093e --- /dev/null +++ b/config/polybar/colorblocks/scripts/launcher.sh @@ -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 diff --git a/config/polybar/colorblocks/scripts/powermenu.sh b/config/polybar/colorblocks/scripts/powermenu.sh new file mode 100755 index 0000000..b4bb784 --- /dev/null +++ b/config/polybar/colorblocks/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/colorblocks/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/colorblocks/scripts/pywal.sh b/config/polybar/colorblocks/scripts/pywal.sh new file mode 100755 index 0000000..4419197 --- /dev/null +++ b/config/polybar/colorblocks/scripts/pywal.sh @@ -0,0 +1,77 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/colorblocks/colors.ini" +RFILE="$HOME/.config/polybar/colorblocks/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/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 [[ -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" "$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 diff --git a/config/polybar/colorblocks/scripts/random.sh b/config/polybar/colorblocks/scripts/random.sh new file mode 100755 index 0000000..ff7d99b --- /dev/null +++ b/config/polybar/colorblocks/scripts/random.sh @@ -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 diff --git a/config/polybar/colorblocks/scripts/rofi/colors.rasi b/config/polybar/colorblocks/scripts/rofi/colors.rasi new file mode 100644 index 0000000..a0b120c --- /dev/null +++ b/config/polybar/colorblocks/scripts/rofi/colors.rasi @@ -0,0 +1,10 @@ +/* colors */ + +* { + al: #00000000; + bg: #141C21FF; + bg1: #80DEEAFF; + bg2: #4DD0E1FF; + bg3: #26C6DAFF; + fg: #FFFFFFFF; +} diff --git a/config/polybar/colorblocks/scripts/rofi/confirm.rasi b/config/polybar/colorblocks/scripts/rofi/confirm.rasi new file mode 100644 index 0000000..97e4a61 --- /dev/null +++ b/config/polybar/colorblocks/scripts/rofi/confirm.rasi @@ -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; +} diff --git a/config/polybar/colorblocks/scripts/rofi/launcher.rasi b/config/polybar/colorblocks/scripts/rofi/launcher.rasi new file mode 100644 index 0000000..1c48fcd --- /dev/null +++ b/config/polybar/colorblocks/scripts/rofi/launcher.rasi @@ -0,0 +1,120 @@ +/* + * + * 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 { + 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: @bg; + text-color: @bg3; + border: 0px; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/colorblocks/scripts/rofi/message.rasi b/config/polybar/colorblocks/scripts/rofi/message.rasi new file mode 100644 index 0000000..8e4470d --- /dev/null +++ b/config/polybar/colorblocks/scripts/rofi/message.rasi @@ -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; +} diff --git a/config/polybar/colorblocks/scripts/rofi/networkmenu.rasi b/config/polybar/colorblocks/scripts/rofi/networkmenu.rasi new file mode 100644 index 0000000..2d7c04b --- /dev/null +++ b/config/polybar/colorblocks/scripts/rofi/networkmenu.rasi @@ -0,0 +1,128 @@ +/* + * + * 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 { + 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: @bg; + text-color: @bg3; + border: 0px; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/colorblocks/scripts/rofi/powermenu.rasi b/config/polybar/colorblocks/scripts/rofi/powermenu.rasi new file mode 100644 index 0000000..17e0ceb --- /dev/null +++ b/config/polybar/colorblocks/scripts/rofi/powermenu.rasi @@ -0,0 +1,128 @@ +/* + * + * 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 { + 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: @bg; + text-color: @bg3; + border: 0px; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/colorblocks/scripts/rofi/styles.rasi b/config/polybar/colorblocks/scripts/rofi/styles.rasi new file mode 100644 index 0000000..75290f1 --- /dev/null +++ b/config/polybar/colorblocks/scripts/rofi/styles.rasi @@ -0,0 +1,128 @@ +/* + * + * 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 { + 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: @bg; + text-color: @bg3; + border: 0px; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/colorblocks/scripts/updates.sh b/config/polybar/colorblocks/scripts/updates.sh new file mode 100755 index 0000000..48b5bab --- /dev/null +++ b/config/polybar/colorblocks/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/colorblocks/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 |
