例子
将媒体文件拖到 Totem 的播放列表中以加入队列
Compiz 中的错误
特别是对于 Unity(以前的 Netbook 版,用于小屏幕),这是一个非常重要的功能,因为应用程序通常全屏运行,并且使用触摸板拖动可能很麻烦。
https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/624810
关于从哪里开始修复错误的任何提示?compiz 源代码中的哪个文件/行?
可用性背景
根据 Fitts、Accot 和 Zhai 的说法,快速移动到目标区域所需的时间是到目标的距离和大小的函数(参见Fitts 定律和Steering 定律)。
无需Alt-Tab 的Drag'n'Drop跨全屏窗口需要
- 开始拖动对象
- 移动到启动器/任务栏
- 转向目标应用程序图标——小而遥远的目标!
- 等待应用程序变得专注
- 转向窗口—— (巨大的目标)
可选:转向窗口的预期区域,例如播放列表(相当大的目标) - 放下物体
另一方面,使用Alt-Tab 拖放只需要
- 开始拖动对象
- 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 分配给它。
接下来启动接收应用程序(不是全屏)。
从文件管理器中为您想要的文件启动拖放 - 将鼠标拖到屏幕的右下角 - 所有窗口都会出现 SpreadMode。将鼠标拖动到接收应用程序。传播模式将关闭,接收应用程序作为活动窗口。放下您一直在拖动的项目。
我已经以图腾为例进行了全屏尝试。它在某些时候有效,但并不可靠。我认为它是抓住各种事件的全球菜单。
注意要让示例 Totem 接受放置的多个文件之一,需要对其桌面启动器进行轻微修改,如本AU 问题中所述
假设您打开了要拖放到的应用程序:开始拖动文件,转到启动器(在您开始拖动后不久就会显示)并将鼠标悬停在要拖放到的应用程序上,这应该会显示打开该应用程序的窗口,然后在仍然拖动文件的同时,将鼠标悬停在要拖放到的窗口上并等待该窗口变为活动状态(默认为 500 毫秒,但可以在 ccsm 中更改)然后您可以将文件拖放到任何位置你喜欢。
这可能听起来很冗长,但不会花费很长时间,尤其是如果您在 ccsm(可在软件中心获得)的 Scale 插件的 Behavior 选项卡中关闭“Drag and Drop Hover Timeout”,我的时间为 200ms这很好。
在两个应用程序之间拖放的另一种解决方法:
注意:这对于同一应用程序的两个窗口不起作用(至少以这种方式)。
与图腾无关,但我找到了一种在拖放文件时使用 alt-tab 的方法(将 pycharm 文件拖放到 chrome)。在 Ubuntu 20 上测试。主要细节是在完成 alt-tabbing 之前不要移动鼠标。
不要移动光标。光标应保持静止
仅单击并按住。(会有你常用的光标图标,没有拖放图标)
它在Unity 2D下工作,因为 Unity 2D 不依赖于 Compiz,而是依赖于 Metacity/Mutter: