commit 7a9072e20ad89d8fd88a5b1c19e1dc3952cea755 from: Marcel Rodrigues date: Thu Dec 15 22:37:14 2016 UTC Add 'E' command to toggle execute permission of file. commit - 89654e2bc1cbd34103ad381b6137889c165f43f6 commit + 7a9072e20ad89d8fd88a5b1c19e1dc3952cea755 blob - f6f9a9bd6890469edf93808e2aa9c833ef8c549f blob + 96a9b992eb2cf691b3f72dc74adbc297d9410a08 --- README.md +++ README.md @@ -46,6 +46,7 @@ Quick Start f/d/s - toggle file/directory/hidden listing n/N - create new file/directory R - rename selected file or directory + E - toggle execute permission of the selected file D - delete selected file or (empty) directory m - toggle mark on the selected entry M - toggle mark on all visible entries blob - c2b644ca91fa355d40ddcb2cbc29b7a08eaac8bf blob + ef7ad987f78e26ca6ec40a0c15b0428e89549b2b --- config.h +++ config.h @@ -26,6 +26,7 @@ #define RVK_NEW_FILE "n" #define RVK_NEW_DIR "N" #define RVK_RENAME "R" +#define RVK_TG_EXEC "E" #define RVK_DELETE "D" #define RVK_TG_MARK "m" #define RVK_INVMARK "M" blob - 321a61c90db0953abfb374ae6dcc83a4c97d0cec blob + 6cb7e1f835183e87afc182c2ed4b2070bdbc7631 --- rover.1 +++ rover.1 @@ -126,6 +126,9 @@ Create new file/directory. .B R Rename selected file or directory. .TP +.B E +Toggle execute permission of the selected file. +.TP .B D Delete selected file or (empty) directory. .TP blob - 2665a989a6773868b1b28717267b7c1d3de3b380 blob + 640d0d5d9d399ef66b80e5f67cc850a9791edf70 --- rover.c +++ rover.c @@ -1355,6 +1355,18 @@ main(int argc, char *argv[]) update_view(); } else message(RED, "\"%s\" already exists.", INPUT); + } + } else if (!strcmp(key, RVK_TG_EXEC)) { + if (!rover.nfiles || S_ISDIR(EMODE(ESEL))) continue; + if (S_IXUSR & EMODE(ESEL)) + EMODE(ESEL) &= ~(S_IXUSR | S_IXGRP | S_IXOTH); + else + EMODE(ESEL) |= S_IXUSR | S_IXGRP | S_IXOTH ; + if (chmod(ENAME(ESEL), EMODE(ESEL))) { + message(RED, "Failed to change mode of \"%s\".", ENAME(ESEL)); + } else { + message(GREEN, "Changed mode of \"%s\".", ENAME(ESEL)); + update_view(); } } else if (!strcmp(key, RVK_DELETE)) { if (rover.nfiles) {