The collected works of dpeterc

The extra Motif widgets used on original Netscape navigator continue to be used in nedit.

Arahne is using them in its textile CAD system, and as we needed to switch to UTF8 and XFT antialiased fonts, we added those features and released changes under original open source license.

I can highly recommend XmLGrid widget, it is capable of displaying a table of 1.000.000 lines without any problems, scrolling, sorting, everything is immediate.

Memory footprint is also very moderate, as table contents is stored as very compact string, not as a million of separate widgets.
https://sourceforge.net/projects/microline/

Image
vishnu wrote: Thanks for posting that Dušan! For anyone who hasn't seen Dušan's weaving CAD/CAM software, it is jaw droppingly amazing.

Thank you so much, I am very flattered.

I know weaving software is off the map of general interest, but ArahPaint4 can be useful for some pixel pushing. Sorry, ArahPaint4 is Qt 3 based; I don't know if that can compile on SGI.
http://www.arahne.si/download/software-demo.html
I am actually proud of image browser in ArahWeave (Weave>Jacquard conversion, Images>Browse)
Uses up to 12 cores for parallel icon creation, icons are created as you need them (scroll to make them visible), and clicking on the barren tree icon (in the upper right of the picture with the grid widget) will enable subdirectory view. That will load all the image files from current directory and all its subdirectories, and present them in a single list. Then you can use list view and sort them by file size, and delete the useless big files, or convert the TIFFs to PNG.

As ArahWeave no longer runs on SGI, you can use it on Linux and access the files on SGI via NFS mount. Works reasonably fast if you have an SSD.
ArahPaint also features image browser, but is not multicore, is blocking during browsing, and does not have the detail view from the Microline Grid widget.

vishnu wrote: Also, if anyone's interested I've got the Netscape enhanced Motif widgets, originally written by Ramiro Estrugo, as part of Netscape they were called the XfeWidgets, for "X front end." I've even got them autoconfed, although, looking at it right now the last time I diddled with the configure script was June of 2001 and now of course it's bit-rotted and fails when checking for XmCreateText in -lXm. I'm sure it'd be easy to fix if anyone wants it I'll take a stab at fixing it before I send it on. Which, the likelihood of anyone wanting it I realize would hover around the time the pigs fly and hell is filled with glaciers... :lol:


Being an avid widget scavenger, I would be very much interested in Xfe widgets. If you can upload them and your build script to sourceforge, I will definitely try them.
foetz wrote:
dpeterc wrote: Works reasonably fast if you have an SSD.

statements like that always make me giggle :P

To put it in context:
- enter directory with 10.000 image files and show them graphically in 1 second.
- being always faster than Motif FileSelectionBox, while showing more data (date, file size, number of colors, image type, autodetect file format).
vishnu wrote: I'll look into what it would take to get Ramiro's XfeWidget code to compile in the modern era, it might be a long slog but the guy's not just a coder, he's an ar tist:

Looks like your version of code has been slightly cleaned up :D
http://www.jwz.org/doc/censorzilla.html

Code: Select all

cmd/xfe/forms.c:                     * on this widget the HP screws up.
cmd/xfe/forms.c:                     * that is fucked, but doing a XtVaSetValues() here will
cmd/xfe/forms.c:                  /* Note that the fuckin' item_position starts at 1, not 0!!!! */
cmd/xfe/forms.c:                 * that is fucked, but doing a XtVaSetValues() here will
cmd/xfe/forms.c:                /* On SGI, this label won't go the fuck away - 4 pixels wide.
cmd/xfe/forms.c:                    /* There's an XmScrolledWindow around this fucker...
cmd/xfe/forms.c:                    widget_to_ream = XtParent (widget);        /* fuck! */
cmd/xfe/forms.c:                  fe_HackTranslations (context, widget_to_ream);
cmd/xfe/forms.c:                  if (form->element_data->type == FORM_TYPE_SELECT_ONE) /* you suck! */
cmd/xfe/forms.c:                 text strings.  Fuck 'em.
cmd/xfe/forms.c:                /* Lord Whorfin says: send me a click, dammit! */
cmd/xfe/forms.c:              /* Motif likes to bitch and moan when there are binary characters in
Hello from the other person still writing software on Motif (both on Linux and on OS X).
Any particular reason you use IST OpenMotif instead of the ICS
http://sourceforge.net/projects/motif/
as that one works on OS X without modifications.

I am seeing one big regression on El Capitan - some drawing operations (like drawing rectangles) or even simply opening a menu in X/Motif application is horribly slow. You can observe each menu entry as it is drawn, every inefficiency in redraw after expose events. It was fine on previous versions. Something along those lines, but there is no solution.
http://xquartz.macosforge.org/trac/ticket/2074
Does your application run at same speed as before? Does it use antialiased fonts and PNG RGBA icons? Is it graphically intensive?
Could the problem be related to XFT font caching, which could be failing due to SIP?
ClassicHasClass wrote: Mostly because my programs were already using IST and I don't have a reason to switch. I haven't had any of the repaint problems you mention on El Crap (you can try them and see for yourself, though this is a 2014 i7 MBA, so it might be system dependent). However, it doesn't use antialiased fonts, etc.

Wow, tried your Mosaic and was warped in the 90's. Nice packaging, icon and all. It looks so SGI.
On surface yours look to work OK, as interface is relatively basic.
But I have the possibility to try it on Imac retina 27" 2015 with 10.11.1, and Imac 27" 2010 with 10.6.8. The mosaic Motif interface is considerably faster on he old mac. So much so, that if I open it with your default page, and quickly resize the window (using the handle on the bottom right), it can't keep up with the resizes, if I do it quickly. It will keep redrawing itself for a couple of seconds, once I let go. On the old mac it works just fine. And the processor on the old mac is roughly three times slower. The resolution is the same on both computers, in spite of the new retina, since Xquartz does not support retina and displays 2x2 pixels. Not to mention that ATI chip is several generations better.
So there is something sticky in Xquartz / OS X El Capitan which not only eats all the CPU progress in the last 5 years, but makes it also considerably slower.

On the side note - I see you are also modernizing Mosaic with new features, like trying to introduce UTF-8.
You might try XmHTML as shortcut, and get antialiased fonts without much effort.
http://sourceforge.net/projects/xmhtml/
Of course, it might be almost too modern for Mosaic, defeating its own purpose. So maybe XmHTML could be used as an alternative page renderer.
In my software, XmHTML works on Linux and Mac, both 64 and 32 bits.
jimmer wrote: Oh wow, if I'd start coding Motif on OSX there'd be THREE of us. That's almost a Community :)

The X11 experience on OS X is really rudimentary and getting worse, so I expect a large influx of geek tinkerers. The lure of solving the problems nobody cares about is just too big. Not even xperf works. xmag is unable to read pixels from the screen. oclock has pixels of wrong color on top and left. Iconizing application's top window does not iconize children.