From 683564bd058884356491b7b847f5d2e204207389 Mon Sep 17 00:00:00 2001 From: InigoGutierrez Date: Mon, 19 Nov 2018 14:13:18 +0100 Subject: Initial scripts commit. --- bgBrowser.sh | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++++ bgSelector.sh | 7 ++++ brightFirst.sh | 2 ++ brightness.sh | 20 +++++++++++ dmenuMount.sh | 34 ++++++++++++++++++ dmenuTerm.sh | 30 ++++++++++++++++ dmenuUmount.sh | 22 ++++++++++++ months.sh | 41 ++++++++++++++++++++++ neofetch.sh | 13 +++++++ notification.sh | 3 ++ pkmBgSelector.sh | 11 ++++++ prompt.sh | 10 ++++++ resetConnection.sh | 3 ++ showColors.sh | 11 ++++++ syncthing.sh | 2 ++ systemControl.sh | 19 ++++++++++ webview.sh | 22 ++++++++++++ wifiDown.sh | 2 ++ years.sh | 28 +++++++++++++++ 19 files changed, 381 insertions(+) create mode 100644 bgBrowser.sh create mode 100644 bgSelector.sh create mode 100644 brightFirst.sh create mode 100644 brightness.sh create mode 100644 dmenuMount.sh create mode 100644 dmenuTerm.sh create mode 100644 dmenuUmount.sh create mode 100644 months.sh create mode 100644 neofetch.sh create mode 100644 notification.sh create mode 100644 pkmBgSelector.sh create mode 100644 prompt.sh create mode 100644 resetConnection.sh create mode 100644 showColors.sh create mode 100644 syncthing.sh create mode 100644 systemControl.sh create mode 100644 webview.sh create mode 100644 wifiDown.sh create mode 100644 years.sh diff --git a/bgBrowser.sh b/bgBrowser.sh new file mode 100644 index 0000000..3608e30 --- /dev/null +++ b/bgBrowser.sh @@ -0,0 +1,101 @@ +#!/bin/bash +# _ _ +# __ ____ _| | |_ __ __ _ _ __ ___ _ __ +# \ \ /\ / / _` | | | '_ \ / _` | '_ \ / _ \ '__| +# \ V V / (_| | | | |_) | (_| | |_) | __/ | +# \_/\_/ \__,_|_|_| .__/ \__,_| .__/ \___|_| +# _ |_| |_| +# | |__ _ __ _____ _____ ___ _ __ +# | '_ \| '__/ _ \ \ /\ / / __|/ _ \ '__| +# | |_) | | | (_) \ V V /\__ \ __/ | +# |_.__/|_| \___/ \_/\_/ |___/\___|_| +# + +folder="/home/inigo/images/wallpapers/" +indexSet=0 + +function updateFiles { + files=$(ls "$folder" | grep -e .jpg -e .jpeg -e .png) +} + +function updateCurrentFile { + i=0 + for file in $files; do + i=$(($i+1)) + if [ $i -eq $indexSet ]; then + selectedFile="$file" + fi + done +} + +function updateBg { + feh --bg-scale "$folder""$selectedFile" + echo "New bg: $selectedFile" +} + +echo "Welcome to bg browser! Usage:" +echo "h, l - Browse wallpapers." +echo "r - Rename current wallpaper's file." +echo "d - Delete current wallpaper's file." +echo "q - Quit." + +updateFiles +read -n 1 input +while [ "$input" != "q" ] +do + case $input in + l) + indexSet=$(($indexSet+1)) + clear + updateCurrentFile + updateBg + ;; + h) + indexSet=$(($indexSet-1)) + clear + updateCurrentFile + updateBg + ;; + r) + clear && echo "Rename? [y]es/[no]" + read -n 1 input + if [ "$input" = "y" ]; then + clear && echo "Prev name: $selectedFile" && echo "New name: " + read newName + if [ "$newName" = "$selectedFile" ]; then + clear && echo "Same name ("$newName") - No changes" + else + # Check that name does not exist + if [ -f "$folder$newName" ]; then #FIX + clear && echo "\"$newName\" already exists - Aborting" + else + mv "$folder$selectedFile" "$folder$newName" + echo "$selectedFile -> $newName" + updateFiles + updateCurrentFile + updateBg + fi + fi + else + clear && echo "Current bg: $selectedFile" + fi + ;; + d) + clear && echo "Delete $selectedFile? [y]es/[no]" + read -n 1 input + if [ "$input" = "y" ]; then + rm "$folder$selectedFile" + clear && echo "\"$selectedFile\" deleted" + updateFiles + updateCurrentFile + updateBg + else + clear && echo "Not deleted." && echo "Current bg: $selectedFile" + fi + ;; + *) + clear && echo "Current bg: $selectedFile" + ;; + esac + read -n 1 input +done diff --git a/bgSelector.sh b/bgSelector.sh new file mode 100644 index 0000000..541a96b --- /dev/null +++ b/bgSelector.sh @@ -0,0 +1,7 @@ +#!/bin/bash +if [ $(date +%H) -gt 18 ] +then + feh --bg-scale ~/images/wallpapers/night* +else + feh --bg-scale ~/images/wallpapers/bg* +fi diff --git a/brightFirst.sh b/brightFirst.sh new file mode 100644 index 0000000..5dd2540 --- /dev/null +++ b/brightFirst.sh @@ -0,0 +1,2 @@ +#!/bin/bash +sudo chmod 666 /sys/class/backlight/intel_backlight/brightness diff --git a/brightness.sh b/brightness.sh new file mode 100644 index 0000000..b104d22 --- /dev/null +++ b/brightness.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +brightness_file=/sys/class/backlight/intel_backlight/brightness +maxbrightness_file=/sys/class/backlight/intel_backlight/max_brightness + +brightness=$(< $brightness_file) +maxbrightness=$(< $maxbrightness_file) +let target=$1+$brightness +#for testing: +#echo "Actual bright: $brightness; Max: $maxbrightness; Target: $target" +if [ $target -gt $maxbrightness ] +then + echo "Value too big. Target: $target; max: $maxbrightness" +elif [ 0 -gt $target ] +then + echo "Value too low. Target: $target" +else + echo $target | tee $brightness_file + echo "New brightness: $target/$maxbrightness" +fi diff --git a/dmenuMount.sh b/dmenuMount.sh new file mode 100644 index 0000000..00c1e73 --- /dev/null +++ b/dmenuMount.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# _ +# __| |_ __ ___ ___ _ __ _ _ +# / _` | '_ ` _ \ / _ \ '_ \| | | | +# | (_| | | | | | | __/ | | | |_| | +# \__,_|_| |_| |_|\___|_| |_|\__,_| +# _ +# _ __ ___ ___ _ _ _ __ | |_ ___ +# | '_ ` _ \ / _ \| | | | '_ \| __/ __| +# | | | | | | (_) | |_| | | | | |_\__ \ +# |_| |_| |_|\___/ \__,_|_| |_|\__|___/ +# +# +# Gives a dmenu prompt to mount unmounted drives. +# If they're in /etc/fstab, they'll be mounted automatically. +# Otherwise, prompts to give a mountpoint from already existing directories. +# If you input a novel directory, prompts to create that directory. + +pgrep -x dmenu && exit + +mountable=$(lsblk -lp | grep "part $" | awk '{print $1, "(" $4 ")"}') +[[ "$mountable" = "" ]] && exit 1 +chosen=$(echo "$mountable" | dmenu -i -p "Mount which drive?" | awk '{print $1}') +[[ "$chosen" = "" ]] && exit 1 +#sudo -u inigo mount "$chosen" && exit 0 +mount "$chosen" && notify-send "$chosen mounted" && exit 0 +dirs=$(find /media /home/inigo/mounts -type d -maxdepth 3 -empty 2>/dev/null) +mountpoint=$(echo "$dirs" | dmenu -i -p "Type in mount point.") +[[ "$mountpoint" = "" ]] && exit 1 +if [[ ! -d "$mountpoint" ]]; then + bash /home/inigo/scripts/prompt.sh "$mountpoint does not exist. Create it?" "mkdir -p $mountpoint" +fi +#sudo -u inigo mount $chosen $mountpoint && pgrep -x dunst && notify-send "$chosen mounted to $mountpoint." +mount $chosen $mountpoint && pgrep -x dunst && notify-send "$chosen mounted to $mountpoint." diff --git a/dmenuTerm.sh b/dmenuTerm.sh new file mode 100644 index 0000000..f01a916 --- /dev/null +++ b/dmenuTerm.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# dmenu script for opening console programs and scripts directly + +options="neofetch\ncmus\nnewsboat\nneomutt\nsyncthing\nbrightFirst\nresetConnection\nwifiDown\nyears\nmonths\nbg selection\nshowColors" + +chosen=$(echo -e "$options" | dmenu \ +-i \ +-p "~$" \ +-nb "#000000" \ +-nf "#60ff00" \ +-sb "#60f000" \ +-sf "#000000") + +case "$chosen" in + # floating windows + neofetch) urxvt -name floating -sh 30 -cr black -geometry 80x21 -e bash ~/scripts/neofetch.sh ;; + showColors) urxvt -name floating -sh 10 -cr black -geometry 43x9 -e bash ~/scripts/showColors.sh ;; + years) urxvt -name floating -sh 20 -cr black -geometry 66x39 -e bash ~/scripts/years.sh ;; + months) urxvt -name floating -sh 20 -cr black -geometry 22x9 -e bash ~/scripts/months.sh ;; + "bg selection") urxvt -name floating -sh 20 -cr black -geometry 45x6 -e bash ~/scripts/bgBrowser.sh ;; + #programs + cmus) urxvt -cd ~/music -e cmus ;; + newsboat) urxvt -e newsboat ;; + neomutt) urxvt -e neomutt ;; + syncthing) qutebrowser && urxvt -e bash ~/scripts/syncthing.sh ;; + # sudo stuff + brightFirst) urxvt -name floating -geometry 32x1 -e sudo bash ~/scripts/brightFirst.sh ;; + resetConnection) urxvt -name floating -geometry 32x1 -e sudo bash ~/scripts/resetConnection.sh ;; + wifiDown) urxvt -name floating -geometry 32x1 -e sudo bash ~/scripts/wifiDown.sh ;; +esac diff --git a/dmenuUmount.sh b/dmenuUmount.sh new file mode 100644 index 0000000..873ad2d --- /dev/null +++ b/dmenuUmount.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# _ _ +# __| |_ __ ___ ___ _ __ _ _ +# / _` | '_ ` _ \ / _ \ '_ \| | | | +# | (_| | | | | | | __/ | | | |_| | +# \__,_|_| |_| |_|\___|_| |_|\__,_| +# _ +# _ _ _ __ ___ ___ _ _ _ __ | |_ ___ +# | | | | '_ ` _ \ / _ \| | | | '_ \| __/ __| +# | |_| | | | | | | (_) | |_| | | | | |_\__ \ +# \__,_|_| |_| |_|\___/ \__,_|_| |_|\__|___/ +# +# Gives a dmenu prompt to umount mounted drives. +# Shows mounted partitions; select one to unmount. + +exclusionregex="\(/boot\|/home\|/\)$" +drives=$(lsblk -lp | grep "part /" | grep -v "$exclusionregex" | awk '{print $1, "(" $4 ")", "on", $7}') +[[ "$drives" = "" ]] && exit +chosen=$(echo "$drives" | dmenu -i -p "Unmount which drive?" | awk '{print $1}') +[[ "$chosen" = "" ]] && exit +umount $chosen && pgrep -x dunst && notify-send "$chosen unmounted." +#umount $chosen && notify-send "$chosen unmounted." diff --git a/months.sh b/months.sh new file mode 100644 index 0000000..b9d822b --- /dev/null +++ b/months.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# _ _ +# _ __ ___ ___ _ __ | |_| |__ ___ +# | '_ ` _ \ / _ \| '_ \| __| '_ \/ __| +# | | | | | | (_) | | | | |_| | | \__ \ +# |_| |_| |_|\___/|_| |_|\__|_| |_|___/ +# +# Navigates through month calendars and exits with q + +month=$(date +%m) +year=$(date +%Y) +ncal -b -m $month $year +read -n 1 input + +while [ "$input" != "q" ] +do + case $input in + l) + clear + month=$(($month%12+1)) + if [ $month -eq 1 ] + then + year=$(($year+1)) + fi + ncal -b -m $month $year + read -n 1 input + ;; + h) + clear + month=$(($(($month-1))%12)) + if [ $month -eq 0 ] + then + month=12 + year=$(($year-1)) + fi + ncal -b -m $month $year + read -n 1 input + ;; + esac +done + diff --git a/neofetch.sh b/neofetch.sh new file mode 100644 index 0000000..e5f8edc --- /dev/null +++ b/neofetch.sh @@ -0,0 +1,13 @@ +#!/bin/bash +# Wrapper for neofetch + +neofetch \ +--disable term \ +--block_width 3 \ +--block_height 1 \ +--block_range 0 15 \ +--underline_char o \ +--gtk2 off \ +--gtk3 off + +read -rsp "" -d "q" diff --git a/notification.sh b/notification.sh new file mode 100644 index 0000000..99ad0f4 --- /dev/null +++ b/notification.sh @@ -0,0 +1,3 @@ +#!/bin/bash +chosen=myselection +pgrep -x dunst && notify-send "$chosen mynotif." diff --git a/pkmBgSelector.sh b/pkmBgSelector.sh new file mode 100644 index 0000000..7fea1b9 --- /dev/null +++ b/pkmBgSelector.sh @@ -0,0 +1,11 @@ +#!/bin/bash +hour=$(date +%H) +if [ $hour -gt 4 -a $hour -lt 7 ]; then + feh --bg-scale ~/images/wallpapers/pkmduskbg.png +elif [ $hour -gt 6 -a $hour -lt 15 ]; then + feh --bg-scale ~/images/wallpapers/pkmdaybg.png +elif [ $hour -gt 14 -a $hour -lt 17 ]; then + feh --bg-scale ~/images/wallpapers/pkmduskbg.png +else + feh --bg-scale ~/images/wallpapers/pkmnightbg.jpg +fi diff --git a/prompt.sh b/prompt.sh new file mode 100644 index 0000000..6d262c1 --- /dev/null +++ b/prompt.sh @@ -0,0 +1,10 @@ +#!/bin/bash +# A dmenu binary prompt script. +# Gives a dmenu prompt labeled with $1 to perform command $2. + +[ $(echo -e "No\nYes" | dmenu -i -p "$1" \ +-nb "#000000" \ +-nf "#60ff00" \ +-sb "#60f000" \ +-sf "#000000") \ +== "Yes" ] && $2 diff --git a/resetConnection.sh b/resetConnection.sh new file mode 100644 index 0000000..7037006 --- /dev/null +++ b/resetConnection.sh @@ -0,0 +1,3 @@ +#!/bin/bash +sudo ifconfig wlp2s0 up +service network-manager restart diff --git a/showColors.sh b/showColors.sh new file mode 100644 index 0000000..1b0a19a --- /dev/null +++ b/showColors.sh @@ -0,0 +1,11 @@ +#!bin/bash +echo -e "\033[0;30mBlack (0;30) \033[1;30mLight Black (1;30)" +echo -e "\033[0;31mRed (0;31) \033[1;31mLight Red (1;31)" +echo -e "\033[0;32mGreen (0;32) \033[1;32mLight Green (1;32)" +echo -e "\033[0;33mOrange (0;33) \033[1;33mLight Orange (1;33)" +echo -e "\033[0;34mBlue (0;34) \033[1;34mLight Blue (1;34)" +echo -e "\033[0;35mPurple (0;35) \033[1;35mLight Purple (1;35)" +echo -e "\033[0;36mCyan (0;36) \033[1;36mLight Cyan (1;36)" +echo -e "\033[0;37mWhite (0;37) \033[1;37mLight White (1;37)" + +read -rsp "" -d "q" diff --git a/syncthing.sh b/syncthing.sh new file mode 100644 index 0000000..a0b0924 --- /dev/null +++ b/syncthing.sh @@ -0,0 +1,2 @@ +#!/bin/bash +~/syncthing/syncthing-linux-amd64-v0.14.51/syncthing diff --git a/systemControl.sh b/systemControl.sh new file mode 100644 index 0000000..2b4125f --- /dev/null +++ b/systemControl.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# A dmenu prompt script to control system functions. + +options="lock\nreboot\nshutdown\nexit i3" + +chosen=$(echo -e "$options" | dmenu \ +-i \ +-p ">_" \ +-nb "#000000" \ +-nf "#60ff00" \ +-sb "#60f000" \ +-sf "#000000") + +case "$chosen" in + lock) i3lock -i ~/images/wallpapers/lockbg.png -f ;; + reboot) bash ~/scripts/prompt.sh Reboot? reboot ;; + shutdown) bash ~/scripts/prompt.sh Shutdown? "shutdown now" ;; + "exit i3") bash ~/scripts/prompt.sh "Exit i3? (ends X session)" "i3-msg exit" ;; +esac diff --git a/webview.sh b/webview.sh new file mode 100644 index 0000000..611deb1 --- /dev/null +++ b/webview.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +# Feed script a url. + +ext="${1##*.}" +mpvFiles="mkv mp4 gif" +pqivFiles="png jpg jpeg jpe" +wgetFiles="mp3 pdf" + +# Check youtube link +if echo "$1" | grep youtube > /dev/null; then + nohup mpv --loop "$1" >/dev/null & +# General checks +elif echo $pqivFiles | grep -w $ext > /dev/null; then + i3 exec pqiv "$1" >/dev/null & +elif echo $mpvFiles | grep -w $ext > /dev/null; then + i3 exec mpv --loop "$1" >/dev/null & +elif echo $wgetFiles | grep -w $ext > /dev/null; then + i3 exec wget "$1" >/dev/null & +else + i3 exec qutebrowser "$1" >/dev/null & +fi diff --git a/wifiDown.sh b/wifiDown.sh new file mode 100644 index 0000000..d8b22d9 --- /dev/null +++ b/wifiDown.sh @@ -0,0 +1,2 @@ +#!/bin/bash +sudo ifconfig wlp2s0 down diff --git a/years.sh b/years.sh new file mode 100644 index 0000000..49494cb --- /dev/null +++ b/years.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# _ _ ___ __ _ _ __ ___ +# | | | |/ _ \/ _` | '__/ __| +# | |_| | __/ (_| | | \__ \ +# \__, |\___|\__,_|_| |___/ +# |___/ +# +# Navigates through year calendars and exits with q + +year=$(date +%Y) +ncal -b -y +read -n 1 input + +while [ "$input" != "q" ] +do + case $input in + l) + year=$(($year+1)) + ;; + h) + year=$(($year-1)) + ;; + esac + clear + ncal -b -y $year + read -n 1 input +done + -- cgit v1.2.1