aboutsummaryrefslogtreecommitdiff
path: root/files/.config/nnn/plugins/togglex
blob: e42d65ac8bd5ecf6027b168b3a7186e53b8bfb73 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/env sh

# Description: Toggles executable mode for selection
#
# Dependencies: chmod
#
# Note: Works _only_ with selection (nnn can toggle the mode for the hovered file)
#
# Shell: POSIX compliant
# Author: Arun Prakash Jana

selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection}

if [ -s "$selection" ]; then
    xargs -0 -I {} sh -c 'if [ -x "{}" ] ; then chmod -x "{}" ; else chmod +x "{}" ; fi' < "$selection"

    # Clear selection
    if [ -p "$NNN_PIPE" ]; then
        printf "-" > "$NNN_PIPE"
    fi
fi