X Windows on Linux and Mac
Updated November 2024
X/Winteracter is the implementation designed for use with X Windows on Linux or Mac. Thanks to the fundamental client/server X Windows design, X/Winteracter-based clients on Linux or Mac can also be run from Windows via a Windows-based X server.
|
|
|
Linux |
Mac |
Windows |
Click on any of the thumbnail images above to see the full screen image. |
Features
X/Winteracter is source compatible with the Windows implementation. A substantial majority of Winteracter's functionality has been reproduced on X.
X/Winteracter offers a wide range of powerful GUI capabilities to the Fortran 9x/200x developer on X Windows, including:
- Multiple windows and split windows
- Memory bitmap manipulation & bitmap viewer windows
- Memory metafiles (CGM format)
- Memory icons
- Text editor windows, with optional command lines
- Event handling
- Text based menus, toolbars and floating menus
- Dialog handling, including tabbed dialogs
- Spreadsheet-style grid controls for array based data entry in dialogs and resizable windows
- Common dialogs, e.g. file selector, message box, etc.
- Full range of graphics primitives
- Presentation graphics
- 3D modelling
- Graphics hardcopy/export/import
- Display and save BMP/PCX/PNG/JPEG bit image files
- Support for transparent PNG, ICO and CUR image files
- Operating system interface & binary file handling
- Character handling, sorting and Zlib compression
- OpenGL support
- Send email
- Sound and movie playback
- Clipboard access
- Anti-aliased, rescalable fonts in all GUI components, via Xft
- Multiple monitor support
- International character support via Windows-1252 or UTF-8 encodings (also UTF-8-MAC on Mac)
Virtually all of Winteracter's visual tools are also included:
- WiDE : Winteracter Development Environment
- Wizard : application quick start
- ResEdit : menu/dialog/toolbar/image designer
- WED : Winteracter text editor
- GraphEd : presentation graphics designer
- 3Dview : OpenGL based 3D model viewer
- PlotConv : view/print/convert graphics files
- WinterView : two-dimensional data viewer
- HelpEd: help file editor
- XWintConf: colour/font configuration tool
- Launchpad: visual tool launcher
- WmergeICO: merge multi-resolution icons
- Winspect: check old sources for obsolete feature usage
A resource compiler is also supplied, enabling resource scripts defining dialogs/menus/toolbars/images to be
incorporated into X based applications in the same manner as the Windows version.
APIs
X/Winteracter relies on a combination of underlying APIs on Linux and macOS:
- Xlib is used for window and menu creation. It is also used for event handling, graphics and memory bitmaps.
- Xft and fontconfig are used to support fully rescalable anti-aliased client-side fonts, in all types of screen output.
- Motif and Xt are used for dialogs, grid controls, toolbars, text editors, bitmap viewers and clipboard access. Unlike traditional Motif-based applications, X/Winteracter employs a "flat" GUI appearance, more consistent with modern visual styles. Binary versions of Open Motif are available here.
- OpenGL can be called directly, via the same derivative of the f90gl interface as on Windows. It is also used by the OpenGL renderer which forms part of Winteracter's own 3D modelling routines.
- Xinerama is used to provide multi-monitor support.
- On Linux, the ALSA library is used for sound playback.
- Database interrogation relies on ODBC, typically via unixODBC or iODBC.
Documentation
The X/Winteracter documentation is provided in HTML format, derived from the same source as the Windows equivalent.
It is viewable in any modern web browser such as Firefox, Safari or Chrome. The documentation set incorporates a built-in contents/index control which
reproduces the equivalent functionality of the Windows HTML Help viewer (as used by Winteracter's help files on Windows).
A documentation search tool is also provided.
Compilers
X/Winteracter currently supports the following Fortran compilers:
- Intel Fortran (ifx and ifort)
- GNU gfortran
- NVIDIA Fortran
- Absoft Pro Fortran
For more details of supported compilers, see the Compilers/Platforms page.
|