This is softkeys.c in view mode; [Download] [Up]
static char rcsid[] = "@(#)$Id: softkeys.c,v 5.1 1992/10/03 22:58:40 syd Exp $";
/*******************************************************************************
* The Elm Mail System - $Revision: 5.1 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
*******************************************************************************
* Bug reports, patches, comments, suggestions should be sent to:
*
* Syd Weinstein, Elm Coordinator
* elm@DSI.COM dsinc!elm
*
*******************************************************************************
* $Log: softkeys.c,v $
* Revision 5.1 1992/10/03 22:58:40 syd
* Initial checkin as of 2.4 Release at PL0
*
*
*******************************************************************************
*/
#include "headers.h"
#include "s_elm.h"
define_softkeys(level)
int level;
{
if (! hp_softkeys) return;
if (level == MAIN) {
define_key(f_key1, catgets(elm_msg_cat, ElmSet, ElmKeyF1,
" Display Msg"), "\r");
define_key(f_key2, catgets(elm_msg_cat, ElmSet, ElmKeyF2,
" Mail Msg"), "m");
define_key(f_key3, catgets(elm_msg_cat, ElmSet, ElmKeyF3,
" Reply to Msg"), "r");
if (user_level == 0) {
define_key(f_key4, catgets(elm_msg_cat, ElmSet, ElmKey0F4,
" Save Msg"), "s");
define_key(f_key5, catgets(elm_msg_cat, ElmSet, ElmKey0F5
," Delete Msg"), "d");
define_key(f_key6, catgets(elm_msg_cat, ElmSet, ElmKey0F6,
"Undelete Msg"), "u");
}
else {
define_key(f_key4, catgets(elm_msg_cat, ElmSet, ElmKey1F4,
" Change Folder"), "c");
define_key(f_key5, catgets(elm_msg_cat, ElmSet, ElmKey1F5,
" Save Msg"), "s");
define_key(f_key6, catgets(elm_msg_cat, ElmSet, ElmKey1F6,
" Delete/Undelete"), "^");
}
define_key(f_key7, catgets(elm_msg_cat, ElmSet, ElmKeyF7,
" Print Msg"), "p");
define_key(f_key8, catgets(elm_msg_cat, ElmSet, ElmKeyF8,
" Quit ELM"), "q");
}
else if (level == ALIAS) {
define_key(f_key1, catgets(elm_msg_cat, ElmSet, ElmKeyAF1,
" Alias Current"), "a");
define_key(f_key2, catgets(elm_msg_cat, ElmSet, ElmKeyAF2,
" Check Person"), "p");
define_key(f_key3, catgets(elm_msg_cat, ElmSet, ElmKeyAF3,
" Check System"), "s");
define_key(f_key4, catgets(elm_msg_cat, ElmSet, ElmKeyAF4,
" Make Alias"), "m");
clear_key(f_key5);
clear_key(f_key6);
clear_key(f_key7);
define_key(f_key8, catgets(elm_msg_cat, ElmSet, ElmKeyAF8,
" Return to ELM"), "r");
}
else if (level == YESNO) {
define_key(f_key1, catgets(elm_msg_cat, ElmSet, ElmKeyYF1,
" Yes"), "y");
clear_key(f_key2);
clear_key(f_key3);
clear_key(f_key4);
clear_key(f_key5);
clear_key(f_key6);
clear_key(f_key7);
define_key(f_key8, catgets(elm_msg_cat, ElmSet, ElmKeyYF8,
" No"), "n");
}
else if (level == READ) {
define_key(f_key1, catgets(elm_msg_cat, ElmSet, ElmKeyRF1,
" Next Page "), " ");
clear_key(f_key2);
define_key(f_key3, catgets(elm_msg_cat, ElmSet, ElmKeyRF3,
" Next Msg "), "j");
define_key(f_key4, catgets(elm_msg_cat, ElmSet, ElmKeyRF4,
" Prev Msg "), "k");
define_key(f_key5, catgets(elm_msg_cat, ElmSet, ElmKeyRF5,
" Reply to Msg "), "r");
define_key(f_key6, catgets(elm_msg_cat, ElmSet, ElmKeyRF6,
" Delete Msg "), "d");
define_key(f_key7, catgets(elm_msg_cat, ElmSet, ElmKeyRF7,
" Send Msg "), "m");
define_key(f_key8, catgets(elm_msg_cat, ElmSet, ElmKeyRF8,
" Return to ELM "), "q");
}
else if (level == CHANGE) {
define_key(f_key1, catgets(elm_msg_cat, ElmSet, ElmKeyCF1,
" Mail Directry"), "=/");
define_key(f_key2, catgets(elm_msg_cat, ElmSet, ElmKeyCF2,
" Home Directry"), "~/");
clear_key(f_key3);
define_key(f_key4, catgets(elm_msg_cat, ElmSet, ElmKeyCF4,
"Incoming Mailbox"), "!\n");
define_key(f_key5, catgets(elm_msg_cat, ElmSet, ElmKeyCF5,
"\"Received\" Folder"), ">\n");
define_key(f_key6, catgets(elm_msg_cat, ElmSet, ElmKeyCF6,
"\"Sent\" Folder "), "<\n");
clear_key(f_key7);
define_key(f_key8, catgets(elm_msg_cat, ElmSet, ElmKeyCF8,
" 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, " ", "");
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.