aboutsummaryrefslogtreecommitdiffstats
path: root/vietnamese/vnterm/files/patch-menu.c
diff options
context:
space:
mode:
authorDavid E. O'Brien <obrien@FreeBSD.org>2001-02-10 23:56:40 +0000
committerDavid E. O'Brien <obrien@FreeBSD.org>2001-02-10 23:56:40 +0000
commit1d149b270822d690480367dae4036599aeacdd4d (patch)
treebe0b21c1c5aaa948ea10be5b3dd583ec85094b1d /vietnamese/vnterm/files/patch-menu.c
parentccb5ce7a43ed3aa7b2800c324a7b83dcbde8a1b5 (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-menu.c')
-rw-r--r--vietnamese/vnterm/files/patch-menu.c111
1 files changed, 111 insertions, 0 deletions
diff --git a/vietnamese/vnterm/files/patch-menu.c b/vietnamese/vnterm/files/patch-menu.c
new file mode 100644
index 000000000000..f4cb2a2da457
--- /dev/null
+++ b/vietnamese/vnterm/files/patch-menu.c
@@ -0,0 +1,111 @@
+--- menu.c.orig Mon Aug 21 08:47:47 2000
++++ menu.c Sat Feb 10 05:32:41 2001
+@@ -33,6 +33,10 @@
+ #include <stdio.h>
+ #include <signal.h>
+
++#ifndef NO_VIETNAMESE
++#include "vnvars.h"
++#endif /* NO_VIETNAMESE */
++
+ extern void FindFontSelection();
+
+ Arg menuArgs[2] = {{ XtNleftBitmap, (XtArgVal) 0 },
+@@ -57,12 +61,20 @@
+ do_tektextlarge(), do_tektext2(), do_tektext3(), do_tektextsmall(),
+ do_tekpage(), do_tekreset(), do_tekcopy(), do_vtshow(), do_vtmode(),
+ do_tekhide(), do_vtfont();
++#ifndef NO_VIETNAMESE
++static void do_vnfilterkeyboard(), do_vnfilterscreen();
++#endif /* NO_VIETNAMESE */
+
+
+ /*
+ * The order entries MUST match the values given in menu.h
+ */
+ MenuEntry mainMenuEntries[] = {
++#ifndef NO_VIETNAMESE
++ { "Enable Vietnamese keys",do_vnfilterkeyboard, NULL }, /* 0 */
++ { "Use Vietnamese screen", do_vnfilterscreen, NULL }, /* 1 */
++ { "line3", NULL, NULL }, /* 2 */
++#endif /* NO_VIETNAMESE */
+ { "securekbd", do_securekbd, NULL }, /* 0 */
+ { "allowsends", do_allowsends, NULL }, /* 1 */
+ #ifdef ALLOWLOGGING
+@@ -80,6 +92,11 @@
+ { "quit", do_quit, NULL }}; /* 12 */
+
+ MenuEntry vtMenuEntries[] = {
++#ifndef NO_VIETNAMESE
++ { "Enable Vietnamese keys",do_vnfilterkeyboard, NULL }, /* 0 */
++ { "Use Vietnamese screen", do_vnfilterscreen, NULL }, /* 1 */
++ { "line3", NULL, NULL }, /* 2 */
++#endif /* NO_VIETNAMESE */
+ { "scrollbar", do_scrollbar, NULL }, /* 0 */
+ { "jumpscroll", do_jumpscroll, NULL }, /* 1 */
+ { "reversevideo", do_reversevideo, NULL }, /* 2 */
+@@ -160,6 +177,10 @@
+ Cardinal *param_count; /* 0 or 1 */
+ {
+ TScreen *screen = &term->screen;
++#ifndef NO_VIETNAMESE
++ extern Boolean vn_filter_keyboard;
++ extern Boolean vn_filter_screen;
++#endif
+
+ if (*param_count != 1) {
+ Bell(XkbBI_MinorError,0);
+@@ -209,6 +230,10 @@
+ update_cursesemul();
+ update_visualbell();
+ update_marginbell();
++#ifndef NO_VIETNAMESE
++ update_vnfilterkeyboard();
++ update_vnfilterscreen();
++#endif
+ #ifndef NO_ACTIVE_ICON
+ if (!screen->fnt_icon || !screen->iconVwin.window) {
+ set_sensitivity (screen->vtmenu,
+@@ -1277,3 +1302,42 @@
+ }
+
+
++#ifndef NO_VIETNAMESE
++
++static void do_vnfilterkeyboard (gw, closure, data)
++ Widget gw;
++ caddr_t closure, data;
++{
++ unsigned char buf[5];
++ int count;
++
++ vn_filter_keyboard = !vn_filter_keyboard;
++ if (vn_filter_keyboard) {
++ vn_keyboard_id = vk_init(VK_ST_VIETNAMESE, VK_DEFAULT_ESC, vn_erase_char);
++ } else {
++ vk_end(vn_keyboard_id, buf, &count);
++ }
++ _Set_Vn_Title(VK_ST_VIETNAMESE);
++ update_vnfilterkeyboard();
++}
++
++
++static void do_vnfilterscreen (gw, closure, data)
++ Widget gw;
++ caddr_t closure, data;
++{
++ unsigned char buf[5];
++ int count;
++
++ vn_filter_screen = !vn_filter_screen;
++ if (vn_filter_screen) {
++ vn_screen_id = vk_init(VK_ST_VIETNAMESE, VK_DEFAULT_ESC, vn_erase_char);
++ /* set it in batch mode so we don't get backspaces in immediate mode */
++ vk_set(vn_screen_id, 1, VK_SET_BATCH);
++ } else {
++ vk_end(vn_screen_id, buf, &count);
++ }
++ update_vnfilterscreen();
++}
++
++#endif /* NO_VIETNAMESE */