--- screen-4.0.2/display.c 2003-12-05 14:45:41.000000000 +0100
+++ screen-4.0.2-rzm/display.c 2003-12-16 13:23:15.000000000 +0100
@@ -120,6 +120,7 @@
#endif
int captionalways;
int hardstatusemu = HSTATUS_IGNORE;
+struct statusposstr statuspos = { STATUS_BOTTOM, STATUS_LEFT };
/*
* Default layer management
@@ -2277,8 +2278,8 @@
if (!use_hardstatus || D_has_hstatus == HSTATUS_IGNORE || D_has_hstatus == HSTATUS_MESSAGE)
{
D_status = STATUS_ON_WIN;
- debug1("using STATLINE %d\n", STATLINE);
- GotoPos(0, STATLINE);
+ debug2("using STATLINE/COL %d,%d\n", STATLINE(), STATCOL(D_width, D_status_len) );
+ GotoPos(STATCOL(D_width, D_status_len), STATLINE());
SetRendition(&mchar_so);
InsertMode(0);
AddStr(msg);
@@ -2314,8 +2315,8 @@
ASSERT(D_obuffree == D_obuflen);
/* this is copied over from RemoveStatus() */
D_status = 0;
- GotoPos(0, STATLINE);
- RefreshLine(STATLINE, 0, D_status_len - 1, 0);
+ GotoPos(STATCOL(D_width, D_status_len), STATLINE());
+ RefreshLine(STATLINE(), STATCOL(D_width, D_status_len), STATCOL(D_width, D_status_len) + D_status_len - 1, 0);
GotoPos(D_status_lastx, D_status_lasty);
flayer = D_forecv ? D_forecv->c_layer : 0;
if (flayer)
@@ -2365,8 +2366,8 @@
oldflayer = flayer;
if (where == STATUS_ON_WIN)
{
- GotoPos(0, STATLINE);
- RefreshLine(STATLINE, 0, D_status_len - 1, 0);
+ GotoPos(STATCOL(D_width, D_status_len), STATLINE());
+ RefreshLine(STATLINE(), STATCOL(D_width, D_status_len), STATCOL(D_width, D_status_len) + D_status_len - 1, 0);
GotoPos(D_status_lastx, D_status_lasty);
}
else
@@ -2385,7 +2386,7 @@
{
int l, i, ox, oy, max;
- if (D_status == STATUS_ON_WIN && D_has_hstatus == HSTATUS_LASTLINE && STATLINE == D_height-1)
+ if (D_status == STATUS_ON_WIN && D_has_hstatus == HSTATUS_LASTLINE && STATLINE() == D_height-1)
return; /* sorry, in use */
if (D_blocked)
return;
@@ -2519,7 +2520,7 @@
debug2("RefreshLine %d %d", y, from);
debug2(" %d %d\n", to, isblank);
- if (D_status == STATUS_ON_WIN && y == STATLINE)
+ if (D_status == STATUS_ON_WIN && y == STATLINE())
return; /* can't refresh status */
if (isblank == 0 && D_CE && to == D_width - 1 && from < to)