sidetone

Daemon

Reaction score: 908
Messages: 1,864

Athena (Xaw) uses Xt (X toolkit Intrinsics) to interface XCB and Xlib.

x11-toolkits/neXtaw, x11-toolkits/Xaw3d and x11-toolkits/libxaw3dxft are implementations of Xaw (x11-toolkits/libXaw). Xaw3dxft is an extended version for Unicode fonts of Xaw3d. Most Xaw (Athena Widgets) applications are compatible with these implementations. Some programs that use these implementations also use the main Xaw libraries. These four Xaw implementations are under the MIT license.

How to use 3D Xaw implementations
pkg info -D Xaw3d gives a hint. It states to rename the original Xaw libraries to Xaw2d names. Then, it says to link the targets of Xaw to the library of the implementation. Because the versions weren't listed in the /usr/local/lib/, I improvised based on the versions that were there.

Go to the directory, /usr/local/lib/, then, move libXaw.so.7 to libXaw2d.so.7, and libXaw.so.6 to libXaw2d.so.6. After that, link both libXaw.so.6 and libXaw.so.7 to libXaw3d.so.8.

cd /usr/local/lib
mv libXaw.so.7 libXaw2d.so.7
mv libXaw.so.6 libXaw2d.so.6
ln -s libXaw3d.so.8 libXaw.so.7
ln -s libXaw3d.so.8 libXaw.so.6


To use another implementation, replace the target of libXaw3d.so.8 in the link with libXaw3dxft.so.8 or with libneXtaw.so. To remove the link, use rm libXaw.so.?, then use another Xaw target. To go back to the original Xaw, link the corresponding library files back to libXaw2d.so.7 and libXaw2d.so.6.

Screenshots
xaw3d-11.png

The screenshot above shows programs that by default run with Xaw3d.


xaw3d-12.png

The screenshot above shows programs that by default are installed with Nextaw and Xaw3dxft.


xaw3d-2.png

The above screenshot shows programs after being run with Xaw, then upgraded to working with Xaw3d, Xaw3dxft and Nextaw, there's a major visual difference according to the versions they use. This image is in higher resolution, to make it easier to see comparisons.

To get the last screenshot, I left the programs running, then changed the settings, starting new processes of the programs, for enough to make a screenshot showing a few of the same programs, side by side.

In these, the output with Nextaw looks consistently the best out of these implementations. However, some of these programs can't be restored visually, once they are resized excessively. Also, some programs are difficult to close.

Xaw3d and Xaw3dxft seem to give the same visual appearance. Their main difference is in text fonts.

The above screenshots are on CTWM.


Comparison to Motif
Motif also uses Xt to interface with Xlib and XCB.

x11-toolkits/open-motif seems to actually be ICS's Motif, not Open Motif, that has changed licenses to LGPL after being closed. Open Motif is actually, http://www.opengroup.org/openmotif/. Motif's license change came after Lesstif (x11-toolkits/lesstif) was started as a toolkit implementation, in order to pressure Motif to open its license. Lesstif is obsolete now.

Interestingly, x11-toolkits/open-motif uses a Xaw library as a dependency, at least on FreeBSD's ports.
 
Last edited:

mer

Aspiring Daemon

Reaction score: 334
Messages: 546

Old School or for those around at that time "CDE" :)
 

kpedersen

Son of Beastie

Reaction score: 2,087
Messages: 2,951

Ooh, I am interested in Xfig. I might try it out.

Currently I use Dia but Gtk is basically a dying technology at this point and I am looking to move away from it.

I don't suppose Xfig has anything suited for class diagrams does it? Not a deal breaker however.
 
OP
sidetone

sidetone

Daemon

Reaction score: 908
Messages: 1,864

Athena variants which aren't in the FreeBSD ports tree, http://www.efalk.org/Widgets/:
  • Xaw-XPM - this one is supposed to be great visually, but has incompatibilities with other Xaw applications; uses XPM libraries
  • Xraw - Motif look
  • Xaw95 - Windows 95 look
  • XawM (Xaw Modern) http://xawm.sourceforge.net/ - based on Xaw3d; borrows features from NeXtaw (This implementation hasn't had updates since 2013)
  • Xaw+ (Xaw Plus) - based on Xaw; lacks features; lacks portability
 

kpedersen

Son of Beastie

Reaction score: 2,087
Messages: 2,951

Athena variants which aren't in the FreeBSD ports tree, http://www.efalk.org/Widgets/:
Nice. I didn't actually know about many of these.

  • XawM (Xaw Modern) http://xawm.sourceforge.net/ - based on Xaw3d; borrows features from NeXtaw (This implementation hasn't had updates since 2013)
I thought this was amusing. From their website "Xaw with Modern look and feel"

This is a perfect example of why anyone calling something "modern" looking is absurd. The word modern dates so badly in GUI systems it is quite funny. Normally it simply suggests someone hasn't been really dealing with computers long enough to experience previous design changes and fashions.

It was fun to be reminded by many of these widgets that Motif used to be the absolute pinnacle of UI perfection and everyone was trying to clone it. Now it seems to be that slightly slimy macOS look that everyone has identified as UI perfection.
 
OP
sidetone

sidetone

Daemon

Reaction score: 908
Messages: 1,864

NeXtaw looks acceptable, and compared to Xaw and Xaw3d, it looks great. XawModern was modern enough when it was last updated less than 10 years ago.
 
OP
sidetone

sidetone

Daemon

Reaction score: 908
Messages: 1,864

NeXtaw appearances
nextaw-jwm.png

Appearance of nextaw applications on jwm.

For configuring NeXtaw:
Code:
cd /usr/local/lib
mv libXaw.so.6 libXaw2d.so.6
mv libXaw.so.7 libXaw2d.so.7
ln -s libneXtaw.so libXaw.so.6
ln -s libneXtaw.so libXaw.so.7
I like how my desktop looks like with twm.
This screenshot shows a few NeXtaw linked applications on TWM.
2021-08-05-072855_1280x1024_scrot-png.10900



Function of Xaw on terminal emulators
On x11/xterm and japanese/kterm, the xaw implementations adjust scroll bar appearance, when these programs are started with the -sb option. When the cursor is over these terminals, plus those without a scrollbar, it can be scrolled by mouse wheel. Nextaw has the most functional scrollbar.

On xterm, Athena toolkits have another function for toolbar appearance, when this option is compiled in.
xterm-xaw.png

From left to right: xaw, xaw3d, xaw3dxft, nextaw.
 
Top