Lua Awesome WM:在启动时按特定顺序放置平铺客户机

Lua Awesome WM:在启动时按特定顺序放置平铺客户机,lua,awesome-wm,Lua,Awesome Wm,我大约一周前安装了Awesome WM。从那以后,我一直试图在启动时按特定顺序放置终端客户端(裸终端和vim、vifm、htop)。以下是我试图实现的目标的视觉表现: ######################## # # htop # # ########### # vim # bare # # ########### # # vifm # ################

我大约一周前安装了Awesome WM。从那以后,我一直试图在启动时按特定顺序放置终端客户端(裸终端和vim、vifm、htop)。以下是我试图实现的目标的视觉表现:

########################
#            #   htop  #
#            ###########
#    vim     #   bare  #
#            ###########
#            #   vifm  #
########################
我已经设法将vim放置在正确的位置,但其他窗口的放置顺序似乎是任意的,每次重新启动都会发生变化。以下是我的autostart.lua配置的内容:

1本地可怕=需要(“可怕”)
1.
2.spawn.single_实例(终端..“-e xmodmap~/.xmodmap;退出”)
3.spawn.single_实例(“勇敢的浏览器”{
4全屏=真,
5焦点=真
6 })                                                             
7.
8.产卵(终端…“-e vim”{
9 tag=“edit”,
10位置=糟糕的。位置。左侧,
11 callback=function(c)desk.client.setmaster(c)end})
12.繁殖(终端…“-e htop”,{
13 tag=“编辑”,
14高度=80,
15 placement=糟糕的。placement.top_right})
16.产卵(终端{
17 tag=“编辑”,
18位置=糟糕的.placement.right})
19.产卵(终端…“-e vifm”,{
20 tag=“编辑”,
21 placement=糟糕的.placement.bottom_right})
22
23.产卵(终端…“-e neomutt”{
24 tag=“通信”,
25全屏=真})
26
27.spawn(“Spotify”{tag=“read”})

我遇到问题的标签布局是“tile”。我使用的是很棒的v4.3。我应该添加什么客户端属性来获得所需的行为?

我不知道您这样说的意思:“我遇到问题的标记的布局是左平铺的。”我假设您的意思是您的终端没有正确平铺?几年前,我已经使用了大约一周的AwesomeWM,但很快就意识到它需要大量的修改才能得到你想要的效果。发生在你身上的事正是我遇到的

发现仅仅使用LXDE和Devilspie2更容易。你可以很容易地用Lua脚本将windows取消装饰和最大化,跳转到其他桌面或任何你想要的地方。这可能会帮助你找到你要去的地方,但如果你的问题没有得到澄清,很难说

local screenwidth = awful.screen.geometry.width
local screenheight = awful.screen.geometry.height

local halfwidth = math.floor( screenwidth /2 )
local thirdheight = math.floor( screenheight /3 )

awful .spawn( terminal .." -e vim", {
    tag = "edit",
    width = halfwidth,
    height = screenheight,
    placement = awful .placement .left,
    callback = function(c) awful .client .setmaster(c) end }  )

awful .spawn( terminal.." -e htop", {
    tag = "edit",
    width = halfwidth,
    height = thirdheight,
    placement = awful .placement .top_right }  )

awful .spawn( terminal, {  --  bare
    tag = "edit",
    width = halfwidth,
    height = thirdheight,
    placement = awful .placement .right }  )

awful .spawn( terminal .." -e vifm", {
    tag = "edit",
    width = halfwidth,
    height = thirdheight,
    placement = awful .placement .bottom_right }  )

另外,我要指出的是,如果您只是想在桌面上查看终端输出,同时在Lua中编写脚本,那么这可能是一个可行的解决方案。

要在启动时将客户端生成到所需的位置,应使用回调选项。以下是我的autostart.lua文件中与此问题相关的部分:

1本地可怕=需要(“可怕”)
1.
2本地函数spawn_vifm()
3.产卵(终端…“-e vifm”,{
4 tag=“编辑”,
5位置=糟糕。位置。右下
6     })                                                                           
7结束
8.
9本地函数生成_项()
10.繁殖(终端,{
11 tag=“编辑”,
12位置=糟糕。位置。正确,
13回调=函数(c)spawn_vifm()结束
14 })                                                                               
15结束
16
17本地函数生成\u htop()
18.繁殖(终端…“-e htop”,{
19 tag=“编辑”,
20位置=糟糕的。位置。右上方,
21 callback=函数(c)spawn_term()结束
22     })                                                                           
23完
.......
38.产卵(终端…“-e vim”{
39 tag=“编辑”,
40位置=糟糕的。位置。左侧,
41回调=函数(c)
42.客户端.设置主机(c)
43存储\活动\客户端(可怕的.tag.find\按\名称(可怕的.screen.focused(),“编辑”),c)
44繁殖
45端
46 })
生成数据库中的下一个客户端