You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在i3wm中实现四象限各启动一个vifm实例的脚本问题

解决i3wm下在四个象限启动vifm的脚本方案

你的两个脚本都存在逻辑问题,导致无法生成四象限布局:

问题分析

  • 第一个脚本:先执行分割命令,但首次循环时无活动窗口,分割操作无效;后续分割都是针对刚创建的窗口,最终所有窗口全水平排列。
  • 第二个脚本:使用&&意味着只有vifm退出后才会执行分割命令,而vifm是持续运行的,分割命令永远不会触发;后台运行的方式也无法保证窗口创建后再执行分割。

正确脚本

#!/bin/bash

# 启动第一个vifm实例
kitty -e vifm &
sleep 0.2  # 等待窗口初始化,确保i3能识别

# 垂直分割当前窗口,启动第二个vifm
i3-msg splitv
kitty -e vifm &
sleep 0.2

# 切回第一个窗口,水平分割后启动第三个vifm
i3-msg focus left
i3-msg splith
kitty -e vifm &
sleep 0.2

# 切回第二个窗口,水平分割后启动第四个vifm
i3-msg focus right
i3-msg splith
kitty -e vifm &
sleep 0.2

说明

  • sleep 0.2是为了给窗口创建留足时间,避免i3未识别到新窗口就执行后续操作,可根据系统响应速度调整时长。
  • 脚本通过手动控制焦点切换和分割顺序,确保每个分割操作都作用于正确的窗口,最终生成四象限布局。

内容的提问来源于stack exchange,提问作者ablrbls072

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 23:10:55