跨(全屏)应用程序拖放,通过 Alt-Tab 切换

typ*_*ype 30 drag-and-drop usability compiz 12.04 12.10

例子

将媒体文件拖到 Totem 的播放列表中以入队

Compiz 中的错误

尤其是对于 Unity(以前的 Netbook 版,适用于小屏幕),这是一项非常重要的功能,因为应用程序通常全屏运行,并且使用触摸板拖动可能很麻烦。

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

关于从哪里开始修复错误的任何提示?compiz 源代码中的哪个文件/行?

可用性背景

根据 Fitts、Accot 和 Zhai 的说法,快速移动到目标区域所需时间是与目标距离大小的函数(参见Fitts 定律转向定律)。

不使用Alt-Tab 跨全屏窗口拖放需要

  1. 开始拖动对象
  2. 移动到启动器/任务栏
  3. 转向目标应用程序图标 -小而远的目标!
  4. 等待应用成为焦点
  5. 转向窗口 - (巨大的目标)
    可选:转向窗口的预期区域,例如播放列表(相当大的目标)
  6. 放置对象

另一方面,使用Alt-Tab拖放只需要

  1. 开始拖动对象
  2. Alt-Tab 到其他应用程序
    可选:转向窗口的预期区域,例如播放列表(相当大的目标)
  3. 放置对象

因此,在按住 Alt 键时进行拖放不需要小而远的目标

解决方法

下面的答案中提供了有趣且可能对许多用户有用的替代方法。非常感谢社区!

正确答案

...不过,似乎只有在修复错误时才可用。

最近的一些操作,可能与相关错误有关:https : //bugs.launchpad.net/ayatana-design/+bug/727903

Raf*_*lak 5

我发现它的工作方式:

  1. 开始拖,
  2. 按住鼠标按钮,按下 Super + (0-9)以切换应用程序,
  3. 继续拖放。

注意:在步骤 2 中,您可以按住 Super 键片刻,启动器将出现并显示分配给哪个应用程序的编号 (0-9)。


fos*_*dom 5

我还没有找到一种可靠的方法来将文件管理器文件放到(例如)图腾上,而接收应用程序是全屏的——但是,如果您不使接收应用程序全屏显示,以下内容对我有用。

运行 CCSM 并编辑 Scale Addon。

单击“启动窗口选择器”(启动边缘,即带有监视器图标的边缘)并将BottomRight 分配给它。

接下来启动接收应用程序(非全屏)。

从文件管理器中为您想要的文件启动拖放 - 将鼠标拖动到屏幕的底部右侧 - 所有窗口都将出现 SpreadMode。将鼠标拖动到接收应用程序。传播模式将关闭,接收应用程序作为活动窗口。放下您一直拖动的项目。

我已经尝试过以图腾为全屏的示例。它有时有效,但不可靠。我认为它的全局菜单正在抓取各种事件。

注意要让示例图腾接受放置中的多个文件之一,需要对其桌面启动器进行轻微修改,如本AU 问题中所述


小智 0

假设您打开了要拖放到的应用程序:开始拖动文件,转到启动器(开始拖动后不久就会显示)并将鼠标悬停在要拖放到的应用程序上,这应该显示打开该应用程序的窗口,然后在仍然拖动文件的同时,将鼠标悬停在要拖放到的窗口上并等待该窗口变为活动状态(默认值为 500 毫秒,但可以在 ccsm 中更改),然后您可以将文件拖放到任意位置你喜欢。

这可能听起来很啰嗦,但并不需要很长时间,特别是如果您在 ccsm 中的 Scale 插件(可在软件中心中找到)的“行为”选项卡中关闭“拖放悬停超时”,我的时间为 200 毫秒没关系。