diff -Naur a/dialog.c b/dialog.c --- a/dialog.c 2019-09-24 09:26:46.000000000 +0100 +++ b/dialog.c 2019-11-13 16:26:14.013694135 +0000 @@ -925,7 +925,8 @@ return dialog_dselect(t, av[1], numeric_arg(av, 2), - numeric_arg(av, 3)); + numeric_arg(av, 3), + optional_str(av, 4, 0)); } static int @@ -945,7 +946,8 @@ return dialog_fselect(t, av[1], numeric_arg(av, 2), - numeric_arg(av, 3)); + numeric_arg(av, 3), + optional_str(av, 4, 0)); } static int diff -Naur a/dialog.h b/dialog.h --- a/dialog.h 2019-11-10 23:17:37.000000000 +0000 +++ b/dialog.h 2019-11-13 16:26:14.013694135 +0000 @@ -642,10 +642,10 @@ extern int dialog_buildlist(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*list_height*/, int /*item_no*/, char ** /*items*/, int /*order_mode*/); extern int dialog_calendar(const char * /*title*/, const char * /*subtitle*/, int /*height*/, int /*width*/, int /*day*/, int /*month*/, int /*year*/); extern int dialog_checklist(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*list_height*/, int /*item_no*/, char ** /*items*/, int /*flag*/); -extern int dialog_dselect(const char * /*title*/, const char * /*path*/, int /*height*/, int /*width*/); +extern int dialog_dselect(const char * /*title*/, const char * /*path*/, int /*height*/, int /*width*/, const char * /*prompt*/); extern int dialog_editbox(const char * /*title*/, const char * /*file*/, int /*height*/, int /*width*/); extern int dialog_form(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*form_height*/, int /*item_no*/, char ** /*items*/); -extern int dialog_fselect(const char * /*title*/, const char * /*path*/, int /*height*/, int /*width*/); +extern int dialog_fselect(const char * /*title*/, const char * /*path*/, int /*height*/, int /*width*/, const char * /*prompt*/); extern int dialog_gauge(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*percent*/); extern int dialog_helpfile(const char * /*title*/, const char * /*file*/, int /*height*/, int /*width*/); extern int dialog_inputbox(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, const char * /*init*/, const int /*password*/); diff -Naur a/fselect.c b/fselect.c --- a/fselect.c 2019-11-11 00:48:13.000000000 +0000 +++ b/fselect.c 2019-11-13 16:26:59.495526990 +0000 @@ -562,7 +562,7 @@ * Display a dialog box for entering a filename */ static int -dlg_fselect(const char *title, const char *path, int height, int width, int dselect) +dlg_fselect(const char *title, const char *path, int height, int width, int dselect, const char *prompt) { /* *INDENT-OFF* */ static DLG_KEYS_BINDING binding[] = { @@ -607,8 +607,8 @@ WINDOW *w_text = 0; WINDOW *w_work = 0; const char **buttons = dlg_ok_labels(); - const char *d_label = _("Directories"); - const char *f_label = _("Files"); + const char *d_label = prompt ? prompt : _("Directories"); + const char *f_label = prompt ? prompt : _("Files"); char *partial = 0; int min_wide = MIN_WIDE; int min_items = height ? 0 : 4; @@ -935,16 +935,16 @@ * Display a dialog box for entering a filename */ int -dialog_fselect(const char *title, const char *path, int height, int width) +dialog_fselect(const char *title, const char *path, int height, int width, const char *prompt) { - return dlg_fselect(title, path, height, width, FALSE); + return dlg_fselect(title, path, height, width, FALSE, prompt); } /* * Display a dialog box for entering a directory */ int -dialog_dselect(const char *title, const char *path, int height, int width) +dialog_dselect(const char *title, const char *path, int height, int width, const char *prompt) { - return dlg_fselect(title, path, height, width, TRUE); + return dlg_fselect(title, path, height, width, TRUE, prompt); }