summaryrefslogtreecommitdiffstats
path: root/usr.sbin/sade/dmenu.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/sade/dmenu.c')
-rw-r--r--usr.sbin/sade/dmenu.c93
1 files changed, 0 insertions, 93 deletions
diff --git a/usr.sbin/sade/dmenu.c b/usr.sbin/sade/dmenu.c
deleted file mode 100644
index 186c1e9..0000000
--- a/usr.sbin/sade/dmenu.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * $FreeBSD$
- *
- * Copyright (c) 1995
- * Jordan Hubbard. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer,
- * verbatim and that no modifications are made prior to this
- * point in the file.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY JORDAN HUBBARD ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL JORDAN HUBBARD OR HIS PETS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, LIFE OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- */
-
-#include "sade.h"
-#include <errno.h>
-
-#define MAX_MENU 15
-
-static int
-menu_height(DMenu *menu, int n)
-{
- int max;
- char *t;
-
- max = MAX_MENU;
- if (StatusLine > 24)
- max += StatusLine - 24;
- for (t = menu->prompt; *t; t++) {
- if (*t == '\n')
- --max;
- }
- return n > max ? max : n;
-}
-
-/* Traverse over an internal menu */
-Boolean
-dmenuOpen(DMenu *menu)
-{
- int n, rval = 0;
-
- /* Count up all the items */
- for (n = 0; menu->items[n].title; n++)
- ;
-
- while (1) {
- char buf[FILENAME_MAX];
- DIALOG_VARS save_vars;
- WINDOW *w = savescr();
-
- /* Any helpful hints, put 'em up! */
- dlg_save_vars(&save_vars);
- dialog_vars.help_line = menu->helpline;
- dialog_vars.help_file = systemHelpFile(menu->helpfile, buf);
- dlg_clear();
- /* Pop up that dialog! */
- if (menu->type & DMENU_NORMAL_TYPE) {
- rval = xdialog_menu(menu->title, menu->prompt,
- -1, -1, menu_height(menu, n), n, menu->items);
- } else if (menu->type & DMENU_RADIO_TYPE) {
- rval = xdialog_radiolist(menu->title, menu->prompt,
- -1, -1, menu_height(menu, n), n, menu->items);
- } else {
- msgFatal("Menu: `%s' is of an unknown type\n", menu->title);
- }
- dlg_restore_vars(&save_vars);
- if (rval) {
- restorescr(w);
- return FALSE;
- } else if (menu->type & DMENU_SELECTION_RETURNS) {
- restorescr(w);
- return TRUE;
- } else
- delwin(w);
- }
-}
OpenPOWER on IntegriCloud