Re: Re xt5250 and 132 column issues....

Scott Klement <[email protected]>
Newsgroups gmane.comp.emulators.tn5250
Message-ID <[email protected]>
Hi Fred,
> Ahhh…..A bit of company history here….Most of our users are Middle aged
> and beyond, and not very tech saavy. Most of their lives here they’ve used
> 3477 Dumb Terminals. 
>   
Hmmm... you could ALMOST get by in console mode. i.e. don't run X at 
all, just run tn5250 in text mode. We do that a lot here... I've 
modified /etc/gettytab and /etc/ttys to automatically launch tn5250 in a 
vty when the system starts up.

However, the reason that might be a problem for you is 132 column mode. 
Console works great in 80 column mode, but 132 columns is problematic.

> Nope, It Only happens once. after that I’m free to Maximize and
> Un-Maximize as often as I want, and I can switch back and forth between 80
> and 132 as often as I want, and the screen stays Maximized…
>   
Okay, I just tried this myself. FreeBSD 6.3-STABLE (from Apr 30, 2008). 
Desktop is Xfce 4.4.1 running on XOrg 7.2. A bit outdated, I know...

When I have the window maximized, I have the same problem you do. The 
first switch to 132 column mode results in the system only showing 86 
columns. Once I go back to normal window mode, and then switch back to 
maximized, it works correctly.

However, I do not see the 3-5 second delay that you mention.

> Maybe if you have a chance, could you fire up xt5250, Maximize the screen,
> and see what happens when you go into a 132 column screen?
>   

I did that. Then, I took it a step further and debugged the code to see 
why it was only drawing 86 columns. After trying a few things, I ended 
up inserting the following code into cursesterm.c

static int curses_terminal_width(Tn5250Terminal /*@unused@*/ * This)
{
int y, x;
getmaxyx(stdscr, y, x);
TN5250_LOG(("curses width=%d (y=%d)\n", x+1, y+1));
return x + 1;
}

That function already existed, the only thing I added was the TN5250_LOG 
statement. The rest is unchanged... I just wanted to see what it was 
returning. It turns out that getmaxyx() is returning 85 (and therefore 
the function is returning 86, since it adds 1).

That being the case, TN5250 seems to be behaving correctly. Curses told 
it that the window is only 86 columns wide. Obviously, curses is 
reporting the wrong number. Since this never equals 132, TN5250 keeps 
calling it until it has tried 10 times and gives up.

TN5250 then attempts to draw all 132 columns (even though Curses is 
still telling it that the limit is 86). However, it appears that curses 
won't draw in those areas of the screen, since it doesn't think the 
screen is wide enough... so you end up with the 86 columns.

I can't see that there's much we can do about it -- curses won't draw to 
those columns. I can't think of any way to work around that. Perhaps 
someone else knows a way?

Obviously you could solve the problem by not using curses. Using 
something like x5250 would give you a terminal that's not curses-based, 
so it might work better. Not sure what else to try...?

> P.S. We did successfully create a TN5250 Dumb Terminal using your software
> on a PC Engines device, read only compact flash drive, etc... and it works
> great. Just one window, one session, nothing fancy. This other stuff, we'r
> hoping to replace our Windows PC's with someday...
>   
(nod) the Windows terminal wouldn't have this problem either, since it's 
also not curses-based. Frankly, this is a bug, either in the curses code 
or in xterm...

-- 
This is the Linux 5250 Development Project (LINUX5250) mailing list
To post a message email: LINUX5250-Zwy7GipZuJhWk0Htik3J/[email protected]
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/linux5250
or email: LINUX5250-request-Zwy7GipZuJhWk0Htik3J/[email protected]
Before posting, please take a moment to review the archives
at http://archive.midrange.com/linux5250.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.