Launching programs

Getting a shell

Getting a shell for the directory shown in a filer window

To get to the shell from a ROX-Filer window, right click to open the menu and choose Terminal Here... from the Window submenu. I usually bind this to the ` key so that I don't have to open the menu.

By default xterm is used for this. Choose Options... from the main menu and go to the Menu section to set a different program.

If you just want to enter one command, choose Shell Command... from the Window menu instead. This allows you to enter a command in a prompt that appears at the bottom of the filer window. I usually bind this to !.

Running a command with the ROX shell minibuffer

Getting a shell for you home directory

Drag your preferred terminal emulator to the pinboard or to a panel and assigned a short-cut key using the Edit Item... menu item. This short-cut will open a terminal window whatever program you are currently using. I usually bind Ctrl-` to this function.

You can probably find some suitable terminal emulators in /usr/share/applications.

To bind keys to menu items, see the keyboard shortcuts page.

Keyboard shortcuts to run applications or open files

How can I set applications or directories to open on a keypress?

Drag an application, directory or file onto the pinboard or a panel. Bring up the menu and choose Edit Item. Set the shortcut there.
These shortcuts can be used whatever else you are doing, so don't use a shortcut that's often used for something else, like F1!

Launching app dirs from the shell

An easy way to launch App Dirs from your shell without patching the shell.

This only works with httpzsh
Add to your /.zshrc:

  alias rehash="rehash; . ~/bin/load-appdir-cache.sh"
  [ "$DISPLAY" ] && . ~/bin/load-appdir-cache.sh

Create this /bin/load-appdir-cache.sh:

  APPDIR_CACHE=${HOME}/.appdir_cache
  if [ -f $APPDIR_CACHE ]; then
    cat $APPDIR_CACHE | while read item; do hash $item; done
  fi

And this /bin/update-appdir-cache:

  #!/bin/sh
  APPDIR_CACHE=${HOME}/.appdir_cache
  echo Updating AppDir cache... >/dev/stderr
  echo -n > $APPDIR_CACHE
  find /ROX-Apps ~/Apps -name AppRun | while read app; do
    echo "$(basename $(dirname $app))=$app" >> $APPDIR_CACHE
  done

Make sure to change /ROX-Apps to where your appdirs live, like /usr/local/apps
Then make this script executable:

  chmod +x ~/bin/update-appdir-cache

And put it in your Auto Start folder:

ln -sf ~/bin/update-appdir-cache ~/Choices/ROX-Session/AutoStart/

Can shells such as bash be made application directory aware?

You can use httpthis patch to add support to bash.

Opening a ROX window quickly from the shell

If you're using the httpzsh shell, add this to your ~/.zshrc:

open-rox-cwd() { rox }
zle -N open-rox-cwd
bindkey '\e[24~' open-rox-cwd

Now, pressing F12 will open a ROX filer window showing the current directory (even in the middle of
editing a line). The actual keycode (the odd string after bindkey) varies by terminal; press <Ctrl-V> <Key> at a shell
prompt to see what it should be (replacing ^[ with \e).

Creating an Open With menu

ROX-Filer has an Open With feature, but it's called Send To instead.

The SendTo menu is easily opened by right-clicking over a file with the Shift key held down. Choosing a program from the menu acts like dragging the file to it. One particularly useful program to add to this menu is Archive (for compressing files and directories).

You can also set certain programs to only appear when you click on files of a particular type (see the help message from the File -> Customise menu item):

Opening an image with the Gimp