Lots of bin changes
This commit is contained in:
		
							parent
							
								
									2c617a5b49
								
							
						
					
					
						commit
						121798e075
					
				
					 12 changed files with 258 additions and 44 deletions
				
			
		|  | @ -7,6 +7,6 @@ base="${file%.*}" | |||
| cd "$dir" || exit | ||||
| 
 | ||||
| case "$file" in | ||||
| 	*\.doc|*\.docx) libreoffice --convert-to pdf "$file" ;; | ||||
| 	*\.doc|*\.docx|*\.pptx) libreoffice --convert-to pdf "$file" ;; | ||||
| 	*) echo "Don't know how to convert $file" | ||||
| esac | ||||
|  |  | |||
|  | @ -5,15 +5,27 @@ PASSWORDS="$HOME/.password-store" | |||
| 
 | ||||
| function copy_password(){ | ||||
| 	local password="$1" | ||||
| 	local part="${2:-0}" | ||||
| 	local sleep_argv0="jh password store sleep on display $DISPLAY" | ||||
| 	local before="$(xclip -o -selection clipboard 2>/dev/null | base64)" | ||||
| 	pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5 | ||||
| 	local pw=$(pass "$selection" | head -n 1) | ||||
| 	local pw="" | ||||
| 	case "$part" in | ||||
| 		"10"|"otp") | ||||
| 			local pw=$(pass otp "$password" | head -n 1) | ||||
| 			;; | ||||
| 		*) | ||||
| 			local pw=$(pass "$password" | head -n 1) | ||||
| 			;; | ||||
| 	esac | ||||
| 	if [ -z "$pw" ]; then | ||||
| 		exit 1 | ||||
| 	fi | ||||
| 	echo "$pw" | xclip -selection "primary" | ||||
| 	echo "$pw" | xclip -selection "clipboard" | ||||
| 	notify-send "Password put on clipboard" "Will be removed in 10 seconds" | ||||
| 	notify-send -t 3000 "Password put on clipboard" "Will be removed in 3 seconds" | ||||
| 	( | ||||
| 		( exec -a "$sleep_argv0" bash <<<"trap 'kill %1' TERM; sleep '10' & wait" ) | ||||
| 		( exec -a "$sleep_argv0" bash <<<"trap 'kill %1' TERM; sleep '3' & wait" ) | ||||
| 
 | ||||
| 		echo "$before" | base64 -d | xclip -selection "primary" | ||||
| 		echo "$before" | base64 -d | xclip -selection "clipboard" | ||||
|  | @ -25,7 +37,12 @@ function copy_password(){ | |||
| 
 | ||||
| if [ -d "$PASSWORDS" ]; then | ||||
| 	cd "$PASSWORDS" | ||||
| 	selection=$((echo "NEW";find . -type f -name '*.gpg' | sed 's/.gpg$//' | sed 's/^.\///') | rofi -dmenu -i -l 20) | ||||
| 	selection="$1" | ||||
| 	ret="${2:-0}" | ||||
| 	if [ -z "$selection" ]; then | ||||
| 		selection=$((find . -type f -name '*.gpg' | sed 's/.gpg$//' | sed 's/^.\///') | rofi -dmenu -kb-custom-1 "Ctrl-o" -i -l 20) | ||||
| 		ret="$?" | ||||
| 	fi | ||||
| 	if [ -n "$selection" ]; then | ||||
| 		if [[ "$selection" == "NEW" ]]; then | ||||
| 			dir="$(find . -type d -not -path \*.git\* |rofi -dmenu -p Directory | sed 's/^.\/?//')" | ||||
|  | @ -35,9 +52,9 @@ if [ -d "$PASSWORDS" ]; then | |||
| 			name="$(rofi -dmenu -p Name -lines 0)" | ||||
| 			# Todo - create new passwords | ||||
| 		else | ||||
| 			copy_password "$selection" | ||||
| 			copy_password "$selection" "$ret" | ||||
| 		fi | ||||
| 	fi | ||||
| else | ||||
| 	notify-send "$BOOKMARKS doesn't exist" | ||||
| 	notify-send "\$PASSWORDS doesn't exist" | ||||
| fi | ||||
|  |  | |||
							
								
								
									
										3
									
								
								bin/.bin/emails/evolution-editor
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								bin/.bin/emails/evolution-editor
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,3 @@ | |||
| #!/usr/bin/env bash | ||||
| source $HOME/.dotfiles/shells/zsh/current-color-scheme | ||||
| vim "$@" | ||||
|  | @ -1,31 +1,32 @@ | |||
| #!/bin/sh | ||||
| lock() { | ||||
|     ~/.bin/i3/fadeLockScreen | ||||
|     #i3lock | ||||
| 	killall -SIGUSR1 dunst # Pause dunst | ||||
| 	~/.bin/i3/fadeLockScreen | ||||
| 	killall -SIGUSR2 dunst # Resume dunst | ||||
| } | ||||
| 
 | ||||
| case "$1" in | ||||
|     lock) | ||||
|         lock | ||||
|         ;; | ||||
|     logout) | ||||
|         i3-msg exit | ||||
|         ;; | ||||
|     suspend) | ||||
|         systemctl suspend && lock | ||||
|         ;; | ||||
|     hibernate) | ||||
|         systemctl hibernate && lock | ||||
|         ;; | ||||
|     reboot) | ||||
|         systemctl reboot | ||||
|         ;; | ||||
|     shutdown) | ||||
|         systemctl poweroff | ||||
|         ;; | ||||
|     *) | ||||
|         echo "Usage: $0 {lock|logout|suspend|hibernate|reboot|shutdown}" | ||||
|         exit 2 | ||||
| 	lock) | ||||
| 		lock | ||||
| 		;; | ||||
| 	logout) | ||||
| 		i3-msg exit | ||||
| 		;; | ||||
| 	suspend) | ||||
| 		systemctl suspend && lock | ||||
| 		;; | ||||
| 	hibernate) | ||||
| 		systemctl hibernate && lock | ||||
| 		;; | ||||
| 	reboot) | ||||
| 		systemctl reboot | ||||
| 		;; | ||||
| 	shutdown) | ||||
| 		systemctl poweroff | ||||
| 		;; | ||||
| 	*) | ||||
| 		echo "Usage: $0 {lock|logout|suspend|hibernate|reboot|shutdown}" | ||||
| 		exit 2 | ||||
| esac | ||||
| 
 | ||||
