summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Jennings <mej@kainx.org>2001-12-04 01:22:07 +0000
committerMichael Jennings <mej@kainx.org>2001-12-04 01:22:07 +0000
commit1e97991b6a8a5afd67c9268de6d2a232681b80bc (patch)
treea4f85e4b963adda2256f2001a5679ee779923728
parent7d2e4386b3a45b936282ac5567f61718431593f6 (diff)
downloadeterm-1e97991b6a8a5afd67c9268de6d2a232681b80bc.tar.gz
Mon Dec 3 20:16:39 2001 Michael Jennings (mej)
Patches from Paul Brannan <pbranna@clemson.edu>, Klaus Elsbernd <elsbernd@dfki.uni-kl.de>, and Derrick Moser <d2moser@calum.csclub.uwaterloo.ca> which appeared while I was away. Fixes for mouse wheel reporting and reset handling (Paul), Solaris portability (Klaus), and XIM (Derrick). Getting ready to release 0.9.2 soonish. SVN revision: 5745
-rw-r--r--ChangeLog10
-rw-r--r--Eterm-mdk.spec4
-rw-r--r--Eterm.spec4
-rw-r--r--configure.in2
-rw-r--r--src/command.c12
-rw-r--r--src/pixmap.c8
-rw-r--r--src/screen.c15
-rw-r--r--src/term.c3
-rw-r--r--src/windows.c3
9 files changed, 46 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index da0ce53..ffab65b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4417,3 +4417,13 @@ Thu Oct 25 02:01:27 2001 Michael Jennings (mej)
Argh. This configure.in/configure.ac thing is getting really old.
----------------------------------------------------------------------
+Mon Dec 3 20:16:39 2001 Michael Jennings (mej)
+
+Patches from Paul Brannan <pbranna@clemson.edu>, Klaus Elsbernd
+<elsbernd@dfki.uni-kl.de>, and Derrick Moser
+<d2moser@calum.csclub.uwaterloo.ca> which appeared while I was away.
+Fixes for mouse wheel reporting and reset handling (Paul), Solaris
+portability (Klaus), and XIM (Derrick).
+
+Getting ready to release 0.9.2 soonish.
+----------------------------------------------------------------------
diff --git a/Eterm-mdk.spec b/Eterm-mdk.spec
index aebf9bc..bbd05ae 100644
--- a/Eterm-mdk.spec
+++ b/Eterm-mdk.spec
@@ -1,7 +1,7 @@
Summary: Enlightened terminal emulator
Name: Eterm
-Version: 0.9.1
-Release: 2mdk
+Version: 0.9.2
+Release: 1mdk
Copyright: BSD
Group: Terminals
Source0: ftp://ftp.eterm.org/pub/Eterm/%{name}-%{ver}.tar.bz2
diff --git a/Eterm.spec b/Eterm.spec
index f885d3e..19a376d 100644
--- a/Eterm.spec
+++ b/Eterm.spec
@@ -3,8 +3,8 @@
Summary: Enlightened terminal emulator
Name: Eterm
-Version: 0.9.1
-Release: 2
+Version: 0.9.2
+Release: 1
Copyright: BSD
Group: User Interface/X
%if %{bzip}
diff --git a/configure.in b/configure.in
index 0edae17..96f058e 100644
--- a/configure.in
+++ b/configure.in
@@ -1,7 +1,7 @@
dnl# $Id$
AC_INIT(src/feature.h)
-AM_INIT_AUTOMAKE(Eterm, 0.9.1)
+AM_INIT_AUTOMAKE(Eterm, 0.9.2)
dnl# Set some basic variables
DATE="`date '+%d %B %Y'`"
diff --git a/src/command.c b/src/command.c
index 9bf3d90..ddc4102 100644
--- a/src/command.c
+++ b/src/command.c
@@ -2020,12 +2020,20 @@ xim_real_init(void)
void
xim_set_status_position(void)
{
- XRectangle preedit_rect, status_rect, *needed_rect;
+ XRectangle preedit_rect, status_rect, *needed_rect, rect;
XVaNestedList preedit_attr, status_attr;
+ XPoint spot;
REQUIRE(xim_input_context != NULL);
- if (xim_input_style & XIMPreeditArea) {
+ if (xim_input_style & XIMPreeditPosition) {
+ xim_set_size(&rect);
+ xim_get_position(&spot);
+
+ preedit_attr = XVaCreateNestedList(0, XNArea, &rect, XNSpotLocation, &spot, NULL);
+ XSetICValues(xim_input_context, XNPreeditAttributes, preedit_attr, NULL);
+ XFree(preedit_attr);
+ } else if (xim_input_style & XIMPreeditArea) {
/* Getting the necessary width of preedit area */
status_attr = XVaCreateNestedList(0, XNAreaNeeded, &needed_rect, NULL);
XGetICValues(xim_input_context, XNStatusAttributes, status_attr, NULL);
diff --git a/src/pixmap.c b/src/pixmap.c
index e5f730e..38b5caf 100644
--- a/src/pixmap.c
+++ b/src/pixmap.c
@@ -1398,7 +1398,7 @@ shade_ximage_15(void *data, int bpl, int w, int h, int rm, int gm, int bm)
unsigned char *ptr;
int x, y;
- ptr = data + (w * sizeof(DATA16));
+ ptr = (unsigned char *)data + (w * sizeof(DATA16));
if ((rm <= 256) && (gm <= 256) && (bm <= 256)) {
/* No saturation */
for (y = h; --y >= 0; ) {
@@ -1441,7 +1441,7 @@ shade_ximage_16(void *data, int bpl, int w, int h, int rm, int gm, int bm)
unsigned char *ptr;
int x, y;
- ptr = data + (w * sizeof(DATA16));
+ ptr = (unsigned char *)data + (w * sizeof(DATA16));
if ((rm <= 256) && (gm <= 256) && (bm <= 256)) {
/* No saturation */
for (y = h; --y >= 0; ) {
@@ -1484,7 +1484,7 @@ shade_ximage_32(void *data, int bpl, int w, int h, int rm, int gm, int bm)
unsigned char *ptr;
int x, y;
- ptr = data + (w * 4);
+ ptr = (unsigned char *)data + (w * 4);
if ((rm <= 256) && (gm <= 256) && (bm <= 256)) {
/* No saturation */
for (y = h; --y >= 0; ) {
@@ -1547,7 +1547,7 @@ shade_ximage_24(void *data, int bpl, int w, int h, int rm, int gm, int bm)
unsigned char *ptr;
int x, y;
- ptr = data + (w * 3);
+ ptr = (unsigned char *)data + (w * 3);
if ((rm <= 256) && (gm <= 256) && (bm <= 256)) {
/* No saturation */
for (y = h; --y >= 0; ) {
diff --git a/src/screen.c b/src/screen.c
index ffd22d7..cb98781 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -376,6 +376,7 @@ scr_poweron(void)
screen.flags = Screen_DefaultFlags;
scr_cursor(SAVE);
+ TermWin.nscrolled = 0;
scr_reset();
scr_refresh(SLOW_REFRESH);
}
@@ -3275,7 +3276,19 @@ mouse_report(XButtonEvent * ev)
{
int button_number, key_state;
- button_number = ((ev->button == AnyButton) ? 3 : (ev->button - Button1));
+ switch(ev->button) {
+ case AnyButton: /* Button release */
+ button_number = 3;
+ break;
+ case Button1: /* Button press */
+ case Button2:
+ case Button3:
+ button_number = ev->button - Button1;
+ break;
+ default: /* Wheel mouse */
+ button_number = 64 + ev->button - Button3 - 1;
+ break;
+ }
key_state = ((ev->state & (ShiftMask | ControlMask))
+ ((ev->state & Mod1Mask) ? 2 : 0));
tt_printf((unsigned char *) "\033[M%c%c%c",
diff --git a/src/term.c b/src/term.c
index a0dd973..c7ee3b7 100644
--- a/src/term.c
+++ b/src/term.c
@@ -1332,9 +1332,6 @@ process_window_mode(unsigned int nargs, int args[])
BOUND(y, szHint.min_height, scr->height);
BOUND(x, szHint.min_width, scr->width);
XResizeWindow(Xdisplay, TermWin.parent, x, y);
-#ifdef USE_XIM
- xim_set_status_position();
-#endif
break;
case 5:
XRaiseWindow(Xdisplay, TermWin.parent);
diff --git a/src/windows.c b/src/windows.c
index 25c5cdf..d32a916 100644
--- a/src/windows.c
+++ b/src/windows.c
@@ -572,6 +572,9 @@ term_resize(int width, int height)
last_width = width;
last_height = height;
}
+#ifdef USE_XIM
+ xim_set_status_position();
+#endif
}
/* Resize due to font change; update size hints and child windows */