Nautilus remote control

Warning

This project has not been updated since 2009, and is likely not to be functional any more. It is kept around for reference or in case it gets picked up again.

What itch does this scratch?

Although graphical file browsers like Nautilus are usually unnecessary to heavy command line users, there are times when they are useful. (Think of browsing through libraries of visual media, where thumbnails are provided by the browser.)

These files enable you to use both at the same time in an interlinked way.

How does it work?

remote.py is a Nautilus extension that exposes file browsing and selection via DBus.

nautilus-shellconnection is a Zsh script that couples a Zsh instance with a Nautilus window specified by an environment variable.

dbus_call is an executable (written in python) that helps shell scripts send messages to DBus.

dbus_signal receives DBus signals and turns them into kill(2) signals.

How do I use this, what is required?

  • Nautilus
  • nautilus-python
  • dbus-python
  • zsh (other shells will require modified scripts, global replacement will not work)
  • xwininfo

Issues / ToDo

  • Features
  • Add nautilus-open-terminal functionality with autobinding
  • Add nautilus launcher from zsh with autobinding
  • Make globally installable (make debian package)
  • What I can fix
  • Make more robust (what happens if nautilus-shellconnection is run without a _PATH?)
  • dbus_signal never terminates; determin when it should.
  • Nautilus somtimes crashed when doing a cd from the shell, writing unnecessary data to ~/nautilus-debug-log.txt (didn't happen lately)
  • nautilus-shellconnection currently overwrites chpwd instead of extending it.
  • Using X11 window IDs is not portable. (Although I doubt that this is the only portability issue.)
  • When accessing URLs via FUSE mapper, nautilus is pulled into the .gvfs dir; the solution is probably in Gnome Bug 530654 (Map FUSE paths to uri's)
  • dbus_call could be replaced by dbus-send (shipped with dbus), but output handling would have to be checked
  • What probably needs patches in nautilus
  • Find a way make selection work in the other direction as well. (Selecting files out of a plugin seems not to be possible as of now.)
  • Ugly Hack Warning:
  • RemoteControlWindow._cd: Simulates GUI interaction instead of making Nautilus ''just do'' it.

Download

You can get the latest version from https://gitorious.org/chrysn-attic/nautilus-remote/.

A video demonstration of an earlier version is available; when it was taken, the shell did not yet follow the browser automatically (thus the fm command).

Copyright (C) 2008 chrysn <chrysn@fsfe.org>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.