DBi*_*nJP 5 mouse window-manager compiz window snap-windows
通过拖动窗口直到光标接触屏幕的左边缘或右边缘,可以在左右部分整齐地共享屏幕空间,窗口将自动“对齐”到屏幕的那一半。我如何实现相同的功能以在“顶部”和“底部”两半而不是左右共享屏幕空间?
拖动窗口时我无法这样做,直到光标触及屏幕的顶部或底部。拖动到顶部会使窗口最大化。拖到底部只会将该窗口的其余部分放入较低的“桌面屏幕空间”。
(如果我应该使用指定的词,还请更正我的术语。)
几年前我想在Lubuntu 14.04中实现捕捉窗口功能。我认为你需要 openbox 才能工作。
看看https://github.com/lawl/opensnap
以下是该页面引用的安装过程摘要:
安装中
如果你想opensnap从源代码安装,请先确保你已经安装了 git。(或者获取 zip 文件:https://github.com/lawl/opensnap/archive/master.zip)
通过 git 获取:
git clone https://github.com/lawl/opensnap.git
Run Code Online (Sandbox Code Playgroud)
通过 zip 获取:
wget https://github.com/lawl/opensnap/archive/master.zip
Run Code Online (Sandbox Code Playgroud)
解压master.zip
确保您具备所有先决条件:
sudo apt-get install build-essential libx11-dev libgtk-3-dev wmctrl
Run Code Online (Sandbox Code Playgroud)
最后构建并安装它:
cd opensnap*
make
sudo make install
Run Code Online (Sandbox Code Playgroud)
现在启动 opensnap
opensnap
Run Code Online (Sandbox Code Playgroud)
或者
opensnap --deamon
Run Code Online (Sandbox Code Playgroud)
如果你想让它守护进程。
如果我没记错的话,在尝试取消捕捉窗口时出现了一个错误。看一下https://github.com/lawl/opensnap/issues/4 ,其中描述了一种解决方法。
在我的例子中,Lubuntu 14.04 我必须修改/home/user/.config/openbox/lubuntu-rx.xml
标签之间的代码<mousebind button="Left" action="Drag">,并且</mousebind>必须通过以下方式进行交换:
<mousebind button="Left" action="Drag">
<!-- Unsnap if snapped-->
<action name="if">
<maximizedvertical>yes</maximizedvertical>
<then>
<action name="Unmaximize"/>
<direction>vertical</direction>
<action name="MoveResizeTo">
<x>center</x>
<!-- we center windows in order to mitigate discrepancies
between window placement and mouse cursor -->
<y>current</y>
</action>
<action name="Move"/>
</then>
<else>
<action name="Move"/>
</else>
</action>
</mousebind>
Run Code Online (Sandbox Code Playgroud)
确保您位于以下标签内<context name="Titlebar">