| exit 0 | ||||
|  |  | |||
							
								
								
									
										71
									
								
								bin/.bin/merrychristmas
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										71
									
								
								bin/.bin/merrychristmas
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,71 @@ | |||
| #!/bin/bash | ||||
| trap "tput reset; tput cnorm; exit" 2 | ||||
| clear | ||||
| tput civis | ||||
| lin=2 | ||||
| col=$(($(tput cols) / 2)) | ||||
| c=$((col-1)) | ||||
| est=$((c-2)) | ||||
| color=0 | ||||
| tput setaf 2; tput bold | ||||
| 
 | ||||
| # Tree | ||||
| for ((i=1; i<20; i+=2)) | ||||
| { | ||||
|     tput cup $lin $col | ||||
|     for ((j=1; j<=i; j++)) | ||||
|     { | ||||
|         echo -n \* | ||||
|     } | ||||
|     let lin++ | ||||
|     let col-- | ||||
| } | ||||
| 
 | ||||
| tput sgr0; tput setaf 3 | ||||
| 
 | ||||
| # Trunk | ||||
| for ((i=1; i<=2; i++)) | ||||
| { | ||||
|     tput cup $((lin++)) $c | ||||
|     echo 'mWm' | ||||
| } | ||||
| new_year=$(date +'%Y') | ||||
| let new_year++ | ||||
| tput setaf 1; tput bold | ||||
| tput cup $lin $((c - 8)); echo MERRY CHRISTMAS IRM | ||||
| tput cup $((lin + 1)) $((c - 12)); echo And lots of HACKING in $new_year | ||||
| let c++ | ||||
| k=1 | ||||
| 
 | ||||
