Jump to content

Desktop

From NikiWiki
Revision as of 10:29, 29 December 2006 by Cinc (talk | contribs) (Updates)

Introduction

The desktop should resemble the WPS experience. There won't be binary compatibility (if you want that, feel free to add it) but source compatibilty is top priority.

Some cornerstones:

  • OO design
  • Extendable by just adding new classes like the WPS (subclassing without recompiling)
  • Class replacing
  • No recompilation for new features
  • Drag and drop of almost everything (icons, colors, fonts etc.)
  • Scriptable by REXX
  • Maybe REXX-classes (classes written in REXX)
  • DSOM functionality (not at the beginning but development shouldn't prevent it)
  • ...

Note: Please don't discuss items on this page. Use the discussion page or the Voyager page.

Design decisions

At this point in time:

  • The graphical toolkit is GTK
  • GLib is used as the portability layer
  • An object model similar to SOM is the foundation (NOM: Netlabs Object Model)
  • GTK will be wrapped into objects to make development easier
  • Compiler is gcc 3.3.x (may change later. Compilation on OS/2 should always be possible)
  • D-BUS will be the foundation for interprocess communication
  • Make is gmake

If you have compelling arguments against these decisions feel free to point to a better solution. But be aware that just saying "I don't like it" won't make serious points. Some hundred/thousand/millions lines of code will likely change our minds faster.

Status

(Last change 29.Dec2006)

  • The prototype code (screenshot) is migrated to GTK 2.6.x. See screenshot 1 and screenshot 2. It's currently running on X only and can be considered a proof of concept. Work is in progress to add more classes and methods and wrap the GTK API into objects.
  • Some historical status information can be found on this page.
  • The orbit IDL compiler is ported to OS/2 and is the foundation for the Voyager IDL compiler.
  • h-file emitter of the Voyager IDL compiler is done
  • c-file emitter of the IDL compiler is done
  • ih-file emitter is done

To do

The following list is only the most important stuff.

  • Write an IDL compiler
  • Migrate header files to our own (using IBM stuff atm)
  • Enable class replacing
  • Make it distributed (DSOM)
  • ...