blobdrop(1)

πŸ“¦ version 2.1, in nixos 26.05, nixpkgs unstable

okay so bestie, welcome to the blobdrop manual page β€” that's blobdrop(1) from the blobdrop Documentation set, section 1 (user commands, because we stay in our lane and our lane is iconic). Buckle up, we're dragging files from the terminal and it's gonna be cute. πŸŽ€


πŸ’– NAME πŸ’–

blobdrop β€” quickly drag and drop files from the terminal. That's the whole vibe: files go brrr from your terminal to wherever you drop 'em, fast. ✨


🌸 SYNOPSIS 🌸

The sacred invocation looks like this, no cap:

blobdrop [-hvbkpt] [-f OPT] [-x OPT] FILES

πŸ¦‹ DESCRIPTION πŸ¦‹

This program lets you drag files directly from the terminal to other applications. It can be used both as a source (files can be dragged from the terminal) and as a sink (dropped file names will be printed in the terminal). Versatile queen behavior, honestly. πŸ‘‘

Filenames can either be given as command line arguments or by piping them into stdin, one filename per line. So yes, echo and pipes are your besties here too. 🫢

Several frontends are available to drag files from. By default, blobdrop will immediately start the drag operation without having to hold down the mouse. The user can then just click on the target drop location, meaning by default there is no GUI involved. See FRONTENDS for more information. (Yes, the section later. We'll get there. Patience, bestie.) 🧚

Okay so the flags β€” every single one, because we don't gatekeep:

  • -h, --help β€” show help. That's it. Helpful icon behavior.
  • -v, --version β€” show version information.
  • -b, --frameless β€” show a frameless window. No borders, all vibe. πŸ’…
  • -f, --frontend OPT β€” selects the frontend. Must be one of {"auto" (default), "gui", "immediate", "notify", "stdout"}. For a more detailed explanation of the frontend options see FRONTENDS below.
  • -k, --keep β€” when using sink mode, keep dropped files around by default.
  • -p, --persistent β€” do not auto-hide the main window while dragging.
  • -t, --ontop β€” keep the window on top of other windows. Main character energy, fr fr. πŸ‘‘
  • -x, --auto-quit OPT β€” changes the conditions when blobdrop will automatically quit. Must be one of {"never", "first", "all" (default)}. See AUTOQUIT BEHAVIOUR below.

βœ… EXIT STATUS βœ…

Returns zero on success. So if it worked, exit status is 0. Clean. Slay. 🫑


πŸ”₯ FRONTENDS πŸ”₯

Blobdrop has multiple frontends available that change the behaviour how the drag and drop operation starts. The frontend can be chosen with the --frontend option. Pick your fighter. πŸ₯Š

πŸ€– automatic

This is the default frontend and chooses one of the following frontends automatically based on some conditions. On X11, the immediate frontend is used unless no file is passed, in which case the gui frontend is started instead. On Wayland the gui frontend is used in all cases due to limitations of the Wayland protocol. Wayland really said "not today," huh. πŸ’€

πŸͺŸ gui

This frontend shows an user interface that lists all items. Each item can be conveniently dragged on its own, or alternatively there is a button to drag all items at once. Very "drag one snack or drag the whole snack drawer" energy. πŸ“

⚑ immediate

This frontend starts the drag operation automatically without showing a GUI in between. The user does not need to hold any mouse button and can just move the mouse cursor to the target location and then click once to drop the files. Literally just point and click, no grip strength required. πŸ–±οΈ

Due to limitations in Wayland, this option is only available on X11. This option also works over XWayland, but then the target drop location is required to be running in XWayland too. Native Wayland does not have support for this frontend, because the spec requires an implicit grab for native wl_data_device::start_drag() operations, thus making it impossible to implement this workflow on Wayland. The more you know. 🌈

Another feature implemented in immediate mode is that the parent terminal window will be hidden automatically during the drag operation, unless the --persistent option is set. This is useful for usecases where the target application is hidden behind the terminal where blobdrop was started from, which is often the case with floating window managers. This is an additional second usability improvement that is unfortunately also not possible to implement on Wayland due to "security" restrictions. Wayland said "security" and we said okay bestie, we'll behave. πŸ™ˆ

πŸ”” notify

This frontend spawns a notification containing the URLs of the files to drag in the x-kde-urls field. Window managers with support for this field then enable the notification to be dragged itself into other application windows. This option is mainly useful on KDE Plasma. Fancy notification drag-and-drop? We love to see it. πŸ’œ

πŸ–₯️ stdout

This frontend simply prints all files in the terminal as OSC8 links. Terminal emulators with support for OSC8 could allow the user to drag and drop such links directly. This option is equivalent to ls --hyperlink=always. Links but make it terminal-core. 🌟


⏳ AUTOQUIT BEHAVIOUR ⏳

Using --auto-quit it is possible to specify the behaviour when blobdrop will automatically quit. The following options are possible, all is the default behaviour. Choose your exit strategy, bestie. πŸšͺ

🚫 never

This option means that blobdrop will never automatically quit. It's giving clingy in the best way. It stays. Periodt.

πŸ₯‡ first

Using this option causes blobdrop to quit after the first drag operation has finished. One and done, iconic efficiency. ✨

🌟 all

With this option blobdrop keeps track of which items have been dragged already. It quits when all paths have been dragged at least once. Completionist queen behavior. πŸ‘‘


🌈 EXAMPLES 🌈

Here are some example usecases, because seeing it in action is the vibe check:

The following example drags all png files in the current directory.

$ blobdrop *.png

The next example drags a single file and explicitly does not show a GUI, always starting the drag operation right away. The user does not need to hold any mouse button. Then the user can just click on the target location to drop the file.

$ blobdrop -f immediate upload.mp4

The example below shows a new frameless window that always stays on top of other windows, containing all files chosen in the fzf selection prompt.

$ blobdrop -tb -f gui $(fzf -m)

In this example blobdrop sends a desktop notification containing the URL of the given file and then quits immediately. On supported window managers the desktop notification itself can be dragged and dropped to any application.

$ blobdrop -f notify doc.pdf

The below example shows a window displaying all files that contain the phrase "uploadable". The UI will show up right away and if the grep command takes a while, then the UI will already display the files that were found so far. The list will be updated live, as all operations are done asynchronously.

$ grep -R --files-with-matches uploadable | blobdrop

It is also possible to integrate blobdrop in other external programs. For example if you use the ranger commandline file manager, you can use blobdrop to drag any file with a simple keybinding in your ~/.config/ranger/rc.conf:

map <C-d> shell blobdrop %p

πŸ”— HOMEPAGE πŸ”—

https://github.com/vimpostor/blobdrop

Please report bugs and feature requests in the issue tracker. They're listening, bestie. 🫢


And that's the whole page, bestie. This iconic text is blobdrop(1) from blobdrop Documentation, dated 07 July 2022 β€” go drag something cute. πŸ’…βœ¨

πŸ“¦ where this page comes from