Drobe :: The archives
About Drobe | Contact | RSS | Twitter | Tech docs | Downloads | BBC Micro

Using shared source to brighten up the desktop

By Chris Wraight. Published: 27th Feb 2008, 23:24:52 | Permalink | Printable

Chris Wraight reveals how the RISC OS Window Manager is being improved by a small group of volunteers to allow users to fully customise the appearance of their desktops

In October 2006, I wrote an article highlighting some of the ways in which RISC OS could have its look and feel modified. I concluded that, although there was much that could be done to improve the somewhat dated look of RISC OS 4.x, there were significant barriers to creating complete replacement themes. To my mind, the OS support for adding new themes, or 'skins', to RISC OS was strangely incomplete, which was a somewhat frustrating situation.

The purpose of this article is to draw attention to a project which is changing this. I hope it will encourage people to get involved, and to see the potential for improving RISC OS which we now have.

Managing themes
One of the things I bemoaned in my original piece was the lack of a simple way of switching between themes. RISC OS provides support for changing the window tools (the icons which surround the edge of a window) and file icons, but the Configure application has no front-end for this. With all the various user interface options added by RISC OS 4 and after (especially the flexibility provided in Select), attempting to alter the default settings can be a bit of a pain.

As a result, I started work on a Theme Manager application. The aim of this was to provide a very simple method of installing and selecting complete themes. In the scheme I came up with, each theme consists of up to three files: a sprite file defining the window tools, a second sprite file with the file icons and window gadgets (icons like r option selection buttons), and a short text file controlling all the other miscellaneous user interface options, such as 3D windows, button colours, and so on. These come packaged in a single directory, and sit in the !Boot.Resources.!Themes application.

A key design objective was simplicity for the user. The Theme Manager works as a Configure plug-in. Installing a theme is just a matter of dragging it to the Theme Manager window. Selecting a theme can be done by choosing it from a drop-down menu. At any point, the changes can be reversed by selecting the "[No theme]" option.



