diff --git a/README.md b/README.md index 429589e8..fe66ae88 100644 --- a/README.md +++ b/README.md @@ -319,7 +319,7 @@ The selection can now be listed, copied, moved, removed, archived or linked. Navigate to a target directory then use V (move) or P (copy) to have the selected files moved or copied. -Absolute paths of the selected files are copied to the temporary file `~/.config/nnn/.selection`. The path is shown in the help and configuration screen. If `$NNN_COPIER` is set the file paths are also copied to the system clipboard. +Absolute paths of the selected files are copied to the temporary file `.selection` in the config directory. The path is shown in the help and configuration screen. If `$NNN_COPIER` is set the file paths are also copied to the system clipboard. #### Filters @@ -362,7 +362,7 @@ The following indicators are used in the detail view: #### Configuration -`nnn` supports the following environment variables for configuration. All of them are optional (set if you need). +`nnn` supports the following environment variables for configuration. All of them are optional (set if you need). Any associated files are stored under `${XDG_CONFIG_HOME:-$HOME/.config}/nnn/`. | Example `export` | Description | | --- | --- | @@ -397,7 +397,7 @@ Host phone Port 8022 ``` -The above host `phone` will be mounted at `~/.config/nnn/phone`. `nnn` creates the directory `phone` if it doesn't exist. +The above host `phone` will be mounted at `${XDG_CONFIG_HOME:-$HOME/.config}/nnn/phone`. `nnn` creates the directory `phone` if it doesn't exist. Notes: diff --git a/misc/clipboard-copier/copier b/misc/clipboard-copier/copier index e20dcf47..25de3349 100755 --- a/misc/clipboard-copier/copier +++ b/misc/clipboard-copier/copier @@ -5,7 +5,7 @@ # Shell: POSIX compliant # Author: Arun Prakash Jana -SELECTION=~/.config/nnn/.selection +SELECTION=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection # Linux cat "$SELECTION" | xargs -0 | xsel -bi diff --git a/nnn.1 b/nnn.1 index be88adb8..9de15022 100644 --- a/nnn.1 +++ b/nnn.1 @@ -72,7 +72,7 @@ supports the following options: .Nm uses \fIxdg-open\fR (on Linux) and \fIopen(1)\fR (on macOS) as the desktop opener. .Pp -There is no configuration file. Settings work on environment variables. See ENVIRONMENT section below. +There is no configuration file. Associated files are stored in \fB${XDG_CONFIG_HOME:-$HOME/.config}/nnn/\fR. Settings work on environment variables. See ENVIRONMENT section below. .Pp Configuring .Nm @@ -132,7 +132,7 @@ Selected files are visually indicated by a \fB+\fR before the entries. .br The files in the list can now be listed, copied, moved, removed, archived or linked. .br -Absolute paths of the selected files are copied to the temporary file \fB~/.config/nnn/.selection\fR. The path is shown in the help and configuration screen. If \fB$NNN_COPIER\fR is set (see ENVIRONMENT section below) the file paths are also copied to the system clipboard. +Absolute paths of the selected files are copied to the temporary file \fB.selection\fR in config directory. The path is shown in the help and configuration screen. If \fB$NNN_COPIER\fR is set (see ENVIRONMENT section below) the file paths are also copied to the system clipboard. .Sh ENVIRONMENT The SHELL, EDITOR (VISUAL, if defined) and PAGER environment variables take precedence when dealing with the !, e and p commands respectively. A single combination to arguments is supported for SHELL and PAGER. @@ -159,11 +159,7 @@ when dealing with the !, e and p commands respectively. A single combination to .Pp \fBNNN_IDLE_TIMEOUT:\fR set idle timeout (in seconds) to invoke terminal locker (default: disabled). .Pp -\fBNNN_COPIER:\fR system clipboard copier script. -.Bd -literal - NOTE: File paths are copied to the tmp file \fB~/.config/nnn/.selection\fR. - The path is shown in the help and configuration screen. -.Ed +\fBNNN_COPIER:\fR system clipboard copier script. The project page has some sample copier scripts. .Pp \fBNNN_NOTE:\fR \fIabsolute\fR path to a note file. .Bd -literal diff --git a/plugins/README.md b/plugins/README.md index 7ab679dd..7651df9a 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -26,7 +26,7 @@ #### Installing plugins -Download the `getplugs` plugin and execute it anywhere to get all the plugins installed to `~/.config/nnn/plugins`. You can run it again later to update the plugins. It backs up earlier plugins. +Download the `getplugs` plugin and execute it anywhere to get all the plugins installed to `${XDG_CONFIG_HOME:-$HOME/.config}/nnn/plugins`. You can run it again later to update the plugins. It backs up earlier plugins. **NOTE:** `getplugs` also downloads the launcher `nlaunch` and tries to place it at `/usr/local/bin/` using `sudo`. If it fails you have to place `nlauch` manually somewhere in your `$PATH`. @@ -35,7 +35,7 @@ Download the `getplugs` plugin and execute it anywhere to get all the plugins in Plugins can access: - all files in the directory (`nnn` switches to the dir where the plugin is to be run so the dir is `$PWD` for the plugin) - the current file under the cursor (the file name is passed as the argument to a plugin) -- the current selection (by reading the file `~/.config/nnn/.selection`, see the plugin `ndiff`) +- the current selection (by reading the file `.selection` in config dir, see the plugin `ndiff`) Each script has a _Description_ section which provides more details on what the script does, if applicable. diff --git a/plugins/checksum b/plugins/checksum index 44f2274c..488f9f68 100755 --- a/plugins/checksum +++ b/plugins/checksum @@ -12,7 +12,7 @@ # Shell: POSIX compliant # Author: ath3 -selection=~/.config/nnn/.selection +selection=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection resp=f chsum=md5 ischksum=0 diff --git a/plugins/getplugs b/plugins/getplugs index b460d834..a8d8ec18 100755 --- a/plugins/getplugs +++ b/plugins/getplugs @@ -5,13 +5,16 @@ # Shell: POSIX compliant # Author: Arun Prakash Jana +CONFIG_DIR=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/ +PLUGIN_DIR=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/plugins + # backup any earlier plugins -if [ -d ~/.config/nnn/plugins ]; then - tar -C ~/.config/nnn/ -cf ~/.config/nnn/"plugins-$(date '+%Y%m%d%H%M').tar.bz2" plugins/ +if [ -d $PLUGIN_DIR ]; then + tar -C $CONFIG_DIR -cf $CONFIG_DIR"plugins-$(date '+%Y%m%d%H%M').tar.bz2" plugins/ fi -mkdir -p ~/.config/nnn/plugins -cd ~/.config/nnn/plugins +mkdir -p $PLUGIN_DIR +cd $PLUGIN_DIR wget -nv --show-progress https://github.com/jarun/nnn/archive/master.tar.gz tar -xf master.tar.gz cp -vf nnn-master/plugins/* . diff --git a/plugins/kdeconnect b/plugins/kdeconnect index a209f55d..9ee2e600 100755 --- a/plugins/kdeconnect +++ b/plugins/kdeconnect @@ -5,7 +5,7 @@ # Shell: POSIX compliant # Author: juacq97 -SELECTION=~/.config/nnn/.selection +SELECTION=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection id=$(kdeconnect-cli -a --id-only | awk '{print $1}') if [ "$(find "$SELECTION")" ]; then diff --git a/plugins/mocplay b/plugins/mocplay index 7fb6aa75..8e0f92ae 100755 --- a/plugins/mocplay +++ b/plugins/mocplay @@ -9,7 +9,7 @@ # Shell: POSIX compliant # Author: Arun Prakash Jana -selection=~/.config/nnn/.selection +selection=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection cmd=$(pgrep -x mocp 2>/dev/null) ret=$cmd diff --git a/plugins/ndiff b/plugins/ndiff index 00dc059a..9590cf49 100755 --- a/plugins/ndiff +++ b/plugins/ndiff @@ -8,7 +8,7 @@ # Shell: POSIX compliant # Author: Arun Prakash Jana -selection=~/.config/nnn/.selection +selection=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection if [ -s $selection ]; then arr=$(tr '\0' '\n' < "$selection") diff --git a/plugins/splitjoin b/plugins/splitjoin index 4325d3a7..f79d92e3 100755 --- a/plugins/splitjoin +++ b/plugins/splitjoin @@ -8,7 +8,7 @@ # Shell: POSIX compliant # Author: Arun Prakash Jana -selection=~/.config/nnn/.selection +selection=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection resp=s if [ -s "$selection" ]; then