This is st_line.c in view mode; [Download] [Up]
/*
* Display the status line. Up to now, we've never really cared how
* large the physical screen was... but now we want the status line
* on the bottom.
*/
#include <curses.h>
#include "config.h"
#include "dial_dir.h"
#include "misc.h"
#include "modem.h"
#include "param.h"
#include "status.h"
void
st_line(message)
char *message;
{
extern int xmc;
WINDOW *sl_win, *newwin();
int d, x, y;
static char *dn[2] = {"FDX", "HDX"};
static char *ln[2] = {"LOG OFF", "LOG ON"};
static char *pn[2] = {"PTR OFF", "PTR ON "};
char buf[80], field_one[15], *cur_tty;
/* is anybody missing? */
if (dir == NULL || modem == NULL || param == NULL)
return;
/* remember where we parked the car.. */
getyx(stdscr, y, x);
sl_win = newwin(1, 80, LINES-1, 0);
/* duplex message */
d = 0;
if (dir->duplex[dir->d_cur] == 'H')
d++;
/* the current TTY */
cur_tty = "No TTY";
if (modem->t_cur != -1)
cur_tty = modem->tty[modem->t_cur];
/*
* The philosophy is: If you press a command sequence that
* doesn't generate a window on the screen, then show the user
* what's going on in the status line.
*/
if (*message == '\0')
sprintf(field_one, " %4.4s-0 HELP ", param->ascii_hot);
else
sprintf(field_one, " %-13.13s", message);
#ifdef XMC_BROKE
if (xmc > 0)
sprintf(buf, "%s | %-9.9s| %s | %5d %c%d%d | %-7.7s | %-7.7s | %-5.5s|%-5.5s",
field_one, cur_tty, dn[d], dir->baud[dir->d_cur],
dir->parity[dir->d_cur], dir->dbits[dir->d_cur],
dir->sbits[dir->d_cur], ln[status->log], pn[status->print],
param->cr_in, param->cr_out);
else
#endif /* XMC_BROKE */
sprintf(buf, "%s | %-9.9s| %s | %5d %c%d%d | %-7.7s | %-7.7s | %-5.5s| %-5.5s",
field_one, cur_tty, dn[d], dir->baud[dir->d_cur],
dir->parity[dir->d_cur], dir->dbits[dir->d_cur],
dir->sbits[dir->d_cur], ln[status->log], pn[status->print],
param->cr_in, param->cr_out);
if (xmc > 0) {
touchwin(sl_win);
werase(sl_win);
wrefresh(sl_win);
}
wattrstr(sl_win, A_STANDOUT, buf);
wrefresh(sl_win);
/* go ahead and delete it now */
delwin(sl_win);
move(y, x);
refresh();
return;
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.