summaryrefslogtreecommitdiffstats
path: root/usr.sbin/sade
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>2001-07-17 04:09:50 +0000
committerache <ache@FreeBSD.org>2001-07-17 04:09:50 +0000
commit41f378ca9ed5161199f2b5bb1663a996243cf671 (patch)
treeeea3be9c4cb5ed75e134f6c1b997696608f85585 /usr.sbin/sade
parentadc22e971c9cafdba08a447ec69dce5f17f530d5 (diff)
downloadFreeBSD-src-41f378ca9ed5161199f2b5bb1663a996243cf671.zip
FreeBSD-src-41f378ca9ed5161199f2b5bb1663a996243cf671.tar.gz
Add ability to configure console terminal type in /etc/ttys
Reviewed by: audit, jkh's silence
Diffstat (limited to 'usr.sbin/sade')
-rw-r--r--usr.sbin/sade/Makefile4
-rw-r--r--usr.sbin/sade/config.c1
-rw-r--r--usr.sbin/sade/install.c1
-rw-r--r--usr.sbin/sade/menus.c21
-rw-r--r--usr.sbin/sade/sade.h5
5 files changed, 30 insertions, 2 deletions
diff --git a/usr.sbin/sade/Makefile b/usr.sbin/sade/Makefile
index 946df64..bef7239 100644
--- a/usr.sbin/sade/Makefile
+++ b/usr.sbin/sade/Makefile
@@ -11,8 +11,8 @@ SRCS= anonFTP.c cdrom.c command.c config.c devices.c dhcp.c kget.c \
ftp.c globals.c http.c index.c install.c installUpgrade.c keymap.c \
label.c main.c makedevs.c media.c menus.c misc.c modules.c \
mouse.c msg.c network.c nfs.c options.c package.c pccard.c \
- system.c tape.c tcpip.c termcap.c ufs.c usb.c user.c variable.c \
- wizard.c keymap.h
+ system.c tape.c tcpip.c termcap.c ttys.c ufs.c usb.c user.c \
+ variable.c wizard.c keymap.h
CFLAGS+= -Wall -I${.CURDIR}/../../gnu/lib/libdialog -I.
.if ${MACHINE} == "pc98"
diff --git a/usr.sbin/sade/config.c b/usr.sbin/sade/config.c
index 7b7e78c..41a8907 100644
--- a/usr.sbin/sade/config.c
+++ b/usr.sbin/sade/config.c
@@ -383,6 +383,7 @@ configRC_conf(void)
char *cp;
static int did_marker = 0;
+ configTtys();
write_header = !file_readable("/etc/rc.conf");
rcSite = fopen("/etc/rc.conf", "a");
if (!rcSite)
diff --git a/usr.sbin/sade/install.c b/usr.sbin/sade/install.c
index ae3b7bb..b53cb48 100644
--- a/usr.sbin/sade/install.c
+++ b/usr.sbin/sade/install.c
@@ -1075,6 +1075,7 @@ installVarDefaults(dialogMenuItem *self)
else
variable_set2(SYSTEM_STATE, "init", 0);
variable_set2(VAR_NEWFS_ARGS, "-b 8192 -f 1024 -c 22", 0);
+ variable_set2(VAR_CONSTERM, "NO", 0);
return DITEM_SUCCESS;
}
diff --git a/usr.sbin/sade/menus.c b/usr.sbin/sade/menus.c
index d90b288..8e3a532 100644
--- a/usr.sbin/sade/menus.c
+++ b/usr.sbin/sade/menus.c
@@ -264,6 +264,7 @@ DMenu MenuIndex = {
{ " Syscons, Keyrate", "The console key rate configuration menu.", NULL, dmenuSubmenu, NULL, &MenuSysconsKeyrate },
{ " Syscons, Saver", "The console screen saver configuration menu.", NULL, dmenuSubmenu, NULL, &MenuSysconsSaver },
{ " Syscons, Screenmap", "The console screenmap configuration menu.", NULL, dmenuSubmenu, NULL, &MenuSysconsScrnmap },
+ { " Syscons, Ttys", "The console terminal type menu.", NULL, dmenuSubmenu, NULL, &MenuSysconsTtys },
{ " Time Zone", "Set the system's time zone.", NULL, dmenuSystemCommand, NULL, "tzsetup" },
{ " Upgrade", "Upgrade an existing system.", NULL, installUpgrade },
{ " Usage", "Quick start - How to use this menu system.", NULL, dmenuDisplayFile, NULL, "usage" },
@@ -1431,6 +1432,7 @@ DMenu MenuSyscons = {
{ "4 Repeat", "Set the rate at which keys repeat", NULL, dmenuSubmenu, NULL, &MenuSysconsKeyrate },
{ "5 Saver", "Configure the screen saver", NULL, dmenuSubmenu, NULL, &MenuSysconsSaver },
{ "6 Screenmap", "Choose an alternate screenmap", NULL, dmenuSubmenu, NULL, &MenuSysconsScrnmap },
+ { "7 Ttys", "Choose console terminal type", NULL, dmenuSubmenu, NULL, &MenuSysconsTtys },
{ NULL } },
};
@@ -1588,6 +1590,25 @@ DMenu MenuSysconsScrnmap = {
{ NULL } },
};
+DMenu MenuSysconsTtys = {
+ DMENU_RADIO_TYPE | DMENU_SELECTION_RETURNS,
+ "System Console Terminal Type",
+ "For various console encodings corresponding terminal type\n"
+ "must be choosed in /etc/ttys.\n"
+ "WARNING: due to compatibility reasons, only entries started with\n"
+ "ttyv and with terminal type started with cons[0-9] can be changed\n"
+ "via this menu.\n",
+ "Choose a terminal type",
+ NULL,
+ { { "1 None", "Don't touch anything", dmenuVarCheck, dmenuSetVariable, NULL, VAR_CONSTERM "=NO" },
+ { "2 US-ASCII or IBM437", "cons25", dmenuVarCheck, dmenuSetVariable, NULL, VAR_CONSTERM "=cons25" },
+ { "3 ISO 8859-1", "cons25l1", dmenuVarCheck, dmenuSetVariable, NULL, VAR_CONSTERM "=cons25l1" },
+ { "4 ISO 8859-2", "cons25l2", dmenuVarCheck, dmenuSetVariable, NULL, VAR_CONSTERM "=cons25l2" },
+ { "5 KOI8-R", "cons25r", dmenuVarCheck, dmenuSetVariable, NULL, VAR_CONSTERM "=cons25r" },
+ { "6 KOI8-U", "cons25u", dmenuVarCheck, dmenuSetVariable, NULL, VAR_CONSTERM "=cons25u" },
+ { NULL } },
+};
+
DMenu MenuSysconsFont = {
DMENU_RADIO_TYPE | DMENU_SELECTION_RETURNS,
"System Console Font",
diff --git a/usr.sbin/sade/sade.h b/usr.sbin/sade/sade.h
index 13302a3..6c9ed8f 100644
--- a/usr.sbin/sade/sade.h
+++ b/usr.sbin/sade/sade.h
@@ -176,6 +176,7 @@
#define VAR_VAR_SIZE "varSize"
#define VAR_XF86_CONFIG "_xf86config"
#define VAR_TERM "TERM"
+#define VAR_CONSTERM "_consterm"
#define DEFAULT_TAPE_BLOCKSIZE "20"
@@ -386,6 +387,7 @@ extern DMenu MenuSysconsKeymap; /* System console keymap configuration menu */
extern DMenu MenuSysconsKeyrate; /* System console keyrate configuration menu */
extern DMenu MenuSysconsSaver; /* System console saver configuration menu */
extern DMenu MenuSysconsScrnmap; /* System console screenmap configuration menu */
+extern DMenu MenuSysconsTtys; /* System console terminal type menu */
extern DMenu MenuNetworking; /* Network configuration menu */
extern DMenu MenuInstallCustom; /* Custom Installation menu */
extern DMenu MenuDistributions; /* Distribution menu */
@@ -745,6 +747,9 @@ extern Device *tcpDeviceSelect(void);
/* termcap.c */
extern int set_termcap(void);
+/* ttys.c */
+extern void configTtys(void);
+
/* ufs.c */
extern void mediaShutdownUFS(Device *dev);
extern Boolean mediaInitUFS(Device *dev);
OpenPOWER on IntegriCloud