On Sun, 1 Jan 2006, Scott Klement wrote:
Actually, ./configure in x5250 has always failed for me. I have to add a PKG_CONFIG_PATH environment variable to tell it where the tn5250.pc file is. I just run the following: $ PKG_CONFIG_PATH=/usr/local/src/tn5250/ ./configureIt doesn't work in FreeBSD either, since FreeBSD's directory is /usr/local/libdata, but tn5250.pc gets installed into /usr/local/lib. So, I'm quite used to adding /usr/local/lib into PKG_CONFIG_PATH.
Ok, I'm working right now on changing ./configure in x5250 to not require tn5250.pc. I've already finished improving tn5250's build process.
I get this if I have +enhanced in my tn5250rc. I don't get it when not in enhanced mode. Since enhanced is only half written and breaks a lot of things, I never turn it on.
Enhanced mode is more than 50% written. The remainder is somewhat tricky, but that remainder is less than 50% of the total of enhanced 5250 protocol commands. In fact, let's review where 5250 protocol support stands now. An '*' in the Support column indicates it is used in enhanced mode, a '?' in the support column indicates that I don't know when it is used.
Command Support CLEAR UNIT yes CLEAR UNIT ALTERNATE yes CLEAR FORMAT TABLE yes WRITE TO DISPLAY Set Buffer Address yes Insert Cursor yes Move Cursor yes Repeat to Address yes Erase to Address yes* Start of Header yes Transparent Data yes Write Extended Attribute Order no (2)* Start of Field yes WRITE TO DISPLAY Structured Field CREATE WINDOW yes* UNRESTRICTED WINDOW CURSOR MOVEMENT no* REMOVE GUI WINDOW yes* REMOVE ALL GUI CONSTRUCTS yes* DEFINE SELECTION FIELD yes* REMOVE GUI SELECTION FIELD yes* DEFINE SCROLL BAR FIELD yes* REMOVE GUI SCROLL BAR FIELD no* WRITE DATA yes* PROGRAMMABLE MOUSE BUTTONS no* Draw/Erase Grid Lines Structured Field no* WRITE ERROR CODE yes* WRITE ERROR CODE TO WINDOW yes* READ INPUT FIELDS yes READ MDT FIELDS yes READ MDT ALTERNATE yes READ SCREEN yes READ SCREEN WITH EXTENDED ATTRIBUTES no? READ SCREEN TO PRINT no? READ SCREEN TO PRINT WITH EXTENDED ATTRIBUTES no? READ SCREEN TO PRINT WITH GRID LINES no? READ SCREEN TO PRINT WITH EXTENDED ATTRIBUTES AND GRID LINES no? READ IMMEDIATE yes READ MODIFIED IMMEDIATE ALTERNATE yes SAVE SCREEN yes SAVE PARTIAL SCREEN yes* RESTORE SCREEN no (1)* RESTORE PARTIAL SCREEN no (1)* ROLL yes WRITE SINGLE STRUCTURED FIELD no* WRITE STRUCTURED FIELD Pass-Through Workstation Support no (3)? 5250 QUERY yes 5250 QUERY STATION STATE yes (3)? Text Support Data Streams DEFINE AUDIT WINDOW TABLE no (3)? DEFINE COMMAND KEY FUNCTION no (3)? READ TEXT SCREEN no (3)? DEFINE PENDING OPERATIONS no (3)? DEFINE TEXT SCREEN FORMAT no (3)? DEFINE SCALE LINE no (3)? WRITE TEXT SCREEN no (3)? DEFINE SPECIAL CHARACTERS no (3)? PENDING DATA no (3)? DEFINE OPERATOR ERROR MESSAGES no (3)? DEFINE PITCH TABLE no (3)? DEFINE FAKE DP COMMAND KEY FUNCTION no (3)? COPY-TO-PRINTER no?(1) Ignored. The data following this should be a valid Write To Display command.
(2) This is read and reported, but otherwise not acted upon.(3) Looking at the code it looks like tn5250 responds to these commands, but I think the responses are not correct.
Of the 21 items marked with a '*' eight are not supported (with two of those being read and ignored justifiably). There are 20 items marked with a '?' meaning I haven't encountered them yet. Whether or not those items are required for enhanced mode operation is questionable. Some probably are, some probably aren't. Leaving out the '?' items then and including the unsupported but justifiably ignored items as supported gives 15 out of 21 enhanced mode commands supported, or 71%.
So what does the remaining 29% of unsupported features consist of? Write Extended Attribute Order allows you to change the colours of the screen without using an attribute byte (i.e. you can change colours without having a blank between characters). x5250 supports this already once lib5250 can do it. UNRESTRICTED WINDOW CURSOR MOVEMENT simply allows you to move the cursor outside of the current window. REMOVE GUI SCROLL BAR FIELD erases a given scroll bar from the screen. PROGRAMMABLE MOUSE BUTTONS allows you to associate AIDs with various pointer device (mouse) events. Draw/Erase Grid Lines Structured Field draws/erases grid lines. WRITE SINGLE STRUCTURED FIELD is used for viewing faxes on your 5250 display.
In my experience so far, many of these missing features are rarely used. That doesn't mean we shouldn't support them, rather that the majority of uses is already supported. In fact, I have never seen a screen with scrollbars, programmable buttons, or grid lines. And I have never known anyone to view faxes using a 5250 terminal. I don't mean to argue over percentages, I just want to point out that enhanced support is further along than you might think.
Of course, I rarely run x5250 anymore because it's so buggy. It always seems to do something wrong when I need it to work most. Typeahead has never worked in x5250. I can never get SysRq to work (I'm not sure if that's because I can never remember the key sequence or what). I have problems with x5250 getting out of sync with the iSeries, so that x5250 thinks it's waiting for the iSeries, and the iSeries thinks it's waiting for x5250... I have problems with x5250 just locking up when using certain keys in certain places... it sits and scans for the next field and never fnds it and goes into an endless loop.
I've been using x5250 exclusively everyday for over a year now and haven't had these kinds of problems. Maybe I don't type as fast as you do. SysRq is by default mapped to be the key labeled 'SysRq' on your keyboard (assuming you have such a key) but it can be mapped to anything you like. Can you tell me what certain keys in what places causes lockups? Lockups don't ever happen for me. There is a bug that occurs occasionally when a message breaks to the screen and an action key has been pressed at precisely the same time, but this is solved by simply pressing another action key (still I need to fix the bug). But overall, x5250 is far from too buggy to use. I find it to be much more usable than tn5250.
It astonishes me that people are trying to use the enhanced features which are documented to be only half-written, when the basic features of it are so unstable and not ready for general use.
I *need* the enhanced features. Almost all of our programming is 5250 based and things like cursor progression, word wrap, and continuous fields are important for us. Likewise, I really like the windows in enhanced mode in x5250 - they are clean and nice. And as I said above, almost every enhanced mode feature that I've ever seen is already supported.
Some day when I'm not so busy (if that ever happens again?) I'll take the time to troubleshoot and fix all of the problems in x5250 -- or maybe even write my own that I like better -- but in the meantime, I find it easier to just use Windows.
x5250 isn't perfect (not by a long shot!) but I think it is pretty good. tn5250j is much nicer, but requires many, many times the computing power that x5250 does. x5250 is small and spartan, but exercizes lib5250 more than anything else.
James Rich It's not the software that's free; it's you. - billyskank on Groklaw