If you don't see your question below, try searching the archives of the Mailing Lists, or searching (using the box at the right of the page). If you see that a lot of people have asked the question before, consider adding the answer to this FAQ.
The FAQ is divided into sections:
The easiest way to help out with ROX is to add useful comments to the pages on this site. If you see something that's confusing, wrong, or out-of-date, leave a comment and we'll fit it! If you know a better answer to a question in the FAQ or you've got some links for the Theme Gallery, put them in.
You can also help by trying out each new version and sending bug reports and suggestions for new features. Graphics for file icons and toolbar buttons may also be accepted.
You might like to join in discussions on the Mailing Lists.
You can add features and fix bugs in the ROX programs yourself - send us patch files when you do and we may
include your changes in future releases. You can also help out by writing your own, ROX-compliant, programs or by helping other people who are doing this. The tutorials will help you get started.
Click on the $ sign beside a developer's username in the list of developers to send them money. Not all developers have $ signs, as they don't all accept donations this way.
RISC OS is an operating system used in Acorn/Castle machines. It had some good GUI features, but was poor in other areas. ROX seeks to bring these good UI features to Unix-type platforms.
No - ROX is not an emulator, it's just another Unix desktop. RISC OS applications need to be ported to run under ROX (at least until riscose gets good enough to run graphical applications). You can, however, run a RISC OS desktop in a window using an emulator such as ArcEm.
Under X, you can choose to run any window manager with any desktop. Many of the screenshots show the xfwm4 or OroboROX window managers in a more-or-less default configuration. In this, clicking the middle mouse button anywhere on the window frame will send a window to the back. Other window managers may offer an explicit back button, or you can configure them to have one.
There are several things you can do:
Take a look at this screenshot:
On RISC OS (eg, using a task window or wimp2), yes. On systems designed for it, like Linux, it actually makes the system faster and more responsive.
In the rare case when you have several runnable processes, the type of multi-tasking matters. Cooperative systems (like RISC OS) run one process, and won't let any other process run until that one says it's OK. Preemptive systems (like Linux) can switch between runnable processes whenever they please. RISC OS users will note that the case of, say, formatting a floppy, printing a document and checking your email is a situation where RISC OS performs poorly (the system becomes unresponsive). Linux does not become less responsive in this situation.
Another effect of the RISC OS system is that processes using some resource other than the CPU can still prevent others from running, because a process can't do something and tell the system to run another process at the same time. This doesn't happen on Linux.
Here's an example of what happens on RISC OS:
The same thing on Linux:
Although it can do it in a limited form, fast and reliable support requires the whole system to be designed with this in mind.
Consider something as simple as redrawing a window. On RISC OS:
On a system which can switch between processes at any point in time, the user might open another window, or move Edit's window, between Edit finding its location and doing the drawing. Then the drawing would appear in the wrong place, or over another window!
On Linux:
Notice that if Edit's window is moved or covered then the final drawing operation is still correct, because the drawing is done relative to a window, not to the screen. It's little changes like this that are needed throughout the system. As another example, consider the case of loading a file. On RISC OS:
On Linux:
Because the file (perhaps a log file) may grow in size between Edit checking the size and Edit loading it, the size must be passed to the load operation to avoid overwriting other memory and crashing. Linux therefore does not provide any system call to 'load a whole file'.
Of course, RISC OS's lack of PMT also means it can't easily support machines with multiple processors, and it may be unreliable when using network filesystems (a remote log file can still grow).
Because there's no point. X has a few problems, but they're not the things people usually blame on it. X is a graphics system that works on a huge range of graphics cards (laptops, desktops, mobile devices), has excellent backwards compatibility (decade-old software still works with modern X servers), 3D acceleration (for some cards) and support from many hardware vendors. X's policy is to have no policy about style (e.g., what a menu should look like, or which side of the window the scroll bar goes on). People therefore like to blame X for the fact that there are several different interface styles used on X (ROX, GNOME, KDE, etc).
When people suggest replacing X, they don't really want to replace X. They want to force people to use their preferred interface style by hard-coding it into the graphics system. In fact, this would just lead to people creating new graphics systems, one for each interface (after which everyone would complain that they couldn't run ROX applications under KDE's new graphics system, or that they couldn't run firefox under ROX, etc). In fact, the reason X is still here (and the older graphics systems aren't) is probably because it didn't enforce policy. Amusingly, after proposing that differing interface styles be made impossible by replacing X, there is then the problem that many useful X applications won't be available on the new system. No problem; the plans for the new graphics system gain an X-emulation layer. And we're back where we started...
GNU General Public License
GNU Lesser General Public License
Most programs contain a change log in their Help directory. You can open this directory by right-clicking on the application's icon in a ROX-Filer window and choosing Help from the popup-menu.
If you don't want to download the whole program just to see the changelog, you can also view it using the Notes link on the file releases page.
For a full log of changes to each file, you can access our public CVS repository.
gtk-font-name = "helvetica medium 12"
You can change the pinboard font (used for desktop icons) from the filer's options box.
Font support got a lot better with GTK+-2.0, so make sure you're running a recent version (2.0.0 or later) of ROX-Filer.
If you're not running a recent version of ROX-Session you can get anti-aliased fonts by setting two environment variables, like this (GTK+-2.2 and later versions do this by default):
GDK_USE_XFT=1; export GDK_USE_XFT QT_XFT=1; export QT_XFT
You might want to create a ~/.xftconfig file containing something like:
dir "/usr/local/Choices/Fonts"
You'll also want to download some good fonts.
If the monospace font (used to show file details) doesn't look right, check that your /etc/X11/XftConfig file contains something like this:
match any family == "monospace" edit family =+ "Luxi Mono";
(where "Luxi Mono" is your preferred monospace font)
The name and format of this file has changed in the new version of Xft.
See this thread for more information.
Drag the .ttf files into your (hidden) ~/.fonts directory (creating it first if it doesn't exist). On older systems, this may not work. You might also have to log out and log back in before the new fonts are detected.
Different screens pack different numbers of pixels (dots) into the same area. So, to make sure a 12pt font appears the same physical size on all screens, it will have to cover a different number of dots (pixels) on different monitors. The size-in-pixels is calculated from the point size using the DPI (dots-per-inch) setting of the screen.
Some monitors set this directly, sometimes it has to be done manually. ROX-Session doesn't touch the value, but some other desktops force it to a particular value. Therefore, you may find the DPI value is set differently depending on which desktop you use.
The xdpyinfo command will show you the current setting (under resolution). Setting the DPI correctly should really be done by the login system, since it shouldn't depend on which desktop you use.
If you bind archives to commands such as:
tar xzf "$@"
To have the files unpack into the the same directory as the archive either:
cd "`dirname $@`" tar xzf "$@"
Using Archive is prefered because it is far more flexible.
Yes, just open the Set Run Action box and set the command as:
rox "$1#/"
This means that such files are opened using ROX-Filer, with #/ on the end of the name to look inside the archive.
Not easily. But see:
http://sourceforge.net/tracker/index.php?func=detail&aid=663546&group_id=7023&atid=357023
Find a real text file and use Set Run Action on that. Using Open As Text (or Shift clicking on the file) just pretends that the type is text/plain.
ROX filetyping is based around MIME-types. The filer guesses the MIME type for a file based on its name and contents.
See the MIME-Editor application page for more information about this.
To set which application gets run when you open a file, choose `Set Run Action' from the `File' menu. Either drag an application onto the dialog box that appears, or enter a shell command to run for files of that type.
Right click on the desktop background. Choose Backdrop... from the bottom of the menu. Drag an image in.
If no background image is set, the colour set in the Options box is used (choose ROX-Filer/Options... from the menu).
You can use Wallpaper to select a random backdrop image at regular intervals, and for other interesting effects.
Note that the pinboard is actually a screen-sized window that covers the real root window completely. Therefore, programs that try to draw on the root window directly won't have any effect.
This happens when all the files are shown using the icon (or similar).
These types of file system can force all files to be marked as executable, which overrides the type system. Either re-configure the file system (if you know how!) or use the option Types=>Ignore eXecutable bit for known extensions.
This option was removed in ROX-Filer 2.3, which should be better at getting the type right without messing around.
If the file has been copied from a CD or Windows disc it will still be executable. Use either the Permissions, Info or Properties menu items to remove the executable permissions.
There are many to choose from: Ubuntu, Mandriva (formerly Mandrake), Fedora and SuSE all have good reputations for being user friendly. See below for some more.
ROX-Filer itself only requires GTK 2.4. For the whole desktop, see the Base platform page.
When a new release is made, it is a 'testing' version. After a week or so without major problems, it becomes the new stable version. Most releases are pretty stable, so please try the testing versions if you can and report any problems you find.
If you're using AddApp to install programs, there is a check box in the main window to let you decide whether you want the latest 'testing' version or the latest 'stable' version.
There will normally be a menu of desktops on the login screen. After entering your username (and before entering your password) select the one you want from the menu.
If that doesn't work, you can rename the .xsession file in your home directory to something like .xsession.backup.
(Do mv -iv .xsession .xsession.backup in your home directory.)
You can also run the KDE or GNOME panel from within ROX. Type 'panel' in the filer's 'Shell Command...' minibuffer to get the GNOME stuff, or 'kde2' to get KDE.
In the Desktop section of ROX-Filer's options box you can choose whether to have ROX-Filer manage a panel, the desktop background, or both. You can use the panel's configuration dialog box to choose which side of the screen it goes on.
ROX-Session contains a file called RunROX which it executes to start ROX-Filer. Read the start of this file, it contains instructions on customizing the file which you can follow if you need more flexibility.
#!/bin/sh # This gets run after ROX-Session is loaded and running as your # session manager, before Login is run. # # It is used to run ROX-Filer. If this process terminates, # ROX-Session will offer to rerun it. # # $1 is the ROX-Session application directory. # # If you want to modify this file, you should first copy it as # <Choices>/ROX-Session/RunROX so that upgrading ROX-Session # will not overwrite your changes. This also allows per-user # modifications.
Besides the main ones listed above (which are best for beginners), some of the other more notable ones are:
In the past, filenames have been stored using the local character set. This means that you can't send a file to someone in a different locale or have two files from different character sets on your system at once.
Therefore, there is a general move over to the UTF-8 encoding (which can represent all characters in a single encoding). Many applications (not just ROX ones) now assume that your filenames are UTF-8 and will complain if not. ROX-Filer displays names not in UTF-8 in red.
You can specify a fall-back encoding by setting the CHARSET environment variable. Use something like this to test it (-n forces a new copy of the filer to start):
CHARSET=iso-8859-2 rox -n
A better solution for the future is to convert your filenames to UTF-8 (use the filer's Rename box to convert individual files, or the iconv utility for mass conversion). You can use UTF-8 names from the shell by setting LANG, for example:
LANG=en_GB.UTF-8 xterm
For more information, see the UTF-8 and Unicode FAQ for Unix/Linux.
ROX-Filer only supports non-UTF-8 encodings enough to let you rename your files to UTF-8. Although we often get requests to add more support, this is not a useful direction. There are a huge number of places where support must be added, and even if you got the whole filer converted, you'd need to convert all your other applications too.
And, at the end of all this work converting everything to support your legacy encoding, you're just back to the bad old pre-UTF-8 days, where you can't exchange files with users in a different locale, can't have files with different alphabets on the same system, and you have to keep track of the encodings whereever you go, or the names become unreadable. So, just convert to UTF-8. It's easier in the long run!
If the program already supports translations, you can just copy an existing translation (eg, copy Messages/fr.po as Messages/de.po). Edit the file in your favourite text editor, then run ./dist to generate the output .gmo file and restart the application.
If the application doesn't yet support translations then do the following (for ROX-Lib python applications):
import os __builtins__._ = rox.i18n.translation(os.path.join(rox.app_dir, 'Messages'))
Note: you don't need to do this in every file, just the first one that gets run.
rox.info("Hello World")
becomes
rox.info(_("Hello World"))
Be sure not to mark anything else, or the program may not work correctly.
See also the ROX-Lib i18n documentation.
UTF-8 is also sometimes called utf8 (for searching).
See GIT for translators for instructions on how to send us your changes.
See the Help Installing document for general instructions. Some common problems are listed below.
Libraries come in two parts: the binaries, which are needed when running a
program that uses the library; and the header files, which are needed to
compile a program.
If you're compiling from source, you probably need to get some of the -devel packages (eg,
gtk-devel).
$ ROX-Filer/AppRun --compile
See also: 0compile
You can report a bug. Please include the exact errors displayed when compiling ("It doesn't compile" is not helpful). You can select the errors displayed in the terminal window that appears, and paste them into your email by clicking the middle mouse button.
ROX-Filer is having trouble with the icon theme. Try choosing another one.
If you have not set a theme then it cannot locate the default theme. Try removing the link ~/.icons/ROX
, e.g.
$ mv ~/.icons/ROX ~/.icons/ROX.broken $ rox -n
The filer tries to preserve file permissions when copying files, but some filesystems don't support them and you may get an error from the 'cp' command (although not all systems are affected). The 'quiet' mount option can be used in /etc/fstab to stop the message being displayed.
Some older window managers don't support features needed by the panel. However, you can turn on the 'Override window manager' option in the Compatibility section of the Options box.
The filer needs to be run using the 'rox' shell script, not by running the ROX-Filer binary directly. Some systems try to implement a primitive form of session management (without using XSMP, which the filer supports) and fail to restart it correctly.
This is a gnome-terminal bug. You need to run gnome-terminal with the --disable-factory option, otherwise it starts in the same directory which the existing gnome-terminal process started in.
Use the middle mouse button to drag the icon to a new location within the panel. If you do not have a middle mouse button, try and enable "Emulate3Buttons" in your XF86Config; doing so, you can press the left and right buttons on your mouse simultaneously to emulate the middle mouse button.
Right click on the desktop background. Choose Backdrop... from the bottom of the menu. Drag an image in.
If no background image is set, the colour set in the Options box is used (choose ROX-Filer/Options... from the menu).
You can use Wallpaper to select a random backdrop image at regular intervals, and for other interesting effects.
Some older window managers don't fully support the
Extended Window Manager Hints specification. In this case, you'll need to turn on the Override option in the Compatibility section of the Options box.
These window managers don't support the
Extended Window Manager Hints specification yet, although they hope to in future releases. In the meantime, turn on the 'Pass all backdrop mouse clicks to window manager' and 'Blackbox root menus hack' options in the Options box (Compatibility section).
XFce's root menu is part of the xfdesktop module, which creates a single large root window to set background image and create the root menu. ROX's pinboard also creates a large root window for desktop icons. These two compete.
However you can kill the xfdesktop and enable the Rox pinboard. When you do so the Xfce root menu will no longer work, but you will have desktop icons and the Rox-Filer menu by right clicking.
The Oroborus project has a Gtk+ 1.x application (on which xfdesktop is based) which doesn't create a large root window. It's called deskmenu, and provides a nice root menu without conflicting with the ROX pinboard.
See also:
No. Please don't ask about this. The old method doesn't work properly with Gtk+-2.0, is slow, ugly, and doesn't follow the WM standard. KDE, GNOME, XFCE and ROX all use a single screen-sized window for the backdrop now.
ROX provides plenty of support for setting the backdrop itself and allows external programs to choose a backdrop. See the Wallpaper application for an example; this program chooses a random backdrop
each time you log in, and can also be used to put the output of other programs, such as XEarth, on the backdrop at regular intervals.
Root-portal can be used to show log messages on the backdrop, replacing the old roottail. Deskmenu can be used to provide a custom root menu.
See this discussion for more details.