blob: 0106125d94b8e2f2194f5729e71a7ba0d05126bc (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
#!/bin/bash
# #############################################################################
# nlay: a customizable script to play files in different apps by file type
#
# usage: nlay file type
#
# MUST READ:
#
# 1. Feel free to change the default apps to your favourite ones.
# If you change the app for a group you may also need to modify the bg
# setting. If bg is set the app is detached and started in the background in
# silent mode.
#
# The bg setting depends on personal preference and type of app, e.g.,
# I would start vim (CLI) in the foreground but Sublime Text (GUI) in the
# background. I also prefer mpv running in the background without disturbing
# my ongoing activity in nnn by blocking navigation.
#
# Check (and TOGGLE as you wish) the default bg settings.
#
# 2. Detached apps are not killed when nnn exits. Use kill(1) or killall(1) to
# to stop console based background apps.
#
# 3. Assuming you don't to play multiple audio/video files simultaneously,
# nlay kills any running instances of the audio/video player in bg mode.
#
# 4. Keep a personal backup (on GitHub Gist maybe?) of this file if you modify
# it. nlay is OVERWRITTEN during nnn upgrade.
#
# Author: Arun Prakash Jana
# Email: engineerarun@gmail.com
# #############################################################################
# Enable the lines below to handle file by extension
# This is provided for using a custom player for specific files
# $ext holds the extension
<<ENABLE_FILE_TYPE_HANDLING
fname=$(basename "$1")
if [[ $fname != *"."* ]]; then
exit 1
fi
ext="${fname##*.}"
if [ -z "$ext" ]; then
exit 1
fi
# bash 4.0 way to switch to lowercase
ext="${ext,,}"
# handle this extension and exit
ENABLE_FILE_TYPE_HANDLING
#------------------ AUDIO -------------------
if [ "$2" == "audio" ]; then
app=mpv
# To start mpv in a window enable audio_opts
#audio_opts="--no-terminal --force-window"
#bg=">/dev/null 2>&1 &"
if [ -n "$bg" ]; then
killall -9 $app >/dev/null 2>&1
fi
eval $app $audio_opts "\"$1\"" $bg
exit 0
fi
#------------------ VIDEO -------------------
if [ "$2" == "video" ]; then
app=mpv
# To start mpv in a window enable video_opts
#video_opts="--no-terminal --force-window"
#bg=">/dev/null 2>&1 &"
if [ -n "$bg" ]; then
killall -9 $app >/dev/null 2>&1
fi
eval $app $video_opts "\"$1\"" $bg
exit 0
fi
#------------------ IMAGE -------------------
if [ "$2" == "image" ]; then
app=viewnior
#image_opts=
bg=">/dev/null 2>&1 &"
eval $app $image_opts "\"$1\"" $bg
exit 0
fi
#------------------- PDF --------------------
if [ "$2" == "pdf" ]; then
app=zathura
#pdf_opts=
bg=">/dev/null 2>&1 &"
eval $app $pdf_opts "\"$1\"" $bg
exit 0
fi
#---------------- PLAINTEXT -----------------
if [ "$2" == "text" ]; then
app=vim
#txt_opts=
#bg=">/dev/null 2>&1 &"
eval $app $txt_opts "\"$1\"" $bg
exit 0
fi
|