Page 1 of 1

The Desktop Environment

PostPosted: Sun Aug 12, 2012 11:45 am
by jbv
The core components used to build the FoxyRoxy Desktop Environment are:

OpenBox, which provides the Window Manager <click for more info [homepage]>
Rox Desktop, which provides Desktop itself <click for more info [homepage]>
AdeskBar, which provides the Task Bar and notification area

These three core packages work in conjunction with the Debian Menu System and the various standards and specifications provided by freedesktop.org

When the root user logs into the system from tty1 (the main console) the X-Window environment is automatically started. When started, the X-Window system automatically starts OpenBox, which in turn loads the Rox Desktop and Adeskbar. Where and how these things occur is as follows:

Autostart of X at login
/root/.profile has had the following lines added
Code: Select all
# if logging into tty1, run startx
if [ -z "$DISPLAY" ] && [ $(tty) = /dev/tty1 ] ; then
    startx ;
fi


The X-Window system automatically starts OpenBox
I have spent a fair amount of time trying to work out exactly how X11 autostarts OpenBox, although I could not find the exact process or script/file. If someone can explain this properly, it would be appreciated.

When OpenBox starts it processes the file /etc/xdg/openbox/autostart.sh
This file contains the two lines that start Adeskbar and the Rox Desktop as seperate processes.

To stop Adeskbar and/or the Rox desktop, simply comment out the appropriate line.
If you want to load and use a different panel or desktop, this is where you should start playing.
Note: the -p=PIN parameter passed to the Rox Desktop instructs the desktop to run in "pinboard" mode and use the file "PIN" for it's configuration The physical file used is /root/.config/rox.sourceforge.net/ROX-Filer/pb_PIN

Notes on OpenBox:

While the template OpenBox configuration files reside in /etc/xdg/openbox the ones used reside in /root/.config/openbox
The OpenBox menu is activated by right-clicking anywhere on the desktop (do not right-click over a desktop icon or the
task-bar, as this action will pop-up Rox menu if over an icon or the Adeskbar menu if in the task-bar area).

The OpenBox menu items are pretty much self explanatory.
OpenBox itself has been configured using the files /root/.config/openbox/menu.xml and /root/.config/openbox/rc.xml You can either change these files with an editor or use the GUI tools [oBox Config] and [oBox Menu] from the OpenBox menu.

The items that appear in the [Debian] section of the OpenBox menu are generated by the Gnome Menu system. The configuration file which drives this process is /etc/menu-methods/openbox This file is parsed when you execute "update-menus" from the command line. update-menus processes all of the entries (text configuratiuon files) in /usr/share/menu and parses these to create /var/lib/openbox/debian-menu.xml which is the physical file that OpenBox uses to create/display the [Debian] sub-menu on it's pop-up menu. After adding or changing a menu item, you should execure "update-menus" and you will need to restart OpenBox for it to refresh the Debian menu. In most instances you can use the [Restart] menu item, although sometimes you may need to shutdown the Desktop and type "startx" from the command line to restart the Desktop environment.

OpenBox has been tweaked so there are two desktops instead of the default of four.

Notes on the Rox Desktop:

All of the Rox Desktop configuration files reside in /root/.config/rox.sourceforge.net

While being used as a simple yet powerful "pinboard", the ROX Desktop is capable of providing a complete desktop and file manager environment. It is quite configurable and many of it's features have been toned down in FoxyRoxy. To explore or make adjustments to the features provided by Rox, simply right-click on any desktop icon which will pop-up the Rox menu where you can change or tweak how Rox is used or works with FoxyRoxy. The ROX-Filer --> Options menu will allow you to make changes such as "single-click" instead of "double-click" to start a program from the desktop.

To change the background wallpaper, right-click on any desktop icon and select the Backdrop menu item. Select the [Show] button to see the contents of the default (FoxyRoxy) ~/papers directory. If you see icons instead of thumbnails, simply right-click on the "eye" icon in the toolbar of the window. Note: The [Show] button has actually started the Rox Filer program, which is a full featured file management tool.

To place a new application icon on the Desktop, start XFE (the file manager) and navigate to /usr/share/applications Then simply drag the .desktop file onto the Desktop

Notes on Adeskbar:

Adeskbar contains a menu system which is under the Debian logo in the lower left corner of the screen. The entries that appear in this menu system are built from the .desktop files that reside in /usr/share/applications If a .desktop file is added or deleted from this directory the AdeskBar menu is automagically udapted (this occurs through the use of Dbus messages) If a file is changed, the change is not automagically updated (something we can and might fix later).

Right-Click on the taskbar will pop-up the Adeskbar menu which will let you make customisations.

General Notes about configuration files:

If you make changes to the Rox Desktop or your desktop configuration that you want to save, you will need to take a snapshot of your system. If you wish to place your setup into the main FoxyDesktop .sqf, you should manually load the FoxyDesktop.squashfs file into /tmp using the script 02-load, then copy /root/.config/rox.sourceforge.net over the top of the default files and then save your modified FoxyDesktop.squashfs using the 02-save script.

If you make changes to the Adeskbar configuration, you will need to take a snapshot of your system. As with the desktop described above, you may want to consider placing your personalised /root/.config/adeskbar/default.cfg file into the main FoxyDesktop.squashfs

Most packages installed with apt-get will automatically place their menu and .desktop files into the appropriate /usr/share directory and update-menus will often be executed as part of the apt-get install process. Occasionally you may need to restart OpenBox or exit the Desktop and restart X11 for the cahnges to be reflected in the current session. Some packages may require changes to the menu or .desktop file, or you may need to manually create an entry or edit the file to force an menu item to appear where you would prefer it to be.

The key things to remember are:
/usr/share/menu = OpenBox [Debian] menu items, saved into /var/lib/openbox/debian-menu.xml after "update-menus"
/usr/share/applications = .desktop entries processed by Adeskbar Debian logo menu and used as Desktop icons

We should create separate threads/messages to document the contents of these files and how to push things around and create new or custom entries within the different menu systems.