在深入研究之前,Awesome WM 可以实现这个吗?

我一直在尝试不同的平铺式窗口管理器来找到最适合我的需求的那一个。每次尝试一个新的时,看起来很不错,但我发现其他事情并不完全按我喜欢的方式工作。我的需求随着时间而发生变化。最初,我不想尝试 Awesome,因为学习 Lua 不在我的愿望清单上,但如果它可以比其他平铺式窗口管理器更好地实现我想要的功能,也许我应该尝试一下。

关于我想要的功能,我会尽可能详细地说明。我使用的是一台 3440x1440 的显示器。我想要尽可能多地使用垂直空间(意思是,全宽度,持续但大部分空白的状态栏不是一个选项,但我喜欢通知区域和日期/时间)。

我知道它可能不能完全按我想要的方式工作,这是可以接受的。如果它基本上可以做到我想要的大部分东西,我可以在 Awesome 和其他平铺式窗口管理器之间权衡利弊(实际上,只有我目前正在使用的 i3,但我也可以接受更好的建议)。我非常希望人们不要简单粗暴地说不行,而是说“不行,但它可以做到...”。换句话说,也可以建议其他有助于解决问题的替代方案。

  • 将屏幕分成三列,最初是 30/45/25,右侧的列水平分隔;在我工作期间完全可调整和可调整大小;
  • 持续布局;当关闭平铺中的最后一个应用程序时,我不希望平铺消失,并且剩余的平铺会自动调整大小。只显示一个空白空间并保留所有平铺;
  • 带有选项卡的平铺,因此我可以在平铺内查看正在运行的应用程序(类似于 i3)。
  • 可以使用键盘将平铺调整为一个方向;当将中间列 / 平铺变宽时,我希望将其放在另一个平铺的特定方向上,而不干扰另一边的平铺。
  • 某些应用程序我希望始终启动到特定的平铺中。例如,终端始终进入最右侧的列顶部 / 底部,浏览器 / Spotify 始终进入中间,Atom / IDE 始终进入左侧。某些应用程序应始终浮动。显然,我希望能够在发射后将它们发送到不同的平铺。
  • 我不希望有一个 100% 的宽度的状态栏。它将大部分为空,这是浪费屏幕的空间。最好,我想要状态栏成为平铺的一部分,例如在最右侧的平铺中,与其一起调整大小。否则,我希望它固定为 30%,并允许在其下方不是平铺的情况下使用屏幕的完整高度。我需要状态栏的原因是静音的;我实际上只想要一个通知区域和一个日期/时间永远可见。我不需要“开始菜单”,dmenu 或类似的,并且我相信它已经集成了。

非常感谢!

点赞
用户1672598
用户1672598

一般来说,"Awesome 配置是代码,可以做任何你想做的事情"。但是有个问题。你所描述的方式能否配置 Awesome?完全可以。至少有两个发行版(我的[1]和 worron [2]),适用于平铺工作流程(外观可能有些不同)。

问题在于,你所描述的工作流不是真正的 "Awesome 方式"。Awesome通常用作自动平铺器。你需要的是描述工作流程(代码,网络,互联网)的布局,并根据它们的编程来管理客户端。一旦你有了适当的布局,手动平铺管理就很少使用了。这并不意味着你不可以这样使用,我做到了,但是考虑一下是否可以更进一步自动化你的工作流程。

同时,默认的布局系统不太现代,难以实现你所请求的功能。我的布局系统(请参见下面的链接)可以作为模块或分支使用,并支持上述所有功能。Awesome 是极其可配置的,它的组件可以被模块替换。

https://github.com/awesomeWM/awesome/pull/644

布局 "序列化" 文档在这里:

https://elv13.github.io/libraries/awful.layout.html#awful.layout.suit.dynamic.manual

它类似于 i3 但具有更多的布局和容器。至于 "留空白" 的部分,可以使用 fill_strategy 进行配置:

https://awesomewm.org/doc/api/classes/wibox.layout.ratio.html#wibox.layout.ratio.inner_fill_strategy

最后,我想说的是,你所询问的是"完全像 i3 这样工作"。如果你想要这样的东西,那就使用 i3 吧。Awesome 是一个窗口管理器框架。它的目标是创建一个定制化的桌面外壳/窗口管理器。如果这正是你想要的,那么继续学习吧。然而,要实现 "你自己的完美桌面" 需要时间和精力。我们的用户自己的完美桌面:

https://github.com/awesomeWM/awesome/issues/1395

[1] https://gfycat.com/SmallTerribleAdamsstaghornedbeetle

[2] https://www.youtube.com/watch?v=-yNALqST1-Y

2017-07-31 17:01:44
用户13982522
用户13982522

你在寻找的窗口管理器是 herbstluftwm (hlwm)。它是一款手动平铺的窗口管理器。你所说的瓷砖在 hlwm 中被称为框架。每个框架可以包含多个窗口。一个框架也可以是空的。只有当你关闭一个框架时,其他框架才会自动调整大小。你可以垂直和水平地添加新的框架并调整它们的大小。每个框架也可以有不同的布局来组织窗口内部。你在寻找的布局是最大化布局。这将使一个框架内的窗口相互堆叠。不过,它不像 i3 一样展示标签页。hlwm 允许你创建规则,始终将某些应用程序打开在特定的框架和工作空间中。hlwm 没有内置的状态栏。我个人喜欢使用 tint2。它可以用作替代你要查看运行应用程序的标签页的需求。

2021-01-06 23:25:05