Currently, the Theme Manager software is being used on a range of systems, from RISC OS 4.x, through Select and Adjust, to RISC OS 5.x. Feedback has been quite positive, and I'm currently working on a new version taking account of comments received. It's not perfect (there are some glitches with font handling and icon boxes which I'm looking into), but it does the job it was designed for, and has greatly simplified working with third-party themes on RISC OS. The software is open source, and any comments are of course most welcome.

Extending the OS
This fills one gap in the OS's theme handling. However, in my earlier article I drew attention to more fundamental problems with the window manager's support for themes. The most important were:

• The way input focus (showing which window is active) was handled was very crude. It was impossible to replace a set of ordinary tool sprites with a special set of 'input focus' ones. As a result, many theme designers had to choose between clumsy masked tool sprites, or lose graphical indication of the active window.

• All versions of RISC OS have incomplete facilities for re-colouring buttons. On RISC OS 4 and 5, default buttons are hard-wired light grey. On Select and Adjust, this can be altered, but the coverage is incomplete (information fields remain stubbornly grey). So even if you come up with a snazzy colourful theme, some elements of the desktop remain out of place.

• The colours used to draw window outlines were also effectively limited to black (it was and is still possible to alter this value on a per-window basis by changing the internal window definition, but not across the whole OS).

These limitations meant that desktop themes could only ever be partial affairs. However, all has now changed thanks to the RISC OS Open project. Last year, the sources to the Window Manager module were opened up, and it became feasible for third-party programmers to delve into the innards. After I raised the issue on the ROOL forums, programmer Fred Graute of StrongED fame offered to look into the possibility of fixing these problems.

I'm pleased to report that he's done a fantastic job. It's now possible, using his replacement WimpSA module, to design themes with alternative sprites for input focus, and to change the window outline colour. To see this in action, look at the following screenshots. The windows in question have proper input focus, and also have user-defined colours for the window outline. My Theme Manager application has been updated to support these changes, opening up the way to fully-themeable RISC OS.





The third of these screenshots is from an incomplete Mac-style theme, which illustrates the neat outlines now possible even if the tool sprites themselves don't have hard edges.

Fred's changes have been available for a couple of weeks for testing (again, see the ROOL forums), and users have found them very reliable. I've replaced the Wimp module with Fred's version on my RISC OS 4 setup, and have had no problems. Again, however, the software is not quite complete. The next step is to implement button colouring. This is a tricky task, and Fred is currently looking into the best way of doing this. As far as possible, we're hoping to make the changes API-compatible with the Select implementation for compatibility reasons.

Prospects
This work seems to have generated quite a lot of interest, and Fred's sterling work has been much appreciated by the current batch of testers. We hope that, when complete, his module will offer a more complete desktop experience for all users. At present, the WimpSA module is soft-loadable over RISC OS 4.x and 5.x. Because Select and Adjust have rather different Window Manager modules, it currently hasn't been tested on those OS versions (and we expect it won't work). However, since Fred's code is part of the ROOL initiative, there is nothing to stop ROL adding similar changes to their OS branch.

What this does show is that, with a bit of enthusiasm and time, the shortcomings in our favourite OS can be addressed. No one should pretend that the user interface is the most pressing of RISC OS's problems, nor that every issue can be fixed in such a short time. But talented programmers like Fred are still interested in working on the OS. If all of us - users, programmers, designers - work together, the ROOL project means we can now fix all those things we all like to moan about so much. As part of the ROOL initiative, there is currently work going on to improve RISC OS's antiquated file system - a huge job - as well as updates to the OS applications, printing system, and other elements. Since there seems to at least be the will to work together with ROL, there is also the chance that these efforts will benefit everyone.

So let's try and generate some optimism for a change. There is still the chance of getting RISC OS back on its feet, but only if we get our sleeves rolled-up and help out. Whether in terms of small projects to fix a specific problem, or large endeavours to make the whole OS more modern, there are now plenty of options. And with the recent updates to Firefox, NetSurf, Parmesan, Messenger, DataPower and other great apps, there is plenty of hope to go round.

Accessing the updated Window Manager
When testing is complete, the new module will be available via the ROOL site. In the meantime, you can get hold of the WimpSA module by going to the ROOL forums. Look for the topic 'Themed Wimp' in the 'Code Review' section, and follow the link in Fred's post.

Links

RISC OS Open website

Previous: A quick guide to fitting a new RiscPC hard disc
Next: Icon Technology boss Mike Glover retires

Discussion

Viewing threaded comments | View comments unthreaded, listed by date | Skip to the end

I am glad to see that this has finally been publicized - we have been using this on our RO5.xx systems ever since it first popped up on the ROOL forums.

It is very nice. Thankyou Chris and Fred!

Now for a shameless plug!

With regard to the penultimate paragraph, RISC OS Connect is here to help!

[link]

 is a RISC OS Userepistaxsis on 28/2/08 9:57AM
[ Reply | Permalink | Report ]

I'd echo that, Well done Chris and Fred

I asked ROL about making RISC OS more themable at the SEShow and was told there were more important things to do. Though I do mostly agree with ROL's staement I have always felt that a easy way to theme it would be good and this also proves that the ROOL initiative has some chance to alter things for the good.

 is a RISC OS Userbluenose on 28/2/08 6:15PM
[ Reply | Permalink | Report ]

I should have added that James Lampard contributed important changes to the Theme Manager software which greatly improved it, and for which I'm very grateful. The nice thing about open-source software is that this sort of thing is possible.

bluenose: I would agree with ROL that there are more important priorities for RISC OS than theming. I look forward to seeing them addressing some of them ;-)

 is a RISC OS Userlym on 28/2/08 7:50PM
[ Reply | Permalink | Report ]

Is it possible for some filer windows to be visually distinct from other windows? For instance, I'd really find it helpful to be able to tell at a glance whether a directory is on my duff hard drive (I would make it a pink background if I could) or on the new one (green background).

 is a RISC OS Userjimnagel on 28/2/08 11:49PM
[ Reply | Permalink | Report ]

But would it be possible to give the icon bar a different appearance as regular windows?

BTW: Another set of tool/icon sprites can be found on [link] Scroll down to the tools section.

 is a RISC OS Userdt on 29/2/08 8:27AM
[ Reply | Permalink | Report ]

Jim if you have a duff or suspect drive get all the data off a.s.a.p. and then remove it. You are playing russian roulet leaving it in!

 is a RISC OS UserCJE on 29/2/08 11:06AM
[ Reply | Permalink | Report ]

I've downloaded and installed this. Its lovely :D

 is a RISC OS UserMinty on 1/3/08 11:31AM
[ Reply | Permalink | Report ]

dt:

Interesting thought.

However if you look at this screenshot:

[link]

You can see what happens with some of the sprites on the iconbar when you deviate too far from the expected grey - notice what is happening to the RISC OS cog in the switcher icon.

This of course is cureable with the alpha channel that Select provides to sprites.

Ian's theme is really spangly and funky but it does highlight some of the issues that Chris Wraight has mentioned in his articles with reference to the "hard wired" colouration of RO4.0x and RO5.

 is a RISC OS Userepistaxsis on 1/3/08 12:59PM
[ Reply | Permalink | Report ]

What's wrong with grey anyway? I haven't seen a theme less worse than the NewLook theme so far. But then, I have Windows XP in " Windows Classic style". It's not what it looks like that's important, but what it can do.

 is a RISC OS UserCogs on 1/3/08 2:05PM
[ Reply | Permalink | Report ]

Cogs:

Desktop appearance is all a matter of opinion.

Luckily RISC OS doesn't have much of a performance hit if you change how the desktop looks :-)

Unlike Windows XP (or Vista...), for instance, - if you adjust it for "Best Performance" (its in one of the advanced menus), the desktop suddenly goes all Windows 95 again...

 is a RISC OS Userepistaxsis on 1/3/08 2:28PM
[ Reply | Permalink | Report ]

"It's not what it looks like that's important, but what it can do."

This has been an attitude which has bedevilled RISC OS ever since its inception. Like it or not, the way an OS and its applications look does matter to people. I remember in the 90s, when RISC OS was arguably much more fully-featured than Windows 3.1, marvelling that Microsoft's products looked so professional. They may have been clunky to use and much less capable than many RISC OS alternatives, but to the average user it didn't look that way at all. Similarly, Apple have recently made the running in the GUI stakes - their software just looks so good and, as a result, people use it.

If you like the NewLook style, then that's fine: the Theme Manager doesn't take it away. But providing choice and opening up the way for more modern designs seems to me a worthwhile thing to do. And, as epistaxsis says, there is no real performance issue in swapping desktop sprites over: fancy transparency effects and other tricks is, perhaps fortunately, not going to grace RISC OS desktops for some time.

 is a RISC OS Userlym on 1/3/08 5:06PM
[ Reply | Permalink | Report ]

Oooh, this looks like fun! I've been working round these problems for many years and it is quite surprising what you can achieve. For instance, although the iconbar expects to be grey you can get away with white:

[link]

Although it would be rather nice to have a different background texture for the iconbar compared to other windows.

I have been using a little module by Matthew Wilson to change the colour of the window title text for some time. It allows you to match the title text a little better with the selected theme.

[link]

Perhaps this is something that could be added to the new WM. I'd also like to see the ability to theme buttons in the way you can in Select.

And what's wrong with the XP Luna theme?

[link]

-- Spriteman

 is a RISC OS UserSpriteman on 6/3/08 12:41PM
[ Reply | Permalink | Report ]

In your white desktop, what's the app for the icon to the left of the mode selector and the right of SpamStamp? Looks kind of virtual desktop-ish to me but I don't recognise it.

 is a RISC OS Userriscosopen on 6/3/08 7:54PM
[ Reply | Permalink | Report ]

Spriteman:

Heh - your XP theme! ;-)

