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).
OPTIONS
-f, --filefile
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, --namename
Use shelf identifier name. This can be used to have multiple dragboxes
(shelves) available.
--list
List running instances.
--window-titletitle
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.
EXAMPLES
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"
TIPS AND TRICKS
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
ACCESSING DRAGBOX
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.