在i3上切换全屏程序


0

我想用计算机上的node-WebKit之类的东西来制作某种状态窗口/系统监视器,这很简单。问题是,我希望能够在i3中使用键盘命令将其切换为全屏显示,而不管我所在的i3是哪个工作区。我该怎么做?


您是说要按$ meta + f吗?
larkey

不,就像特定的窗口/程序将占据整个屏幕一样,而不管我所在的工作区如何。实际上类似于gnome启动器或任何程序启动器。可能有一种不使用i3的方法来执行此操作,例如i3如何不处理墙纸。
bs7280

那很难。Afaik,您只能在当前关注的容器上全屏切换。如果您可以访问Prgroam本身,则可以告诉它进入全屏inot,这是可行的。
larkey

我唯一能想到的就是像这里描述的那样更改焦点,以将焦点更改为有问题的容器,但是遗憾的是您不能提供某些条件,而只能向左/向右/等移动。然后一个人可以exec fullscreenfor_window似乎不起作用。
larkey

Answers:


1

您可以将以下两行放入i3配置中:

for_window [title="^WINDOW_TITLE$"] mark "STATWIN", move scratchpad
bindsym Mod4+s [con_mark="^STATWIN$"] fullscreen enable, scratchpad show

WINDOW__TITLE状态窗口的确切标题在哪里,Mod4+sWin+ s)是预期的快捷方式。如果按Win+,s则它将在当前工作空间中全屏显示窗口,或者将其隐藏(如果已存在)。

说明:

  1. 初始化:

    for_window [title="^WINDOW_TITLE$"] mark "STATWIN", move scratchpad
    
    • for_window可以用于title="^WINDOWS_TITLE$"在创建符合指定条件(此处为)的窗口时运行特定命令。这意味着标题必须与窗口的初始标题匹配。还有其他条件,例如classinstance。根据您的程序,您可能需要使用除title标准以外的其他标准,甚至可能组合使用某些标准(有关更多信息,请参阅《 i3用户指南》中有关标准的部分)。
    • mark在窗口上放置一个唯一的标签,该标签以后可以与con_mark引用该窗口的条件一起使用。这里的标签是STATWIN
    • ,注意:重要的是要注意,,它用于链接命令而不是;。窗口条件([...])仅应用到下一个;(当然是该行的末尾)。
    • move scratchpad将窗口移到便条本(可用于要方便访问的窗口)。(请参阅《用户指南》中有关Scratchpad的部分
  2. 进入视窗

    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如果该窗口以前不在当前工作空间中,则使该窗口在当前工作空间中可见。如果它已经在当前工作空间中,则该窗口将被隐藏。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.