我正在使用平铺窗口管理器i3来运行selenium测试。有时我会使用Chrome& amp;除了PhantomJS之外的Firefox。我意识到一个人无法调整平铺的i3窗口的大小,所以我想知道是什么,如果有的话,可以调整窗口大小,或检测窗口当前是否平铺并将其设置为浮动?
我意识到一个选项是将chrome和firefox设置为始终在i3配置中运行浮动,但这会妨碍我的常规工作流程。
答案 0 :(得分:1)
您实际上可以使用鼠标或the resize
command调整平铺窗口的大小:
resize <grow|shrink> <up|down|left|right|height|width> [<px> px [or <ppt> ppt]]
这会在给定方向上增大或缩小窗口。使用可选参数,您可以指定应调整窗口大小的数量。第一个参数 - <px> px
- 用于浮动窗口,默认为10 px
。第二个参数 - <ppt> ppt
用于平铺窗口,并以父容器的百分点数给出,默认为10 ppt
。
在默认配置中,有一个resize
模式,可以通过 Mod + r ( Mod Alt 或 Super ,具体取决于首次启动i3
时的选择。在这种模式下,窗口 - 浮动和平铺 - 可以用向下或向右增长,并与向上和向左缩小
例如:假设您有一个容器,其中有3个相同宽度的窗口并排 - 每个占据容器宽度的33.33%。如果你在中间的那个上运行resize grow width
,它将调整大小以占用父容器的43.33%,而任何一侧的窗口将缩小到28.33%。
至于将窗口设置为浮动,您始终可以使用command floating enable
执行此操作,因此实际上无需查询当前的浮动状态。
如果您真的想要,可以从i3's IPC interface查询此信息。
概念证明:
i3-msg -t get_tree
检索JSON编码的布局树(这可以将整个JSON放在一行中,所以也许你想要通过json_xs
,json_pp
或类似的更加人性化的计划)。xdotool getactivewindow
"window": <WINDOWID>
"floating"
是否设置为"user_on"
(或可能"<ANYTHING>_on"
,我不确定)