Ubuntu – Drag and Drop across (fullscreen) applications, switching via Alt-Tab

12.0412.10compizdrag and dropusability

Example

Drag media file onto Totem's playlist to enqueue

Bug in Compiz

Especially for Unity (formerly Netbook Edition, being intended for small screens) this is quite a vital feature, as applications most often are run fullscreen, and dragging with the touchpad can be cumbersome.

https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/624810

Any hint on where to start fixing the bug? Which file/line in compiz source code?

Usability background

According to Fitts, Accot, and Zhai, the time required to rapidly move to a target area is a function of the distance to and the size of the target
(cf. Fitts's law and Steering law).

Drag'n'Drop without Alt-Tab across fullscreen windows requires

  1. start to drag object
  2. move to launcher/taskbar
  3. steer to target app icon — small and distant target!
  4. wait for app to become focused
  5. steer onto window — (huge target)
    optionally: steer onto intended area of window, e.g. playlist (fairly large target)
  6. drop object

Drag'n'Drop with Alt-Tab on the other hand only requires

  1. start to drag object
  2. Alt-Tab to other app
    optionally: steer onto intended area of window, e.g. playlist (fairly large target)
  3. drop object

Thus, no small and distant target required for Drag'n'Drop whilst Alt-tabbing

Workarounds

Interesting and probably for many users useful alternative approaches are presented in the answers below. Great many thanks to the community!

Correct answer

… seems to be available only when the bug is fixed, though.

Some more recent action, maybe relevant as related bug: https://bugs.launchpad.net/ayatana-design/+bug/727903

Best Answer

The way I found it working:

  1. Start dragging,
  2. Keeping your mouse button pressed, press Super + (0-9) to switch the application,
  3. Continue dragging and drop.

Note: In step 2 you can hold the Super key for a moment, the launcher will appear and will display you which number (0-9) is assigned to which application.

Related Question