summaryrefslogtreecommitdiff
path: root/via-open
diff options
context:
space:
mode:
authorfilip <“filip.rabiega@gmail.com”>2025-10-14 21:57:25 +0200
committerfilip <“filip.rabiega@gmail.com”>2025-10-14 21:57:25 +0200
commit91a4eacb0419bd0f67774f6124b6f0b1525eb988 (patch)
treede8189790a11437e540f7792fd7559f88212bae7 /via-open
parent7f6189dcbed755af34e222237b8cfa8b1f903696 (diff)
downloadchadscripts-91a4eacb0419bd0f67774f6124b6f0b1525eb988.tar.gz
chadscripts-91a4eacb0419bd0f67774f6124b6f0b1525eb988.tar.bz2
chadscripts-91a4eacb0419bd0f67774f6124b6f0b1525eb988.zip
new stuff
Diffstat (limited to 'via-open')
-rwxr-xr-xvia-open56
1 files changed, 56 insertions, 0 deletions
diff --git a/via-open b/via-open
new file mode 100755
index 0000000..6832526
--- /dev/null
+++ b/via-open
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+exec &> /dev/null
+
+while read -r arg; do
+ # first try matching by filename or pathname
+ case "${arg,,}" in
+ w\ *)
+ target=$(echo "$arg"|cut -d ' ' -f 3-)
+ wmctrl -a "$target"
+ ;;
+ http*)
+ $BROWSER "$arg" &
+ ;;
+ [^/]*) # doesn't start with '/'
+ sh -c "$arg"
+ ;;
+ *.txt)
+ tabbed -c -r 2 st -w '' -e $EDITOR "$arg" &
+ # $TERMINAL $EDITOR "$arg" &
+ ;;
+ *.pdf | *.epub)
+ zathura "$arg" &
+ ;;
+ *.mp3)
+ $TERMINAL mpg123 -opulse "$arg" &
+ ;;
+ *.od[tsp]|*.doc|*.docx|*.ppt|*.pptx|*.xls|*.xlsx)
+ libreoffice "$arg" &
+ ;;
+ *)
+ # then try matching by mimetype
+ mimetype=$(file -Lb --mime-type "$arg")
+ case "$mimetype" in
+ text/html)
+ $BROWSER "$arg" &
+ ;;
+ text/* | inode/x-empty | message/rfc822)
+ tabbed -c -r 2 st -w '' -e $EDITOR "$arg" &
+ # $TERMINAL $EDITOR "$arg" &
+ ;;
+ inode/directory)
+ cd "$arg" || exit
+ $TERMINAL &
+ cd - || exit
+ ;;
+ image/*)
+ sxiv "$arg" &
+ ;;
+ *)
+ exit 1
+ ;;
+ esac
+ ;;
+ esac
+done