| # Lights and decorations | ||||
| while true; do | ||||
|     for ((i=1; i<=35; i++)) { | ||||
|         # Turn off the lights | ||||
|         [ $k -gt 1 ] && { | ||||
|             tput setaf 2; tput bold | ||||
|             tput cup ${line[$[k-1]$i]} ${column[$[k-1]$i]}; echo \* | ||||
|             unset line[$[k-1]$i]; unset column[$[k-1]$i]  # Array cleanup | ||||
|         } | ||||
| 
 | ||||
|         li=$((RANDOM % 9 + 3)) | ||||
|         start=$((c-li+2)) | ||||
|         co=$((RANDOM % (li-2) * 2 + 1 + start)) | ||||
|         tput setaf $color; tput bold   # Switch colors | ||||
|         tput cup $li $co | ||||
|         echo o | ||||
|         line[$k$i]=$li | ||||
|         column[$k$i]=$co | ||||
|         color=$(((color+1)%8)) | ||||
|         # Flashing text | ||||
|         sh=-1 | ||||
|         for l in H A C K I N G | ||||
|         do | ||||
|             tput cup $((lin+1)) $((c+sh)) | ||||
|             echo $l | ||||
|             let sh++ | ||||
|             sleep 0.01 | ||||
|         done | ||||
|     } | ||||
|     k=$((k % 2 + 1)) | ||||
| done | ||||
| reset | ||||
|  | @ -1,3 +1,52 @@ | |||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| notify-send "$(date '+%T')" "$(date '+%A %d %B %Y')" | ||||
| function round() { | ||||
| echo $(printf %.$2f $(echo "scale=$2;(((10^$2)*$1)+0.5)/(10^$2)" | bc)) | ||||
| } | ||||
| 
 | ||||
