summaryrefslogtreecommitdiff
path: root/japanese
diff options
context:
space:
mode:
authorSatoshi Taoka <taoka@FreeBSD.org>2000-02-13 15:18:18 +0000
committerSatoshi Taoka <taoka@FreeBSD.org>2000-02-13 15:18:18 +0000
commiteea681a1c6c745c822cc9061763235a990bd1359 (patch)
tree6bf50451b97659a4d6f3d6067a99ef9ce73e43af /japanese
parentUpdate port from 2.0.0-pre to 2.0.0 (diff)
Update to 0.9
PR: 16624 Submitted by: maintainer
Notes
Notes: svn path=/head/; revision=25749
Diffstat (limited to 'japanese')
-rw-r--r--japanese/eterm/Makefile16
-rw-r--r--japanese/eterm/distinfo2
-rw-r--r--japanese/eterm/files/patch-ae634
-rw-r--r--japanese/eterm/files/patch-ah12
-rw-r--r--japanese/eterm/files/patch-ar12
-rw-r--r--japanese/eterm/files/patch-as10
-rw-r--r--japanese/eterm/files/patch-at28
-rw-r--r--japanese/eterm/files/patch-au17
-rw-r--r--japanese/eterm/files/patch-av17
-rw-r--r--japanese/eterm/files/patch-aw17
-rw-r--r--japanese/eterm/files/patch-ax17
-rw-r--r--japanese/eterm/files/patch-ay17
-rw-r--r--japanese/eterm/files/patch-az17
-rw-r--r--japanese/eterm/files/patch-ba17
-rw-r--r--japanese/eterm/files/patch-bb17
-rw-r--r--japanese/eterm/files/patch-bc11
-rw-r--r--japanese/eterm/pkg-descr9
-rw-r--r--japanese/eterm/pkg-plist86
18 files changed, 275 insertions, 681 deletions
diff --git a/japanese/eterm/Makefile b/japanese/eterm/Makefile
index e9b9c82b414c..51b0d73f353f 100644
--- a/japanese/eterm/Makefile
+++ b/japanese/eterm/Makefile
@@ -1,18 +1,18 @@
# New ports collection makefile for: eterm
-# Version required: 0.8.10
+# Version required: 0.9
# Date created: 11th December 1998
# Whom: MANTANI Nobutaka <nobutaka@nobutaka.com>
#
# $FreeBSD$
#
-DISTNAME= Eterm-0.8.10
-PKGNAME= ja-eterm-0.8.10
+DISTNAME= Eterm-0.9
+PKGNAME= ja-eterm-0.9
CATEGORIES= japanese x11
-MASTER_SITES= ftp://eterm.sourceforge.net/pub/eterm/ \
- ftp://ftp.enlightenment.org/pub/enlightenment/Eterm/ \
- ftp://ftp.themes.org/pub/enlightenment/eterm/ \
- ftp://ftp.dti.ad.jp/pub/X/Eterm/
+MASTER_SITES= ftp://ftp.enlightenment.org/pub/enlightenment/Eterm/ \
+ ftp://ftp.dti.ad.jp/pub/X/enlightenment/Eterm/ \
+ ftp://ftp.kddlabs.co.jp/.10/X11/window_manager/enlightenment/Eterm/ \
+ ftp://ftp.sogang.ac.kr/.c/tools/X11/Enlightenment/Eterm/
MAINTAINER= nobutaka@nobutaka.com
@@ -22,6 +22,8 @@ USE_GMAKE= yes
USE_X_PREFIX= yes
GNU_CONFIGURE= yes
CONFIGURE_ENV= LIBS="-lxpg4"
+CONFIGURE_ARGS= --enable-trans=imlib --enable-utmp --enable-multi-charset=kanji \
+ --enable-xim --with-theme-update
MAN1= Eterm.1
post-install:
diff --git a/japanese/eterm/distinfo b/japanese/eterm/distinfo
index 5d2ad791014d..8e4fee21864f 100644
--- a/japanese/eterm/distinfo
+++ b/japanese/eterm/distinfo
@@ -1 +1 @@
-MD5 (Eterm-0.8.10.tar.gz) = 44b0b498d8186205d0898b266643fbf1
+MD5 (Eterm-0.9.tar.gz) = 73dff9c93da8393b906d2713bb2d480d
diff --git a/japanese/eterm/files/patch-ae b/japanese/eterm/files/patch-ae
index bb1d0b40ec88..c75bc1d31398 100644
--- a/japanese/eterm/files/patch-ae
+++ b/japanese/eterm/files/patch-ae
@@ -1,641 +1,21 @@
---- src/command.c.orig Wed Nov 3 01:34:35 1999
-+++ src/command.c Wed Jan 26 23:45:10 2000
+--- src/command.c.orig Mon Feb 7 22:20:41 2000
++++ src/command.c Mon Feb 7 22:22:16 2000
@@ -40,6 +40,8 @@
- #include "feature.h"
#include "config.h"
+ #include "feature.h"
+#undef HAVE_SAVED_UIDS
+
/* System Headers */
#include <stdio.h>
#include <stdlib.h>
-@@ -87,10 +89,12 @@
- # if (XtVersion < 11005)
- # define NO_XLOCALE
- # include <locale.h>
--# else
--# include <X11/Xlocale.h>
+@@ -1560,6 +1562,9 @@
# endif
- #endif /* NO_XLOCALE */
-+#ifdef USE_XIM
-+# undef NO_XLOCALE
-+#include <locale.h>
-+#endif
- #ifdef USE_GETGRNAME
- # include <grp.h>
- #endif
-@@ -120,6 +124,7 @@
- #endif
- #ifdef HAVE_TERMIOS_H
- # include <termios.h>
-+# include <sys/ttydefaults.h>
- #else
- # include <sgtty.h>
- #endif
-@@ -299,7 +304,7 @@
-
- /* defines: */
-
--#define KBUFSZ 8 /* size of keyboard mapping buffer */
-+#define KBUFSZ 512 /* size of keyboard mapping buffer */
- #define STRING_MAX 512 /* max string size for process_xterm_seq() */
- #define ESC_ARGS 32 /* max # of args for esc sequences */
-
-@@ -577,11 +582,12 @@
-
- #endif /* OFFIX_DND */
-
--#ifndef NO_XLOCALE
--static char *rs_inputMethod = ""; /* XtNinputMethod */
-+#ifdef USE_XIM
-+extern char *rs_inputMethod;
-+extern char *rs_preeditType;
- static XIC Input_Context; /* input context */
-
--#endif /* NO_XLOCALE */
-+#endif /* USE_XIM */
-
- /* command input buffering */
-
-@@ -638,6 +644,16 @@
- #else
- # define init_xlocale() ((void)0)
- #endif
-+#ifdef USE_XIM
-+void IMInstantiateCallback(Display *display, XPointer client_data, XPointer call_data);
-+void IMDestroyCallback(XIM xim, XPointer client_data, XPointer call_data);
-+void IMSetStatusPosition(void);
-+void setTermFontSet(void);
-+void IMSendSpot(void);
-+void setColor(unsigned long *fg, unsigned long *bg);
-+void setSize(XRectangle *size);
-+extern void setPosition(XPoint *pos);
-+#endif
-
- /*for Big Paste Handling */
- static int v_doPending(void);
-@@ -2075,6 +2091,9 @@
# if VTIME != VEOL
tio->c_cc[VTIME] = 0;
- # endif
-+# ifdef VSTATUS
-+ tio->c_cc[VSTATUS] = CSTATUS;
+# endif
++# ifdef VSTATUS
++ tio->c_cc[VSTATUS] = CSTATUS;
+ # endif
/* input modes */
- tio->c_iflag = (BRKINT | IGNPAR | ICRNL | IXON
-@@ -2401,8 +2420,6 @@
- DndSelection = XInternAtom(Xdisplay, "DndSelection", False);
- #endif /* OFFIX_DND */
-
-- init_xlocale();
--
- /* get number of available file descriptors */
- #ifdef _POSIX_VERSION
- num_fds = sysconf(_SC_OPEN_MAX);
-@@ -2467,135 +2484,21 @@
- void
- init_xlocale(void)
- {
-+ char *locale = NULL;
-
-- char *p, *s, buf[32], tmp[1024];
-- XIM xim = NULL;
-- XIMStyle input_style;
-- XIMStyles *xim_styles = NULL;
-- int found, i, mc;
-- XFontSet fontset = 0;
-- char *fontname, **ml, *ds;
-- XVaNestedList list;
-- const char fs_base[] = ",-misc-fixed-*-r-*-*-*-120-*-*-*-*-*-*";
--
-- D_X11(("Initializing X locale and Input Method...\n"));
-- Input_Context = NULL;
-- if (rs_inputMethod && strlen(rs_inputMethod) >= sizeof(tmp)) {
-- print_error("Input Method too long, ignoring.");
-- rs_inputMethod = NULL;
-- }
--# ifdef KANJI
-- setlocale(LC_CTYPE, "");
--# else
-- if (rs_inputMethod && !*rs_inputMethod) {
-- rs_inputMethod = NULL;
-- }
--# endif
--
-- if (rs_inputMethod == NULL) {
-- if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p) {
-- xim = XOpenIM(Xdisplay, NULL, NULL, NULL);
-- }
-- } else {
-- strcpy(tmp, rs_inputMethod);
-- for (s = tmp; *s; /*nil */ ) {
--
-- char *end, *next_s;
--
-- for (; *s && isspace(*s); s++);
-- if (!*s)
-- break;
-- end = s;
-- for (; *end && (*end != ','); end++);
-- next_s = end--;
-- for (; (end >= s) && isspace(*end); end--);
-- *(end + 1) = '\0';
--
-- if (*s) {
-- snprintf(buf, sizeof(buf), "@im=%s", s);
-- if ((p = XSetLocaleModifiers(buf)) != NULL && *p && (xim = XOpenIM(Xdisplay, NULL, NULL, NULL)) != NULL) {
-- break;
-- }
-- }
-- if (!*next_s)
-- break;
-- s = (next_s + 1);
-- }
-- }
--
-- if (xim == NULL && (p = XSetLocaleModifiers("")) != NULL && *p) {
-- xim = XOpenIM(Xdisplay, NULL, NULL, NULL);
-- }
-- if (xim == NULL) {
-- D_X11(("Error: Failed to open Input Method\n"));
-- return;
-- } else {
-- D_X11(("Opened X Input Method. xim == 0x%08x\n", xim));
-- }
--
-- if (XGetIMValues(xim, XNQueryInputStyle, &xim_styles, NULL) || !xim_styles) {
-- D_X11(("Error: Input Method doesn't support any style\n"));
-- XCloseIM(xim);
-- return;
-- } else {
-- D_X11((" -> Input Method supports %d styles.\n", xim_styles->count_styles));
-- }
--
-- /* We only support the Root preedit type */
-- input_style = (XIMPreeditNothing | XIMStatusNothing);
-- D_X11((" -> input_style == 0x%08x\n", input_style));
--
-- for (i = 0, found = 0; i < xim_styles->count_styles; i++) {
-- D_X11((" -> Supported style flags: 0x%08x %s\n", xim_styles->supported_styles[i], get_input_style_flags(xim_styles->supported_styles[i])));
-- D_X11((" -> 0x%08x %s\n", xim_styles->supported_styles[i] & input_style,
-- get_input_style_flags(xim_styles->supported_styles[i] & input_style)));
-- if ((xim_styles->supported_styles[i] & input_style) == (xim_styles->supported_styles[i])) {
-- input_style = xim_styles->supported_styles[i];
-- found = 1;
-- break;
-- }
-- }
-- XFree(xim_styles);
--
-- if (!found) {
-- D_X11(("Error: " APL_NAME " " VERSION " only supports the \"Root\" preedit type, which the Input Method does not support.\n"));
-- XCloseIM(xim);
-- return;
-- }
-- /* Create Font Set */
--
--#ifdef KANJI
-- fontname = MALLOC(strlen(rs_font[0]) + strlen(rs_kfont[0]) + sizeof(fs_base) + 2);
-- if (fontname) {
-- strcpy(fontname, rs_font[0]);
-- strcat(fontname, fs_base);
-- strcat(fontname, ",");
-- strcat(fontname, rs_kfont[0]);
-- }
--#else
-- fontname = MALLOC(strlen(rs_font[0]) + sizeof(fs_base) + 1);
-- if (fontname) {
-- strcpy(fontname, rs_font[0]);
-- strcat(fontname, fs_base);
-- }
--#endif
-- if (fontname) {
-- setlocale(LC_ALL, "");
-- fontset = XCreateFontSet(Xdisplay, fontname, &ml, &mc, &ds);
-- FREE(fontname);
-- if (mc) {
-- XFreeStringList(ml);
-- fontset = 0;
-- return;
-+#ifndef NO_XLOCALE
-+ locale = setlocale(LC_CTYPE, "");
-+#endif
-+#ifdef USE_XIM
-+ if (locale == NULL)
-+ print_error("Setting locale failed.");
-+ else {
-+ setTermFontSet();
-+ if (strcmp(locale, "C"))
-+ XRegisterIMInstantiateCallback(Xdisplay, NULL, NULL, NULL,
-+ IMInstantiateCallback, NULL);
- }
-- }
-- list = XVaCreateNestedList(0, XNFontSet, fontset, NULL);
-- Input_Context = XCreateIC(xim, XNInputStyle, input_style, XNClientWindow, TermWin.parent, XNFocusWindow, TermWin.parent,
-- XNPreeditAttributes, list, XNStatusAttributes, list, NULL);
-- if (Input_Context == NULL) {
-- D_X11(("Error: Unable to create Input Context\n"));
-- XCloseIM(xim);
-- }
-+#endif
- }
- #endif /* NO_XLOCALE */
-
-@@ -3138,6 +3041,9 @@
- if (greek_mode)
- len = greek_xlat(kbuf, len);
- #endif
-+#ifdef USE_XIM
-+ IMSendSpot();
-+#endif
- }
-
- if (len <= 0)
-@@ -3323,6 +3229,7 @@
- #else
- scr_refresh(refresh_type);
- #endif
-+ IMSendSpot();
- }
- /* characters already read in */
- if (CHARS_READ()) {
-@@ -3423,6 +3330,9 @@
- scr_refresh(refresh_type);
- if (scrollbar_visible())
- scrollbar_show(1);
-+#ifdef USE_XIM
-+ IMSendSpot();
-+#endif
- }
- }
- }
-@@ -4136,6 +4046,9 @@
- refresh_count = refresh_limit = 0;
- scr_refresh(refresh_type);
- scrollbar_show(mouseoffset);
-+#ifdef USE_XIM
-+ IMSendSpot();
-+#endif
- #endif
- } else if ((ev->xany.window == scrollBar.win) && scrollbar_isMotion()) {
- Window unused_root, unused_child;
-@@ -4153,6 +4066,9 @@
- refresh_count = refresh_limit = 0;
- scr_refresh(refresh_type);
- scrollbar_show(mouseoffset);
-+#ifdef USE_XIM
-+ IMSendSpot();
-+#endif
- }
- #ifdef PROFILE_X_EVENTS
- P_SETTIMEVAL(motion_stop);
-@@ -5044,6 +4960,9 @@
- }
- }
- Gr_do_graphics(cmd, nargs, args, text);
-+#ifdef USE_XIM
-+ IMSendSpot();
-+#endif
- #endif
- }
-
-@@ -6293,6 +6212,9 @@
- /* parent already resized */
-
- resize_window1(width, height);
-+#ifdef USE_XIM
-+ IMSetStatusPosition();
-+#endif
- }
-
- /* xterm sequences - title, iconName, color (exptl) */
-@@ -6875,6 +6797,328 @@
- free(orig_tnstr);
- #endif
- }
-+
-+#ifdef USE_XIM
-+void
-+setSize(XRectangle *size)
-+{
-+ size->x = TermWin.internalBorder;
-+ size->y = TermWin.internalBorder;
-+ size->width = Width2Pixel(TermWin.ncol);
-+ size->height = Height2Pixel(TermWin.nrow);
-+}
-+
-+void
-+setColor(unsigned long *fg, unsigned long *bg)
-+{
-+ *fg = PixColors[fgColor];
-+ *bg = PixColors[bgColor];
-+}
-+
-+void
-+IMSendSpot(void)
-+{
-+ XPoint spot;
-+ XVaNestedList preedit_attr;
-+ XIMStyle input_style;
-+
-+ if (Input_Context == NULL)
-+ return;
-+ else {
-+ XGetICValues(Input_Context, XNInputStyle, &input_style, NULL);
-+ if (!(input_style & XIMPreeditPosition))
-+ return;
-+ }
-+ setPosition(&spot) ;
-+
-+ preedit_attr = XVaCreateNestedList( 0, XNSpotLocation, &spot, NULL ) ;
-+ XSetICValues( Input_Context, XNPreeditAttributes, preedit_attr, NULL ) ;
-+ XFree( preedit_attr ) ;
-+}
-+
-+void
-+setTermFontSet(void)
-+{
-+ char *string;
-+ long length, i;
-+
-+ if (TermWin.fontset != NULL){
-+ XFreeFontSet(Xdisplay, TermWin.fontset);
-+ TermWin.fontset = NULL;
-+ }
-+
-+ length = 0;
-+ for (i = 0; i < NFONTS; i++) {
-+ if (rs_font[i])
-+ length += strlen(rs_font[i]) + 1;
-+# ifdef KANJI
-+ if (rs_kfont[i])
-+ length += strlen(rs_kfont[i]) + 1;
-+# endif
-+ }
-+ if ((string = malloc( length )) != NULL) {
-+ char **missing_charsetlist, *def_string;
-+ int missing_charsetcount;
-+
-+ string[0] = '\0';
-+ for (i = 0; i < NFONTS; i++) {
-+ if (rs_font[i]){
-+ strcat(string, rs_font[i]);
-+ strcat(string, ",");
-+ }
-+# ifdef KANJI
-+ if(rs_kfont[i]){
-+ strcat(string, rs_kfont[i]);
-+ strcat(string, ",");
-+ }
-+# endif
-+ }
-+ length = strlen(string);
-+ if (length > 0 && string[ length - 1 ] == ',') {
-+ string[length - 1] = '\0';
-+ length--;
-+ }
-+ if (length > 0) {
-+ TermWin.fontset = XCreateFontSet(Xdisplay, string,
-+ &missing_charsetlist, &missing_charsetcount,
-+ &def_string);
-+ }
-+ free(string);
-+ } else {
-+ TermWin.fontset = NULL;
-+ }
-+}
-+
-+void
-+IMInstantiateCallback(Display *display, XPointer client_data, XPointer call_data)
-+{
-+ char *p, *s, buf[32], tmp[1024];
-+ XIM xim = NULL;
-+ XIMStyle input_style = 0;
-+ XIMStyles *xim_styles = NULL;
-+ int found;
-+ XPoint spot;
-+ XRectangle rect, status_rect, *needed_rect;
-+ unsigned long fg, bg;
-+ XVaNestedList preedit_attr = NULL;
-+ XVaNestedList status_attr = NULL;
-+ XIMCallback ximcallback;
-+
-+ if (Input_Context) return;
-+
-+ Input_Context = NULL;
-+ if (rs_inputMethod == NULL
-+# ifndef KANJI
-+ || !*rs_inputMethod /* required ? */
-+# endif
-+ ) {
-+ if ((p = XSetLocaleModifiers("")) != NULL && *p)
-+ xim = XOpenIM(Xdisplay, NULL, NULL, NULL);
-+ } else {
-+ strcpy(tmp, rs_inputMethod);
-+ for (s = tmp; *s; /*nil*/) {
-+
-+ char *end, *next_s;
-+
-+ for (; *s && isspace(*s); s++);
-+ if (!*s) break;
-+ end = s;
-+ for (; *end && (*end != ','); end++);
-+ next_s = end--;
-+ for (; (end >= s) && isspace(*end); end--);
-+ *(end + 1) = '\0';
-+
-+ if (*s) {
-+ strcpy(buf, "@im=");
-+ strcat(buf, s);
-+ if ((p = XSetLocaleModifiers(buf)) != NULL && *p
-+ && (xim = XOpenIM(Xdisplay, NULL, NULL, NULL)) != NULL)
-+ break;
-+ }
-+ if (!*next_s) break;
-+ s = (next_s + 1);
-+ }
-+ }
-+
-+ if (xim == NULL && (p = XSetLocaleModifiers("")) != NULL && *p)
-+ xim = XOpenIM(Xdisplay, NULL, NULL, NULL);
-+
-+ if (xim == NULL) {
-+# ifdef DEBUG_X11
-+ print_error("Failed to open input method");
-+# endif
-+ return;
-+ }
-+
-+ XSetIMValues(xim, XNDestroyCallback, &ximcallback, NULL);
-+
-+ if (XGetIMValues(xim, XNQueryInputStyle, &xim_styles, NULL) || !xim_styles) {
-+# ifdef DEBUG_X11
-+ print_error("input method doesn't support any style");
-+# endif
-+ XCloseIM(xim);
-+ return;
-+ }
-+
-+ strcpy(tmp, (rs_preeditType ? rs_preeditType : "OverTheSpot"));
-+ for (found = 0, s = tmp; *s && !found; /*nil*/) {
-+
-+ unsigned short i;
-+ char *end, *next_s;
-+
-+ while (*s && isspace(*s)) s++;
-+ if (!*s) break;
-+ end = s;
-+ while (*end && (*end != ',')) end++;
-+ next_s = end--;
-+ while ((end >= s) && isspace(*end)) *end-- = 0;
-+
-+ if (!strcmp(s, "OverTheSpot"))
-+ input_style = (XIMPreeditPosition | XIMStatusNothing);
-+ else
-+ if (!strcmp(s, "OffTheSpot"))
-+ input_style = (XIMPreeditArea | XIMStatusArea);
-+ else
-+ if (!strcmp(s, "Root"))
-+ input_style = (XIMPreeditNothing | XIMStatusNothing);
-+
-+ for (i = 0; i < xim_styles->count_styles; i++) {
-+ if (input_style == xim_styles->supported_styles[i]) {
-+ found = 1;
-+ break;
-+ }
-+ }
-+ s = next_s;
-+ }
-+ XFree(xim_styles);
-+
-+ if (found == 0) {
-+# ifdef DEBUG_X11
-+ print_error ("input method doesn't support my preedit type");
-+# endif
-+ XCloseIM(xim);
-+ return;
-+ }
-+
-+ /*
-+ * This program only understands the Root preedit_style yet
-+ * Then misc.preedit_type should default to:
-+ * "OverTheSpot,OffTheSpot,Root"
-+ * /MaF
-+ */
-+ if ((input_style != (XIMPreeditPosition | XIMStatusNothing)) &&
-+ (input_style != (XIMPreeditArea | XIMStatusArea)) &&
-+ (input_style != (XIMPreeditNothing | XIMStatusNothing))) {
-+# ifdef DEBUG_X11
-+ print_error ("This program only supports the preedit type");
-+# endif
-+ XCloseIM(xim);
-+ return;
-+ }
-+
-+ if (input_style & XIMPreeditPosition) {
-+ setSize(&rect);
-+ setPosition(&spot);
-+ setColor(&fg, &bg);
-+
-+ preedit_attr = XVaCreateNestedList(0,
-+ XNArea, &rect,
-+ XNSpotLocation, &spot,
-+ XNForeground, fg,
-+ XNBackground, bg,
-+ XNFontSet, TermWin.fontset,
-+ NULL);
-+ } else if (input_style & XIMPreeditArea) {
-+ setColor(&fg, &bg);
-+
-+ preedit_attr = XVaCreateNestedList(0,
-+ XNForeground, fg,
-+ XNBackground, bg,
-+ XNFontSet, TermWin.fontset,
-+ NULL);
-+
-+ status_attr = XVaCreateNestedList(0,
-+ XNForeground, fg,
-+ XNBackground, bg,
-+ XNFontSet, TermWin.fontset,
-+ NULL);
-+ }
-+
-+ ximcallback.callback = IMDestroyCallback;
-+ ximcallback.client_data = NULL;
-+
-+ Input_Context = XCreateIC(xim, XNInputStyle, input_style,
-+ XNClientWindow, TermWin.parent,
-+ XNFocusWindow, TermWin.parent,
-+ XNDestroyCallback, &ximcallback,
-+ preedit_attr ? XNPreeditAttributes : NULL, preedit_attr,
-+ status_attr ? XNStatusAttributes : NULL, status_attr,
-+ NULL);
-+ XFree(preedit_attr);
-+ XFree(status_attr);
-+ if (Input_Context == NULL) {
-+# ifdef DEBUG_X11
-+ print_error("Failed to create input context");
-+# endif
-+ XCloseIM(xim);
-+ }
-+
-+ if (input_style & XIMPreeditArea) {
-+ IMSetStatusPosition();
-+ }
-+}
-+
-+void
-+IMSetStatusPosition(void)
-+{
-+ XIMStyle input_style;
-+ XRectangle rect, status_rect, *needed_rect;
-+ XVaNestedList preedit_attr, status_attr;
-+
-+ if (Input_Context == NULL)
-+ return;
-+
-+ XGetICValues(Input_Context, XNInputStyle, &input_style, NULL);
-+
-+ if (input_style & XIMPreeditArea) {
-+ status_attr = XVaCreateNestedList(0, XNAreaNeeded, &needed_rect, NULL);
-+ XGetICValues(Input_Context, XNStatusAttributes, status_attr, NULL);
-+ XFree(status_attr);
-+
-+ rect.x = needed_rect->width;
-+ if (menuBar.state == 1) {
-+ rect.y = Height2Pixel(TermWin.nrow) + menuBar_TotalHeight() - TermWin.internalBorder;
-+ } else {
-+ rect.y = Height2Pixel(TermWin.nrow) - TermWin.internalBorder;
-+ }
-+ rect.width = Width2Pixel(TermWin.ncol + 1) - needed_rect->width;
-+ rect.height = needed_rect->height;
-+ preedit_attr = XVaCreateNestedList(0, XNArea, &rect, NULL);
-+
-+ status_rect.x = 0;
-+ if (menuBar.state == 1) {
-+ status_rect.y = Height2Pixel(TermWin.nrow) + menuBar_TotalHeight() - TermWin.internalBorder;
-+ } else {
-+ status_rect.y = Height2Pixel(TermWin.nrow) - TermWin.internalBorder;
-+ }
-+ status_rect.width = needed_rect->width;
-+ status_rect.height = needed_rect->height;
-+ status_attr = XVaCreateNestedList(0, XNArea, &status_rect, NULL);
-+ XSetICValues(Input_Context,
-+ XNPreeditAttributes, preedit_attr,
-+ XNStatusAttributes, status_attr, NULL);
-+ XFree(preedit_attr);
-+ XFree(status_attr);
-+ }
-+}
-+
-+void
-+IMDestroyCallback(XIM xim, XPointer client_data, XPointer call_data)
-+{
-+ Input_Context = NULL;
-+ XRegisterIMInstantiateCallback(Xdisplay, NULL, NULL, NULL, IMInstantiateCallback, NULL);
-+}
-+#endif /* USE_XIM */
-
- /* change_font() - Switch to a new font */
- /*
diff --git a/japanese/eterm/files/patch-ah b/japanese/eterm/files/patch-ah
index 4526f5d82bde..df28d12363df 100644
--- a/japanese/eterm/files/patch-ah
+++ b/japanese/eterm/files/patch-ah
@@ -1,10 +1,10 @@
---- themes/Makefile.in.orig Mon Apr 26 23:53:58 1999
-+++ themes/Makefile.in Sun May 2 14:20:17 1999
-@@ -221,6 +221,7 @@
+--- themes/Makefile.in.orig Wed Feb 2 05:36:43 2000
++++ themes/Makefile.in Wed Feb 9 03:46:59 2000
+@@ -239,6 +239,7 @@
$(CHMOD) 755 $(DESTDIR)$(pkgdatadir)/themes/$$i ; \
$(CHMOD) 644 $(DESTDIR)$(pkgdatadir)/themes/$$i/???* ; \
- rm -f $(DESTDIR)$(pkgdatadir)/themes/$$i/MAIN.in ; \
-+ rm -f $(DESTDIR)$(pkgdatadir)/themes/$$i/MAIN.in.orig ; \
+ rm -f $(DESTDIR)$(pkgdatadir)/themes/$$i/theme.cfg.in ; \
++ rm -f $(DESTDIR)$(pkgdatadir)/themes/$$i/theme.cfg.in.orig ; \
else \
- echo "ALERT! Not overwriting theme $$i in $(DESTDIR)$(pkgdatadir)/themes. You will need to update this theme manually." ; \
+ echo "ALERT! Not overwriting $$i theme in $(DESTDIR)$(pkgdatadir)/themes. You will need to update this theme manually." ; \
fi ; \
diff --git a/japanese/eterm/files/patch-ar b/japanese/eterm/files/patch-ar
index afc87c8799dd..4b361a26877e 100644
--- a/japanese/eterm/files/patch-ar
+++ b/japanese/eterm/files/patch-ar
@@ -1,11 +1,11 @@
---- src/Makefile.in.orig Sun Jan 23 23:14:37 2000
-+++ src/Makefile.in Sun Jan 23 23:14:55 2000
-@@ -106,7 +106,7 @@
- libEterm_la_SOURCES = activeconfig.c activeeterm.c activetags.c command.c graphics.c grkelot.c menubar.c misc.c netdisp.c options.c pixmap.c screen.c scrollbar.c system.c threads.c utmp.c
+--- src/Makefile.in.orig Mon Feb 7 21:50:25 2000
++++ src/Makefile.in Mon Feb 7 21:51:29 2000
+@@ -120,7 +120,7 @@
- libEterm_la_DEPENDENCIES = $(DIST_ROOT)/libmej/libmej.la feature.h
+
+ libEterm_la_DEPENDENCIES = $(top_builddir)/libmej/libmej.la feature.h
-libEterm_la_LDFLAGS = -release $(VERSION)
-+libEterm_la_LDFLAGS = -version-info 8:8:8
++libEterm_la_LDFLAGS = -version-info 9:9:9
bin_PROGRAMS = Eterm
Eterm_SOURCES = main.c
diff --git a/japanese/eterm/files/patch-as b/japanese/eterm/files/patch-as
index ce84db3bbba8..d76485d51e06 100644
--- a/japanese/eterm/files/patch-as
+++ b/japanese/eterm/files/patch-as
@@ -1,11 +1,11 @@
---- libmej/Makefile.in.orig Sun Jan 23 23:22:35 2000
-+++ libmej/Makefile.in Sun Jan 23 23:23:12 2000
-@@ -107,7 +107,7 @@
+--- libmej/Makefile.in.orig Mon Feb 7 21:52:12 2000
++++ libmej/Makefile.in Mon Feb 7 21:52:44 2000
+@@ -120,7 +120,7 @@
- INCLUDES = -I. -I$(top_srcdir) -I$(top_srcdir)/src -I.. -I$(includedir) -I$(prefix)/include $(X_CFLAGS)
+ INCLUDES = -I. -I.. -I$(includedir) -I$(prefix)/include
-libmej_la_LDFLAGS = -release $(VERSION)
-+libmej_la_LDFLAGS = -version-info 8:8:8
++libmej_la_LDFLAGS = -version-info 9:9:9
EXTRA_DIST = debug.h global.h mem.h strings.h strptime.h strptime.c
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
diff --git a/japanese/eterm/files/patch-at b/japanese/eterm/files/patch-at
new file mode 100644
index 000000000000..d6fe33afeabf
--- /dev/null
+++ b/japanese/eterm/files/patch-at
@@ -0,0 +1,28 @@
+--- configure.orig Mon Feb 7 22:00:40 2000
++++ configure Mon Feb 7 22:04:47 2000
+@@ -4835,16 +4835,16 @@
+
+ DEF_FONT_IDX=0
+ MULTICHAR_ENCODING="eucj"
+- FONT0="fixed"
+- FONT1="8x16"
+- FONT2="9x18"
+- FONT3="12x24"
+- FONT4="13x26"
++ FONT0="7x14"
++ FONT1="a10"
++ FONT2="r12"
++ FONT3="8x16"
++ FONT4="12x24"
+ MFONT0="k14"
+- MFONT1="jiskan16"
+- MFONT2="jiskan18"
+- MFONT3="jiskan24"
+- MFONT4="jiskan26"
++ MFONT1="k10"
++ MFONT2="k12"
++ MFONT3="kanji16"
++ MFONT4="kanji24"
+ elif test "$enableval" = "euc-kr" -o "$enableval" = "euckr"; then
+ echo "$ac_t""euckr" 1>&6
+ cat >> confdefs.h <<\EOF
diff --git a/japanese/eterm/files/patch-au b/japanese/eterm/files/patch-au
new file mode 100644
index 000000000000..9bf3d08b3b68
--- /dev/null
+++ b/japanese/eterm/files/patch-au
@@ -0,0 +1,17 @@
+--- themes/Eterm/theme.cfg.in.orig Mon Feb 7 21:54:05 2000
++++ themes/Eterm/theme.cfg.in Mon Feb 7 21:55:37 2000
+@@ -248,10 +248,10 @@
+ # The XIM support options.
+ # input_method: set the name of your favorate input method program
+ # preedit_type: OverTheSpot or OffTheSpot or Root
+-# begin xim
+-# input_method Ami
+-# preedit_type OverTheSpot
+-# end xim
++ begin xim
++ input_method kinput2
++ preedit_type OverTheSpot
++ end xim
+
+ # Boolean variables. The values can be "1", "on", or "true" for TRUE, or "0",
+ # "off", or "false" for FALSE.
diff --git a/japanese/eterm/files/patch-av b/japanese/eterm/files/patch-av
new file mode 100644
index 000000000000..5b1a54d147e5
--- /dev/null
+++ b/japanese/eterm/files/patch-av
@@ -0,0 +1,17 @@
+--- themes/auto/theme.cfg.in.orig Mon Feb 7 22:07:25 2000
++++ themes/auto/theme.cfg.in Mon Feb 7 22:08:35 2000
+@@ -248,10 +248,10 @@
+ # The XIM support options.
+ # input_method: set the name of your favorate input method program
+ # preedit_type: OverTheSpot or OffTheSpot or Root
+-# begin xim
+-# input_method Ami
+-# preedit_type OverTheSpot
+-# end xim
++ begin xim
++ input_method kinput2
++ preedit_type OverTheSpot
++ end xim
+
+ # Boolean variables. The values can be "1", "on", or "true" for TRUE, or "0",
+ # "off", or "false" for FALSE.
diff --git a/japanese/eterm/files/patch-aw b/japanese/eterm/files/patch-aw
new file mode 100644
index 000000000000..2c1af79a6e4b
--- /dev/null
+++ b/japanese/eterm/files/patch-aw
@@ -0,0 +1,17 @@
+--- themes/cEterm/theme.cfg.in.orig Mon Feb 7 22:09:32 2000
++++ themes/cEterm/theme.cfg.in Mon Feb 7 22:10:07 2000
+@@ -247,10 +247,10 @@
+ # The XIM support options.
+ # input_method: set the name of your favorate input method program
+ # preedit_type: OverTheSpot or OffTheSpot or Root
+-# begin xim
+-# input_method Ami
+-# preedit_type OverTheSpot
+-# end xim
++ begin xim
++ input_method kinput2
++ preedit_type OverTheSpot
++ end xim
+
+ # Boolean variables. The values can be "1", "on", or "true" for TRUE, or "0",
+ # "off", or "false" for FALSE.
diff --git a/japanese/eterm/files/patch-ax b/japanese/eterm/files/patch-ax
new file mode 100644
index 000000000000..5480ef1fe617
--- /dev/null
+++ b/japanese/eterm/files/patch-ax
@@ -0,0 +1,17 @@
+--- themes/chooser/theme.cfg.in.orig Mon Feb 7 22:10:53 2000
++++ themes/chooser/theme.cfg.in Mon Feb 7 22:11:31 2000
+@@ -248,10 +248,10 @@
+ # The XIM support options.
+ # input_method: set the name of your favorate input method program
+ # preedit_type: OverTheSpot or OffTheSpot or Root
+-# begin xim
+-# input_method Ami
+-# preedit_type OverTheSpot
+-# end xim
++ begin xim
++ input_method kinput2
++ preedit_type OverTheSpot
++ end xim
+
+ # Boolean variables. The values can be "1", "on", or "true" for TRUE, or "0",
+ # "off", or "false" for FALSE.
diff --git a/japanese/eterm/files/patch-ay b/japanese/eterm/files/patch-ay
new file mode 100644
index 000000000000..3522c58bfcf5
--- /dev/null
+++ b/japanese/eterm/files/patch-ay
@@ -0,0 +1,17 @@
+--- themes/emacs/theme.cfg.in.orig Mon Feb 7 22:12:28 2000
++++ themes/emacs/theme.cfg.in Mon Feb 7 22:12:49 2000
+@@ -248,10 +248,10 @@
+ # The XIM support options.
+ # input_method: set the name of your favorate input method program
+ # preedit_type: OverTheSpot or OffTheSpot or Root
+-# begin xim
+-# input_method Ami
+-# preedit_type OverTheSpot
+-# end xim
++ begin xim
++ input_method kinput2
++ preedit_type OverTheSpot
++ end xim
+
+ # Boolean variables. The values can be "1", "on", or "true" for TRUE, or "0",
+ # "off", or "false" for FALSE.
diff --git a/japanese/eterm/files/patch-az b/japanese/eterm/files/patch-az
new file mode 100644
index 000000000000..6a71a95f1e1a
--- /dev/null
+++ b/japanese/eterm/files/patch-az
@@ -0,0 +1,17 @@
+--- themes/irc/theme.cfg.in.orig Mon Feb 7 22:13:53 2000
++++ themes/irc/theme.cfg.in Mon Feb 7 22:14:09 2000
+@@ -250,10 +250,10 @@
+ # The XIM support options.
+ # input_method: set the name of your favorate input method program
+ # preedit_type: OverTheSpot or OffTheSpot or Root
+-# begin xim
+-# input_method Ami
+-# preedit_type OverTheSpot
+-# end xim
++ begin xim
++ input_method Ami
++ preedit_type OverTheSpot
++ end xim
+
+ # Boolean variables. The values can be "1", "on", or "true" for TRUE, or "0",
+ # "off", or "false" for FALSE.
diff --git a/japanese/eterm/files/patch-ba b/japanese/eterm/files/patch-ba
new file mode 100644
index 000000000000..b50e94671e07
--- /dev/null
+++ b/japanese/eterm/files/patch-ba
@@ -0,0 +1,17 @@
+--- themes/mutt/theme.cfg.in.orig Mon Feb 7 22:14:53 2000
++++ themes/mutt/theme.cfg.in Mon Feb 7 22:15:08 2000
+@@ -194,10 +194,10 @@
+ # The XIM support options.
+ # input_method: set the name of your favorate input method program
+ # preedit_type: OverTheSpot or OffTheSpot or Root
+-# begin xim
+-# input_method Ami
+-# preedit_type OverTheSpot
+-# end xim
++ begin xim
++ input_method Ami
++ preedit_type OverTheSpot
++ end xim
+
+ # Boolean variables. The values can be "1", "on", or "true" for TRUE, or "0",
+ # "off", or "false" for FALSE.
diff --git a/japanese/eterm/files/patch-bb b/japanese/eterm/files/patch-bb
new file mode 100644
index 000000000000..0b3888c0affe
--- /dev/null
+++ b/japanese/eterm/files/patch-bb
@@ -0,0 +1,17 @@
+--- themes/trans/theme.cfg.in.orig Mon Feb 7 22:29:10 2000
++++ themes/trans/theme.cfg.in Mon Feb 7 22:29:27 2000
+@@ -248,10 +248,10 @@
+ # The XIM support options.
+ # input_method: set the name of your favorate input method program
+ # preedit_type: OverTheSpot or OffTheSpot or Root
+-# begin xim
+-# input_method Ami
+-# preedit_type OverTheSpot
+-# end xim
++ begin xim
++ input_method kinput2
++ preedit_type OverTheSpot
++ end xim
+
+ # Boolean variables. The values can be "1", "on", or "true" for TRUE, or "0",
+ # "off", or "false" for FALSE.
diff --git a/japanese/eterm/files/patch-bc b/japanese/eterm/files/patch-bc
new file mode 100644
index 000000000000..1096a87aa40c
--- /dev/null
+++ b/japanese/eterm/files/patch-bc
@@ -0,0 +1,11 @@
+--- src/startup.c.orig Mon Feb 7 22:24:54 2000
++++ src/startup.c Mon Feb 7 22:24:57 2000
+@@ -29,6 +29,8 @@
+ #include "config.h"
+ #include "feature.h"
+
++#define NEED_LINUX_HACK 1
++
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
diff --git a/japanese/eterm/pkg-descr b/japanese/eterm/pkg-descr
index 8800f93f9290..ef347bd99eb0 100644
--- a/japanese/eterm/pkg-descr
+++ b/japanese/eterm/pkg-descr
@@ -4,10 +4,7 @@ supports Japanese input with XIM (X Input Method) protocol.
If you want to input Japanese, use "--input-method" and
"--preedit-type" option.
-If you have a comment about Japanese input support for Eterm and
-this port, contact with MANTANI Nobutaka <nobutaka@nobutaka.com>.
-Further information about this port is available at
-http://www.nobutaka.com/programs/Eterm.html .
+WWW: http://eterm.sourceforge.net/
-Eterm Main Web Site -- <http://www.tcserv.com/Eterm/>
-Eterm FAQ -- <http://www.tcserv.com/Eterm/FAQ.html>
+--
+MANTANI Nobutaka <nobutaka@nobtaka.com>
diff --git a/japanese/eterm/pkg-plist b/japanese/eterm/pkg-plist
index c786d3fd01f7..3c3ac5114753 100644
--- a/japanese/eterm/pkg-plist
+++ b/japanese/eterm/pkg-plist
@@ -1,59 +1,99 @@
bin/Esetroot
bin/Etbg
-bin/Etcolors.sh
bin/Eterm
-bin/Etmenu.sh
+@exec chmod 4711 %D/bin/Eterm
+bin/Ettable
+bin/Etcolors
+bin/Etwinop
lib/libEterm.a
lib/libEterm.la
lib/libEterm.so
-lib/libEterm.so.8
+lib/libEterm.so.9
lib/libmej.a
lib/libmej.la
lib/libmej.so
-lib/libmej.so.8
+lib/libmej.so.9
@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R
@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m %B
-share/Eterm/pix/014.png
-share/Eterm/pix/40.png
-share/Eterm/pix/6.png
+share/Eterm/pix/014.jpg
+share/Eterm/pix/40.jpg
share/Eterm/pix/backwave.jpg
-share/Eterm/pix/circuit.png
+share/Eterm/pix/bar_horizontal_1.png
+share/Eterm/pix/bar_horizontal_2.png
+share/Eterm/pix/bar_horizontal_3.png
+share/Eterm/pix/bar_vertical_1.png
+share/Eterm/pix/bar_vertical_2.png
+share/Eterm/pix/bar_vertical_3.png
+share/Eterm/pix/blackstone.jpg
+share/Eterm/pix/button_arrow_down_1.png
+share/Eterm/pix/button_arrow_down_2.png
+share/Eterm/pix/button_arrow_down_3.png
+share/Eterm/pix/button_arrow_up_1.png
+share/Eterm/pix/button_arrow_up_2.png
+share/Eterm/pix/button_arrow_up_3.png
+share/Eterm/pix/circuit.jpg
share/Eterm/pix/fourthday.jpg
share/Eterm/pix/gaia.jpg
share/Eterm/pix/galleon.jpg
+share/Eterm/pix/menu1.png
+share/Eterm/pix/menu2.png
+share/Eterm/pix/menu3.png
share/Eterm/pix/nebula.jpg
share/Eterm/pix/night_of_the_dragon.jpg
share/Eterm/pix/pixmaps.list
-share/Eterm/themes/Eterm/Eterm.menu
-share/Eterm/themes/Eterm/MAIN
+share/Eterm/pix/scaled-pixmaps.list
+share/Eterm/pix/tiled-pixmaps.list
+share/Eterm/themes/Eterm/menus.cfg
share/Eterm/themes/Eterm/pixmaps.list
-share/Eterm/themes/chooser/MAIN
-share/Eterm/themes/chooser/chooser.menu
+share/Eterm/themes/Eterm/scaled-pixmaps.list
+share/Eterm/themes/Eterm/theme.cfg
+share/Eterm/themes/Eterm/tiled-pixmaps.list
+share/Eterm/themes/auto/menus.cfg
+share/Eterm/themes/auto/pixmaps.list
+share/Eterm/themes/auto/scaled-pixmaps.list
+share/Eterm/themes/auto/theme.cfg
+share/Eterm/themes/auto/tiled-pixmaps.list
+share/Eterm/themes/cEterm/menus.cfg
+share/Eterm/themes/cEterm/pixmaps.list
+share/Eterm/themes/cEterm/scaled-pixmaps.list
+share/Eterm/themes/cEterm/theme.cfg
+share/Eterm/themes/cEterm/tiled-pixmaps.list
+share/Eterm/themes/chooser/menus.cfg
share/Eterm/themes/chooser/pixmaps.list
-share/Eterm/themes/emacs/MAIN
-share/Eterm/themes/emacs/emacs.menu
+share/Eterm/themes/chooser/scaled-pixmaps.list
+share/Eterm/themes/chooser/theme.cfg
+share/Eterm/themes/chooser/tiled-pixmaps.list
+share/Eterm/themes/emacs/menus.cfg
share/Eterm/themes/emacs/pixmaps.list
-share/Eterm/themes/irc/MAIN
-share/Eterm/themes/irc/irc.menu
+share/Eterm/themes/emacs/scaled-pixmaps.list
+share/Eterm/themes/emacs/theme.cfg
+share/Eterm/themes/emacs/tiled-pixmaps.list
+share/Eterm/themes/irc/menus.cfg
share/Eterm/themes/irc/pixmaps.list
-share/Eterm/themes/mutt/MAIN
-share/Eterm/themes/mutt/mutt.menu
+share/Eterm/themes/irc/scaled-pixmaps.list
+share/Eterm/themes/irc/theme.cfg
+share/Eterm/themes/irc/tiled-pixmaps.list
+share/Eterm/themes/mutt/menus.cfg
share/Eterm/themes/mutt/pixmaps.list
-share/Eterm/themes/tn3270/MAIN
-share/Eterm/themes/tn3270/pixmaps.list
-share/Eterm/themes/trans/MAIN
-share/Eterm/themes/trans/trans.menu
+share/Eterm/themes/mutt/scaled-pixmaps.list
+share/Eterm/themes/mutt/theme.cfg
+share/Eterm/themes/mutt/tiled-pixmaps.list
+share/Eterm/themes/trans/menus.cfg
share/Eterm/themes/trans/pixmaps.list
+share/Eterm/themes/trans/scaled-pixmaps.list
+share/Eterm/themes/trans/theme.cfg
+share/Eterm/themes/trans/tiled-pixmaps.list
share/doc/Eterm/Eterm_reference.html
share/doc/Eterm/Eterm.tcap
share/doc/Eterm/Eterm.ti
share/doc/Eterm/ReleaseNotes
@dirrm share/Eterm/themes/trans
-@dirrm share/Eterm/themes/tn3270
@dirrm share/Eterm/themes/mutt
@dirrm share/Eterm/themes/irc
@dirrm share/Eterm/themes/emacs
@dirrm share/Eterm/themes/chooser
+@dirrm share/Eterm/themes/cEterm
+@dirrm share/Eterm/themes/auto
@dirrm share/Eterm/themes/Eterm
@dirrm share/Eterm/themes
@dirrm share/Eterm/pix