add chmod +x and -x function
This commit is contained in:
@@ -894,7 +894,7 @@ do_help() {
|
|||||||
bw=$((COLS - 4))
|
bw=$((COLS - 4))
|
||||||
[ "$bw" -gt 52 ] && bw=52
|
[ "$bw" -gt 52 ] && bw=52
|
||||||
[ "$bw" -lt 36 ] && bw=36
|
[ "$bw" -lt 36 ] && bw=36
|
||||||
bh=42
|
bh=44
|
||||||
_help_bx=$(( (COLS - bw) / 2 )); [ "$_help_bx" -lt 1 ] && _help_bx=1
|
_help_bx=$(( (COLS - bw) / 2 )); [ "$_help_bx" -lt 1 ] && _help_bx=1
|
||||||
_help_by=$(( (ROWS - bh) / 2 )); [ "$_help_by" -lt 1 ] && _help_by=1
|
_help_by=$(( (ROWS - bh) / 2 )); [ "$_help_by" -lt 1 ] && _help_by=1
|
||||||
_help_iw=$((bw - 2))
|
_help_iw=$((bw - 2))
|
||||||
@@ -932,17 +932,19 @@ do_help() {
|
|||||||
help_row 27 " U open trash directory"
|
help_row 27 " U open trash directory"
|
||||||
help_row 28 " ! drop to shell in CWD"
|
help_row 28 " ! drop to shell in CWD"
|
||||||
help_row 29 " o open with custom program"
|
help_row 29 " o open with custom program"
|
||||||
help_sep 30
|
help_row 30 " + chmod +x (make executable)"
|
||||||
help_row 31 " b bookmark current dir"
|
help_row 31 " - chmod -x (remove executable)"
|
||||||
help_row 32 " B open bookmark picker"
|
help_sep 32
|
||||||
help_row 33 " c copy path to clipboard"
|
help_row 33 " b bookmark current dir"
|
||||||
help_row 34 " ~ go to home directory"
|
help_row 34 " B open bookmark picker"
|
||||||
help_row 35 " \` jump to previous directory"
|
help_row 35 " c copy path to clipboard"
|
||||||
help_sep 36
|
help_row 36 " ~ go to home directory"
|
||||||
help_row 37 " q quit"
|
help_row 37 " \` jump to previous directory"
|
||||||
help_row 38 " ? this help"
|
help_sep 38
|
||||||
help_row 39 ""
|
help_row 39 " q quit"
|
||||||
help_row 40 " press any key to close..."
|
help_row 40 " ? this help"
|
||||||
|
help_row 41 ""
|
||||||
|
help_row 42 " press any key to close..."
|
||||||
|
|
||||||
goto "$(( _help_by + bh ))" "$_help_bx"
|
goto "$(( _help_by + bh ))" "$_help_bx"
|
||||||
printf '%s+%s+%s' "${BOLD}${CYAN}" "$_help_hl" "${RESET}"
|
printf '%s+%s+%s' "${BOLD}${CYAN}" "$_help_hl" "${RESET}"
|
||||||
@@ -1193,6 +1195,32 @@ do_mkdir() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
do_chmod_x() {
|
||||||
|
entry=$(get_entry "$SEL")
|
||||||
|
[ -z "$entry" ] && return
|
||||||
|
case "$entry" in */) INFO_MSG="cannot chmod a directory"; NEED_FULL_REDRAW=1; return ;; esac
|
||||||
|
_target=$(joinpath "${entry%@}")
|
||||||
|
if chmod +x "$_target" 2>/dev/null; then
|
||||||
|
INFO_MSG="chmod +x: ${entry}"
|
||||||
|
else
|
||||||
|
INFO_MSG="chmod failed: ${entry}"
|
||||||
|
fi
|
||||||
|
NEED_FULL_REDRAW=1
|
||||||
|
}
|
||||||
|
|
||||||
|
do_chmod_nox() {
|
||||||
|
entry=$(get_entry "$SEL")
|
||||||
|
[ -z "$entry" ] && return
|
||||||
|
case "$entry" in */) INFO_MSG="cannot chmod a directory"; NEED_FULL_REDRAW=1; return ;; esac
|
||||||
|
_target=$(joinpath "${entry%@}")
|
||||||
|
if chmod -x "$_target" 2>/dev/null; then
|
||||||
|
INFO_MSG="chmod -x: ${entry}"
|
||||||
|
else
|
||||||
|
INFO_MSG="chmod failed: ${entry}"
|
||||||
|
fi
|
||||||
|
NEED_FULL_REDRAW=1
|
||||||
|
}
|
||||||
|
|
||||||
do_info() {
|
do_info() {
|
||||||
entry=$(get_entry "$SEL")
|
entry=$(get_entry "$SEL")
|
||||||
[ -z "$entry" ] && return
|
[ -z "$entry" ] && return
|
||||||
@@ -1524,7 +1552,8 @@ while true; do
|
|||||||
T) do_toggle_details ;;
|
T) do_toggle_details ;;
|
||||||
P) do_toggle_preview ;;
|
P) do_toggle_preview ;;
|
||||||
i) do_info ;;
|
i) do_info ;;
|
||||||
'!') do_shell ;;
|
'+') do_chmod_x ;;
|
||||||
|
'-') do_chmod_nox ;;
|
||||||
o) do_open_with ;;
|
o) do_open_with ;;
|
||||||
s) do_sort ;;
|
s) do_sort ;;
|
||||||
u) do_trash ;;
|
u) do_trash ;;
|
||||||
|
|||||||
Reference in New Issue
Block a user