Several new scripts added

This commit is contained in:
Alexander Gehrke 2020-07-29 14:58:50 +02:00
parent 1809ffacb3
commit cdbcc9692a
5 changed files with 82 additions and 0 deletions

21
misc/docopen Executable file
View file

@ -0,0 +1,21 @@
#!/bin/zsh
zparseopts -D -E h=help -help=help e+:=extension -extension+:=extension
if [[ -n "$help" ]]; then
echo "Usage: docopen [DIR [EXTENSION ...]]"
echo
echo "Searches for files in given or current dir, optionally filtered by extension"
echo "Files are shown in dmenu and selected file is opened"
exit 1
fi
# return all files in the current dir
# if arguments are given, each argument is taken as a file extension. only files
# which match any given extension are returned
search-docs() {
fd --type file $extension . "$@"
}
target=$(search-docs "$@" | txmenu -i -l 50 -p 'Open Document:')
[[ -n $target ]] && xdg-open $target

3
misc/git-http-to-git Executable file
View file

@ -0,0 +1,3 @@
#!/bin/zsh
remote=${1:-origin}
git remote set-url $remote $(git remote get-url $remote | sed -e 's#https?://\([^/]*\)/#git@\1:#')

13
misc/txmenu Executable file
View file

@ -0,0 +1,13 @@
#!/bin/zsh
# A simple wrapper around fzf and rofi, choosing based on if called from a terminal
zparseopts -D -E i=ignorecase l:=rofi_lines p:=listprompt -prompt:=listprompt
if test -t || [[ $TERM ]]; then
fzf $ignorecase ${listprompt:+--prompt} ${listprompt[2]} "$@"
elif [[ -n $DISPLAY ]]; then
dmenu $ignorecase $rofi_lines $listprompt "$@"
else
echo "Error: neither terminal nor X display" >&2
fi

17
misc/xdg-info Executable file
View file

@ -0,0 +1,17 @@
#!/bin/zsh
source ${$(realpath "$0"):h:h}/lib/common.zsh
if ! exists column; then
column() { cat }
fi
{
echo -e "file\ttype\tdefault program"
for file in "$@"; do
mimetype=$(xdg-mime query filetype $file)
prog=$(xdg-mime query default $mimetype)
echo -e "$file\t$mimetype\t$prog"
done
} | column -t -s $'\t'

28
void/xqq Executable file
View file

@ -0,0 +1,28 @@
#!/bin/zsh
zparseopts -D -E i=installed -installed=installed
if [[ $installed ]]; then
filter-installed() {
grep -e '^\[\*\]'
}
else
filter-installed() {
cat
}
fi
description=$(
xbps-query -Rs "$*" \
| filter-installed \
| fzf \
| cut -d' ' -f 2 \
| xargs xbps-query -R
)
{
grep '^pkgname:' <<<$description
grep '^pkgver:' <<<$description
grep '^short_desc:' <<<$description
grep -v '^pkgname:\|^pkgver:\|^short_desc:' <<<$description
}| sed -e 's/^\([^:]*:\)/\x1B[33m\1\x1B[0m/' | $PAGER