我真的很怀念 Unity 3D 中的“Aero Snap”窗口捕捉功能。在 Unity 2D 中有什么方法可以实现该功能或替代该功能吗?
答案1
11.10 及以上
完全成熟的Aero-snap是 compiz 的一个功能。
如果 compiz 对于你的电脑来说太重/有问题,那么你可以使用修改后的窗口管理器,例如xfwm4
通过将窗口拖到顶部/底部/左侧或右侧,窗口将捕捉到屏幕的相应部分。通过标题栏拖动将恢复其原始大小。
使用的好处xfwm4
是,您可以获得不错的 GUI 调整工具来修改键盘/装饰器等:
xfwm4-settings
- 样式/键盘快捷键/窗口焦点模型/窗口捕捉控制xfwm4-tweaks-settings
- 窗口循环/出色的轻量级合成器等等xfwm4-workspace-settings
- 定义您将使用的工作区数量。
如何
修改后的 window-snap 可以在我的 PPA 中找到
sudo add-apt-repository ppa:fossfreedom/xfwm4
sudo apt-get upgrade
sudo apt-get install xfwm4
推荐
默认情况下,此窗口管理器不与全局菜单集成。
两个建议 -
建议1:
如果您经常使用最大化窗口,请删除全局菜单,因为 xfwm4 装饰不与 gnome-panel 集成。
sudo apt-get remove indicator-appmenu
用作xfwm4 --replace
启动应用程序来使用此窗口管理器而不是 metacity。
建议2:
maximus
按照以下问答使用来删除最大化窗口的窗口装饰:
答案2
此功能不如 Unity 3D 中的功能好用,但在一定程度上还是有用的。我的解决方案是使用键盘快捷键,但您可以轻松使用边缘绑定(即左、右和上)来触发效果。
安装软件包。将其粘贴(Ctrl+Shift+V)到终端中:
sudo apt-get install compizconfig-settings-manager compiz-fusion-plugins-extra wmctrl
现在打开 Compiz Config 设置管理器(ALT+F2 ccsm,或系统 > 首选项 > CompizConfig… 等)。选择“命令”选项。
在‘命令行 0’中粘贴:-
WIDTH=`xdpyinfo | grep 'dimensions:' | cut -f 2 -d ':' | cut -f 1 -d 'x'` && HALF=$((($WIDTH/2)-10)) && wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -b add,maximized_vert && wmctrl -r :ACTIVE: -e 0,0,0,$HALF,-1
在‘命令行 1’中粘贴:-
WIDTH=`xdpyinfo | grep 'dimensions:' | cut -f 2 -d ':' | cut -f 1 -d 'x'` && HALF=$(($WIDTH/2)) && wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -b add,maximized_vert && wmctrl -r :ACTIVE: -e 0,$HALF,0,$HALF,-1
并在‘命令行 2’中粘贴:-
wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz
现在转到“键绑定”。单击“运行命令 0”按钮,启用它并获取此组合键:按“开始按钮”和左箭头。对所有命令执行相同操作,因此如下所示:
- 运行命令 0 ~ 左
- 运行命令 1 ~ 右
- 运行命令 2 ~ 顶部
注意:您可以安装网格插件(如在 Unity 3D 中),这样您就可以使用 Ctrl+Alt+6 [数字键盘] 等将窗口对齐到网格中。但是,我不记得如何使用窗口边缘来实现这一点。
答案3
您还可以使用 wmctrl 进行 Aero 捕捉,它具有以下好处:
- 您不需要为 Compiz 烦恼。
- 您可以在 Gnome(Unity2D)内部运行它,而无需安装其他窗口管理器。
我编写了一个 Python 脚本来设置命令。您需要做的就是:
- 调整分辨率以匹配您的显示器
- 为其创建的命令分配键盘快捷键
答案4
我使用 quicktile 的运气更好。使用方法相同,创建命令的快捷方式。