The first signs of an actual desktop

20 07 2008

The work on the DesktopService has started. The first breakthrough came after tracking through the sourcecode for bbClean, and starting the DesktopService will now spawn an initial desktop, and render the windows desktop wallpaper in it. The desktop menu, however, hasn’t been added yet.

Progress progress. And a huge shoutout to everyone at #liquidfm@mixxnet who had to cope with my mumblings tonite as I tried to crack the DesktopService πŸ˜‰ If you haven’t already, tune in to – the only internet radio you need πŸ™‚

I would post a screenshot, but as it currently consists mostly of debug output in a console window, it would probably not be the most exciting thing to put here. So instead I’ll settle for a quick recap of the project.

The shell itself is a complete rewrite of the bbClean shell. As the code just became too hairy to handle (after years of forking and developers leaving their footprints in there without adding any comments) we went ahead and decided to simply scrap it and start over. And do it right from the beginning.

The essential shell components are refered to as “Services”, and these can be started and stopped as needed from within the shell. At the time of writing, two of these services are at least partially implemented: the TaskService which is responsible for keeping track of the running tasks (i.e. the little neat buttons that show up in your Explorer taskbar) and the DesktopService which handles the desktop and all your virtual desktops. These two services are currently functioning at a basic level. Keep in mind that we are talking about the internals right now, so there are not yet any visible interface. Just the logic behind it.

The remaining services include the TrayService which will do pretty much the same thing as the TaskService, but with the system tray (or the “System Notification Area”, you know the corner of your screen where all those icons appear), the PluginManager that is responsible for loading the plugins (that was a huge simplification, more about that at a later time) and the ConfigurationManager which loads your settings and allow the other parts of the shell to access them.




Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: