ROXTerm Logo Support This Project SourceForge.net Logo

ROXTerm


Contents

Introduction

ROXTerm is a terminal emulator intended to provide similar features to gnome-terminal, based on the same VTE library, but with a smaller footprint and quicker start-up time. It achieves this by not using the Gnome libraries and by using a separate applet to provide the configuration GUI. It can be used as a ROX application, as the name implies, or in any other X environment.

Download

Visit the SourceForge project page to download release files or use other Sourceforge tools. If you want to get developmental versions ahead of releases, use subversion. Although there is a CVS repository it's obsolete. The actual command you will probably want to use to check out a snapshot is:

  svn co https://svn.sourceforge.net/svnroot/roxterm/trunk/roxterm ROXTerm

Requirements

You need the libraries for GTK+2 which is pretty much standard on all free Unix derivatives these days. It definitely needs at least version 2.6 of glib and probably GTK+ 2.6 too. You will also need libglade 2 - usually, but not always installed; libvte, a Gnome component; and D-BUS (see below).

To compile ROXTerm you will need the header files for all the above libraries. In packaging systems they usually come in packages whose names end in "-dev" or "-devel".

Additionally, to build a subversion checkout of ROXTerm you need autoconf, automake and libtool. Use the latest versions possible. Old versions of automake (older than 1.7?) will cause building to fail because ROXTerm uses per-target CFLAGS.

D-BUS

D-BUS is a messaging system which ROXTerm uses to connect terminals with its configure tool. D-BUS hasn't reached a stable release version yet, but "should be working pretty well these days" and the parts of its API that ROXTerm uses have been stable for several months now. However, many Linux distributions etc have out-of-date versions and ROXTerm may need recompiling to accommodate API changes if a package upgrade changes dbus.

ROXTerm uses the "session" bus, which should be started along with your desktop environment. Current versions of ROX, GNOME and KDE session managers all launch D-BUS. If you use some other session/desktop/window manager which doesn't launch D-BUS you can start it by inserting something like this near the start of your .xinitrc or .xsession:

  if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
    eval `dbus-launch --sh-syntax --exit-with-session`
    export DBUS_SESSION_BUS_ADDRESS
  fi

The reason for using a bespoke configuration messaging system over D-BUS instead of gconf is because gconf doesn't provide a way to map an arbitrary number of profiles onto configuration filenames.

Installing

To install ROXTerm for ROX all you need to do is unpack the tarball in your Apps directory and run it from there, but you will probably want to rename the folder to ROXTerm. For other systems ROXTerm may be installed in the same way as any autoconf-based source package:

  ./configure
  make
  make install

User guide

As a user of a terminal emulator you should not require much help, so this guide is very concise, covering just the more unusual features.

Tabs

Each window can contain a number of tabs, each with its own terminal.

Menus

The popup menu duplicates the same items as in the menu bar; this gives you full access to all the functions with the menu bar hidden. The menu bar is effectively redundant but provided to make ROXTerm appear more straightforward for first-time users. It can be turned on and off for a particular window or more permanently by using the configuration manager.

The popup menu also allows email and web addresses to be opened in external applications if such an address is highlighted by the pointer being over it.

URI highlighting

When the pointer is over an address that ROXTerm recognises as a URI (typically a web URL or email address) it is highlighted by underlining and a change of pointer shape. You can open the address either by right-clicking on it and choosing Open... in the menu or by holding Ctrl and left-clicking. The applications used to handle these addresses may be set with the configuration tool, otherwise it will try to find a suitable default. Also by holding Ctrl you can drag a URI to pass it to another application which is willing to accept it as a URI or text; dragging it into the same window it came from pastes the address back in.

Note that if the pointer is over the server address portion of a URL it only highlights the address, omitting the filename; move the pointer over the filename to get the whole URL. Similarly you can highlight an email address with or without a leading mailto:.

Drag & Drop

You can now drag items onto terminal windows. Text objects are fed to the terminal as if typed. Files and URIs have their location (filename or URI) fed in rather than the object's contents. Graphical files can also be dragged onto the appropriate area of the configuration manager to set terminal background images. Holding down Ctrl while dragging a highlighted URI allows the address to be dragged to another application.

You can now drag tabs by their labels to reorder them within a window or to move them to another ROXTerm window or, by dropping them outside a ROXTerm window, move tabs to new windows of their own. Use mouse button 2 to move an unselected tab without selecting it.

Configuration

Configuration is based on named profiles so you can save different sets of options and switch between them quickly. There are profiles for general options, colour schemes and keyboard accelerators (also referred to as shortcuts). Colour schemes apply to one tab at a time, but Profiles and Keyboard accelerators apply to all tabs in the same window. New windows and tabs inherit settings from the window/tab they were opened from.

The Preferences menu allows you to select the current profile etc (this setting will not be remembered; use the configuration manager to set the defaults), open the configuration manager to edit the current profile or colour scheme or to manage all settings. In the configuration manager you can select one of the four types of option groups and edit, copy, delete or rename it. Note that character encodings are handled slightly differently and there is no editor for keyboard accelerators; instead they can be changed by pressing keys while the mouse is hovering over a menu item in the terminal. Each item also has a radio button. The item with the selected radio is the default for new terminals.

You can also run the configuration manager by selecting "Configure..." in ROX's menu for the ROXTerm application or by running roxterm-config if ROXTerm has been installed conventionally.

Configuration files can easily be swapped with other users. Each profile, colour scheme and accelerator scheme has a single file associated with it; saving a valid file in the appropriate directory will create a profile etc with the same name as the file.

The directory locations for these configuration files follow the XDG Base Directory specification. In descending order of priority they are:

  1. ${XDG_CONFIG_HOME}/roxterm.sourceforge.net defaulting to ~/.config/roxterm.sourceforge.net
  2. ${XDG_CONFIG_DIRS}/roxtem.sourceforge.net defaulting to /etc/xdg/roxtem.sourceforge.net
  3. ROXTerm/Config for ROX users, or ${datadir}/roxterm/Config for others; ${datadir} is usually /usr/share for packages or /usr/local/share when compiled from source

Files will be loaded from any and all the above locations; files in high priority locations shadow ones with the same name in lower priority locations. Files are only saved in the first location.

Command-line options

ROXTerm accepts a number of command-line options. Run

    roxterm  --help
for a full list.

From version 1.1.0 ROXTerm defaults to using only one process for all terminals so that you can drag tabs between windows. If you run the command again it sends a D-BUS message to the existing process to signal it to open a new terminal, and the second process exits. To make a roxterm command run in its own separate process use the --separate option.