I have had an idea with regards to collecting the various RISC OS desktop themes - can you email me please?

 is a RISC OS Userepistaxsis on 7/3/08 12:57AM
[ Reply | Permalink | Report ]

I have been using the luna theme for a while now, and love it as I don't have to get a headache swapping between two themed machines...I even have the luna style icon bar....i would put a photo in my album, but I can only apparently add photos to everyone else's gallery albums on drobe?!?!

so it is here: [link]

only trouble is the yellow icon text showing through! (my windows are that yellow, it was a mistake but never got round to fixing it!)

The switcher is transparant, and thus the green blob 'appears' to do it's job....

It is a template hack with !ResSave, where the blue/green bar is an image

fails on resolution change so has to be set up in the one mode that will be used!

 is a RISC OS Userem2ac on 7/3/08 9:14PM
[ Reply | Permalink | Report ]

Oh and I used Spriteman's luna theme to start with :) for the windows (not shown)

that site is on my local PC, but we are having connection problems (our very old BroadBand NTL modem NLT:Home200 is apparently on it's last legs)

so chances are you won't be able to see it till monday :@(

 is a RISC OS Userem2ac on 7/3/08 9:19PM
[ Reply | Permalink | Report ]

em2ac: that screenshot both tickles and horrifies me. Well done.

 is a RISC OS Userdiomus on 7/3/08 11:03PM
[ Reply | Permalink | Report ]

diomus: lol yeah its what happpens when u work as an administrator in a windows infested office! I had to 'update it' to keep my RiscPC next to my Dell Lattitude laptop on the 21" Dell TFT!

 is a RISC OS Userem2ac on 7/3/08 11:29PM
[ Reply | Permalink | Report ]

Internet connection is now working :)

 is a RISC OS Userem2ac on 10/3/08 9:06AM
