/* * textsw_to_ttysw.c -- send text from a text subwindow to a * tty subwindow using ttysw_output() */ #include <stdio.h> #include <xview/panel.h> #include <xview/xview.h> #include <xview/textsw.h> #include <xview/tty.h> Textsw textsw; Tty ttysw; main(argc,argv) int argc; char *argv[]; { Frame frame; Panel panel; void text_to_tty(), exit(); xv_init(XV_INIT_ARGC_PTR_ARGV, &argc, argv, NULL); frame = (Frame)xv_create(XV_NULL, FRAME, FRAME_LABEL, argv[0], NULL); panel = (Panel)xv_create(frame, PANEL, PANEL_LAYOUT, PANEL_VERTICAL, NULL); (void) xv_create(panel, PANEL_BUTTON, PANEL_LABEL_STRING, "Quit", PANEL_NOTIFY_PROC, exit, NULL); (void) xv_create(panel, PANEL_BUTTON, PANEL_LABEL_STRING, "Text To Tty", PANEL_NOTIFY_PROC, text_to_tty, NULL); window_fit(panel); textsw = (Textsw)xv_create(frame, TEXTSW, WIN_ROWS, 10, WIN_COLUMNS, 80, NULL); ttysw = (Tty)xv_create(frame, TTY, WIN_BELOW, textsw, WIN_X, 0, TTY_ARGV, TTY_ARGV_DO_NOT_FORK, NULL); window_fit(frame); xv_main_loop(frame); } /* * callback routine for the panel button -- read text from textsw * and send it to the ttysw using ttysw_output() */ void text_to_tty(item, event) Panel_item item; Event *event; { char buf[BUFSIZ]; (void) xv_get(textsw, TEXTSW_CONTENTS, 0, buf, sizeof buf); ttysw_output(ttysw, buf, strlen(buf)); }