Answers:
您可以将以下两行放入i3配置中:
for_window [title="^WINDOW_TITLE$"] mark "STATWIN", move scratchpad
bindsym Mod4+s [con_mark="^STATWIN$"] fullscreen enable, scratchpad show
WINDOW__TITLE
状态窗口的确切标题在哪里,Mod4+s
(Win+ s)是预期的快捷方式。如果按Win+,s则它将在当前工作空间中全屏显示窗口,或者将其隐藏(如果已存在)。
初始化:
for_window [title="^WINDOW_TITLE$"] mark "STATWIN", move scratchpad
for_window
可以用于title="^WINDOWS_TITLE$"
在创建符合指定条件(此处为)的窗口时运行特定命令。这意味着标题必须与窗口的初始标题匹配。还有其他条件,例如class
或instance
。根据您的程序,您可能需要使用除title
标准以外的其他标准,甚至可能组合使用某些标准(有关更多信息,请参阅《 i3用户指南》中有关标准的部分)。mark
在窗口上放置一个唯一的标签,该标签以后可以与con_mark
引用该窗口的条件一起使用。这里的标签是STATWIN
,
注意:重要的是要注意,,
它用于链接命令而不是;
。窗口条件([...]
)仅应用到下一个;
(当然是该行的末尾)。move scratchpad
将窗口移到便条本(可用于要方便访问的窗口)。(请参阅《用户指南》中有关Scratchpad的部分)进入视窗
bindsym Mod4+s [con_mark="^STATWIN$"] fullscreen enable, scratchpad show
bindsym
将命令绑定到快捷方式(此处Mod4+s
)[con_mark="^STATWIN$"]
-告诉i3为符合所有条件的所有窗口(而不是当前聚焦的窗口)运行以下命令。条件与正则表达式匹配,因此您可以/应该分别使用^
和$
表示字符串的开头和结尾。这里唯一的标准是con_mark="^STATWIN$"
,匹配标记为STATWIN
(完全)的窗口(只能有一个),这是在初始化中完成的。fullscreen enable
(每次)都需要完成,因为Scratchpad中的窗口通常显示为浮动窗口。(确切地说:虽然可以随时在Scratchpad窗口上设置全屏状态(可见或不可见),但是当该窗口隐藏为时,该状态将被删除scratchpad show
。如果在设置全屏时该窗口不可见,它将保留不可见,但会在上全屏显示scratchpad show
),
需要使用命令定界,因为该准则应适用于两个命令scratchpad show
如果该窗口以前不在当前工作空间中,则使该窗口在当前工作空间中可见。如果它已经在当前工作空间中,则该窗口将被隐藏。