| function drawBar(){ | ||||
| 	local percent=$1; | ||||
| 
 | ||||
| 	for i in {1..10}; do | ||||
| 		local boxPercent=$(($i*10)) | ||||
| 		if [ "$boxPercent" -lt "$percent" ]; then | ||||
| 			echo -n "■" | ||||
| 		elif [ "$boxPercent" -eq "$percent" ]; then | ||||
| 			echo -n "■" | ||||
| 		elif [ "$(($boxPercent-10))" -lt "$percent" ]; then | ||||
| 			echo -n "▣" | ||||
| 		else | ||||
| 			echo -n "□" | ||||
| 		fi | ||||
| 	done | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| function getTimer(){ | ||||
| 	if [ -e "$HOME/timer" ]; then | ||||
| 		local humanDuration=$(head -n 1 "$HOME/timer") | ||||
| 		# All these dates are in seconds since the epoch | ||||
| 		local duration=$(( $(date -d "now + $humanDuration" '+%s') - $(date '+%s') )) | ||||
| 		local startTime=$(stat --format="%Y" "$HOME/timer") | ||||
| 		local endTime=$(( $startTime + $duration )) | ||||
| 		local currentTime=$(date '+%s') | ||||
| 
 | ||||
| 		if [ $endTime -gt $currentTime ]; then | ||||
| 
 | ||||
| 			local percentage=$(echo " ( ( $currentTime - $startTime ) * 100 ) / ( $endTime - $startTime ) " | bc ) | ||||
| 
 | ||||
| 			echo -n "$percentage% " | ||||
| 			echo $(drawBar $percentage) | ||||
| 		fi | ||||
| 
 | ||||
| 
 | ||||
| 	fi | ||||
| } | ||||
| 
 | ||||
| time=$(date '+%T') | ||||
| date=$(date '+%A %d %B %Y') | ||||
| timer="$(getTimer)" | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| notify-send "$time" "$date\n$timer$1" | ||||
|  |  | |||
							
								
								
									
										32
									
								
								bin/.bin/printfunction
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										32
									
								
								bin/.bin/printfunction
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,32 @@ | |||
| #!/usr/bin/env python | ||||
| 
 | ||||
| from __future__ import print_function | ||||
| import pyclbr | ||||
| import sys | ||||
| import operator | ||||
| 
 | ||||
| if __name__ == '__main__': | ||||
|     modname = sys.argv[2] | ||||
|     methname = sys.argv[1] | ||||
| 
 | ||||
|     mod = pyclbr.readmodule(modname) | ||||
|     for clsname, cls in mod.items(): | ||||
|         if methname in cls.methods: | ||||
|             print("Method: {} in Class: {}".format(methname, clsname)) | ||||
|             methods = sorted(cls.methods.items(), key=operator.itemgetter(1)) | ||||
|             clsfile = open(cls.file, 'r') | ||||
|             break | ||||
| 
 | ||||
|     for pair in methods: | ||||
|         name, lineno = pair | ||||
|         if name == methname: | ||||
|             startline = lineno | ||||
|             if methods.index(pair) == methods.index(methods[-1]): | ||||
|                 endline = None | ||||
|             else: | ||||
|                 endline = methods[methods.index(pair) + 1][1] | ||||
|             break | ||||
| 
 | ||||
|     src = clsfile.readlines()[startline-1:endline-1 if endline is not None else -1] | ||||
|     for srcline in src: | ||||
|         print(srcline, end='') | ||||
|  | @ -2,6 +2,10 @@ | |||
| 
 | ||||
| function print_help(){ | ||||
| 	echo -e "hosts\t\tManages hosts in the yaml file" | ||||
| 	echo -e "\tlist\tLists hosts in the project" | ||||
| 	echo -e "\thosts_file\tUpdates the hosts file to reflect the hosts on this project" | ||||
| 	echo -e "\tip\tUses fzf to select an IP from the project" | ||||
| 	echo -e "\tadd\tAdd an IP address" | ||||
| } | ||||
| 
 | ||||
| function listhosts(){ | ||||
|  | @ -12,7 +16,11 @@ function listhosts(){ | |||
| 		exit 1 | ||||
| 	fi | ||||
| 	if [ $(yq -r '.hosts | length ' "$index" ) -gt 0 ]; then | ||||
| 		yq -r '.hosts[] | [.name, .ip, .domain, .description] | join(",")' "$index" | ||||
| 		yq -r '.hosts[] | [ | ||||
| 			.ip, | ||||
| 			(if ( .domain | type == "array") then .domain | join(",") else .domain end), | ||||
| 			.description | ||||
| 		] | join(",")' "$index" | ||||
| 	else | ||||
| 		echo "No hosts in index file" | ||||
| 		exit 1 | ||||
|  | @ -27,7 +35,10 @@ function get_hosts(){ | |||
| 		exit 0 | ||||
| 	fi | ||||
| 	if [ $(yq -r '.hosts | length ' "$index" ) -gt 0 ]; then | ||||
| 		yq -r '.hosts[]| select(.domain) | [.ip, .domain ] | join(",,")' "$index" | tr ',' '\t' | ||||
| 		yq -r '.hosts[]| select(.domain) | [ | ||||
| 			.ip, | ||||
| 			(if ( .domain | type == "array") then .domain | join(",") else .domain end) | ||||
| 		] | join(",,")' "$index" | tr ',' '\t' | ||||
| 	else | ||||
| 		echo "" | ||||
| 		exit 0 | ||||
|  | @ -35,7 +46,6 @@ function get_hosts(){ | |||
| } | ||||
| 
 | ||||
| function host_file(){ | ||||
| 
 | ||||
| 	sed '/# Project specific hosts/,$ d' /etc/hosts > /tmp/newhosts | ||||
| 	cat /tmp/newhosts > /etc/hosts | ||||
| 	rm /tmp/newhosts | ||||
|  | @ -54,20 +64,20 @@ function getip(){ | |||
| 	index="$current/index.yaml" | ||||
| 	case "$1" in | ||||
| 		--fzf) | ||||
| 			ip=$( listhosts | fzf --no-preview | cut -d',' -f2) | ||||
| 			ip=$( listhosts | fzf --no-preview | cut -d',' -f1) | ||||
| 			;; | ||||
| 		--dmenu) | ||||
| 			ip=$( listhosts | dmenu | cut -d',' -f2) | ||||
| 			ip=$( listhosts | dmenu | cut -d',' -f1) | ||||
| 			echo "$ip" | xclip -selection primary | ||||
| 			echo "$ip" | xclip -selection clipboard | ||||
| 			;; | ||||
| 		--rofi) | ||||
| 			ip=$( listhosts | rofi -dmenu | cut -d',' -f2) | ||||
| 			ip=$( listhosts | rofi -dmenu | cut -d',' -f1) | ||||
| 			echo "$ip" | xclip -selection primary | ||||
| 			echo "$ip" | xclip -selection clipboard | ||||
| 			;; | ||||
| 		*) | ||||
| 			ip=$( listhosts | fzf --no-preview | cut -d',' -f2) | ||||
| 			ip=$( listhosts | fzf --no-preview | cut -d',' -f1) | ||||
| 			;; | ||||
| 	esac | ||||
| 	echo $ip | ||||
|  | @ -76,8 +86,6 @@ function getip(){ | |||
| function addip(){ | ||||
| 	local current="$(project current --path)" | ||||
| 	index="$current/index.yaml" | ||||
| 	echo -n "Name: " | ||||
| 	read name < /dev/tty | ||||
| 	echo -n "Domain: " | ||||
| 	read domain < /dev/tty | ||||
| 	echo -n "IP: " | ||||
|  | @ -85,9 +93,6 @@ function addip(){ | |||
| 	echo -n "Description: " | ||||
| 	read description < /dev/tty | ||||
| 	local host='{}' | ||||
| 	if [ -n "$name" ]; then | ||||
| 		host="$(echo $host | jq ".name=\"$name\"" )" | ||||
| 	fi | ||||
| 	if [ -n "$domain" ]; then | ||||
| 		host="$(echo $host | jq ".domain=\"$domain\"" )" | ||||
| 	fi | ||||
|  |  | |||
							
								
								
									
										2
									
								
								bin/.bin/screenlayouts/docked-laptop-left.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								bin/.bin/screenlayouts/docked-laptop-left.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,2 @@ | |||
| #!/bin/sh | ||||
| xrandr --output eDP-1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output DP-1 --off --output HDMI-1 --off --output DP-2 --off --output HDMI-2 --mode 1920x1080 --pos 1920x0 --rotate normal | ||||
							
								
								
									
										24
									
								
								bin/.bin/settimer
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										24
									
								
								bin/.bin/settimer
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,24 @@ | |||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| echo "$@" > "$HOME/timer" | ||||
| 
 | ||||
| 
 | ||||
| humanDuration=$(head -n 1 "$HOME/timer") | ||||
| # All these dates are in seconds since the epoch | ||||
| duration=$(( $(date -d "now + $humanDuration" '+%s') - $(date '+%s') )) | ||||
| 
 | ||||
| # Display date time notification when half way | ||||
| ( sleep $(( duration / 2 )) | ||||
| 	datetime | ||||
| ) & disown | ||||
| 
 | ||||
| # Display date time notification when 90% done | ||||
| ( sleep $(( (duration * 9) / 10 )) | ||||
| 	datetime | ||||
| ) & disown | ||||
| 
 | ||||
| # Display date time notification when half way | ||||
| ( sleep $duration | ||||
| 	datetime "Finished" | ||||
| ) & disown | ||||
| 
 | ||||
							
								
								
									
										9
									
								
								bin/.bin/webtest/webtest
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								bin/.bin/webtest/webtest
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,9 @@ | |||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| domain="$1" | ||||
| 
 | ||||
| if [ -z "$domain" ]; | ||||
| 	echo "You need to give a domain or ip address" | ||||
| fi | ||||
| 
 | ||||
| if | ||||
|  | @ -10,4 +10,5 @@ else | |||
| 	json=$(curl https://xkcd.com/$comic/info.0.json 2> /dev/null) | ||||
| fi | ||||
| echo $json | /usr/bin/jq -C | ||||
| echo $json | /usr/bin/jq ".img" | xargs sxiv | ||||
| echo $json | /usr/bin/jq ".img" | xargs curl -s -o /tmp/xkcd | ||||
| sxiv /tmp/xkcd | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue