拖放(全屏)应用程序,通过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跨越全屏窗口需要
- 开始拖动对象
- 移动到启动器/任务栏
- 引导目标应用程序图标 – 小而遥远的目标!
- 等待应用程序变得专注
- 转向窗户 – (巨大的目标)
可选:转向窗口的预定区域,例如播放列表( 相当大的目标) - 掉落物体
另一方面, 使用 Alt-Tab拖放’Drag’nrop只需要
- 开始拖动对象
- Alt-Tab到其他应用程序
可选:转向窗口的预定区域,例如播放列表( 相当大的目标) - 掉落物体
因此,Drag’n’Drop在Alt-tabbing时不需要小而远的目标
解决方法
有趣且可能对许多用户有用的替代方法在下面的答案中给出。 非常感谢社区!
正确答案
…但是,只有在修复错误时才可以使用…
一些最近的行动,可能与相关的错误相关: https : //bugs.launchpad.net/ayatana-design/+bug/727903
我发现它的工作方式:
- 开始拖动,
- 按住鼠标按钮, 按
Super + (0-9)
切换应用程序, - 继续拖放。
注意:在步骤2中,您可以按住 Super
键一会儿,启动器将出现,并显示哪个号码(0-9)分配给哪个应用程序。
我还没有找到一种可靠的方法将文件管理器文件放到(例如)Totem上,而接收应用程序是全屏的 – 但是如果你没有让接收应用程序全屏,那么以下内容对我有用。
运行CCSM并编辑Scale Addon。
单击“启动窗口选择器”(启动边缘,即带有监视器图标的边缘)并为其指定BottomRight。
接下来启动接收应用程序(不是全屏)。
从文件管理器中为您想要的文件启动拖放 – 将鼠标拖动到屏幕的BottomRight – 所有窗口都会出现SpreadMode。 将鼠标拖动到接收应用程序。 传输模式将关闭,接收应用程序将作为活动窗口。 删除您拖动的项目。
我用图腾的例子作为全屏尝试了这个。 它在某些时候有效,但不可靠。 我认为它的全球菜单正在抓住各种活动。
注意:要获得示例Totem接受drop上的一个或多个文件,需要对其桌面启动器进行轻微修改,如此AU问题中所述
假设您打开了要打开的应用程序:开始拖动文件,转到启动器(应该在开始拖动后不久显示)并将鼠标hover在要删除的应用上,这应该显示打开该应用程序的窗口,然后在拖动文件的同时,将鼠标hover在要删除的窗口上并等待该窗口变为活动状态(默认为500毫秒,但可以在ccsm中更改)然后可以将文件放在任何地方你喜欢。
这可能听起来很长,但它不需要很长时间,特别是如果你在ccsm中的Scale插件的行为选项卡中调低“拖放hover超时”(在软件中心可用),我在200ms那没关系。
在两个应用程序之间拖放的另一种解决方法:
- 单击并开始拖动应用程序#1窗口中的项目
- 单击ALT + F1以激活启动器项目选择模式
- 这可能有点不舒服:按键盘上的向下(或向上)箭头键将Launcher光标移动到Application#2
- 按Enter键激活所选的应用程序#2
- 将拖动的项目拖放到弹出的窗口
注意:这对于同一应用程序的两个窗口不起作用(至少这种方式)。
它在Unity 2D下运行,因为Unity 2D不依赖于Compiz,而是依赖于Metacity / Mutter:
- 如何安装和切换到Unity 2D桌面?