Re: Jinnee is definitely lost



Henk Robbers <h.robbers@xxxxxxxxx> wrote:

This is what I wanted to do in 2003 when I revived Teradesk.
I also wrote in an interview that I would encourage people who
wanted something more modern to fork Teradesk as much as would
be needed.

That would be a good idea if someone wants to improve on the existing
desktop, but I don't think TeraDesk is a suitable starting point for a
modular desktop. I've had a look at the code, and the various potential
modules are still too entangled with each other.

If you break down the functionality of a desktop into different modules,
each module becomes a very manageable project, and I think it would be
best to start from scratch (or perhaps use parts of TeraDesk's code where
applicable):

- Desktop: Manage desktop background. Icons on desktop. General set-up.
Icon assignment, document type assignments.

- Desktop server: AV-server. Icon server. Put icons and icon assignments
in shared memory so each of the components doesn't have to keep and
maintain their own copies.

- File explorer: Display a window with a specified directory. Pass the
user actions (copy, move, delete etc) to the AV-server.

- File info: Display and change information about a specific file or
folder.

- File copy: Copy/move files, using the File info module to do any
renaming if necessary.

- Search: Search for file/foldernames or contents. Search result is passed
to File explorer for viewing. Possibility to save search
criterias/filters, thus allowing "search folders" in File explorer.

Each of these modules would be separate applications communicating with
each other through the AV-protocol. The AV-server would then act as a
"hub", handing out and passing tasks to the appropriate module.

The AV-protocol is quite suitable for this kind of modularization, and
since it's a well known protocol it would be possible to replace a module
with an existing or new program if you want to.

The downside of the AV-protocol is the use of pointers to global (if we're
lucky!) memory. This causes problems for MiNT's memory protection, not to
mention what happens if the calling application crashes after the message
is sent but before the called application is finished processing the
string pointed to! A solution would be to replace the string pointer with
a shared memory block or a pipe, falling back to the string pointer for
legacy applications.

I think that this approach to a desktop has several advantages over a
monolithic desktop in a multitasking environment:

- Less bloat. Separating functionality into modules allows simpler code.
And stuff you never use is never loaded.

- Expandable. If the desktop server is correctly designed, the desktop
environment can be expanded almost indefinitely by configuring the server
and adding a new module.

- A better user experience. A lengthy search or copy-operation would never
block the rest of the desktop.

- Freedom of choice. Don't like the existing File explorer? Write a new
one with ftp-support or whatever.

- And for the programmer: Easier development :-)

--

/*
** Jo Even Skarstein http://joska.nvg.org/
*/
.



Relevant Pages

  • Re: data structures on shared memory?
    ... I started trying to develop an icon manager (for window managers such ... This would make it useful for any users with anyother window managers, ... this has got nothing to do with threads), then fifos and shared memory ... typedef struct _Node { ...
    (comp.unix.programmer)
  • Re: Games Folder Icon - Ipaq 1940 - me 2!
    ... If you are using the built-in File Explorer, go to the bottom of the ... Carlo Ma. Guerrero wrote in message ... > I have a playing card icon but inside the games folder I also have the ...
    (microsoft.public.pocketpc)
  • Re: Removing Shortcut
    ... then go into Settings/System/Memory/running programs tab ... file that you know works and copy it using file explorer. ... and choose paste shortcut from the edit menu on the bottom. ... > time, the pocket streets icon is fine, and when I tap it it opens the ...
    (microsoft.public.pocketpc)
  • Re: How to do Commandline Shortcuts (was: Re: How to put an shortcut icon on the GNOME desktop for d
    ... When I click on this shortcut icon the file explorer should be opened directly ... One of a handful of reasons that I use a GUI is to run a graphic browser. ...
    (comp.os.linux.misc)
  • Re: Games Folder Icon - Ipaq 1940 - me 2!
    ... If you set your file explorer to hide hidden files, ... I have a playing card icon but inside the games folder I also have the same ... Mike S wrote in message ...
    (microsoft.public.pocketpc)

Loading