ROX Desktop Update
tal197 writes: "More than two years since the ROX desktop (a desktop based around the filesystem) was last
mentioned on slashdot, the second stable branch of the central
ROX-Filer
component has just been released. It's still pretty light and fast, despite all the
changes, and integrates well with other desktops too."
For more information on ROX Desktop, check out the Freshmeat details.
Bye.
I tried it via X11 redirection on my iPAQ (running Familiar GNU/Linux). It wouldn't take much hassle to make ROX the ultimative PDA environment: ROX is lean as in resources as well as in screen space, it's very functional and flexible, and it can be used with a stylus or with a one-key mouse.
The links:
RISC OS 3.11 The one every british schoolchild will be familiar with...
RISC OS 4 The current version, with fancier marble look.
-- This is not a sig. But I'm a liar.
LOL. But in fact ROX will never be as fast as what inspired it - the RISC OS desktop (mostly) hand-written in ARM assember. Acorn's 8MHz ARM-based desktop was in fact faster than almost anything short of a Sun workstation back in 1988 when RISC OS came out, but most of the _feeling_ of speed came from the OS being implemented in assember, and on ROM so it loaded instantly. Legend has it the windowing code was written by a games programmer - perhaps the best person to pick.
Is anyone keeping an official list of 'desktop software that looks good and isn't horribly bloated like almost everything else seems to be these days, not like back when I were a lad' (tm)? I nominate Dillo and Icewm; I would use ROX-filer if I needed a file manager (I've become accustomed to using the shell now). I can't bring myself to give up XEmacs though :-(.
-- Ed Avis ed@membled.com
What I like so much about the ROX-Filer is that is acheives the useful functionality of Gnome/KDE without the cruft, so it goes unbelievably fast.
/usr/local/bin for command-line support. Removing a package is as simple as removing those three folders. Of course, the AppDirs don't run as cleanly under command lines and library tools, but there is a patch to bash to support AppDirs and ROX-Lib demonstrates well how libraries can work in this system. In the meantime scripts that wrap AppRun calls are easy enough to place in the path.. I have PythonTheater (a media player designed with ROX in mind) configured in this manner (http://xtheater.sourceforge.net/)
:)
And Python programmers should take a look at ROX-Lib. The primary bit that is really cool is the really simple API for creating, accessing and modifying xml configuration files that follow the same ~/Choices/ convention that ROX-Filer follows, which seems infinitely better than the standard of polluting your home directory with dotfiles and dotdirectories... Not only that, but also will generate a nice, usable GUI to manipulate those files without the programmer having to build it by hand (though the programmer has to provide a well hinted sample xml file, but this is *far* more trivial than writing the gui out by hand). Not only does this make things easy on the developer, but also enforces consistency among apps that choose to use it.
Also, the entire concept of AppDirs is very very nice. Installing an application simply involves dragging it wherever you want, and it doesn't scatter files all over the file system, making package management a moot point. The de-facto standard has been to scatter files all over the damn place right next to other packages and this creates a huge problem package managers have been trying to solve effectively, but it is never perfect (packages occasionally make modifications not tracked by these managers). AppDir as ROX is designed around and specifies keeps package files well separated, in its own AppDir, own subdir of a system Choices directory, or per-user Choices directories. Nothing stops a bad developer from breaking this convention, but there rarely is a need, at most placing a wrapper script in
Only issue with ROX-Lib is that it is python specific, so all that cool stuff is only for python developers, but I like python too
XML is like violence. If it doesn't solve the problem, use more.
The app-directory idea is neat, but it has its problems. Some things do require a central registry of applications - like associating particular file types with particular apps. So what do you do - scan the whole hard disk at boot looking for app directories and registering them?
On RISC OS each app-directory had a file inside called !Boot which was run whenever the filer _saw_ the app. Normally this was (effectively) a shell script which set some system-global environment variables for associations with particular filetypes. Needless to say this action of silently running !Boot files was a great way to spread viruses. But surprisingly opening a directory full of apps was still pretty snappy.
This system extended to libraries - a library would usually be installed as an app directory and it would need to be 'seen' by the filer before anything using that library could find it. Later on even the temporary directory (called !Scrap) did this. That is cute - you can move the temporary directory from one place to another just by clicking and dragging - but it's a nuisance that these things have to be 'seen' on every startup. IIRC there was later some method to save a session file which would visit every application seen so far, and run this session file again next time.
Since ROX-filer is just a file manager and doesn't have to set system-wide things like file assocations, it doesn't suffer from these problems AFAIK. But is there any real _need_ for app-directories?
It seems to me that they were most useful when using a handful of floppies and maybe a small hard disk; when applications were small enough to fit on a single floppy and so just copying from one disk to another was enough to 'install' an app. But how do you deal with depedencies on a particular library version, for example? Using a package manager which can check these things looks like a good idea.
Maybe a fusion of app-directories and RPM/dpkg packages would be useful. How about a package which you can double-click on to run the application immediately, but also choose to install 'centrally' (perhaps by dragging it to some strange-looking icon at the bottom of the screen) to make it install as a package, with binaries in $PATH and all that stuff.
I dunno - I liked app directories on RISC OS, but I also like Unix-style package management with install and uninstall scripts and dependency checking. And I recognize that software packaging on Unix/Linux is more complex than it was on RISC OS or even on NextStep.
I wonder what OS X does in this area?
-- Ed Avis ed@membled.com
...the OS/2 WPS already has.
Per folder (as in real directories on your file system), you can define any window size, icon arrangement, background colour, font, layout (free, grid, etc), large/small icon or just text, just about anything you can imagine.
Customization of colours, fonts, background is all via simple drag 'n drop if you wish.
Great step forward for Linux, but it's just catching up to something been done waaay back in the mid-90's
I use nautilus onmy desktop, turn off alot of the bells and whistles, smooth icons etc, and you have a realtively fast system. It does not however compare to ROX as far as speed goes. I installed the ROX and i just found it.. lacking a polished interface, it was hard to configure.. the options menu had very few thing i could fiddle around with and as soon as in inatlled, i didn't know what to do. I personally think nautilus is the best fm as far as ease of use goes, speed, i give to ROX. ... heck anything beats GMC and its clunkyness
The war with islam is a war on the beast
The war on terror is a war for peace
Amazing how five minutes research can turn up information such as the CHOICESPATH environment variable.
It defaults to ~/Choices if you don't set it to something else.
This is in Rox's FAQ on the project homepage.
There are a few things you can do about this:
I may make an option so that right-clicking a file goes straight to the context menu. For most users, though, it's better to show them the whole menu every time.
The Options box would be a good place to start ;-)
Try Options->Types->Ignore eXecutable bit for known extensions.
Also, for text files, click with Shift held down to load it into a text editor instead of running it (this works with other files too). Shift + right button click to get a menu of possible applications to send it to.
The next phase .17 is to turn Enlightenment into a desktop shell. I am wondering if the enlightenment developers are taking a look at this appaorch...
Actually, ROX-Filer does deal with that (although a patch recently appeared on the developer list to let it use the GNOME settings instead).
As an example, let's say you want HTML documents to load into Galeon:
You can also supply a command in the dialog box instead, eg galeon "$@".