mirror of
https://code.blicky.net/yorhel/ncdu.git
synced 2026-01-13 01:08:41 -09:00
Add -rr option to disable shell spawning
Fixes https://dev.yorhel.nl/ncdu/bug/94
This commit is contained in:
parent
e4f211db68
commit
936a9446a8
4 changed files with 20 additions and 8 deletions
14
doc/ncdu.pod
14
doc/ncdu.pod
|
|
@ -35,8 +35,8 @@ I<FILE> is equivalent to C<->, the file is read from standard input.
|
||||||
|
|
||||||
For the sake of preventing a screw-up, the current version of ncdu will assume
|
For the sake of preventing a screw-up, the current version of ncdu will assume
|
||||||
that the directory information in the imported file does not represent the
|
that the directory information in the imported file does not represent the
|
||||||
filesystem on which the file is being imported. That is, the refresh and file
|
filesystem on which the file is being imported. That is, the refresh, file
|
||||||
deletion options in the browser will be disabled.
|
deletion and shell spawning options in the browser will be disabled.
|
||||||
|
|
||||||
=item I<dir>
|
=item I<dir>
|
||||||
|
|
||||||
|
|
@ -97,6 +97,16 @@ option has no effect when C<-o> is used, because there will not be a browser
|
||||||
interface in that case. It has no effect when C<-f> is used, either, because
|
interface in that case. It has no effect when C<-f> is used, either, because
|
||||||
the deletion feature is disabled in that case anyway.
|
the deletion feature is disabled in that case anyway.
|
||||||
|
|
||||||
|
WARNING: This option will only prevent deletion through the file browser. It is
|
||||||
|
still possible to spawn a shell from ncdu and delete or modify files from
|
||||||
|
there. To disable that feature as well, pass the C<-r> option twice (see
|
||||||
|
C<-rr>).
|
||||||
|
|
||||||
|
=item -rr
|
||||||
|
|
||||||
|
In addition to C<-r>, this will also disable the shell spawning feature of the
|
||||||
|
file browser.
|
||||||
|
|
||||||
=item --si
|
=item --si
|
||||||
|
|
||||||
List sizes using base 10 prefixes, that is, powers of 1000 (KB, MB, etc), as
|
List sizes using base 10 prefixes, that is, powers of 1000 (KB, MB, etc), as
|
||||||
|
|
|
||||||
|
|
@ -417,8 +417,8 @@ int browse_key(int ch) {
|
||||||
info_show = 0;
|
info_show = 0;
|
||||||
break;
|
break;
|
||||||
case 'd':
|
case 'd':
|
||||||
if(read_only || dir_import_active) {
|
if(read_only >= 1 || dir_import_active) {
|
||||||
message = read_only
|
message = read_only >= 1
|
||||||
? "File deletion disabled in read-only mode."
|
? "File deletion disabled in read-only mode."
|
||||||
: "File deletion not available for imported directories.";
|
: "File deletion not available for imported directories.";
|
||||||
break;
|
break;
|
||||||
|
|
@ -432,8 +432,10 @@ int browse_key(int ch) {
|
||||||
delete_init(sel, t);
|
delete_init(sel, t);
|
||||||
break;
|
break;
|
||||||
case 'b':
|
case 'b':
|
||||||
if(dir_import_active) {
|
if(read_only >= 2 || dir_import_active) {
|
||||||
message = "Shell feature not available for imported directories.";
|
message = read_only >= 2
|
||||||
|
? "Shell feature disabled in read-only mode."
|
||||||
|
: "Shell feature not available for imported directories.";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
shell_init();
|
shell_init();
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ struct dir {
|
||||||
|
|
||||||
/* program state */
|
/* program state */
|
||||||
extern int pstate;
|
extern int pstate;
|
||||||
/* read-only flag */
|
/* read-only flag, 1+ = disable deletion, 2+ = also disable shell */
|
||||||
extern int read_only;
|
extern int read_only;
|
||||||
/* minimum screen update interval when calculating, in ms */
|
/* minimum screen update interval when calculating, in ms */
|
||||||
extern long update_delay;
|
extern long update_delay;
|
||||||
|
|
|
||||||
|
|
@ -162,7 +162,7 @@ static void argv_parse(int argc, char **argv) {
|
||||||
printf("ncdu %s\n", PACKAGE_VERSION);
|
printf("ncdu %s\n", PACKAGE_VERSION);
|
||||||
exit(0);
|
exit(0);
|
||||||
case 'x': dir_scan_smfs = 1; break;
|
case 'x': dir_scan_smfs = 1; break;
|
||||||
case 'r': read_only = 1; break;
|
case 'r': read_only++; break;
|
||||||
case 's': si = 1; break;
|
case 's': si = 1; break;
|
||||||
case 'o': export = val; break;
|
case 'o': export = val; break;
|
||||||
case 'f': import = val; break;
|
case 'f': import = val; break;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue