Merge branch 'master' of ssh://git.jonathanh.co.uk:2222/jab2870/Dotfiles
This commit is contained in:
		
						commit
						b981f7ab08
					
				
					 23 changed files with 596 additions and 48 deletions
				
			
		
							
								
								
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							| 
						 | 
					@ -9,5 +9,6 @@ mutt/accounts/*
 | 
				
			||||||
/qutebrowser/.config/qutebrowser/autoconfig.yml
 | 
					/qutebrowser/.config/qutebrowser/autoconfig.yml
 | 
				
			||||||
/bin/.bin/pappy
 | 
					/bin/.bin/pappy
 | 
				
			||||||
/systemd/.config/systemd/user/timers.target.wants/
 | 
					/systemd/.config/systemd/user/timers.target.wants/
 | 
				
			||||||
 | 
					/systemd/.config/systemd/user/default.target.wants/
 | 
				
			||||||
nvim/.config/nvim/.netrwhist
 | 
					nvim/.config/nvim/.netrwhist
 | 
				
			||||||
remind/.local/share/remind/work.rem
 | 
					remind/.local/share/remind/work.rem
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,15 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
addressbook="$HOME/.abook/addressbook"
 | 
					addressbook="$HOME/.abook/addressbook"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					filter(){
 | 
				
			||||||
 | 
						if [ -n "$1" ]; then
 | 
				
			||||||
 | 
							local str="$(echo "$1" | tr -d ' ' | sed 's/^0/+44/')"
 | 
				
			||||||
 | 
							grep -i "$str"
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							cat -
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cat "$addressbook" |
 | 
					cat "$addressbook" |
 | 
				
			||||||
	grep -E '(\[[0-9]+\]|^$|name|phone|mobile)' |
 | 
						grep -E '(\[[0-9]+\]|^$|name|phone|mobile)' |
 | 
				
			||||||
	awk -v RS="\n\n" -v ORS="\n" '{gsub("\n","\t",$0); print $0}' |
 | 
						awk -v RS="\n\n" -v ORS="\n" '{gsub("\n","\t",$0); print $0}' |
 | 
				
			||||||
| 
						 | 
					@ -9,8 +18,9 @@ cat "$addressbook" |
 | 
				
			||||||
		name="$(echo "$line" | cut -d '	' -f 2 | cut -d '=' -f 2)"
 | 
							name="$(echo "$line" | cut -d '	' -f 2 | cut -d '=' -f 2)"
 | 
				
			||||||
		echo "$line" | tr '\t' '\n' |
 | 
							echo "$line" | tr '\t' '\n' |
 | 
				
			||||||
			grep -E '(phone|mobile)' | while read -r numLine; do
 | 
								grep -E '(phone|mobile)' | while read -r numLine; do
 | 
				
			||||||
				num="$(echo "$numLine" | cut -d '=' -f 2 | tr -d ' ' | sed 's/+44(0)/+44/')"
 | 
									num="$(echo "$numLine" | cut -d '=' -f 2 | tr -d ' ' |
 | 
				
			||||||
 | 
										sed 's/+44(0)/+44/' | sed 's/^0/+44/')"
 | 
				
			||||||
				numType="$(echo "$numLine" | cut -d '=' -f 1)"
 | 
									numType="$(echo "$numLine" | cut -d '=' -f 1)"
 | 
				
			||||||
				echo -e "$name\t$num\t$numType"
 | 
									echo -e "$name\t$num\t$numType"
 | 
				
			||||||
			done
 | 
								done
 | 
				
			||||||
	done
 | 
						done | filter "$*"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										21
									
								
								bin/.bin/dmenu/menu-phone
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										21
									
								
								bin/.bin/dmenu/menu-phone
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,21 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					options="End All Calls
 | 
				
			||||||
 | 
					Check for Calls
 | 
				
			||||||
 | 
					Check for Texts
 | 
				
			||||||
 | 
					Dialer"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					while true ; do
 | 
				
			||||||
 | 
						choice="$(echo "$options" | trofi)"
 | 
				
			||||||
 | 
						case "$choice" in
 | 
				
			||||||
 | 
							"End All Calls")
 | 
				
			||||||
 | 
								modem="$(mmcli -L | grep -oE 'Modem\/[0-9]+' | head -n 1 | cut -d'/' -f2)"
 | 
				
			||||||
 | 
								mmcli -m "$modem" --voice-hangup-all
 | 
				
			||||||
 | 
								break ;;
 | 
				
			||||||
 | 
							"Check for Calls") checkCall ;;
 | 
				
			||||||
 | 
							"Check for Texts") checkSMS ;;
 | 
				
			||||||
 | 
							"Dialer") (dialer &); break ;;
 | 
				
			||||||
 | 
							"Back") break;;
 | 
				
			||||||
 | 
						esac
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										21
									
								
								bin/.bin/dmenu/menu-st
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										21
									
								
								bin/.bin/dmenu/menu-st
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,21 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					options="Zoom In
 | 
				
			||||||
 | 
					Zoom Out
 | 
				
			||||||
 | 
					Paste
 | 
				
			||||||
 | 
					System Menu
 | 
				
			||||||
 | 
					Exit"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					choice=""
 | 
				
			||||||
 | 
					while : ; do
 | 
				
			||||||
 | 
						choice="$(echo "$options" | trofi)"
 | 
				
			||||||
 | 
						case "$choice" in
 | 
				
			||||||
 | 
							"Zoom In") sleep 0.3; xdotool key --clearmodifiers "ctrl+shift+j" ;;
 | 
				
			||||||
 | 
							"Zoom Out") sleep 0.3; xdotool key --clearmodifiers "ctrl+shift+k" ;;
 | 
				
			||||||
 | 
							"Paste") sleep 0.3; xdotool key --clearmodifiers "ctrl+shift+v" ;;
 | 
				
			||||||
 | 
							"System Menu") menu-system; break ;;
 | 
				
			||||||
 | 
							"Exit") sleep 0.3; xdotool key --clearmodifiers "Super_L+q"; break ;;
 | 
				
			||||||
 | 
							"") break ;;
 | 
				
			||||||
 | 
						esac
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										37
									
								
								bin/.bin/dmenu/menu-system
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										37
									
								
								bin/.bin/dmenu/menu-system
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,37 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					options="Terminal
 | 
				
			||||||
 | 
					Browser
 | 
				
			||||||
 | 
					Phone
 | 
				
			||||||
 | 
					Podcasts
 | 
				
			||||||
 | 
					Go To Workspace
 | 
				
			||||||
 | 
					Move To Workspace
 | 
				
			||||||
 | 
					Power Menu
 | 
				
			||||||
 | 
					Exit"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					chooseWorkspace(){
 | 
				
			||||||
 | 
						seq 1 10 | trofi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					goToWorkspace(){
 | 
				
			||||||
 | 
						xdotool key --clearmodifiers "Super_L+$(chooseWorkspace)"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					moveToWorkspace(){
 | 
				
			||||||
 | 
						xdotool key --clearmodifiers "Super_L+Shift+$(chooseWorkspace)"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					while true ; do
 | 
				
			||||||
 | 
						choice="$(echo "$options" | trofi)"
 | 
				
			||||||
 | 
						case "$choice" in
 | 
				
			||||||
 | 
							"Terminal") (folder-shell &); break ;;
 | 
				
			||||||
 | 
							"Browser") (firefox &); break ;;
 | 
				
			||||||
 | 
							"Podcasts") (gnome-podcasts &); break ;;
 | 
				
			||||||
 | 
							"Phone") spawn-phone-menu phone ; break ;;
 | 
				
			||||||
 | 
							"Go To Workspace") goToWorkspace ; break ;;
 | 
				
			||||||
 | 
							"Move To Workspace") moveToWorkspace ; break ;;
 | 
				
			||||||
 | 
							"Power Menu") (rofi-shutdown &); break ;;
 | 
				
			||||||
 | 
							"Exit") sleep 0.3; xdotool key --clearmodifiers "Super_L+q"; break ;;
 | 
				
			||||||
 | 
							"") break;;
 | 
				
			||||||
 | 
						esac
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										58
									
								
								bin/.bin/dmenu/rofi-volume
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										58
									
								
								bin/.bin/dmenu/rofi-volume
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,58 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					up=""
 | 
				
			||||||
 | 
					down=""
 | 
				
			||||||
 | 
					mute="ﱝ"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					while : ; do
 | 
				
			||||||
 | 
						active=""
 | 
				
			||||||
 | 
						urgent=""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if type -p pulseaudio-ctl 2> /dev/null; then
 | 
				
			||||||
 | 
							volume="$(pulseaudio-ctl full-status | cut -d ' ' -f1)"
 | 
				
			||||||
 | 
							speakerStatus="$(pulseaudio-ctl full-status | cut -d ' ' -f2 |
 | 
				
			||||||
 | 
								sed 's/no/on/g')"
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							volume="$(amixer -D default sget Master | grep -o '\[.*\%'  |
 | 
				
			||||||
 | 
								head -n 1 | tr -d '[%')"
 | 
				
			||||||
 | 
							speakerStatus="$(amixer -D default sget Master | grep -o '\[\(on\|off\)' |
 | 
				
			||||||
 | 
								head -n 1 | tr -d '[')"
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if [ "$speakerStatus" = "off" ]; then
 | 
				
			||||||
 | 
							volume="Muted"
 | 
				
			||||||
 | 
							urgent="-u 2"
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							active="-a 2"
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						choice="$(echo -e "$up\n$down\n$mute" |
 | 
				
			||||||
 | 
							rofi -dmenu -theme 'themes/volume.rasi' -p "$volume" $urgent $active)"
 | 
				
			||||||
 | 
						case "$choice" in
 | 
				
			||||||
 | 
							"$up") 
 | 
				
			||||||
 | 
								if type -p pulseaudio-ctl 2> /dev/null; then
 | 
				
			||||||
 | 
									pulseaudio-ctl up
 | 
				
			||||||
 | 
								else
 | 
				
			||||||
 | 
									amixer -q -D default sset Master 5%+ unmute
 | 
				
			||||||
 | 
								fi
 | 
				
			||||||
 | 
								;;
 | 
				
			||||||
 | 
							"$down")
 | 
				
			||||||
 | 
								if type -p pulseaudio-ctl 2> /dev/null; then
 | 
				
			||||||
 | 
									pulseaudio-ctl down
 | 
				
			||||||
 | 
								else
 | 
				
			||||||
 | 
									amixer -q -D default sset Master 5%- unmute
 | 
				
			||||||
 | 
								fi
 | 
				
			||||||
 | 
								;;
 | 
				
			||||||
 | 
							"$mute")
 | 
				
			||||||
 | 
								if type -p pulseaudio-ctl 2> /dev/null; then
 | 
				
			||||||
 | 
									pulseaudio-ctl mute
 | 
				
			||||||
 | 
								else
 | 
				
			||||||
 | 
									amixer -q -D default sset Master toggle
 | 
				
			||||||
 | 
								fi
 | 
				
			||||||
 | 
								;;
 | 
				
			||||||
 | 
							"") break
 | 
				
			||||||
 | 
						esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
							
								
								
									
										27
									
								
								bin/.bin/dmenu/spawn-phone-menu
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										27
									
								
								bin/.bin/dmenu/spawn-phone-menu
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,27 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# This script creates menus for applications running on my phone
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					error(){
 | 
				
			||||||
 | 
						echo "$@" > /dev/stderr
 | 
				
			||||||
 | 
						exit 1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					windowFocus="$(xdotool getwindowfocus)"
 | 
				
			||||||
 | 
					if [ -n "$1" ]; then
 | 
				
			||||||
 | 
						menu="menu-$1"
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
						class="$(xprop -id "$windowFocus" | grep "WM_CLASS" | cut -d '"' -f 2)"
 | 
				
			||||||
 | 
						case "$class" in
 | 
				
			||||||
 | 
							"xterm-256color") menu="menu-st" ;;
 | 
				
			||||||
 | 
							*) menu="menu-$class" ;;
 | 
				
			||||||
 | 
						esac
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type "$menu" > /dev/null 2>&1 || menu="menu-system"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"$menu"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										12
									
								
								bin/.bin/dmenu/trofi
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										12
									
								
								bin/.bin/dmenu/trofi
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,12 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# THis is a simple wrapper around rofi which makes it nicer to use with touch screens
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					input="$(cat -)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					lines="$(echo "$input" | wc -l )"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ "$lines" -gt 15 ] && lines=15
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "$input" | rofi -dmenu -me-accept-entry '!MousePrimary' -theme "themes/touch-dmenu.rasi" -lines "$lines"
 | 
				
			||||||
| 
						 | 
					@ -3,9 +3,10 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
 | 
					DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
 | 
				
			||||||
source "$DIR/common"
 | 
					source "$DIR/common"
 | 
				
			||||||
 | 
					export DISPLAY=:0.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
usage(){
 | 
					usage(){
 | 
				
			||||||
	echo "checkCall [options] [message|-]"
 | 
						echo "checkCall [options]"
 | 
				
			||||||
	echo "Options:"
 | 
						echo "Options:"
 | 
				
			||||||
	echo "  -h|--help       Display this help text"
 | 
						echo "  -h|--help       Display this help text"
 | 
				
			||||||
	echo "  -m|--modem      Specify a modem"
 | 
						echo "  -m|--modem      Specify a modem"
 | 
				
			||||||
| 
						 | 
					@ -22,24 +23,122 @@ lookupnumberfromcallid() {
 | 
				
			||||||
		tr -d ' '
 | 
							tr -d ' '
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Stolen from sxmo
 | 
				
			||||||
 | 
					toggleflag() {
 | 
				
			||||||
 | 
						TOGGLEFLAG=$1
 | 
				
			||||||
 | 
						shift
 | 
				
			||||||
 | 
						FLAGS="$*"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						echo -- "$FLAGS" | grep -- "$TOGGLEFLAG" >&2 &&
 | 
				
			||||||
 | 
							NEWFLAGS="$(echo -- "$FLAGS" | sed "s/$TOGGLEFLAG//g")" ||
 | 
				
			||||||
 | 
							NEWFLAGS="$(echo -- "$FLAGS $TOGGLEFLAG")"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						NEWFLAGS="$(echo -- "$NEWFLAGS" | sed "s/--//g; s/  / /g")"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# shellcheck disable=SC2086
 | 
				
			||||||
 | 
						megiaudioroute $NEWFLAGS
 | 
				
			||||||
 | 
						echo -- "$NEWFLAGS"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Stolen from sxmo
 | 
				
			||||||
 | 
					toggleflagset() {
 | 
				
			||||||
 | 
						FLAGS="$(toggleflag "$1" "$FLAGS")"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
lookupcontact(){
 | 
					lookupcontact(){
 | 
				
			||||||
 | 
						local contact="$(contact-numbers "$1" | cut -d '	' -f 1)"
 | 
				
			||||||
 | 
						if [ -n "$contact" ]; then
 | 
				
			||||||
 | 
							echo "$contact"
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
		echo "$1" |
 | 
							echo "$1" |
 | 
				
			||||||
			# Remove the +44 and replace with 0
 | 
								# Remove the +44 and replace with 0
 | 
				
			||||||
			sed 's/^\+44/0/'
 | 
								sed 's/^\+44/0/'
 | 
				
			||||||
	# This will eventually work with abook but for now just return the number
 | 
						fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
answer-call(){
 | 
					dtmf(){
 | 
				
			||||||
	export DISPLAY=:0.0
 | 
						local id="$1"
 | 
				
			||||||
 | 
						svkbd-numbers &
 | 
				
			||||||
 | 
						local choice="$( (
 | 
				
			||||||
 | 
							echo "Exit"
 | 
				
			||||||
 | 
							) | rofi -dmenu -i -me-accept-entry '!MousePrimary' -p "Tones" -normal-window -font 'Iosevka 20' )"
 | 
				
			||||||
 | 
						if [ "$choice" = "Exit" ]; then
 | 
				
			||||||
 | 
							return
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
						echo "$choice" | grep -o '.' | while read -r tone; do
 | 
				
			||||||
 | 
						sleep 0.5
 | 
				
			||||||
 | 
							mmcli -m "$modem" -o "$id" --send-dtmf="$tone"
 | 
				
			||||||
 | 
						done
 | 
				
			||||||
 | 
						pkill svkbd-numbers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ongoingCall(){
 | 
				
			||||||
 | 
						local id="$1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# Stolen from sxmo
 | 
				
			||||||
 | 
						FLAGS=" "
 | 
				
			||||||
 | 
						toggleflagset "-e"
 | 
				
			||||||
 | 
						toggleflagset "-m"
 | 
				
			||||||
 | 
						toggleflagset "-2"
 | 
				
			||||||
 | 
						toggleflagset "-2"
 | 
				
			||||||
 | 
						toggleflagset "-2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						notify-send "I get here"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						while : ; do
 | 
				
			||||||
 | 
							choice="$( (
 | 
				
			||||||
 | 
								echo "Hang Up"
 | 
				
			||||||
 | 
								echo "DTMF Tones"
 | 
				
			||||||
 | 
								echo "Volume Up"
 | 
				
			||||||
 | 
								echo "Volume Down"
 | 
				
			||||||
 | 
								) | trofi)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							case "$choice" in
 | 
				
			||||||
 | 
								"Hang Up") rejectCall "$1"; break ;;
 | 
				
			||||||
 | 
								"DTMF Tones") dtmf "$1" ;;
 | 
				
			||||||
 | 
								"Volume"*) notify-send "Still need to implement" ;;
 | 
				
			||||||
 | 
							esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						done
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					answerCall(){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						pkill mpv
 | 
				
			||||||
 | 
						sleep 0.2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	echo "answer call $1" > /dev/tty
 | 
						echo "answer call $1" > /dev/tty
 | 
				
			||||||
	mmcli -m "$modem" -o "$1" --accept
 | 
						mmcli -m "$modem" -o "$1" --accept
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ongoingCall "$1"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
reject-call(){
 | 
					rejectCall(){
 | 
				
			||||||
 | 
						pkill mpv
 | 
				
			||||||
 | 
						echo "reject call $1" > /dev/tty
 | 
				
			||||||
	mmcli -m "$modem" -o "$1" --hangup
 | 
						mmcli -m "$modem" -o "$1" --hangup
 | 
				
			||||||
 | 
						mmcli -m "$modem" --voice-delete-call="$1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mmcli -m "$modem" --voice-hangup-all
 | 
				
			||||||
 | 
						for CALLID in $( mmcli -m "$modem" --voice-list-calls | grep -oE "Call\/[0-9]+" | cut -d'/' -f2); do
 | 
				
			||||||
 | 
							echo mmcli -m "$modem" --voice-delete-call "$CALLID" > ~/.hangup.log
 | 
				
			||||||
 | 
						done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# Not sure why but sometimes the modem changes
 | 
				
			||||||
 | 
						# To be sure, re-check the modem and delete all calls
 | 
				
			||||||
 | 
						local tmpmodem="$(mmcli -L | grep -oE 'Modem\/[0-9]+' | head -n 1 | cut -d'/' -f2)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mmcli -m "$tmpmodem" --voice-hangup-all
 | 
				
			||||||
 | 
						for CALLID in $( mmcli -m "$tmpmodem" --voice-list-calls | grep -oE "Call\/[0-9]+" | cut -d'/' -f2); do
 | 
				
			||||||
 | 
							echo mmcli -m "$tmpmodem" --voice-delete-call "$CALLID" > ~/.hangup.log
 | 
				
			||||||
 | 
						done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						alsactl --file "$ALSA_CONF_DIR/default_alsa_sound.conf" restore
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
prompt-incoming(){
 | 
					promptIncoming(){
 | 
				
			||||||
	export DISPLAY=:0.0
 | 
						export DISPLAY=:0.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	local answer=""
 | 
						local answer=""
 | 
				
			||||||
| 
						 | 
					@ -62,11 +161,21 @@ prompt-incoming(){
 | 
				
			||||||
	esac
 | 
						esac
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					checkOutgoing(){
 | 
				
			||||||
 | 
						export DISPLAY=:0.0
 | 
				
			||||||
 | 
						if [ "$dryrun" = "true" ]; then
 | 
				
			||||||
 | 
							return
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
						notify-send "outgoing call" "$1"
 | 
				
			||||||
 | 
						mmcli -m "$modem" -o "$1" --start
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ongoingCall "$1"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
checkIncoming(){
 | 
					checkIncoming(){
 | 
				
			||||||
	export DISPLAY=:0.0
 | 
						export DISPLAY=:0.0
 | 
				
			||||||
	if [ "$dryrun" = "true" ]; then
 | 
						if [ "$dryrun" = "true" ]; then
 | 
				
			||||||
		prompt-incoming "+441234567890"
 | 
							promptIncoming "+441234567890"
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	fi
 | 
						fi
 | 
				
			||||||
	local id="$( mmcli -m "$modem" --voice-list-calls |
 | 
						local id="$( mmcli -m "$modem" --voice-list-calls |
 | 
				
			||||||
| 
						 | 
					@ -81,11 +190,12 @@ checkIncoming(){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	local action=""
 | 
						local action=""
 | 
				
			||||||
	while mmcli -m "$modem" --voice-list-calls | grep -Eoq "$id"' incoming \(ringing-in\)' && [ -z "$action" ]; do
 | 
						while mmcli -m "$modem" --voice-list-calls | grep -Eoq "$id"' incoming \(ringing-in\)' && [ -z "$action" ]; do
 | 
				
			||||||
		action="$(prompt-incoming "$contact")"
 | 
							mpv "$HOME/.local/share/soundeffects/ringtone" --loop &
 | 
				
			||||||
 | 
							action="$(promptIncoming "$contact")"
 | 
				
			||||||
	done
 | 
						done
 | 
				
			||||||
	case "$action" in
 | 
						case "$action" in
 | 
				
			||||||
		"accept") answer-call "$id"; break ;;
 | 
							"accept") answerCall "$id"; ;;
 | 
				
			||||||
		"reject") reject-call "$id"; break ;;
 | 
							"reject") rejectCall "$id"; ;;
 | 
				
			||||||
	esac
 | 
						esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -95,6 +205,7 @@ checkFinished(){
 | 
				
			||||||
		grep -Eo '[0-9]+ incoming \(terminated\)' | grep -Eo '[0-9]+' )"
 | 
							grep -Eo '[0-9]+ incoming \(terminated\)' | grep -Eo '[0-9]+' )"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	local count="$(echo "$ids" | deleteEmptyLines | wc -l)"
 | 
						local count="$(echo "$ids" | deleteEmptyLines | wc -l)"
 | 
				
			||||||
 | 
						echo "Finished Count: $count"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	[ "$count" -eq 0 ] && return
 | 
						[ "$count" -eq 0 ] && return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -103,13 +214,16 @@ checkFinished(){
 | 
				
			||||||
		local number="$(lookupnumberfromcallid "$id")"
 | 
							local number="$(lookupnumberfromcallid "$id")"
 | 
				
			||||||
		local contact="$(lookupcontact "$number")"
 | 
							local contact="$(lookupcontact "$number")"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							echo "I get here"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		# If there is a rofi process with the title of "call-from-number", then
 | 
							# If there is a rofi process with the title of "call-from-number", then
 | 
				
			||||||
		# it hasn't been answerd yet.
 | 
							# it hasn't been answerd yet.
 | 
				
			||||||
		# Treat as a missed call
 | 
							# Treat as a missed call
 | 
				
			||||||
		if ps aux | grep -E '\Wrofi' | grep -q "call-from-$number"; then
 | 
							if ps aux | grep -E '\Wrofi' | grep -q "call-from-$contact"; then
 | 
				
			||||||
			echo "Missed call from $contact" >> "$CALL_DIR/missed-calls"
 | 
								echo "Missed call from $contact" >> "$CALL_DIR/missed-calls"
 | 
				
			||||||
 | 
								pkill mpv
 | 
				
			||||||
			mmcli -m "$modem" --voice-delete-call "$id"
 | 
								mmcli -m "$modem" --voice-delete-call "$id"
 | 
				
			||||||
			ps aux | grep -E '\Wrofi' | grep "call-from-$number" |
 | 
								ps aux | grep -E '\Wrofi' | grep "call-from-$contact" |
 | 
				
			||||||
				awk '{print $2}' | xargs kill
 | 
									awk '{print $2}' | xargs kill
 | 
				
			||||||
		fi
 | 
							fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -140,8 +254,12 @@ while [[ $1 = -?* ]]; do
 | 
				
			||||||
	shift
 | 
						shift
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -n "$1" ]; then
 | 
				
			||||||
 | 
						checkOutgoing "$1" &
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
	checkIncoming &
 | 
						checkIncoming &
 | 
				
			||||||
	checkFinished &
 | 
						checkFinished &
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -72,4 +72,4 @@ echo "$ids" | while read -r id; do
 | 
				
			||||||
	mmcli -m "$modem" --messaging-delete-sms="$id"
 | 
						mmcli -m "$modem" --messaging-delete-sms="$id"
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
notify-send "$count new messages"
 | 
					echo "$count new messages"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CALL_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/Calls/"
 | 
					CALL_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/Calls/"
 | 
				
			||||||
SMS_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/SMS/"
 | 
					SMS_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/SMS/"
 | 
				
			||||||
 | 
					ALSA_CONF_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/alsa/"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
die(){
 | 
					die(){
 | 
				
			||||||
	echo "$@" > /dev/stderr
 | 
						echo "$@" > /dev/stderr
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,33 +1,67 @@
 | 
				
			||||||
#!/usr/bin/env bash
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
 | 
				
			||||||
 | 
					source "$DIR/common"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export DISPLAY=:0.0
 | 
					export DISPLAY=:0.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
prompt=""
 | 
					usage(){
 | 
				
			||||||
 | 
						echo "dialer"
 | 
				
			||||||
 | 
						echo "Options:"
 | 
				
			||||||
 | 
						echo "  -h|--help       Display this help text"
 | 
				
			||||||
 | 
						echo "  -m|--modem      Specify a modem"
 | 
				
			||||||
 | 
						echo "  -l|--letters    Show letter keyboard rather than just numbers"
 | 
				
			||||||
 | 
						echo "  --dry-run       Don't actually call"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
answer=""
 | 
					altKeyboard(){
 | 
				
			||||||
reject=""
 | 
						notify-send "also here"
 | 
				
			||||||
 | 
						if [ "$keyboard" = "svkbd-numbers" ]; then
 | 
				
			||||||
 | 
							echo "svkbd-colemak"
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							echo "svkbd-numbers"
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
options="1
 | 
					modem="$(mmcli -L | grep -oE 'Modem\/[0-9]+' | head -n 1 | cut -d'/' -f2)"
 | 
				
			||||||
4
 | 
					keyboard="svkbd-numbers"
 | 
				
			||||||
7
 | 
					dryrun=""
 | 
				
			||||||
*
 | 
					
 | 
				
			||||||
 | 
					# Read the options and set stuff
 | 
				
			||||||
 | 
					while [[ $1 = -?* ]]; do
 | 
				
			||||||
 | 
						case $1 in
 | 
				
			||||||
 | 
							-h|--help) usage; exit;;
 | 
				
			||||||
 | 
							-m|--modem) modem="$2"; shift ;;
 | 
				
			||||||
 | 
							-l|--letters) keyboard="svkbd-colemak"; shift ;;
 | 
				
			||||||
 | 
							--dry-run) dryrun="--dry-run" ;;
 | 
				
			||||||
 | 
							--) shift; break ;;
 | 
				
			||||||
 | 
							*) die "invalid option: '$1'." ;;
 | 
				
			||||||
 | 
						esac
 | 
				
			||||||
 | 
						shift
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					while : ; do
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# Stop any running keyboards
 | 
				
			||||||
 | 
						pkill -9 'svkbd-*'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# Open the keyboard that we are using
 | 
				
			||||||
 | 
						"$keyboard" &
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						choice="$( (
 | 
				
			||||||
 | 
							echo "Switch Keyboard"
 | 
				
			||||||
 | 
							echo "Exit"
 | 
				
			||||||
 | 
							contact-numbers
 | 
				
			||||||
 | 
							) | rofi -dmenu -i -me-accept-entry '!MousePrimary' -p "Call" -normal-window -font 'Iosevka 20' )"
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						case "$choice" in
 | 
				
			||||||
 | 
							"Switch Keyboard") keyboard="$(altKeyboard)" ;;
 | 
				
			||||||
 | 
							"Exit") break ;;
 | 
				
			||||||
 | 
							*)
 | 
				
			||||||
 | 
								num="$(echo "$choice" | cut -d '	' -f 2)"
 | 
				
			||||||
 | 
								pkill -9 'svkbd-*'
 | 
				
			||||||
 | 
								makeCall -m "$modem" $dryrun "$num"
 | 
				
			||||||
 | 
								break ;;
 | 
				
			||||||
 | 
						esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2
 | 
					 | 
				
			||||||
5
 | 
					 | 
				
			||||||
8
 | 
					 | 
				
			||||||
0
 | 
					 | 
				
			||||||
$answer
 | 
					 | 
				
			||||||
3
 | 
					 | 
				
			||||||
6
 | 
					 | 
				
			||||||
9
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
X"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
while true; do
 | 
					 | 
				
			||||||
	#notify-send "$prompt"
 | 
					 | 
				
			||||||
	input="$(echo "$options" |
 | 
					 | 
				
			||||||
		rofi -dmenu -p "$prompt" -theme themes/dialer.rasi \
 | 
					 | 
				
			||||||
			-me-select-entry '' -me-accept-entry MousePrimary)"
 | 
					 | 
				
			||||||
	[ "$input" = "X" ] && exit
 | 
					 | 
				
			||||||
	#exit
 | 
					 | 
				
			||||||
	prompt+="$input"
 | 
					 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										41
									
								
								bin/.bin/modem/makeCall
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										41
									
								
								bin/.bin/modem/makeCall
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,41 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
 | 
				
			||||||
 | 
					source "$DIR/common"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export DISPLAY=:0.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					usage(){
 | 
				
			||||||
 | 
						echo "makeCall number"
 | 
				
			||||||
 | 
						echo "Options:"
 | 
				
			||||||
 | 
						echo "  -h|--help       Display this help text"
 | 
				
			||||||
 | 
						echo "  -m|--modem      Specify a modem"
 | 
				
			||||||
 | 
						echo "  --dry-run       Don't actually call"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					modem="$(mmcli -L | grep -oE 'Modem\/[0-9]+' | head -n 1 | cut -d'/' -f2)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Read the options and set stuff
 | 
				
			||||||
 | 
					while [[ $1 = -?* ]]; do
 | 
				
			||||||
 | 
						case $1 in
 | 
				
			||||||
 | 
							-h|--help) usage; exit;;
 | 
				
			||||||
 | 
							-m|--modem) modem="$2"; shift ;;
 | 
				
			||||||
 | 
							--dry-run) dryrun="--dry-run" ;;
 | 
				
			||||||
 | 
							--) shift; break ;;
 | 
				
			||||||
 | 
							*) die "invalid option: '$1'." ;;
 | 
				
			||||||
 | 
						esac
 | 
				
			||||||
 | 
						shift
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					number="$1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ -z "$number" ] && die "No Number Specified"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					callID="$(mmcli -m "$modem" --voice-create-call "number=$number" |
 | 
				
			||||||
 | 
						grep -Eo 'Call\/[0-9]+' | head -n 1 | cut -d'/' -f2)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					checkCall $dryrun "$callID"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,6 +5,8 @@
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Although the proccess for managing calls etc is a bit simpler IMO
 | 
					# Although the proccess for managing calls etc is a bit simpler IMO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export DISPLAY=:0.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Monitor for incoming calls
 | 
					# Monitor for incoming calls
 | 
				
			||||||
dbus-monitor --system "interface='org.freedesktop.ModemManager1.Modem.Voice',type='signal',member='CallAdded'" | \
 | 
					dbus-monitor --system "interface='org.freedesktop.ModemManager1.Modem.Voice',type='signal',member='CallAdded'" | \
 | 
				
			||||||
	while read -r line; do
 | 
						while read -r line; do
 | 
				
			||||||
| 
						 | 
					@ -14,6 +16,7 @@ dbus-monitor --system "interface='org.freedesktop.ModemManager1.Modem.Voice',typ
 | 
				
			||||||
# Monitor for incoming texts
 | 
					# Monitor for incoming texts
 | 
				
			||||||
dbus-monitor --system "interface='org.freedesktop.ModemManager1.Modem.Messaging',type='signal',member='Added'" | \
 | 
					dbus-monitor --system "interface='org.freedesktop.ModemManager1.Modem.Messaging',type='signal',member='Added'" | \
 | 
				
			||||||
	while read -r line; do
 | 
						while read -r line; do
 | 
				
			||||||
 | 
							notify-send "Added (SMS)"
 | 
				
			||||||
		echo "$line" | grep -E "^signal" && checkSMS
 | 
							echo "$line" | grep -E "^signal" && checkSMS
 | 
				
			||||||
	done &
 | 
						done &
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										10
									
								
								bin/.bin/notifications/phoneStatus
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								bin/.bin/notifications/phoneStatus
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,10 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					battery="$(cat /sys/class/power_supply/axp20x-battery/capacity)"
 | 
				
			||||||
 | 
					batteryStatus="$(cat /sys/class/power_supply/axp20x-battery/status)"
 | 
				
			||||||
 | 
					[ "$batteryStatus" = "Charging" ] && batteryIcon="🔌" || batteryIcon="🔋"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					time="$(date "+%H:%M")"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					notify-send "$(hostname)" "$batteryIcon ${battery}%\nTime $time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										7
									
								
								bin/.bin/toggleKeyboard
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								bin/.bin/toggleKeyboard
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if pidof svkbd-colemak || pidof svkbd-numbers; then
 | 
				
			||||||
 | 
						pkill "svkbd-*"
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
						svkbd-colemak & disown
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
| 
						 | 
					@ -43,6 +43,7 @@ case "$1" in
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
			amixer -q -D default sset Master toggle
 | 
								amixer -q -D default sset Master toggle
 | 
				
			||||||
		fi
 | 
							fi
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
esac
 | 
					esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if type -p pulseaudio-ctl 2> /dev/null; then
 | 
					if type -p pulseaudio-ctl 2> /dev/null; then
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -69,7 +69,7 @@ inputbar {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
listview {
 | 
					listview {
 | 
				
			||||||
    background-color:               @background-alt;
 | 
					    background-color:               @background-alt;
 | 
				
			||||||
    columns:                        7;
 | 
					    columns:                        3;
 | 
				
			||||||
    lines:                          4;
 | 
					    lines:                          4;
 | 
				
			||||||
    spacing:                        2%;
 | 
					    spacing:                        2%;
 | 
				
			||||||
    cycle:                          false;
 | 
					    cycle:                          false;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										18
									
								
								rofi/.config/rofi/themes/touch-dmenu.rasi
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								rofi/.config/rofi/themes/touch-dmenu.rasi
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,18 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					configuration {
 | 
				
			||||||
 | 
						font:							"iosevka 30";
 | 
				
			||||||
 | 
					    disable-history:                false;
 | 
				
			||||||
 | 
					    fullscreen:                     false;
 | 
				
			||||||
 | 
						hide-scrollbar: 				true;
 | 
				
			||||||
 | 
						sidebar-mode: 					false;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@import "gruvbox-dark.rasi"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					window {
 | 
				
			||||||
 | 
						width: 90%;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mainbox {
 | 
				
			||||||
 | 
					    children:                       [ listview ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										107
									
								
								rofi/.config/rofi/themes/volume.rasi
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								rofi/.config/rofi/themes/volume.rasi
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,107 @@
 | 
				
			||||||
 | 
					configuration {
 | 
				
			||||||
 | 
					    disable-history:                false;
 | 
				
			||||||
 | 
					    fullscreen:                     false;
 | 
				
			||||||
 | 
						hide-scrollbar: 				true;
 | 
				
			||||||
 | 
						sidebar-mode: 					false;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@import "gruvbox-dark.rasi"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* {
 | 
				
			||||||
 | 
					    background-color:               @background;
 | 
				
			||||||
 | 
					    text-color:                     @foreground;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					window {
 | 
				
			||||||
 | 
					    transparency:                   "real";
 | 
				
			||||||
 | 
					    border-radius:                  12px;
 | 
				
			||||||
 | 
					    width:                          500px;
 | 
				
			||||||
 | 
					    location:                       east;
 | 
				
			||||||
 | 
					    x-offset:                       -15px;
 | 
				
			||||||
 | 
					    y-offset:                       0px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					listview {
 | 
				
			||||||
 | 
					    lines:							3;
 | 
				
			||||||
 | 
					    margin:                         8px;
 | 
				
			||||||
 | 
					    spacing:                        8px;
 | 
				
			||||||
 | 
					    cycle:                          true;
 | 
				
			||||||
 | 
					    dynamic:                        true;
 | 
				
			||||||
 | 
					    layout:                         vertical;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mainbox {
 | 
				
			||||||
 | 
					    background-color:               @background;
 | 
				
			||||||
 | 
					    children:                       [ inputbar, listview ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					prompt{
 | 
				
			||||||
 | 
						text-align:						center;
 | 
				
			||||||
 | 
						background-color:				red;
 | 
				
			||||||
 | 
					    position:                       center;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						horizontal-align:               0.5;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					inputbar {
 | 
				
			||||||
 | 
						children: 						[ prompt ];
 | 
				
			||||||
 | 
					    spacing:                        0px;
 | 
				
			||||||
 | 
					    background-color:               @background;
 | 
				
			||||||
 | 
					    text-color:                     @foreground;
 | 
				
			||||||
 | 
					    expand:                         false;
 | 
				
			||||||
 | 
						horizontal-align:               0.5;
 | 
				
			||||||
 | 
					    border:                  		0px;
 | 
				
			||||||
 | 
					    border-radius:                  0px;
 | 
				
			||||||
 | 
					    border-color:                  	@accent;
 | 
				
			||||||
 | 
					    margin:                         0px 0px 0px 0px;
 | 
				
			||||||
 | 
					    padding:                        0px;
 | 
				
			||||||
 | 
					    position:                       center;
 | 
				
			||||||
 | 
						text-align:						center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					element {
 | 
				
			||||||
 | 
					    background-color:               @background-light;
 | 
				
			||||||
 | 
					    text-color:                     @foreground;
 | 
				
			||||||
 | 
					    orientation:                    vertical;
 | 
				
			||||||
 | 
					    border-radius:                  12px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					element-text {
 | 
				
			||||||
 | 
						font:							"iosevka 25";
 | 
				
			||||||
 | 
					    expand:                         true;
 | 
				
			||||||
 | 
					    horizontal-align:               0.5;
 | 
				
			||||||
 | 
					    vertical-align:                 0;
 | 
				
			||||||
 | 
					    margin:                         10px 10px 33px 10px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					element normal.urgent,
 | 
				
			||||||
 | 
					element alternate.urgent {
 | 
				
			||||||
 | 
					    background-color:               @urgent;
 | 
				
			||||||
 | 
					    text-color:                     @foreground;
 | 
				
			||||||
 | 
					    border-radius:                  10px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					element normal.active,
 | 
				
			||||||
 | 
					element alternate.active {
 | 
				
			||||||
 | 
					    background-color:               @background-alt;
 | 
				
			||||||
 | 
					    text-color:                     @foreground;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					element selected {
 | 
				
			||||||
 | 
					    background-color:               @accent;
 | 
				
			||||||
 | 
					    text-color:                     @background;
 | 
				
			||||||
 | 
					    border:                  		0px;
 | 
				
			||||||
 | 
					    border-radius:                  10px;
 | 
				
			||||||
 | 
					    border-color:                  	@border;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					element selected.urgent {
 | 
				
			||||||
 | 
					    background-color:               @urgent;
 | 
				
			||||||
 | 
					    text-color:                     @foreground;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					element selected.active {
 | 
				
			||||||
 | 
					    background-color:               @background-alt;
 | 
				
			||||||
 | 
					    color:                          @foreground;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										9
									
								
								systemd/.config/systemd/user/monitorModem.service
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								systemd/.config/systemd/user/monitorModem.service
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,9 @@
 | 
				
			||||||
 | 
					[Unit]
 | 
				
			||||||
 | 
					Description=Monitor Modem
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Service]
 | 
				
			||||||
 | 
					Environment="PATH=/usr/bin:/usr/local/bin:/home/jonathan/.bin:/home/jonathan/.bin/modem:/home/jonathan/.bin/dmenu"
 | 
				
			||||||
 | 
					ExecStart=/home/jonathan/.bin/modem/monitorModem
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Install]
 | 
				
			||||||
 | 
					WantedBy=default.target
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,9 @@
 | 
				
			||||||
 | 
					[Unit]
 | 
				
			||||||
 | 
					Description=Enable user access to pinephone hardware kernel interface
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Service]
 | 
				
			||||||
 | 
					Type=oneshot
 | 
				
			||||||
 | 
					ExecStart=/bin/bash -c 'for i in /sys/module/8723cs/parameters/rtw_scan_interval_thr /sys/devices/platform/backlight/backlight/backlight/brightness /sys/power/state /sys/devices/platform/soc/1f00000.rtc/power/wakeup /sys/power/mem_sleep /sys/bus/usb/drivers/usb/unbind /sys/bus/usb/drivers/usb/bind /sys/class/leds/red:indicator/brightness /sys/class/leds/blue:indicator/brightness /sys/class/leds/green:indicator/brightness /sys/class/leds/white:flash/brightness /dev/rtc0 /sys/devices/platform/soc/1f03400.rsb/sunxi-rsb-3a3/axp221-pek/power/wakeup /sys/class/wakeup/*; do [ -e "$i" ] && chmod a+rw "$i" >> /tmp/log 2>&1; done'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Install]
 | 
				
			||||||
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
| 
						 | 
					@ -33,6 +33,7 @@ xinput --list | grep -Ei 'ErgoDox EZ\s+id' | grep -oE 'id=[0-9]+' |
 | 
				
			||||||
type -p compton > /dev/null && exec /usr/bin/compton --config "$HOME/.config/picom/picom.conf" &
 | 
					type -p compton > /dev/null && exec /usr/bin/compton --config "$HOME/.config/picom/picom.conf" &
 | 
				
			||||||
#setbackground &
 | 
					#setbackground &
 | 
				
			||||||
#/usr/bin/nitrogen --restore &
 | 
					#/usr/bin/nitrogen --restore &
 | 
				
			||||||
 | 
					[ -e $HOME/Pictures/wallpaper ] && type -p feh > /dev/null && feh --bg-fill $HOME/Pictures/wallpaper
 | 
				
			||||||
/usr/bin/systemctl --user start background.service
 | 
					/usr/bin/systemctl --user start background.service
 | 
				
			||||||
[ -f /usr/lib/kdeconnectd ] && /usr/lib/kdeconnectd &
 | 
					[ -f /usr/lib/kdeconnectd ] && /usr/lib/kdeconnectd &
 | 
				
			||||||
[ -f /usr/bin/pactl ] && /usr/bin/pactl load-module module-switch-on-connect &
 | 
					[ -f /usr/bin/pactl ] && /usr/bin/pactl load-module module-switch-on-connect &
 | 
				
			||||||
| 
						 | 
					@ -45,6 +46,8 @@ if hostname | grep -q phone; then
 | 
				
			||||||
	xrandr --output DSI-1 --mode 720x1440 --dpi 192
 | 
						xrandr --output DSI-1 --mode 720x1440 --dpi 192
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dunst &
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#greenclip daemon &
 | 
					#greenclip daemon &
 | 
				
			||||||
#exec xrdb .Xresources
 | 
					#exec xrdb .Xresources
 | 
				
			||||||
#xbindkeys
 | 
					#xbindkeys
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue