On Sat, Feb 11, 2017 at 02:03:18PM +0100, Jan Christoph Ebersbach wrote: > The one thing I noticed is that I couldn't get del to work at first > because it was messing the .del file in $HOME. > > del: open: /home/jceb/.del: No such file or directory > del: dmenu died with exit status 1 > > It took a while until I figured out that "del -r" would create the > missing file.
I'm glad you found it useful. I just pushed an update to the program to make it clear what needs to be done when running del for the first time: @@ -428,7 +428,8 @@ static void usage(const char *self) "\n" "DEL searches for Freedesktop Desktop Entries, generates a list of " "graphical\ncommands and uses dmenu as a front-end so the user can " - "select a command to\nexecute.\n" + "select a command to\nexecute. The first time DEL is executed, it " + "should be invoked as \"del -r\" to\ngenerate the application list.\n" "\n" "Exit statuses:\n" " 1 Fatal error encountered.\n" @@ -622,7 +623,11 @@ static int menu(const char *menu_list_path, char **argv) } else if (close(STDIN_FILENO) && errno != EBADF) { perror("del: could not close stdin"); } else if (open(menu_list_path, O_RDONLY) < 0) { - verror("del: open: %s", menu_list_path); + if (errno == ENOENT) { + fmterr("del: %s missing; was \"del -r\" run?", menu_list_path); + } else { + verror("del: open: %s", menu_list_path); + } } else { execvp(argv[0], argv); verror("del: %s", argv[0]); Eric
signature.asc
Description: Digital signature