Command line drag-and-drop tool for gnome.
dragbox [-naxpu0] [--get | --list] [--name id] [item ...]
Dragbox is a tool for connecting the command line with the desktop environment. It summons a drag handle in a window when you are managing files or text in the shell, connecting the different workspaces -- desktop and command line.
Dragbox can take items on the command line or from a pipe and put on its shelf. The inverse is also possible: dragged-to items can be output to the shell. It is possible to have more than one instance running, and put items on or get items from any of them.
Right-click in the window to open a context menu or access the preferences window. Clicking an item copies it to the clipboard (files can be opened as an option).
-f, --file file
Add file to the dragbox and report an error if it does not exist.
-t, --text "snippet"
Add snippet to the dragbox as text. This is needed explicitly if you want to treat an existing path as text.
-n, --no-fork
Do not fork after launch. This implies --write-on-exit. The program will not be able to communicate with other instances of itself.
--get
Query a running instance for its contents, output and exit. This respects settings affecting output format. Note that --get takes no arguments; use --name to specify which shelf to get.
-m, --name name
Use shelf identifier name. This can be used to have multiple dragboxes (shelves) available.
--list
List running instances.
--window-title title
Set window title to title. This will only have effect when the window is first created.
Output settings
-a, --write-async
Output dragged-to items to standard output as they are received.
-x, --write-on-exit
Output contents of the dragbox to standard output at exit.
-p, --paths
Use absolute paths when outputing files. This is default.
-u, --uris
Use URIs when outputing files.
-0, --null-terminate
Separate dragged-in items' output with \0, not \n. This is useful together with xargs -0
The following are generic options
-h, --help
Displays usage information and exits.
-v, --version
Displays version information and exits.
dragbox . file1.txt
Adds the current directory and file1.txt to the currently running dragbox, or creates a new one. If file1.txt does not exist, its name is added as text.
dragbox -t "Dragbox is cool"
Adds a text snippet to the currently running dragbox, or creates a new one.
dragbox --get -0 | xargs -0 tar cfz backup.tar.gz
Get current items and pipe to xargs to create a tarball. Note that this simple command will have problems if contents include text items.
dragbox --name remember .
Put the current directory on a shelf called "remember"
Dragging in gnome works very well, but there are some hidden tricks that can make some things easier.
Pressing modifier keys can switch between different types of drags; dragging a file to nautilus normally copies it, but you can hold shift to move it, or shift-ctrl to make a symlink.
You can drag from any window without activating it by holding the altgr or super key when you drag. This is often very useful.
You can bring up a minimized or obscured window while dragging by hovering momentarily over it's button in the window list (in the gnome-panel)
Just like minimized windows, you can switch workspaces while dragging if you hover over the workspaces switcher for a short while.
If you selected something in a window and focus another window, it looks like the selection disappeared. In many cases it's still there, you can try to drag it without focusing the window (see above)
Type escape while dragging to cancel the drag
Dragbox needs an X session to run and display its shelves. However, to access dragbox shelves from non-graphical sessions, all you need is to make sure dragbox knows which X session to connect to. It might be enough to define the DISPLAY variable.
dragbox was written by Ulrik Sverdrup <[email protected]>