Re: Re xt5250 and 132 column issues....
James Rich <[email protected]>
| Newsgroups | gmane.comp.emulators.tn5250 |
|---|---|
| Message-ID | <[email protected]> |
On Thu, 18 Dec 2008, Scott Klement wrote: >> This is where I experience about a 3 – 5 second wait before the 132 >> column screen is displayed, but with only 84 columns and 25 rows. The >> rest is cut-off. > > I run FreeBSD, and have not encountered this symptom. However, I can > explain to you how things work, and maybe that'll give you some ideas of > how to solve the problem. [Snip very good explanation of the problem] > Have you tried x5250? You might have better luck with that. x5250 is a > true X11 program, it's not a console program running in an xterm. If my > theories are correct, that SHOULD make a big difference. I experimented with x5250 and while on my system it doesn't exhibit the problematic behaviour described for xt5250 it still doesn't fill the window with content when maximized. That's because x5250 chooses window size based on how much space is required to draw the contents in the font specified. Maximizing simply gives more room to x5250 to draw in. But since it doesn't need that room you just end up with a bunch of blank space along the right and bottom edges of the window (this is the same behaviour I get with xt5250 maximized). Switching from 80 to 132 columns and back is completely free of any problems, but of course it resizes the window to the size it needs and no more. So a maximized window becomes unmaximized (at least it does on my system running WindowMaker). A nice feature to add to x5250 would be font resizing based on window size. This is a tough problem because of the difficulty of finding an approriate font on the system that fits the dimensions of an arbitrary window. I think that is why IBM iSeries Access snaps windows to specific dimensions and doesn't allow windows of any arbitrary size. I don't even know how to go about finding a list of fonts in X11 that look like that same but are different sizes programmatically. Indeed, there is a chance that appropriate fonts don't even exist beyond a certain range of sizes. The current way fonts are loaded and screen sizes determined goes something like this: 1. look for the font the user specified (either on the command line or in an X11 resource). 2. if found, load that font. 3. determine the maximum width in pixels that would be required to fit 80 or 132 characters in that font on the screen. Do the same for the font height and number of rows. 4. create or resize the window using the found dimensions. In order for the window content to fill an arbitrary sized window there would have to be some mechanism for finding fonts that when rendered with their widest/tallest character fit the window size. There is probably a way to find a list of fonts (xfontsel shows such a list). Figuring out which of those fonts would fit the required dimensions would be a challenge. I think x5250 would have to load each font and check one by one. Of course you would also want a way to use only fixed width fonts and that might be hard to do. The entire above discussion is based around using bitmapped fonts. There might be another solution: use scalable fonts. Not all scalable fonts are created equal. More recent X11 apps use pango or some other font rendering library to acheive good looking scalable fonts. I avoided that in x5250 in order to minimize the number of dependancies on other software. But perhaps adding pango support or something like it would be a nice option. James Rich if you want to understand why that is, there are many good books on the design of operating systems. please pass them along to redmond when you're done reading them :) - Paul Davis on ardour-dev -- 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.