Jump to content

Desktop: Difference between revisions

From NikiWiki
No edit summary
mNo edit summary
 
(14 intermediate revisions by one other user not shown)
Line 1: Line 1:
[[Category:Voyager]]
== Introduction ==
== Introduction ==


The desktop should resemble the WPS experience. There wont be binary compatibility (if you want that, feel free to add it) but source compatibilty is top priority.
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:
Some cornerstones:
Line 22: Line 23:


* The graphical toolkit is [http://www.gtk.org GTK]
* The graphical toolkit is [http://www.gtk.org GTK]
* GLib is used as the portability layer
* [http://www.gtk.org GLib] is used as the portability layer
* An object model similar to SOM is the foundation
* An object model similar to SOM is the foundation (NOM: Netlabs Object Model)
* Compiler is gcc 3.3.x
* 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)
* [http://www.freedesktop.org/wiki/Software_2fdbus D-BUS] will be the foundation for interprocess communication
* Make is gmake
* 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" wont make serious points. Some hundred/thousand/millions lines of code will likely change our minds faster.
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 ==
== Status ==


A preliminary SOM/WPS clone is in place and [ftp://ftp.netlabs.org/pub/misc/cinc/desktop/images/prototype.jpg working].
(Last change 29.Dec2006)


Find more information on [ftp://ftp.netlabs.org/pub/misc/cinc/desktop/documentation.htm this page].
* The prototype code ([ftp://ftp.netlabs.org/pub/voyager/desktop/images/prototype.jpg screenshot]) is migrated to GTK 2.6.x. See [ftp://ftp.netlabs.org/pub/misc/cinc/vdesktop-gtk.jpg screenshot 1] and [ftp://ftp.netlabs.org/pub/misc/cinc/notebook.jpg 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 [ftp://ftp.netlabs.org/pub/voyager/desktop/documentation.htm 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
 
* Completely based on gcc. No dependencies on closed code.


== To do ==
== To do ==
Line 39: Line 54:
The following list is only the most important stuff.
The following list is only the most important stuff.


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

Latest revision as of 15:03, 29 December 2006

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
  • Completely based on gcc. No dependencies on closed code.

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)
  • ...