RISC OS Desktop Modernisation project
Paolo Fabio Zaino (28) 1882 posts |
To anyone interested, it has been a while I have been working on a way to “modernise” the RISC OS Desktop experience through the use of a single and configurable tool. More details here at this link: https://paolozaino.wordpress.com/portfolio/risc-os-desktop-modernisation-project/ I do not yet have a name for it, so if anyone has a good idea for a name please let me know in the comments here or on my blog. If you would like to join the project everyone is welcome! If you have tools you would like to integrate they are also welcome. Again please read the details on the link above. The DME (temporarily called Desktop modernisation Engine) is fully customisable, so for who loves to keep RISC OS as it was back at the times of Acorn, that’s fine just disable every new control and select RISC OS 3.11 Theme and you’ll get the full original experience on RISC OS 5 like it was RISC OS 3.11 all over again :) Hopefully this effort will help people that wish to have a more modern Desktop and won’t bother people that want to keep it as it is, as well as allow who wants something in the middle to be able to get what they want. Thanks in advance to everyone who will support, help and provide feedback on this project! Cheers Proposed names so far:
If you want to join/contribute please send me an email using the link below with your github account and on which type of tasks you would like to contribute: https://paolozaino.wordpress.com/contact/ (link here works with NetSurf too, while github.com does not JFYI) roles/teams so far: - Coding |
Paolo Fabio Zaino (28) 1882 posts |
P.S. also for the old RISC OS themes, does anyone knows how to reach whoever own the Acorn “Acorn” logo so to make sure I can re-use it for the Task Manager icon? (I know some users wants the Acorn logo back, but I do not have the rights to use it) P.S. ROOL guys is it ok to use the ROOL logo for the RISC OS 5 original Theme? (Yes I have tried to contact you in the past on info etc. but never got an answer. And yes all good, I know you guys are very busy, so maybe a quick “ok” or “not ok” here may help? Thanks in advance) |
Steve Drain (222) 1620 posts |
NewLookToo ;-) |
Rick Murray (539) 13851 posts |
Isn’t it present in one of the themes? Maybe you could provide an add-ons archive with bits pulled from older ROMs, like the Acorn logo, or even the Archimedes ‘A’ for the ultimate retro feel? |
Julie Stamp (8365) 474 posts |
What will the global window-to-front control look like? |
Paolo Fabio Zaino (28) 1882 posts |
lol ok we have one proposal! XD |
Paolo Fabio Zaino (28) 1882 posts |
You are correct, but I have no idea if I can distribute it or not… in doubt I ask :)
Good idea and yes, I did not ask about the Archimedes A logo because I think that one can be freely used…, anyway thanks for the suggestion! |
Steve Pampling (1551) 8172 posts |
Would that be magical events generated in a slightly broken way, or a period of time during which all expected errors (and some others) will occur? :) |
Paolo Fabio Zaino (28) 1882 posts |
Believe it or not it’s one of the easiest thing ever to achieve on RISC OS WIMP. It works already and works exactly like on Windows/Linux and MacOS. So just click on any part of a window and it will come to the front. That’s all, no special keys required and I am trying to mimic the modern behaviour of global controls as much as I can. Code is also very small. The whole control runs in ~10KB – 16KB of RAM and doesn’t use CPU at all (at least by early tests done). However before release I’ll need to make sure all the new global controls works with at least most of the applications and make sure we can list the ones that may have problems if any. In about 2 weeks (due limited time) I’ll make a video of the new controls working, so you can have a look on youtube, but again we are talking very early days here, so there might be issue down the line… I renew the invitation to everyone interested to join the project, it’s fun and it’s a good way to get back in touch with RISC OS WIMP programming. |
Paolo Fabio Zaino (28) 1882 posts |
Steve you’re hired! :D (correction has your commit now!) Jokes apart: |
Kevin (224) 322 posts |
Another option for the name NovusVultus Latin for NewLook |
Paolo Fabio Zaino (28) 1882 posts |
@ Kevin Updated the list at the top, thanks! |
GavinWraith (26) 1563 posts |
Dear Paolo, here is some feedback, though I fear it may not be useful. I have been customizing the desktop ever since I had an Archimedes in the early 80s; customizing it for myself. I know that others may have very different tastes, so I have never tried offering to others what I do for myself. I am probably the last person who should be offering advice, because a desktop designed for many, and for advertising the virtues of RISC OS, is quite another matter. I quite admired the work of Richard Hallas, for example, whose designs for filetype icons showed a great deal of forethought and the expertise of a professional designer. Details of colour- and density-balancing which an amateur would never have achieved. No sideways-slanting directory icons, which give the viewer a headache, no vertical text. A subtle colour-coding of text-backgrounds to indicate classes of filetypes. Some things that I insist on in my own desktop: a red-for-danger colour for the X delete-icon among the toolsprites, and for the Delete option in Filer-object-menus. The latter requires me to patch the Filer module, because nobody has got round to putting the Filer-menu data into ResourceFS yet, despite my clamouring for it every few years :(. I claim that having these a different colour makes a mistaken selection just that tiny bit more unlikely. My own toolsprites are more slender than the standard ones (which look as if they have been chiselled by that Flintstone cartoon character). They use pastel colours that do not grab attention. The desktop should be like a waiter – unobtrusive but attentive. Likewise, I designed my own theme, Dinky, for NetSurf, smaller and less chunky than the others. My own taste is minimalist – puritan, even. I close windows when I do not need them. I hardly ever have more than three or four open at a time. I do not have many icons on the iconbar. I dislike jumbo-jet cockpits, such as one finds with Microsoft Office applications (and Libre-Office come to that). Non sunt multiplicanda entia sine necessitate , as William of Occam did not write, sums up my attitude to the desktop. |
Steve Revill (20) 1361 posts |
I don’t see that we’d have any objections. |
Paolo Fabio Zaino (28) 1882 posts |
Dear Gavin, that sounds great to me, so thanks a lot for your feedback. I am pretty sure that there are others that feel the same way you do about the Desktop Theming and behaviour, so if you would like to share your work with others I would love to add it to the list of Themes and Desktop customisations. I am thinking about people that do not have the same skills as you. This is the real goal of my effort, create a tool that is easy to install and easy to use to allow everyone (and so all different points of view) to be able to customise RISC OS Desktop as it pleases them. The true meaning for me of modernisation is actually allow everyone to “create” their own desktop, because this way people can have more fun using RISC OS every day and they can feel RISC OS more like their own environment. So thanks a lot for your feedback, it’s great and I encourage you to help me to add your “Gavin Desktop” to the list of available choices for every one to enjoy! :) |
Paolo Fabio Zaino (28) 1882 posts |
@ Steve Revill
Thanks a lot! :)))))) |
Steve Pampling (1551) 8172 posts |
I’ve said it often enough, so I absolutely have to contribute there. I like the sound of Gavin’s modifications. Edit In which case your “Themes” application would be “Themata” would it not? |
Paolo Fabio Zaino (28) 1882 posts |
yaay!!! :)))) |
David Feugey (2125) 2709 posts |
Theme, as a Configure applet. |
Doug Webb (190) 1180 posts |
Why Workspace when Moredesk is now open source unless I am missing some features it has over and above or other limitations. Update: Forgot to say thanks to Paolo for proposing a way forward for the desktop as I do agree the ROL version is visually better as long as you don’t go totally rounded..with a bit of zig zaggy lines :-) |
Chris (121) 472 posts |
Paolo, this looks like a very interesting project. I’ve been reading through the objectives, and my main query is whether it would be better to extend and improve the current framework, rather than create a new element that sits between the Wimp and the app. As it stands, we already have a relatively themeable desktop – a designer can replace all the window furniture and file icons, etc. These changes can be bundled up and selected from a Configure app, just as you describe. The only visual element that can’t be easily changed is the set of buttons used in dialogue boxes, which limits us to the current ‘slabbed’ style, but if that limitation were removed then we would have a fairly comprehensive means of ‘re-skinning’ RISC OS. I’m not suggesting the current system is ideal. It’s certainly not complete, and some elements (such as using WimpVisualFlags switches) could be better. But since we have a system in place, would it be a good idea to extend and refine this, rather than start from scratch? The same comment goes for your ideas about new controls, etc. They sound like very nice additions, but could they not be implemented by updating the Wimp code directly? I note that you’ll be developing this in C – is that the reason for avoiding editing the existing source? Could there be a solution to this issue that doesn’t involve re-writing the entire Wimp? Some recent changes in the ROOL repository seem aimed at making it easier to mix C and Assembler components in the sources, but I’m not clever enough to know if that offers any solution here. I’m not trying to be negative – it looks like a very cool project – but a number of theme managers of various levels of ambition have come and gone over the years (I wrote one myself!), and that’s made me think that the only way to make changes that last is really to ‘bake them in’ to the official sources. |
GavinWraith (26) 1563 posts |
@Paolo. You can get my theme from here . It is what I use, and sometimes update, and is far from perfect. I keep my screen mode at 1920×1080 because that is what a Raspberry Pi likes best. Changing screen mode is a rare occurrence for me. @Steve. OK, I like to flash my classics education now and then ;). But English borrowed theme from Greek long ago. My personal reaction is that themata is over the top. In the same way, in maths I say toposes not topoi simply to avoid the stigma of my education. I say octopuses not octopodes . A lot of people spend a lot of time in front of their screens. Most, poor things, have to put up with what others have designed for them. RISC OS users should consider themselves privileged that they can choose for themselves the ambience that will be impinging upon their subconscious. Plato believed that what you customarily view has an effect. Most of us live in places where the greed of former generations is thrust upon us. Why else would the rich choose to live in extensive parks, surrounded by greenery, where every prospect pleases ? A pleasant desktop should have the same effect. I cannot understand why some people choose to surround themselves with images (and sounds) of violence and horror – is there not enough of that already? |
Paolo Fabio Zaino (28) 1882 posts |
@ Doug
So, first Druck announced he wanted to release the code as Open Source last year and renewed his intention in an email to me. Also !Workspace actually work more like KDE desktops and Gnome Desktops, so for who likes to use multi-desk !Workspace presents a very well known interface and UI (yes we need to improve the icons! lol) However, let me reiterate that this project is about integrating all the existing tools, so I am totally fine to include also Moredesk :) |
Paolo Fabio Zaino (28) 1882 posts |
@ Chris
Thanks for your feedback! :) So, the current framework doesn’t actually have a Theme configuration file, it only seems to present icons files, so, unless I am wrong, by extending we actually mean creating a new one (or modifying the existing one to the bones). The moment you extend it you’d also want to extend the configuration applet to control more aspects. The existing Theme also doesn’t seems to have a concept of Global Controls and Desktop Gadgets, nor Theme sounds or Palette. The moment you extend to add those you’d also want to be able to configure all of the above, hence the need for a configuration protocol. Finally the notification framework doesn’t really exists right now (at least not in the form of a modern one). For example you’d want to be able to have a way to route the notification messages, to control them, to store theme somewhere etc… so the Notification framework is a project on its own to allow an App to simply send a Wimp Message and then that message to be processed as the user wants. There will be many more articles describing each single addition, I am sorry to not being able to describe the entire architecture in a single post, but yes there is a lot into it that actually has nothing to do with Themes and that’s why I temporarily called it “Desktop Modernisation Project”.
For example: what about fonts for the theme? What about sounds? What about a Palette (you know: no-dark-mode without palette control), What about gadgets? I mean yes we do have an extremely basic theming tool and it’s the most basic possible which is good for some and that is great and those who want to keep it are absolutely able to :)
That sounds great, I am sure there is a roadmap somewhere for this and given that the DME is totally optional one can always remove it if not wanted and when better windowing will be allowed for those who like the DME the DME will benefit from the new features. In other words I am not proposing to use this project as a must, objections and different opinions will always arise and that’s totally fine by me. The more options the better :)
So, software architectures are considered a religion (never read “The Cathedral and the Bazar”?), just keep extending something that will end up being re-written to be extended sounds to me just like a wording issue (apologies if that may sounds a bit too direct). I mean let me provide an example: Where in the current Theming we read a Theme configuration file? If somewhere, where is the protocol described? I am not writing a new protocol btw, I am reusing what Rich Goodwin has done before and what Little Yellow Moon as done before and what Really Small Software Company has done before and I am extending it where needed and making sure it works on RO 3, 4, 5 and possibly 6. With RO 5 being the core of it given that RO 5 is the future for RISC OS.
Mostly I am using C (my home ground) and BBC BASIC (an almost lost memory for me), so no it’s not just C. Actually some of the initial modelling in BBC BASIC works really well, so for a lot of parts I think I’ll leave them in BBCB. I am not rewriting the WIMP, far from that, and have no intention to do that on phase 1. Phase 1 is about creating the protocols and modifying EXISTING tools to achieve as much as we can. Then on a 2nd phase we may start to have a look at the WIMP source. I am a strong believer that RISC OS has to be re-written in C (this regardless the ARM64 situation) and I do not want to get in the way of ROD/ROOL. ROD/ROOL have their own roadmap, scheduling, meetings, agreements and have a view of the landscape that may differ from the user and that for many reasons (good reasons), so this project is more for the user-base and get something going, without interfering with the bigger plans.
I know you’re not trying to be negative, as I said all good :) I truly appreciate the feedback. Yes there are changes we already know will need to be done in the WIMP source, and that’s ok. But there are many, many changes that do not need to modify the WIMP source, plus I am a strong believer in “testing before I speak”, so this experience will give me the level of details I need to push on the WIMP side, but again I think it’s best to buy time to allow a WIMP rewrite in C and then look at what needs to be changed there (just my personal opinion). In my knowledge re-writing the WIMP in C and keeping fully compatible with the old WIMP will be already a challenge, so I’d not want to push for changes in that on day one. Again Chris, thanks for your feedback and hey would you like to add your stuff to the project? I would love it if you would :)))) |
David J. Ruck (33) 1636 posts |
Moredesk does have a lot more features, but it’s far too user interface heavy for me to have written, I just wanted a very simple tool like on Unix. I have got unfinished version of Workspace from the 2000s, which does away with all the palettes and icon set features which were for the old 16 colour desktop and square/rectangular screen modes, and implements the option of different backdrops and pinboard icon sets for each workspace. I’ve unwisely said I’d finish that, if I ever get time or remember how to do it. Screen mode changing is maintained as although there isn’t any need to choose between lots of pixels or lots of colours these days, it’s still useful for some people to be able to switch to a lower res desktop to make text more readable or to enable the high dpi settings (EX0 EY0). I’ve got no plans to add previewing of what is on each workspace, again that’s too much UI for me to contemplate. |