dotfiles/.local/bin/tools/ce
Alexander Bocken 0feccdb787
various smaller changes
Changes to be committed:
	modified:   .config/aliasrc
	modified:   .config/mpv/input.conf
	modified:   .config/zathura/zathurarc
	modified:   .local/bin/bt
	modified:   .local/bin/statusbar/clock
	modified:   .local/bin/tools/ce
	deleted:    .local/bin/tools/ripper
	modified:   .local/bin/tools/wv
	deleted:    .local/bin/transadd
2021-01-05 10:05:38 +01:00

32 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
#A script that launches documents in their respective viewers
#either via dmenu or fzf depending on the context
ppid () { ps -p ${1:-$$} -o ppid=; }
shell="$(ps aux | grep $( ppid ) | head -n1 | awk '{print $11}' )"
document_dirs="$HOME/.config/* $HOME/.local/src/* $HOME/.local/bin/*"
#/bin/sh means it's probably from dmenu_run (it's ugly but works)
if [ ! "$shell" = "/bin/sh" ]; then
currentdir="$(pwd)"
file="$( find $document_dirs -type f | sed "s|$HOME|~|" | fzf -e --query="$*")"
path="$(printf '%s%s' "$HOME" "${file//\~/}")"
[ -z "$file" ] && exit
cd "$( dirname "$path" )" || exit
if rifle -l "$path" | head -n1 | grep -q 'EDITOR';then
rifle "$path"
else
rifle "$path" &
fi
cd "$currentdir" || exit
#launch dmenu as it's probably in dmenu_run
else
file="$( find $document_dirs -type f | sed "s|$HOME|~|" | dmenu -l 10 -p 'open what file?' -it "$*" )"
[ -z "$file" ] && exit
path="$(printf '%s%s' "$HOME" "${file//\~/}")"
cd "$( dirname "$path" )" || exit
if rifle -l "$path" | head -n1 | grep -q 'EDITOR';then
st rifle "$path" &
else
rifle "$path" &
fi
fi