diff options
| author | David E. O'Brien <obrien@FreeBSD.org> | 2001-02-10 23:56:40 +0000 |
|---|---|---|
| committer | David E. O'Brien <obrien@FreeBSD.org> | 2001-02-10 23:56:40 +0000 |
| commit | 1d149b270822d690480367dae4036599aeacdd4d (patch) | |
| tree | be0b21c1c5aaa948ea10be5b3dd583ec85094b1d /vietnamese/vnterm/files/patch-main.c | |
| parent | ccb5ce7a43ed3aa7b2800c324a7b83dcbde8a1b5 (diff) | |
Update vnterm so it is based on the X11R6.5.1 Xterm rather than the X11R5 one.
This also removes libviqr and the Xfonts from this package as they are now
seperate ports.
Diffstat (limited to 'vietnamese/vnterm/files/patch-main.c')
| -rw-r--r-- | vietnamese/vnterm/files/patch-main.c | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/vietnamese/vnterm/files/patch-main.c b/vietnamese/vnterm/files/patch-main.c new file mode 100644 index 000000000000..48561c19633e --- /dev/null +++ b/vietnamese/vnterm/files/patch-main.c @@ -0,0 +1,185 @@ +--- main.c.orig Mon Aug 21 08:47:47 2000 ++++ main.c Sat Feb 10 05:42:17 2001 +@@ -76,6 +76,9 @@ + #include "data.h" + #include "error.h" + #include "menu.h" ++#ifndef NO_VIETNAMESE ++#include "vnvars.h" ++#endif /* NO_VIETNAMESE */ + + #ifdef att + #define ATT +@@ -421,7 +424,11 @@ + CFLUSH, CWERASE, CLNEXT + }; + static int d_disipline = NTTYDISC; ++#ifndef NO_VIETNAMESE ++static long int d_lmode = LCRTBS|LCRTERA|LCRTKIL|LPASS8; ++#else /* NO_VIETNAMESE */ + static long int d_lmode = LCRTBS|LCRTERA|LCRTKIL|LCTLECH; ++#endif /* NO_VIETNAMESE */ + #ifdef sony + static long int d_jmode = KM_SYSSJIS|KM_ASCII; + static struct jtchars d_jtc = { +@@ -586,6 +593,11 @@ + Boolean sunFunctionKeys; /* %%% should be widget resource? */ + Boolean wait_for_map; + Boolean useInsertMode; ++#ifndef NO_VIETNAMESE ++ Boolean vn_filter_keyboard; ++ Boolean vn_filter_screen; ++ unsigned int vn_erase_character; ++#endif /* NO_VIETNAMESE */ + } resource; + + /* used by VT (charproc.c) */ +@@ -613,6 +625,14 @@ + offset(wait_for_map), XtRString, "false"}, + {"useInsertMode", "UseInsertMode", XtRBoolean, sizeof (Boolean), + offset(useInsertMode), XtRString, "false"}, ++#ifndef NO_VIETNAMESE ++ {"vnFilterKeyboard", "VnFilterKeyboard", XtRBoolean, sizeof (Boolean), ++ offset(vn_filter_keyboard), XtRString, "true"}, ++ {"vnFilterScreen", "VnFilterScreen", XtRBoolean, sizeof (Boolean), ++ offset(vn_filter_screen), XtRString, "false"}, ++ {"vnEraseCharacter", "VnEraseCharacter", XtRInt, sizeof (unsigned int), ++ offset(vn_erase_character), XtRString, "0"}, ++#endif /* NO_VIETNAMESE */ + }; + #undef offset + +@@ -621,7 +641,7 @@ + "XTerm*SimpleMenu*HorizontalMargins: 16", + "XTerm*SimpleMenu*Sme.height: 16", + "XTerm*SimpleMenu*Cursor: left_ptr", +- "XTerm*mainMenu.Label: Main Options (no app-defaults)", ++ "XTerm*mainMenu.Label: VNTERM v2.1.1 (SGI version by Tin Le)", + "XTerm*vtMenu.Label: VT Options (no app-defaults)", + "XTerm*fontMenu.Label: VT Fonts (no app-defaults)", + "XTerm*tekMenu.Label: Tek Options (no app-defaults)", +@@ -693,6 +713,13 @@ + {"+im", "*useInsertMode", XrmoptionNoArg, (caddr_t) "off"}, + {"-vb", "*visualBell", XrmoptionNoArg, (caddr_t) "on"}, + {"+vb", "*visualBell", XrmoptionNoArg, (caddr_t) "off"}, ++#ifndef NO_VIETNAMESE ++{"-vnk", "*vnFilterKeyboard", XrmoptionNoArg, (caddr_t) "on"}, ++{"+vnk", "*vnFilterKeyboard", XrmoptionNoArg, (caddr_t) "off"}, ++{"-vns", "*vnFilterScreen", XrmoptionNoArg, (caddr_t) "on"}, ++{"+vns", "*vnFilterScreen", XrmoptionNoArg, (caddr_t) "off"}, ++{"-vne", "*vnEraseCharacter", XrmoptionSepArg, (caddr_t) "0"}, ++#endif /* NO_VIETNAMESE */ + {"-wf", "*waitForMap", XrmoptionNoArg, (caddr_t) "on"}, + {"+wf", "*waitForMap", XrmoptionNoArg, (caddr_t) "off"}, + /* bogus old compatibility stuff for which there are +@@ -770,6 +797,11 @@ + #endif + { "-/+vb", "turn on/off visual bell" }, + { "-/+wf", "turn on/off wait for map before command exec" }, ++#ifndef NO_VIETNAMESE ++{ "-/+vnk", "turn on/off Vietnamese keyboard filter" }, ++{ "-/+vns", "turn on/off Vietnamese screen filter" }, ++{ "-vne ASCII_code", "specify erase character for Vietnamese typing" }, ++#endif /* NO_VIETNAMESE */ + { "-e command args ...", "command to execute" }, + { "%geom", "Tek window geometry" }, + { "#geom", "icon window geometry" }, +@@ -815,6 +847,11 @@ + + fprintf (stderr, "\r\n\nType %s -help for a full description.\r\n\n", + ProgramName); ++fprintf(stderr, "\n"); ++fprintf(stderr, "Version: VISCII & VIQR 1.1\n"); ++fprintf(stderr, "Ported by: Cuong T. Nguyen (cuong@haydn.Stanford.EDU\n"); ++fprintf(stderr, " TriChlor Software Group\n"); ++fprintf(stderr, "Ported to 4.4BSD and X11R6.5.1 by: David E. O'Brien <obrien@NUXI.com>\n"); + exit (1); + } + +@@ -836,6 +873,11 @@ + putc ('\n', stderr); + } + putc ('\n', stderr); ++fprintf(stderr, "\n"); ++fprintf(stderr, "Version: VISCII & VIQR 1.1\n"); ++fprintf(stderr, "Ported by: Cuong T. Nguyen (cuong@haydn.Stanford.EDU\n"); ++fprintf(stderr, " TriChlor Software Group\n"); ++fprintf(stderr, "Ported to 4.4BSD and X11R6.5.1 by: David E. O'Brien <obrien@NUXI.com>\n"); + + exit (0); + } +@@ -926,6 +968,11 @@ + int mode; + char *base_name(); + int xerror(), xioerror(); ++#ifndef NO_VIETNAMESE ++#ifdef USE_SYSV_TERMIO ++ struct termio deftio; ++#endif /* USE_SYSV_TERMIO */ ++#endif /* NO_VIETNAMESE */ + + XtSetLanguageProc (NULL, NULL, NULL); + +@@ -1150,6 +1197,39 @@ + XtNumber(application_resources), NULL, 0); + + waiting_for_initial_map = resource.wait_for_map; ++#ifndef NO_VIETNAMESE ++{ ++ vn_filter_keyboard = resource.vn_filter_keyboard; ++ vn_filter_screen = resource.vn_filter_screen; ++ vn_erase_character = resource.vn_erase_character; ++ ++ vn_keyboard_id = vk_init(VK_ST_VIETNAMESE, VK_DEFAULT_ESC, VK_DEFAULT_BS); ++ _Set_Vn_Title(VK_ST_VIETNAMESE); ++ ++#ifdef USE_SYSV_TERMIO /* deftio has been initialized above */ ++ vn_erase_char = deftio.c_cc[VERASE]; ++#else /* USE_SYSV_TERMIO */ ++ { ++ struct sgttyb attr; ++ ++ if (ioctl (0, TIOCGETP, (char *)&attr) >= 0) { ++ vn_erase_char = attr.sg_erase; ++ } else { ++ vn_erase_char = VK_DEFAULT_BS; ++ } ++ } ++#endif /* USE_SYSV_TERMIO */ ++ if (vn_erase_character != 0) { /* not specified by user, take from tty characteristics */ ++ vn_erase_char = (unsigned int) vn_erase_character; ++ } ++ vk_set(vn_keyboard_id, (unsigned int) vn_erase_char, (int)VK_SET_BS); ++ ++ vn_screen_id = vk_init(VK_ST_VIETNAMESE, VK_DEFAULT_ESC, VK_DEFAULT_BS); ++ /* screen filter is batch mode, as we don't want to spew backspaces ++ all over the true drawing screen */ ++ vk_set(vn_screen_id, 1, VK_SET_BATCH); ++} ++#endif /* NO_VIETNAMESE */ + + /* + * ICCCM delete_window. +@@ -1255,6 +1335,11 @@ + + if (screen->savelines < 0) screen->savelines = 0; + ++#ifndef NO_VIETNAMESE ++ update_vnfilterkeyboard(); ++ update_vnfilterscreen(); ++#endif /* NO_VIETNAMESE */ ++ + term->flags = 0; + if (!screen->jumpscroll) { + term->flags |= SMOOTHSCROLL; +@@ -2417,6 +2502,10 @@ + HsSysError(cp_pipe[1], ERROR_TIOCSETC); + #endif /* TIOCSLTC */ + #ifdef TIOCLSET ++#ifndef NO_VIETNAMESE ++ lmode |= LPASS8; ++ lmode &= ~LCTLECH; ++#endif /* NO_VIETNAMESE */ + if (ioctl (tty, TIOCLSET, (char *)&lmode) == -1) + HsSysError(cp_pipe[1], ERROR_TIOCLSET); + #endif /* TIOCLSET */ |