[ Reply | Permalink | Report ]

riscosopen:

That's Chocky's wallpaper app, Decor.

en2ac:

I can't see it. i too want to be tickled and horrified!

-- Sprite

 is a RISC OS UserSpriteman on 10/3/08 4:34PM
[ Reply | Permalink | Report ]

hmm it all appears to be ok from here..and others can see it so try

[link]

have had problems with random people not connecting to it, yet other's at the same time can? must be IIS!

 is a RISC OS Userem2ac on 10/3/08 8:23PM
[ Reply | Permalink | Report ]

> must be IIS!

Not working here...

 is a RISC OS UserBrianH on 11/3/08 12:00AM
[ Reply | Permalink | Report ]

yeah router died this time :( ill look at uploading it on here when i have time worry for inconvenience.

 is a RISC OS Userem2ac on 11/3/08 8:41AM
[ Reply | Permalink | Report ]

[link]

yeah router died this time :( sorry for inconvenience.

 is a RISC OS Userem2ac on 11/3/08 8:48AM
[ Reply | Permalink | Report ]

Yuck! The desktop sprites look horrible against bright coloured and black backgrounds as they are designed to anti-alias against a light grey background. This is a situation where Select's alpha blended sprites would be useful, so they can be used on top of any background. Although that would only solve the problem for OS supplied ones, you'd need to convert all application icons to alpha blending too.

 is a RISC OS Userdruck on 12/3/08 8:55AM
[ Reply | Permalink | Report ]

Alpha sprites are one of Select's really nice features. Sadly, I would imagine that we are unlikely to see the same technology on RO5/ROOL, unless cooperation between the two companies really takes off. It's a bit frustrating - if Alpha blended sprites were available on all systems, then more programmers would use them. I would certainly revise my themes with Alpha variants, and I believe Richard Hallas has said he would do too. But I'm not going to all that bother if the results can only be used on Select machines.

 is a RISC OS Userlym on 12/3/08 1:38PM
[ Reply | Permalink | Report ]

Alpha blending isn't hard to do, and the alpha sprite format isn't that different to old style bi level masks, so the changes to the sprite handling and plotting code shouldn't be that extensive (we do want to make sure backwards is done properly though). It should be just the sort of enhancement that the ROOL initiative is designed to encourage. And as you say once its available to all, it will be worthwhile for application developers to support.

 is a RISC OS Userdruck on 12/3/08 2:10PM
[ Reply | Permalink | Report ]

Volunteering?

;-)

 is a RISC OS Userlym on 12/3/08 4:36PM
[ Reply | Permalink | Report ]

Please login before posting a comment. Use the form on the right to do so or create a free account.

Search the archives

Today's featured article

  • WebWonder review
    Creating a simple website in a few hours
     7 comments, latest by takkaria on 16/9/06 6:57PM. Published: 2 Sep 2006

  • Random article

  • Archive ed Paul quits magazine
    He picks Jim Nagel as successor
     14 comments, latest by AMS on 23/6/07 9:38PM. Published: 21 Jun 2007

  • Useful links

    News and media:
    IconbarMyRISCOSArcSiteRISCOScodeANSC.S.A.AnnounceArchiveQercusRiscWorldDrag'n'DropGAG-News

    Top developers:
    RISCOS LtdRISC OS OpenMW SoftwareR-CompAdvantage SixVirtualAcorn

    Dealers:
    CJE MicrosAPDLCastlea4X-AmpleLiquid SiliconWebmonster

    Usergroups:
    WROCCRONENKACCIRUGSASAUGROUGOLRONWUGMUGWAUGGAGRISCOS.be

    Useful:
    RISCOS.org.ukRISCOS.orgRISCOS.infoFilebaseChris Why's Acorn/RISC OS collectionNetSurf

    Non-RISC OS:
    The RegisterThe InquirerApple InsiderBBC NewsSky NewsGoogle Newsxkcddiodesign


    © 1999-2009 The Drobe Team. Some rights reserved, click here for more information
    Powered by MiniDrobeCMS, based on J4U | Statistics
    "Is it too late to nominate Drobe in the best own goal category?"
    Page generated in 0.1568 seconds.