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

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

Compiz中的错误

特别是对于Unity(以前的Netbook Edition,用于小屏幕)而言,这是一个非常重要的function,因为应用程序通常是全屏运行的,使用触摸板拖动可能很麻烦。

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

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

可用性背景

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

Drag’n’Drop 没有 Alt-Tab跨越全屏窗口需要

  1. 开始拖动对象
  2. 移动到启动器/任务栏
  3. 引导目标应用程序图标 – 小而遥远的目标!
  4. 等待应用程序变得专注
  5. 转向窗户 – (巨大的目标)
    可选:转向窗口的预定区域,例如播放列表( 相当大的目标)
  6. 掉落物体

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

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

因此,Drag’n’Drop在Alt-tabbing时不需要小而远的目标

解决方法

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

正确答案

…但是,只有在修复错误时才可以使用…

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

我发现它的工作方式:

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

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

我还没有找到一种可靠的方法将文件管理器文件放到(例如)Totem上,而接收应用程序是全屏的 – 但是如果你没有让接收应用程序全屏,那么以下内容对我有用。

运行CCSM并编辑Scale Addon。

单击“启动窗口选择器”(启动边缘,即带有监视器图标的边缘)并为其指定BottomRight。

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

从文件管理器中为您想要的文件启动拖放 – 将鼠标拖动到屏幕的BottomRight – 所有窗口都会出现SpreadMode。 将鼠标拖动到接收应用程序。 传输模式将关闭,接收应用程序将作为活动窗口。 删除您拖动的项目。

我用图腾的例子作为全屏尝试了这个。 它在某些时候有效,但不可靠。 我认为它的全球菜单正在抓住各种活动。

注意:要获得示例Totem接受drop上的一个或多个文件,需要对其桌面启动器进行轻微修改,如此AU问题中所述

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

这可能听起来很长,但它不需要很长时间,特别是如果你在ccsm中的Scale插件的行为选项卡中调低“拖放hover超时”(在软件中心可用),我在200ms那没关系。

在两个应用程序之间拖放的另一种解决方法:

  1. 单击并开始拖动应用程序#1窗口中的项目
  2. 单击ALT + F1以激活启动器项目选择模式
  3. 这可能有点不舒服:按键盘上的向下(或向上)箭头键将Launcher光标移动到Application#2
  4. 按Enter键激活所选的应用程序#2
  5. 将拖动的项目拖放到弹出的窗口

注意:这对于同一应用程序的两个窗口不起作用(至少这种方式)。

它在Unity 2D下运行,因为Unity 2D不依赖于Compiz,而是依赖于Metacity / Mutter:

  • 如何安装和切换到Unity 2D桌面?