这是关于先前问题的后续问题,该问题如何使用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
即使您关闭了每个工作区上的所有内容,只要刷新配置就不会削减它,这进一步加剧了这一事实。
什么是正确的配置方式?有没有人能实现这样的解决方案?该文档非常好,但没有提供一个详细的示例,该示例混合了在多个工作空间上的执行和布局。