如何“分割”窗口的顶部和底部?

如何“分割”窗口的顶部和底部?

可以通过拖动窗口直到光标触及屏幕的左边缘或右边缘,在左右两部分整齐地共享屏幕空间,窗口将自动“捕捉”到屏幕的那一半。如何实现相同的功能以在“上”和“下”两半而不是左右两半共享屏幕空间?

我无法在拖动窗口直到光标触及屏幕顶部或底部时执行此操作。拖动到顶部会导致窗口最大化。拖动到底部只会将该窗口的其余部分放入较低的“桌面屏幕空间”。

(如果我应该使用指定的词语,也请纠正我的术语。)

答案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">

相关内容