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
This commit is contained in:
Michael Jennings 2001-12-04 01:22:07 +00:00
parent 7d2e4386b3
commit 1e97991b6a
9 changed files with 46 additions and 15 deletions

View File

@ -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.
----------------------------------------------------------------------

View File

@ -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

View File

@ -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}

View File

@ -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'`"

View File

@ -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);

View File

@ -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; ) {

View File

@ -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",

View File

@ -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);

View File

@ -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 */