aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Arun Prakash Jana <engineerarun@gmail.com>2017-05-15 20:14:13 +0530
committerGravatar Arun Prakash Jana <engineerarun@gmail.com>2017-05-15 20:14:13 +0530
commit71bc3c743247b891943af1f69da0e9e375b7746f (patch)
tree914fa4e9408464c16b0dd0e38fa171cc548bff4c
parentba49beac7994b950563e53b2989630ddc514aaba (diff)
downloadnnn-71bc3c743247b891943af1f69da0e9e375b7746f.tar.gz
Fix #27: use catfish as default search utility
-rw-r--r--README.md4
-rw-r--r--config.def.h2
-rwxr-xr-xnlay11
-rw-r--r--nnn.12
-rw-r--r--nnn.c10
5 files changed, 28 insertions, 1 deletions
diff --git a/README.md b/README.md
index d8766db..c8661c8 100644
--- a/README.md
+++ b/README.md
@@ -146,6 +146,7 @@ Right, Enter, l, ^M | Open file or enter dir
- | Jump to last visited dir
o | Open dir in NNN_DE_FILE_MANAGER
/ | Filter dir contents
+ ^/ | Search dir in catfish
c | Show change dir prompt
d | Toggle detail view
D | Toggle current file details screen
@@ -200,11 +201,12 @@ nnn is designed to play files using multiple strategies (in order of decreasing
export NNN_OPENER=xdg-open
export NNN_OPENER="gio open"
export NNN_OPENER=gvfs-open
- - If nnn recognizes the file extension, it invokes nlay (which invokes the players). Default players:
+ - If nnn recognizes the file extension, it invokes nlay (which invokes the players). Default apps:
- mpv - audio and video
- viewnior - image
- [zathura](https://pwmt.org/projects/zathura/) - pdf
- vim - plain text
+ - catfish - search
- to add, remove recognized extensions in nnn, see [how to change file associations](#change-file-associations)
- If a file without any extension is a plain text file, it is opened in EDITOR (fallback vi)
- Set `NNN_FALLBACK_OPENER` as the fallback opener. E.g.:
diff --git a/config.def.h b/config.def.h
index e23fe3c..c5c9ce1 100644
--- a/config.def.h
+++ b/config.def.h
@@ -35,6 +35,8 @@ static struct key bindings[] = {
{ 'l', SEL_GOIN, "", "" },
/* Filter */
{ '/', SEL_FLTR, "", "" },
+ /* Desktop search */
+ { CONTROL('_'), SEL_SEARCH, "", "" },
/* Next */
{ 'j', SEL_NEXT, "", "" },
{ KEY_DOWN, SEL_NEXT, "", "" },
diff --git a/nlay b/nlay
index 20d6e8e..bc9eaaa 100755
--- a/nlay
+++ b/nlay
@@ -120,3 +120,14 @@ if [ "$2" == "text" ]; then
eval $app $txt_opts "\"$1\"" $bg
exit 0
fi
+
+#----------------- SEARCH -------------------
+if [ "$2" == "search" ]; then
+ app=catfish
+ #search_opts=
+
+ bg=">/dev/null 2>&1 &"
+
+ eval $app $search_opts "\"$1\"" $bg
+ exit 0
+fi
diff --git a/nnn.1 b/nnn.1
index b51450c..cb98013 100644
--- a/nnn.1
+++ b/nnn.1
@@ -51,6 +51,8 @@ Change to the last visited directory
Open directory in NNN_DE_FILE_MANAGER
.It Ic /
Change filter (more information below)
+.It Ic ^/
+Search directory in catfish
.It Ic c
Change into the given directory
.It Ic d
diff --git a/nnn.c b/nnn.c
index cf5932b..c7a20f5 100644
--- a/nnn.c
+++ b/nnn.c
@@ -84,6 +84,7 @@ enum action {
SEL_BACK,
SEL_GOIN,
SEL_FLTR,
+ SEL_SEARCH,
SEL_NEXT,
SEL_PREV,
SEL_PGDN,
@@ -1212,6 +1213,7 @@ show_help(void)
- | Jump to last visited dir\n\
o | Open dir in NNN_DE_FILE_MANAGER\n\
/ | Filter dir contents\n\
+ ^/ | Search dir in catfish\n\
c | Show change dir prompt\n\
d | Toggle detail view\n\
D | Toggle current file details screen\n\
@@ -1658,6 +1660,14 @@ nochange:
if (ndents > 0)
mkpath(path, dents[cur].name, oldpath, PATH_MAX);
goto nochange;
+ case SEL_SEARCH:
+ exitcurses();
+ if (player)
+ spawn(player, path, "search", NULL, 0);
+ else
+ spawn("nlay", path, "search", NULL, 0);
+ initcurses();
+ break;
case SEL_NEXT:
if (cur < ndents - 1)
cur++;