|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T s
Length: 2576 (0xa10)
Types: TextFile
Names: »softkeys.c«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
└─⟦this⟧ »EUUGD11/euug-87hel/sec1/elm/src/softkeys.c«
/** softkeys.c **/
/** This file and associated routines: (C) Copyright 1986, Dave Taylor **/
#include <stdio.h>
#include "headers.h"
define_softkeys(level)
int level;
{
if (! hp_softkeys) return;
if (level == MAIN) {
define_key(f1, " Show Msg", "\r");
define_key(f2, " Mail Msg", "m");
define_key(f3, " Reply to Msg", "r");
if (user_level == 0) {
define_key(f4, " Save Msg", "s");
define_key(f5, " Delete Msg", "d");
define_key(f6, "Undelete Msg", "u");
}
else {
define_key(f4, " Change Mailbox", "c");
define_key(f5, " Save Msg", "s");
define_key(f6, " Delete/Undelete", "^");
}
define_key(f7, " Print Msg", "p");
define_key(f8, " Quit Elm", "q");
}
else if (level == ALIAS) {
define_key(f1, " Alias Current", "a");
define_key(f2, " Check Person", "p");
define_key(f3, " Check System", "s");
define_key(f4, " Make Alias", "m");
clear_key(f5);
clear_key(f6);
clear_key(f7);
define_key(f8, " Return to Elm", "r");
}
else if (level == YESNO) {
define_key(f1, " Yes", "y");
clear_key(f2);
clear_key(f3);
clear_key(f4);
clear_key(f5);
clear_key(f6);
clear_key(f7);
define_key(f8, " No", "n");
}
else if (level == READ) {
define_key(f1, " Next Page ", " ");
clear_key(f2);
define_key(f3, " Skip Page ", "f");
clear_key(f4);
clear_key(f5);
clear_key(f6);
clear_key(f7);
define_key(f8, " Return to Elm", "q");
}
else if (level == CHANGE) {
define_key(f1, " Mail Directry", "=/");
define_key(f2, " Home Directry", "~/");
clear_key(f3);
define_key(f4, "Incoming Mailbox", "!\n");
clear_key(f5);
clear_key(f6);
clear_key(f7);
define_key(f8, " Cancel", "\n");
}
softkeys_on();
}
define_key(key, display, send)
int key;
char *display, *send;
{
char buffer[30];
sprintf(buffer,"%s%s", display, send);
fprintf(stderr, "%c&f%dk%dd%dL%s", ESCAPE, key,
strlen(display), strlen(send), buffer);
fflush(stdout);
}
softkeys_on()
{
/* enable (esc&s1A) turn on softkeys (esc&jB) and turn on MENU
and USER/SYSTEM options. */
if (hp_softkeys) {
fprintf(stderr, "%c&s1A%c&jB%c&jR", ESCAPE, ESCAPE, ESCAPE);
fflush(stdout);
}
}
softkeys_off()
{
/* turn off softkeys (esc&j@) */
if (hp_softkeys) {
fprintf(stderr, "%c&s0A%c&j@", ESCAPE, ESCAPE);
fflush(stdout);
}
}
clear_key(key)
{
/** set a key to nothing... **/
if (hp_softkeys)
define_key(key, " ", "");
}