diff options
Diffstat (limited to 'src/firecfg/main.c')
-rw-r--r-- | src/firecfg/main.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/firecfg/main.c b/src/firecfg/main.c index af5ebef98..4f957b4ae 100644 --- a/src/firecfg/main.c +++ b/src/firecfg/main.c | |||
@@ -47,6 +47,7 @@ static void usage(void) { | |||
47 | printf("Usage: firecfg [OPTIONS]\n\n"); | 47 | printf("Usage: firecfg [OPTIONS]\n\n"); |
48 | printf(" --clean - remove all firejail symbolic links.\n\n"); | 48 | printf(" --clean - remove all firejail symbolic links.\n\n"); |
49 | printf(" --debug - print debug messages.\n\n"); | 49 | printf(" --debug - print debug messages.\n\n"); |
50 | printf(" --fix - fix .desktop files.\n\n"); | ||
50 | printf(" --fix-sound - create ~/.config/pulse/client.conf file.\n\n"); | 51 | printf(" --fix-sound - create ~/.config/pulse/client.conf file.\n\n"); |
51 | printf(" --help, -? - this help screen.\n\n"); | 52 | printf(" --help, -? - this help screen.\n\n"); |
52 | printf(" --list - list all firejail symbolic links.\n\n"); | 53 | printf(" --list - list all firejail symbolic links.\n\n"); |
@@ -544,6 +545,19 @@ int main(int argc, char **argv) { | |||
544 | clear(); | 545 | clear(); |
545 | return 0; | 546 | return 0; |
546 | } | 547 | } |
548 | else if (strcmp(argv[i], "--fix") == 0) { | ||
549 | // find home directory | ||
550 | struct passwd *pw = getpwuid(getuid()); | ||
551 | if (!pw) { | ||
552 | goto errexit; | ||
553 | } | ||
554 | char *home = pw->pw_dir; | ||
555 | if (!home) { | ||
556 | goto errexit; | ||
557 | } | ||
558 | fix_desktop_files(home); | ||
559 | return 0; | ||
560 | } | ||
547 | else if (strcmp(argv[i], "--list") == 0) { | 561 | else if (strcmp(argv[i], "--list") == 0) { |
548 | list(); | 562 | list(); |
549 | return 0; | 563 | return 0; |