有没有什么办法可以在 Lubuntu/LXDE/Openbox 下水平 (⬒) 或垂直 (◧ ) 平铺两个窗口?也许可以通过键盘快捷键或面板按钮?
答案1
配置:
是的,您可以通过在 openbox 配置文件中添加一些自定义键盘快捷键来实现这一点。
打开您的rc.xml
变体(例如或~/.config/openbox/lxde-rc.xml
)并在部分中插入以下代码片段:../lubuntu-rc.xml
../rc.xml
<keyboard>..</keyboard>
<!-- Vertical tiling -->
<keybind key="C-W-v">
<action name="UnmaximizeFull"/>
<action name="MoveResizeTo">
<width>50%</width>
</action>
<action name="MaximizeVert"/>
<action name="MoveResizeTo">
<x>0</x>
<y>0</y>
</action>
<action name="NextWindow">
<interactive>no</interactive>
<dialog>none</dialog>
<finalactions>
<action name="UnmaximizeFull"/>
<action name="MoveResizeTo">
<width>50%</width>
</action>
<action name="MaximizeVert"/>
<action name="MoveResizeTo">
<x>-0</x>
<y>0</y>
</action>
</finalactions>
</action>
</keybind>
<!-- Horizontal tiling -->
<keybind key="C-W-h">
<action name="UnmaximizeFull"/>
<action name="MoveResizeTo">
<height>50%</height>
</action>
<action name="MaximizeHorz"/>
<action name="MoveResizeTo">
<x>0</x>
<y>0</y>
</action>
<action name="NextWindow">
<interactive>no</interactive>
<dialog>none</dialog>
<finalactions>
<action name="UnmaximizeFull"/>
<action name="MoveResizeTo">
<height>50%</height>
</action>
<action name="MaximizeHorz"/>
<action name="MoveResizeTo">
<x>0</x>
<y>-0</y>
</action>
</finalactions>
</action>
</keybind>
<!-- Restore window dimensions -->
<keybind key="C-W-r">
<action name="UnmaximizeFull"/>
<action name="NextWindow">
<interactive>no</interactive>
<dialog>none</dialog>
<finalactions>
<action name="UnmaximizeFull"/>
</finalactions>
</action>
</keybind>
快捷方式操作:
用法:
- Super+ Ctrl+ V:垂直平铺最后活动窗口
- Super+ Ctrl+ H:水平平铺最后活动窗口
- Super+ Ctrl+ R:恢复原始窗口尺寸
要修改这些分配,只需编辑<keybind key="...">
上面代码片段中的行。
笔记:
- 此方法将仅平铺最后两个活动窗口
- 您可以通过聚焦非活动窗口并再次按热键来交换窗口位置
答案2
Lubuntu LXDE 已经具有更简单的绑定,即 Superkey+所需箭头键。请参见下文,并在修改 rc.xml 之前尝试一下,除非您需要更改键。
<keybind key="W-Left"> # HalfLeftScreen
<action name="UnmaximizeFull"/>
<action name="MoveResizeTo"><x>0</x><y>0</y><height>100%</height><width>50%</width></action>
</keybind>
<keybind key="W-Right"> # HalfRightScreen
<action name="UnmaximizeFull"/>
<action name="MoveResizeTo"><x>-0</x><y>0</y><height>100%</height><width>50%</width></action>
</keybind>
<keybind key="W-Up"> # HalfUpperScreen
<action name="UnmaximizeFull"/>
<action name="MoveResizeTo"><x>0</x><y>0</y><width>100%</width><height>50%</height></action>
</keybind>
<keybind key="W-Down"> # HalfLowerScreen
<action name="UnmaximizeFull"/>
<action name="MoveResizeTo"><x>0</x><y>-0</y><width>100%</width><height>50%</height></action>
</keybind>
我还修改了配置以添加 1/4 屏幕,这样可以在每个角落设置 4 个窗口以及切换最大化热键。Superkey+Alt+加号箭头。Superkey+Ctrl+Up 切换最大化。
<keybind key="W-A-Left"> # 1/4LeftUpperScreen
<action name="UnmaximizeFull"/>
<action name="MoveResizeTo"><x>0</x><y>0</y><height>50%</height><width>50%</width></action>
</keybind>
<keybind key="W-A-Right"> # 1/4RightLowerScreen
<action name="UnmaximizeFull"/>
<action name="MoveResizeTo"><x>-0</x><y>-0</y><height>50%</height><width>50%</width></action>
</keybind>
<keybind key="W-A-Up"> # 1/4RightUpperScreen
<action name="UnmaximizeFull"/>
<action name="MoveResizeTo"><x>-0</x><y>0</y><width>50%</width><height>50%</height></action>
</keybind>
<keybind key="W-A-Down"> # 1/4LeftLowerScreen
<action name="UnmaximizeFull"/>
<action name="MoveResizeTo"><x>0</x><y>-0</y><width>50%</width><height>50%</height></action>
</keybind>
<keybind key="W-C-Up"> # ToggleMaximize
<action name="ToggleMaximize"/>
</keybind>
答案3
谷氨酸的答案(在此页面上)非常棒,但是在将其应用于 Raspbian 时可能会从一些额外的信息中受益:
Raspbian 上的 openbox 配置文件是.config/openbox/lxde-pi-rc.xml
。它是“最小化”的,所以只有一行文本,并且默认情况下不包含键盘部分。
一个干净的解决方案是在 VScode 之类的程序中打开此文件并更改格式,然后添加适当的部分,如果愿意的话重新最小化,然后将其复制回 Pi。
我选择了一种快捷、粗糙但实用的方法:
.config/openbox/lxde-pi-rc.xml
使用您选择的文本编辑器打开- 找到字符串
</openbox_config>
,它位于非常长的“最小化”行的末尾 将光标放在该字符串前面,然后按几次 Enter 键,使其位于下一行,中间有一个空格,如下所示:
<?xml version="1.0"?> <openbox_config><theme><font place="ActiveWindow"><name>PibotoLt</name><size>16</size><weight>Normal</wei$ </openbox_config>
在空格处添加以下几行:
<keyboard> </keyboard>
复制以下行谷氨酸的答案标签之间
<keyboard></keyboard>
。- 重新加载 openbox 以使绑定立即生效:
openbox --reconfigure