× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



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


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.