可以通过拖动窗口直到光标触及屏幕的左边缘或右边缘,在左右两部分整齐地共享屏幕空间,窗口将自动“捕捉”到屏幕的那一半。如何实现相同的功能以在“上”和“下”两半而不是左右两半共享屏幕空间?
我无法在拖动窗口直到光标触及屏幕顶部或底部时执行此操作。拖动到顶部会导致窗口最大化。拖动到底部只会将该窗口的其余部分放入较低的“桌面屏幕空间”。
(如果我应该使用指定的词语,也请纠正我的术语。)
答案1
几年前我想实现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
通过 zip 获取:
wget https://github.com/lawl/opensnap/archive/master.zip
解压主程序.zip
确保您满足所有先决条件:
sudo apt-get install build-essential libx11-dev libgtk-3-dev wmctrl
最后构建并安装它:
cd opensnap*
make
sudo make install
现在启动 opensnap
opensnap
或者
opensnap --deamon
如果您希望它成为守护进程。
如果我没记错的话,在尝试取消捕捉窗口时出现了一个错误。请查看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>
确保您位于<context name="Titlebar">