diff options
Diffstat (limited to 'shellrc.d-desktop/desktop')
| -rw-r--r-- | shellrc.d-desktop/desktop | 49 | 
1 files changed, 49 insertions, 0 deletions
| diff --git a/shellrc.d-desktop/desktop b/shellrc.d-desktop/desktop new file mode 100644 index 0000000..52ca258 --- /dev/null +++ b/shellrc.d-desktop/desktop @@ -0,0 +1,49 @@ +# vim: ft=sh: +# This is handy only on desktop and is useless on server + +alias mutt='neomutt' +alias sdcv='sdcv -c' + +# Following section is applicable for any desktop but only for graphics########## +# TODO add check for wayland +[ -z "$DISPLAY" ] && return + +alias feh='feh --magick-timeout 10 -.' + + +# This function should not be called externaly +# It expects PID of surf instace as first argument and all other arguments should +# be command to be called before kill is sent. +__insurf_callback() { +	local SPID=$1 +	shift +	"$@" +	echo kill $SPID SIGHUP +	kill -s SIGHUP $SPID || exit 1 +} + +# Same as inrun but it opens first argument it founds in surf and then reloads +# that instance automatically. +insurf() { +	( +	set -e +	# Run surf +	surf "$1" & +	local SPID=$! +	trap "kill $SPID; trap '' EXIT; exit 0" EXIT INT QUIT TERM ABRT +	# Insert our callback +	local ISFIRST=true +	for ARG in "$@"; do +		if $ISFIRST; then +			shift $# +			ISFIRST=false +		fi +		set "$@" "$ARG" +		if [ "$ARG" = "--" ]; then +			set "$@" "__insurf_callback" "$SPID" +		fi +	done +	# Run inrun +	inrun "$@" +	) +} | 
