首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >具有静态布局的AwesomeWM标签

具有静态布局的AwesomeWM标签
EN

Stack Overflow用户
提问于 2018-05-23 16:50:14
回答 1查看 435关注 0票数 1

StackOverflow被表示为AwesomeWM社区支持的地方。

我希望在我的AwesomeWM配置中有一个专用的标签,其中只有三个特定的应用程序将始终运行。我使用示例配置创建了新标记,并使用awful.rules.rules过滤应用程序并将它们放入标记中。

在理解AwesomeWM布局引擎的工作原理时,我遇到了一些麻烦。我希望实现以下目标:三个固定宽度的静态列,每个应用程序位于自己的列中,当焦点改变时不发生重新排列,当任何应用程序不运行时,其保留位置保持为空。

代码语言:javascript
复制
___________________
|   |       |     |
|   |       |     |
| A |   B   |  C  |
|   |       |     |
|   |       |     |
___________________

在这种情况下如何指定布局?我应该写我自己的吗?我可以使用灵活的布局和为客户指定位置吗?推荐的实现目标的正确方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-28 19:44:10

我在理解AwesomeWM布局引擎的真正工作方式时遇到了麻烦

布局是包含两个条目的表格:

  • name是一个字符串,其中包含layout
  • arrange的名称。调用该函数是为了排列可见的客户端

因此,您实际上只需要编写一个arrange函数,以您想要的方式安排客户端。此函数的参数是awful.layout.parameters的结果,但您真正需要关心的是

  • .clients是应为arranged.
  • .workarea的客户端的列表是clients.
  • .geometries的可用空间是您的布局回写客户端的分配几何的位置

我建议阅读一些现有的布局,看看它们是如何工作的。例如,max布局非常简单:

代码语言:javascript
复制
function(p)
    for _, c in pairs(p.clients) do
        p.geometries[c] = {
            x = p.workarea.x,
            y = p.workarea.y,
            width = p.workarea.width,
            height = p.workarea.height
        }
    end
end

我应该写我自己的吗?我可以使用灵活的布局和为客户指定位置吗?

好的,上面就是写自有布局的方法。或者,也可以使客户端浮动,并通过awful.rules为其指定几何体。只要properties = { floating = true, geometry = { x = 42, y = 42, width = 42, height = 42 } }就行了。然而,这样你可能会意外地移动你的一个客户。

推荐的实现目标的正确方法是什么?

选一个。没有“只有一个正确的答案”。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50483877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档