mGSTEP
 
F A Q    |    Notes    |    Progress    |    Projects    |    Home   
 
Release Notes

mgstep-0.568
Minor bug fixes and code optimization in the Linux framebuffer GUI backend.

Errata
  • The stable GUI backend is based on X11 which has historically implemented an RGB drawing model while OPENSTEP was designed for RGBA. The current mGSTEP implementation works around the issue by grabbing the background and drawing onto a cache in some cases. This solution may produce drawing artifacts.
  • The current mGSTEP support of FreeType and Xrender does not allow applications to share glyphs. This results in slightly longer launch times and increased memory usage when compared to core X11 font support. This will be resolved in a subsequent release.
  • The X11 GUI backend does not support anti-aliased path rendering. As a result rendered shapes exhibit jagged edges. Grabbing the result and scaling it down is a temporary workaround.
  • The current gradient rendering code only supports 24bit or greater screen depths.
  • Wait cursor (spinning color wheel) state is not automagically handled.

The Examples...
  • Workspace.app demonstrates a file browsing, searching and management application. It's more interesting features include drag'n drop which is XDND based. Files can be dropped onto the app tiles of Edit, Viewer or any other application that supports XDND. You can also drag'n drop files onto the Workspace's shelf and even onto an ordinary Xterm (assuming you have Allow SendEvents turned ON). The ALT and CTRL modifier keys will affect the DND action depending on the drop target.
  • Edit.app is a general purpose text editor. Edit demonstrates copy/paste and search/replace via it's menu. It is also possible to open and save multiple documents via the 'Open/Save/Save As' menu items. On Linux if you configure 'Services' support you can provide services to other applications and also make use of services exported by others. Using this facility Workspace can for example ask a single instance of Edit to open multiple documents. Edit can in turn ask the example service to open a URL (FireFox must be running to display it)...etc.
  • Viewer.app is an image viewing application that supports JPG, GIF, PNG and TIFF. It can perform user image scaling and its app icon serves as an animated XDND drag'n drop target. It can also save any of the supported image file types to tiff while preserving user scaling of the image.

History
mGSTEP's evolution is described in the release history.


Linux
A Linux based system with glibc-2.3.2 is the main development platform. Any modern Linux distribution should work. GCC needs to have been compiled with Objective-C support.

MacOS X
On MacOS X mGSTEP configures itself and some of the AppKit tests build but the libraries do not because Apple's Cocoa is native on OS X. The main reason to install on OS X is to provide support for the mGSTEP Makefiles.

FreeBSD
Years ago FreeBSD 3 support was working. Probably has glitches now.

AIX
Preliminary build support was added. Foundation builds but is otherwise untested.

Solaris
Preliminary build support was added. Foundation builds but is otherwise untested.

NeXTSTEP
Not currently supported.
Old notes:
On NeXSTEP I build using the NS3.2 development tools on top of OPENSTEP 4.2 user. You'll need an X server, headers and libraries in order to build the AppKit since the native NeXTSTEP backend is not yet ready. You'll also want to use WindowMaker as your windowmanager. The X server I'm using does not support the X Shape extension so drag windows are not transparent under NS. You may also need to update to a recent version of GNU Make and BASH.

Windows NT
Not currently supported.
Old notes:
Only the Foundation libraries are built and tested with the public snapshot. Building the AppKit is not yet supported (although the XRAW backend should work if you have X installed). The native Win32 backend does not contain any Xlib dependencies. The build system is an i686 machine running Windows NT 4 SP5 using the latest CygWin package from Cygnus. The default build creates a static Foundation library. The Makefile can also be configured to build Dynamically relocatable DLL's but the resulting DLL seems to have a problem finding globals. BASH should be used in building and must be in UNIX mode. The nsarchiver, nsbundle and nstask Foundation tests fail on NT.