在深入研究之前,Awesome WM 是否可以做到这一点?
Before diving in, is this possible with Awesome WM?
我一直在尝试不同的平铺 WM,看看哪一个最适合我的需要。每次我尝试一个新的,它看起来不错,但我发现其他的东西并不像我喜欢的那样。我的要求随着我的发展而发展。最初,我不想进入 Awesome,因为必须学习 Lua 不在我的愿望清单上,但也许我应该尝试一下,如果它能比其他平铺 WM 更好地完成我想要的事情。
我会尽可能具体地说明我想要什么。我是 运行 3440x1440 显示器。我想尽可能多地使用垂直 space(意思是,全宽、持久但大部分为空的状态栏不是一个选项,但我确实喜欢通知区域和 date/time)。
我知道它可能不会完全按照我想要的方式做所有事情,这没关系。如果它或多或少地完成了我想要的大部分功能,我可以在 Awesome 和其他平铺 WM 之间权衡我的选择(实际上,只有 i3,这是我现在使用的,但我愿意接受更好的建议)。如果人们不只是对它做不到的事情说不,而是说 "no, but it can do ...",我将非常感激。换句话说,请随时提出可能也有帮助的替代方案。
- 将屏幕分为 3 列,最初是 30/45/25,右侧列水平分割;在我的工作期间根据需要完全可调和调整大小;
- 持久布局;当关闭一个磁贴中的最后一个应用程序时,我不希望该磁贴消失而其余磁贴调整大小。只显示一个空 space 并保留所有图块。
- 选项卡式磁贴,因此我可以在磁贴中看到 运行 哪些应用程序(类似于 i3)。
- 可通过键盘向 1 个方向调整大小的图块;当使中间 column/tile 变宽时,我希望它进入一个特定的方向进入另一个瓷砖,而不要理会另一侧。
- 我希望始终在特定磁贴中启动某些应用程序。例如,终端总是进入最右边的列 top/bottom,browser/spotify 总是进入中间,atom/IDE 总是进入左边。一些应用程序应该始终是浮动的。显然我希望能够在启动后将它们发送到不同的磁贴。
- 我不想要 100% 宽度的状态栏。它将大部分是空的,这是对屏幕空间的浪费。最好,我想要一个图块的状态栏部分,例如在最右边的图块中,用它调整大小。否则,我希望将其固定为 30%,并允许不在其下方的图块使用屏幕的整个高度。我对状态栏的理由是无声的;我实际上只想要一个通知区域和一个永久可见的日期时间。我不需要 "start menu",dmenu 或类似的是完美的,我相信它已集成。
非常感谢!
一般答案是"Awesome configuration is code and it can do whatever you want"。但是有一个问题! Awesome 可以像你描述的那样配置吗?是的,完全是。至少有 2 个分布足够接近(mine[1] 和 worron[2])(至少对于平铺工作流程而言,而不是外观)。
"catch" 是您描述的工作流程并不是真正的 "Awesome way"。 Awesome 通常用作自动平铺机。您拥有描述工作流程(代码、网络、互联网)的布局,并根据客户的编程管理客户。一旦您拥有适当的布局,就很少需要手动磁贴管理。这并不意味着你不能,我做到了,但可能值得跳出框框思考,看看你是否可以进一步自动化你的工作流程。
此外,默认的布局系统不是很现代,因此很难实现您请求的功能。我的布局系统(参见下面的 link)可以用作模块或分支,并支持上述所有功能。 Awesome 非常可配置,它的组件可以被模块替换。
https://github.com/awesomeWM/awesome/pull/644
布局 "serialization" 文档在此处:
https://elv13.github.io/libraries/awful.layout.html#awful.layout.suit.dynamic.manual
它与 i3 类似,但布局和容器更多。至于 "leaving blank space" 部分,它是使用 fill_strategy:
配置的
https://awesomewm.org/doc/api/classes/wibox.layout.ratio.html#wibox.layout.ratio.inner_fill_strategy
作为结论,我会注意到你问的是 "work exactly like i3
"。如果你想要这样的东西,那么,使用 i3。 Awesome 是一个 window 管理器框架。它的目标和用途是创建自定义桌面 shell / WM。如果它是你想要的,那就继续学习它,没有什么比你能摆脱它的可能性和控制水平更接近的了。但是,要达到 "your own perfect desktop" 的水平需要花费时间和精力。我们的用户完美桌面:
https://github.com/awesomeWM/awesome/issues/1395
您要查找的 WM 是 herbstluftwm (hlwm). Its a manual tiling window manager. The tiles which you are talking about are called frames in hlwm. Each frame can contain multiple windows. A frame can also be empty. Only if you kill a frame the other frames will automatically resize. You can add new frames vertically and horizontally and resize them. Each frame can also have a different layout to organize the windows inside. The layout you are looking for is max. This will stack the windows inside a frame on each other. It doesn't show you tabs like i3 however. hlwm allows you to create rules to open certain applications always in certain frames and workspaces. hlwm doesn't have a statusbar buildin. I personally like to use tint2。它可以替代您将 运行 应用程序视为选项卡的要求。
我一直在尝试不同的平铺 WM,看看哪一个最适合我的需要。每次我尝试一个新的,它看起来不错,但我发现其他的东西并不像我喜欢的那样。我的要求随着我的发展而发展。最初,我不想进入 Awesome,因为必须学习 Lua 不在我的愿望清单上,但也许我应该尝试一下,如果它能比其他平铺 WM 更好地完成我想要的事情。
我会尽可能具体地说明我想要什么。我是 运行 3440x1440 显示器。我想尽可能多地使用垂直 space(意思是,全宽、持久但大部分为空的状态栏不是一个选项,但我确实喜欢通知区域和 date/time)。
我知道它可能不会完全按照我想要的方式做所有事情,这没关系。如果它或多或少地完成了我想要的大部分功能,我可以在 Awesome 和其他平铺 WM 之间权衡我的选择(实际上,只有 i3,这是我现在使用的,但我愿意接受更好的建议)。如果人们不只是对它做不到的事情说不,而是说 "no, but it can do ...",我将非常感激。换句话说,请随时提出可能也有帮助的替代方案。
- 将屏幕分为 3 列,最初是 30/45/25,右侧列水平分割;在我的工作期间根据需要完全可调和调整大小;
- 持久布局;当关闭一个磁贴中的最后一个应用程序时,我不希望该磁贴消失而其余磁贴调整大小。只显示一个空 space 并保留所有图块。
- 选项卡式磁贴,因此我可以在磁贴中看到 运行 哪些应用程序(类似于 i3)。
- 可通过键盘向 1 个方向调整大小的图块;当使中间 column/tile 变宽时,我希望它进入一个特定的方向进入另一个瓷砖,而不要理会另一侧。
- 我希望始终在特定磁贴中启动某些应用程序。例如,终端总是进入最右边的列 top/bottom,browser/spotify 总是进入中间,atom/IDE 总是进入左边。一些应用程序应该始终是浮动的。显然我希望能够在启动后将它们发送到不同的磁贴。
- 我不想要 100% 宽度的状态栏。它将大部分是空的,这是对屏幕空间的浪费。最好,我想要一个图块的状态栏部分,例如在最右边的图块中,用它调整大小。否则,我希望将其固定为 30%,并允许不在其下方的图块使用屏幕的整个高度。我对状态栏的理由是无声的;我实际上只想要一个通知区域和一个永久可见的日期时间。我不需要 "start menu",dmenu 或类似的是完美的,我相信它已集成。
非常感谢!
一般答案是"Awesome configuration is code and it can do whatever you want"。但是有一个问题! Awesome 可以像你描述的那样配置吗?是的,完全是。至少有 2 个分布足够接近(mine[1] 和 worron[2])(至少对于平铺工作流程而言,而不是外观)。
"catch" 是您描述的工作流程并不是真正的 "Awesome way"。 Awesome 通常用作自动平铺机。您拥有描述工作流程(代码、网络、互联网)的布局,并根据客户的编程管理客户。一旦您拥有适当的布局,就很少需要手动磁贴管理。这并不意味着你不能,我做到了,但可能值得跳出框框思考,看看你是否可以进一步自动化你的工作流程。
此外,默认的布局系统不是很现代,因此很难实现您请求的功能。我的布局系统(参见下面的 link)可以用作模块或分支,并支持上述所有功能。 Awesome 非常可配置,它的组件可以被模块替换。
https://github.com/awesomeWM/awesome/pull/644
布局 "serialization" 文档在此处:
https://elv13.github.io/libraries/awful.layout.html#awful.layout.suit.dynamic.manual
它与 i3 类似,但布局和容器更多。至于 "leaving blank space" 部分,它是使用 fill_strategy:
配置的https://awesomewm.org/doc/api/classes/wibox.layout.ratio.html#wibox.layout.ratio.inner_fill_strategy
作为结论,我会注意到你问的是 "work exactly like i3
"。如果你想要这样的东西,那么,使用 i3。 Awesome 是一个 window 管理器框架。它的目标和用途是创建自定义桌面 shell / WM。如果它是你想要的,那就继续学习它,没有什么比你能摆脱它的可能性和控制水平更接近的了。但是,要达到 "your own perfect desktop" 的水平需要花费时间和精力。我们的用户完美桌面:
https://github.com/awesomeWM/awesome/issues/1395
您要查找的 WM 是 herbstluftwm (hlwm). Its a manual tiling window manager. The tiles which you are talking about are called frames in hlwm. Each frame can contain multiple windows. A frame can also be empty. Only if you kill a frame the other frames will automatically resize. You can add new frames vertically and horizontally and resize them. Each frame can also have a different layout to organize the windows inside. The layout you are looking for is max. This will stack the windows inside a frame on each other. It doesn't show you tabs like i3 however. hlwm allows you to create rules to open certain applications always in certain frames and workspaces. hlwm doesn't have a statusbar buildin. I personally like to use tint2。它可以替代您将 运行 应用程序视为选项卡的要求。