这是关于先前问题的后续问题,该问题如何使用i3窗口管理器自动启动各个工作区上的应用程序,以及在~/.i3/config
配置文件中可以执行和不能执行的操作。
首先,提供的解决方案基于Arch Linux文档以及op提供的更新,他进一步推论逻辑:
exec --no-startup-id i3-msg 'workspace 1:Web; exec /usr/bin/firefox'
exec --no-startup-id i3-msg 'workspace 1; exec firefox; workspace 2; exec urxvt; workspace 1'
同样有趣的是,这种交换是关于直接在命令行上利用其中一些而不进行重复的:
i3-msg workspace 3; i3-msg exec firefox
i3-msg workspace 9; i3-msg exec chromium
但是我从未见过根据所需的垂直或水平布局自动启动每个工作区中的许多窗口/应用程序的配置。我的目标是自动启动我使用的这个简单配置:
_____ _____ ___________ ___________
| lx | lx | | |u_| | | | proportions:
|_____|_____| | FF |lx| |spacefm | 1- 25% each
|medit| lx | | |__| | | vlc | 2- 75/25 x 25/50/25
|_____|_____| |________|u_| |_____|_____| 3- 50/50
1 2 3
因此,它从config
文件中的类似内容开始:
exec --no-startup-id i3-msg 'workspace 1; exec i3-sensible-terminal; layout toggle split; layout splitv; split vertical; exec i3-sensible-terminal; exec i3-sensible-terminal; exec i3-sensible-terminal; workspace 2; exec firefox; exec urxvt; exec i3-sensible-terminal; exec urxvt; workspace 3; exec spacefm; exec vlc'
但是,您实际上是如何实现所需的布局类型和垂直/水平分割的呢?我正在尝试,但尚不清楚您如何“混合”执行和布局。由于您是i3-img
在i3的配置中执行的,因此该语法让人觉得特质开始。您是否使用split h
(或v) - - layout split v
- exec layout split v
(focus down
或右)在每间exec
通话?
对于单个工作空间,该配置将垂直或水平启动所有应用程序,而我似乎无法影响布局-或split
链中的最后一条命令确定窗口是垂直添加还是水平添加。i3-msg
似乎忽略了某些情况下命令格式不正确的部分,因此很难调试。事实是,您确实确实需要退出X并startx
每次都再次验证结果,因为mod+shift+R
即使您关闭了每个工作区上的所有内容,只要刷新配置也不会削减它,这一事实使情况更加复杂。
什么是正确的配置方式?有没有人能实现这样的解决方案?该文档非常好,但是没有提供一个可以在多个工作空间上混合执行和布局的详细示例。
我相信您正在寻找i3 v4.8(2014-06-15)中引入的新 的节省布局的功能。链接的文档似乎非常详尽。
引用文档:
布局保存/还原允许您加载JSON布局文件,以便在启动计算机后可以使用基本布局开始工作。还可以想到动态用例:如果您经常(但不总是如此!)需要使用ping / traceroute命令来对终端进行网格布局以诊断网络问题,则可以轻松地以正确的布局自动打开这些窗口。
...以及发行说明:
TL;博士:出口1当前的布局JSON文件,将其加载到新酷睿i3的会议,获得将由实际的应用程序,一旦你开始它们被替换占位符的窗口。
1.您可能需要perl-anyevent-i3和perl-json-xs软件包才能使用该i3-save-tree
实用程序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句