aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile22
-rw-r--r--README.md56
-rw-r--r--nnn.1 (renamed from noice.1)30
-rw-r--r--nnn.c (renamed from noice.c)8
4 files changed, 61 insertions, 55 deletions
diff --git a/Makefile b/Makefile
index bd67f31..aa0dd28 100644
--- a/Makefile
+++ b/Makefile
@@ -8,10 +8,10 @@ MANPREFIX = $(PREFIX)/man
CFLAGS = -O3 -march=native
LDLIBS = -lcurses
-DISTFILES = noice.c strlcat.c strlcpy.c util.h config.def.h\
- noice.1 Makefile README LICENSE
-OBJ = noice.o strlcat.o strlcpy.o
-BIN = noice
+DISTFILES = nnn.c strlcat.c strlcpy.c util.h config.def.h\
+ nnn.1 Makefile README.md LICENSE
+OBJ = nnn.o strlcat.o strlcpy.o
+BIN = nnn
all: $(BIN)
@@ -19,7 +19,7 @@ $(BIN): $(OBJ)
$(CC) $(CFLAGS) -o $@ $(OBJ) $(LDFLAGS) $(LDLIBS)
strip $(BIN)
-noice.o: util.h config.h
+nnn.o: util.h config.h
strlcat.o: util.h
strlcpy.o: util.h
@@ -37,11 +37,11 @@ uninstall:
rm -f $(DESTDIR)$(MANPREFIX)/man1/$(BIN).1
dist:
- mkdir -p noice-$(VERSION)
- cp $(DISTFILES) noice-$(VERSION)
- tar -cf noice-$(VERSION).tar noice-$(VERSION)
- gzip noice-$(VERSION).tar
- rm -rf noice-$(VERSION)
+ mkdir -p nnn-$(VERSION)
+ cp $(DISTFILES) nnn-$(VERSION)
+ tar -cf nnn-$(VERSION).tar nnn-$(VERSION)
+ gzip nnn-$(VERSION).tar
+ rm -rf nnn-$(VERSION)
clean:
- rm -f config.h $(BIN) $(OBJ) noice-$(VERSION).tar.gz
+ rm -f config.h $(BIN) $(OBJ) nnn-$(VERSION).tar.gz
diff --git a/README.md b/README.md
index 5912a98..dbb5f8c 100644
--- a/README.md
+++ b/README.md
@@ -1,13 +1,13 @@
-## noice
+## nnn
-A fork of the [noice](http://git.2f30.org/noice/) file browser to make it more friendly towards major distros (which `suck more` by some standards).
+Noice is Not Noice, a noicer fork...
### Table of Contents
- [Introduction](#introduction)
- [Why fork?](#why-fork)
-- [Default features](#default-features)
-- [Fork toppings](#fork-toppings)
+- [Original features](#original-features)
+- [nnn toppings](#nnn-toppings)
- [Installation](#installation)
- [Usage](#usage)
- [Keyboard shortcuts](#keyboard-shortcuts)
@@ -18,19 +18,19 @@ A fork of the [noice](http://git.2f30.org/noice/) file browser to make it more f
### Introduction
-noice is a blazing-fast terminal file browser with easy keyboard shortcuts for navigation, opening files and running tasks. noice is developed with terminal based systems in mind. However, the incredible user-friendliness and speed make it a perfect utility on modern distros. Navigate to `/usr/bin` from your regular file browser and noice to feel the difference.
+nnn is a fork of [noice](http://git.2f30.org/noice/), a blazing-fast terminal file browser with easy keyboard shortcuts for navigation, opening files and running tasks. It is developed with terminal based systems in mind. However, the incredible user-friendliness and speed make it a perfect utility on modern distros.
-The only issue with noice is hard-coded file association. There is no config file (better performance and simpler to maintain) and you have to modify the source to change associations (see [how to change file associations](#change-file-associations)). This fork solves the problem by adding the flexibility of using the default desktop opener at runtime. There are several other improvements too (see [fork-toppings](#fork-toppings)).
+The only issue with noice is hard-coded file associations. There is no config file (better performance and simpler to maintain) and one has to modify the source to change associations (see [how to change file associations](#change-file-associations)). nnn solves the problem by adding the flexibility of using the default desktop opener at runtime. There are several other improvements too (see [fork-toppings](#fork-toppings)).
-Have fun with it! PRs are welcome. Check out [#1](https://github.com/jarun/noice/issues/1).
+Have fun with it! PRs are welcome. Check out [#1](https://github.com/jarun/nnn/issues/1).
### Why fork?
-I chose to fork noice because:
+I chose to fork because:
- one can argue my approach deviates from the goal of the original project - keep the utility `suckless`. In my opinion evolution is the taste of time.
- I would like to have a bit of control on what features are added in the name of desktop integration. A feature-bloat is the last thing in my mind.
-### Default features
+### Original features
- Super-easy navigation
- Open files with default-associated programs
@@ -42,7 +42,7 @@ I chose to fork noice because:
- Run `top`
- Open a file with `vim` or `less`
-### Fork toppings
+### nnn toppings
- Behaviour and navigation
- Detail view (default: disabled) with:
@@ -55,20 +55,20 @@ I chose to fork noice because:
- Case-insensitive alphabetic content listing instead of upper case first
- Roll over at the first and last entries of a directory (with Up/Down keys)
- Sort entries by file size (largest to smallest)
- - Shortcut to invoke file name copier (set using environment variable `NOICE_COPIER`)
+ - Shortcut to invoke file name copier (set using environment variable `NNN_COPIER`)
- File associations
- - Environment variable `NOICE_OPENER` to override all associations and open all files with your desktop environment's default file opener. Examples:
+ - Environment variable `NNN_OPENER` to override all associations and open all files with your desktop environment's default file opener. Examples:
- export NOICE_OPENER=xdg-open
- export NOICE_OPENER=gnome-open
- export NOICE_OPENER=gvfs-open
- - Selective file associations (ignored if `NOICE_OPENER` is set):
+ export NNN_OPENER=xdg-open
+ export NNN_OPENER=gnome-open
+ export NNN_OPENER=gvfs-open
+ - Selective file associations (ignored if `NNN_OPENER` is set):
- Associate plain text files with vim (using `file` command)
- Remove video file associations (to each his own favourite video player)
- Associate common audio mimes with lightweight [fmedia](http://fmedia.firmdev.com/)
- Associate PDF files with [zathura](https://pwmt.org/projects/zathura/)
- Removed `less` as default file opener
- - Use environment variable `NOICE_FALLBACK_OPENER` to open other non-associated files
+ - Use environment variable `NNN_FALLBACK_OPENER` to open other non-associated files
- Compilation
- Use `-O3` for compilation, fixed warnings
- Added compilation flag `-march=native`
@@ -77,9 +77,9 @@ I chose to fork noice because:
### Installation
-noice needs a curses implementation and standard libc.
+nnn needs a curses implementation and standard libc.
-Download the [latest master](https://github.com/jarun/noice/archive/master.zip) or clone this repository. Compile and install:
+Download the [latest master](https://github.com/jarun/nnn/archive/master.zip) or clone this repository. Compile and install:
$ make
$ sudo make install
@@ -87,9 +87,9 @@ No plans of packaging at the time.
### Usage
-Start noice (default: current directory):
+Start nnn (default: current directory):
- $ noice [path_to_dir]
+ $ nnn [path_to_dir]
`>` indicates the currently selected entry.
### Keyboard shortcuts
@@ -117,7 +117,7 @@ Start noice (default: current directory):
| `z` | run `top` |
| `Ctrl-k` | invoke file name copier |
| `Ctrl-l` | redraw window |
-| `q` | quit noice |
+| `q` | quit |
### File type abbreviations
@@ -135,11 +135,11 @@ The following abbreviations are used in the detail view:
### Help
- $ man noice
+ $ man nnn
### Copy current file path to clipboard
-noice can pipe the absolute path of the current file to a copier script. For example, you can use `xsel` on Linux or `pbcopy` on OS X.
+nnn can pipe the absolute path of the current file to a copier script. For example, you can use `xsel` on Linux or `pbcopy` on OS X.
Sample Linux copier script:
@@ -147,12 +147,12 @@ Sample Linux copier script:
echo -n $1 | xsel --clipboard --input
-export `NOICE_OPENER`:
+export `NNN_OPENER`:
- export NOICE_COPIER="/home/vaio/copier.sh"
+ export NNN_COPIER="/home/vaio/copier.sh"
-Start noice and use `Ctrl-k` to copy the absolute path (from `/`) of the file under the cursor to clipboard.
+Start nnn and use `Ctrl-k` to copy the absolute path (from `/`) of the file under the cursor to clipboard.
### Change file associations
-If you want to set custom applications for certain mime types, or change the ones set already (e.g. vim, fmedia, zathura), modify the `assocs` structure in [config.def.h](https://github.com/jarun/noice/blob/master/config.def.h) (it's easy). Then re-compile and install.
+If you want to set custom applications for certain mime types, or change the ones set already (e.g. vim, fmedia, zathura), modify the `assocs` structure in [config.def.h](https://github.com/jarun/nnn/blob/master/config.def.h) (it's easy). Then re-compile and install.
diff --git a/noice.1 b/nnn.1
index d39be8f..1010d10 100644
--- a/noice.1
+++ b/nnn.1
@@ -1,11 +1,11 @@
.Dd August 21, 2016
-.Dt NOICE 1
+.Dt NNN 1
.Os
.Sh NAME
-.Nm noice
+.Nm nnn
.Nd small file browser
.Sh SYNOPSIS
-.Nm noice
+.Nm nnn
.Op Ar dir
.Sh DESCRIPTION
.Nm
@@ -105,24 +105,30 @@ files.
The SHELL, EDITOR and PAGER environment variables take precedence
when dealing with the !, e and p commands respectively.
.Pp
-\fBNOICE_OPENER:\fR set to your desktop environment's default
+\fBNNN_OPENER:\fR set to your desktop environment's default
mime opener to override all custom mime associations.
.br
Examples: xdg-open, gnome-open, gvfs-open.
.Pp
-\fBNOICE_FALLBACK_OPENER:\fR set to your desktop environment's default
+\fBNNN_FALLBACK_OPENER:\fR set to your desktop environment's default
mime opener to use as a fallback when no association is set for a file
type. Custom associations are listed in the EXAMPLES section below.
+.Pp
+\fBNNN_COPIER:\fR set to a clipboard copier script. For example, on Linux:
+.Bd -literal
+ #!/bin/sh
+
+ echo -n $1 | xsel --clipboard --input
.Sh EXAMPLES
The following example shows one possible configuration for
file associations which is also the default if environment
-variable NOICE_OPENER is not set:
+variable NNN_OPENER is not set:
.Bd -literal
-struct assoc assocs[] = {
- { "\\.(c|cpp|h|txt|log)$", "vim" },
- { "\\.pdf$", "zathura" },
- { "\\.sh$", "sh" },
-};
+ struct assoc assocs[] = {
+ { "\\.(c|cpp|h|txt|log)$", "vim" },
+ { "\\.pdf$", "zathura" },
+ { "\\.sh$", "sh" },
+ };
Plain text files are opened with vim.
.br
Any other file types are opened with the 'xdg-open' command.
@@ -135,4 +141,4 @@ If you are using urxvt you might have to set backspacekey to DEC.
.Pp
** The current non-mainstream version is a modified one patched by Arun Prakash Jana <engineerarun@gmail.com>.
.br
-More details: https://github.com/jarun/noice
+More details: https://github.com/jarun/nnn
diff --git a/noice.c b/nnn.c
index 6f64b5e..dc19656 100644
--- a/noice.c
+++ b/nnn.c
@@ -897,7 +897,7 @@ nochange:
spawn(copier, abspath, NULL);
printmsg(abspath);
} else if (!copier)
- printmsg("NOICE_COPIER is not set");
+ printmsg("NNN_COPIER is not set");
goto nochange;
case SEL_RUN:
run = xgetenv(env, run);
@@ -960,13 +960,13 @@ main(int argc, char *argv[])
}
/* Get the default desktop mime opener, if set */
- opener = getenv("NOICE_OPENER");
+ opener = getenv("NNN_OPENER");
/* Get the fallback desktop mime opener, if set */
- fallback_opener = getenv("NOICE_FALLBACK_OPENER");
+ fallback_opener = getenv("NNN_FALLBACK_OPENER");
/* Get the default copier, if set */
- copier = getenv("NOICE_COPIER");
+ copier = getenv("NNN_COPIER");
signal(SIGINT, SIG_IGN);