如何禁用主题中的 window 边框。lua/rc.lua (AwesomeWM)
How do I disable the window border in theme.lua/rc.lua (AwesomeWM)
我正在尝试为 AwesomeWM 编辑我的 .config/awesome/theme.lua
和 .config/theme/rc.lua
文件。我在 theme.lua
文件中有以下几行:
theme.border_width = dpi(5)
theme.border_normal = "#14ff1b"
theme.border_focus = "#00158f"
效果非常好 - 非活动 window(s) 上的灰绿色边框和活动 window 上的蓝色边框。问题是我也是 运行 polybar(在删除默认栏的 rc.lua
行之后)并在 rc.lua
中像这样启动它(当我在 AwesomeWM 重新加载后从 .xinitrc
启动它:
awful.spawn.with_shell("killall -q polybar") -- necesarry for a reload
awful.spawn.with_shell("polybar mybar") -- mybar is the name of the bar in `.config/polybar/config`
这使我在多边形栏周围永久出现令人讨厌的绿色边框,我的问题是我想删除它。我试着把它放在上面几行之前的 rc.lua
中:
ruled.client.append_rule {
rule = { class = "polybar" },
properties = { client.border_width = 0 }
}
但这不起作用。我查看了 Reddit 和 AwesomeWM 文档,但这是我能想到的最好的,但它不起作用。有谁知道我该怎么做,如果我能做到的话(从 Polybar 中删除令人讨厌的 5dp 边框,同时基本上保持它在其他所有东西上)。
此外,我尝试将其更改为 client.border_width = xresources.apply_dpi(0)
,因为默认 theme.lua
文件将 dpi()
设置为 xresources.apply_dpi()
并将边框宽度设置为 dpi(2)
(我改成了 5),但也没用。
更新 1:我在 reddit 上发布了这个,在回复和阅读更多文档后我写了这个,但仍然不起作用:
{ rule = { class = "Polybar" },
properties = { border_width = 0 } }
我尝试用“instance”和“name”替换“class”(不太确定区别是什么),我尝试同时使用大写的“Polybar”和小写的“polybar”,但是那些没用。
在你的rc.lua中试试这样的东西,它对我有用
ruled.client.connect_signal("request::rules", function()
...
...
ruled.client.append_rule {
id = "Polybar",
rule_any = {
class = {"Ploybar"}
},
properties = {
border_width = 0,
}
}
...
...
}
好的,所以我明白了。我在 reddit post 上提问,我从中得到了两条有用的信息:
- 因为我不使用 nightly,所以我不能使用 ruled。,而必须使用 awful.rules。
- “Polybar”可能有效,而“polybar”可能无效。
所以对于解决方案:
在 rc.lua
的某一时刻,您会得到以下信息:
awful.rules.rules = {
{ rule = { },
properties = { border_width = beautiful.border_width,
border_color = beautiful.border_normal,
focus = awful.client.focus.filter,
raise = true,
keys = clientkeys,
buttons = clientbuttons,
screen = awful.screen.preferred,
placement = awful.placement.no_overlap+awful.placement.no_offscreen
}
}
...
所以,这为所有应用程序设置了一堆东西。然后我注释掉了这一行的这一部分:
properties = { -- border_width = beautiful.border_width,
然后删除了边框宽度,因此删除了边框。然后我在下面添加了一个单独的部分,将边框宽度添加到除 polybar 之外的所有内容:
{ rule = { },
except_any = { class = { "Polybar" } },
properties = { border_width = beautiful.border_width }
},
如果我以后想去掉其他任何东西的边框,我可以这样做:
except_any = { class = { "Polybar", "OtherApp1", "OtherApp2", "OtherApp3" } },
我正在尝试为 AwesomeWM 编辑我的 .config/awesome/theme.lua
和 .config/theme/rc.lua
文件。我在 theme.lua
文件中有以下几行:
theme.border_width = dpi(5)
theme.border_normal = "#14ff1b"
theme.border_focus = "#00158f"
效果非常好 - 非活动 window(s) 上的灰绿色边框和活动 window 上的蓝色边框。问题是我也是 运行 polybar(在删除默认栏的 rc.lua
行之后)并在 rc.lua
中像这样启动它(当我在 AwesomeWM 重新加载后从 .xinitrc
启动它:
awful.spawn.with_shell("killall -q polybar") -- necesarry for a reload
awful.spawn.with_shell("polybar mybar") -- mybar is the name of the bar in `.config/polybar/config`
这使我在多边形栏周围永久出现令人讨厌的绿色边框,我的问题是我想删除它。我试着把它放在上面几行之前的 rc.lua
中:
ruled.client.append_rule {
rule = { class = "polybar" },
properties = { client.border_width = 0 }
}
但这不起作用。我查看了 Reddit 和 AwesomeWM 文档,但这是我能想到的最好的,但它不起作用。有谁知道我该怎么做,如果我能做到的话(从 Polybar 中删除令人讨厌的 5dp 边框,同时基本上保持它在其他所有东西上)。
此外,我尝试将其更改为 client.border_width = xresources.apply_dpi(0)
,因为默认 theme.lua
文件将 dpi()
设置为 xresources.apply_dpi()
并将边框宽度设置为 dpi(2)
(我改成了 5),但也没用。
更新 1:我在 reddit 上发布了这个,在回复和阅读更多文档后我写了这个,但仍然不起作用:
{ rule = { class = "Polybar" },
properties = { border_width = 0 } }
我尝试用“instance”和“name”替换“class”(不太确定区别是什么),我尝试同时使用大写的“Polybar”和小写的“polybar”,但是那些没用。
在你的rc.lua中试试这样的东西,它对我有用
ruled.client.connect_signal("request::rules", function()
...
...
ruled.client.append_rule {
id = "Polybar",
rule_any = {
class = {"Ploybar"}
},
properties = {
border_width = 0,
}
}
...
...
}
好的,所以我明白了。我在 reddit post 上提问,我从中得到了两条有用的信息:
- 因为我不使用 nightly,所以我不能使用 ruled。,而必须使用 awful.rules。
- “Polybar”可能有效,而“polybar”可能无效。
所以对于解决方案:
在 rc.lua
的某一时刻,您会得到以下信息:
awful.rules.rules = {
{ rule = { },
properties = { border_width = beautiful.border_width,
border_color = beautiful.border_normal,
focus = awful.client.focus.filter,
raise = true,
keys = clientkeys,
buttons = clientbuttons,
screen = awful.screen.preferred,
placement = awful.placement.no_overlap+awful.placement.no_offscreen
}
}
...
所以,这为所有应用程序设置了一堆东西。然后我注释掉了这一行的这一部分:
properties = { -- border_width = beautiful.border_width,
然后删除了边框宽度,因此删除了边框。然后我在下面添加了一个单独的部分,将边框宽度添加到除 polybar 之外的所有内容:
{ rule = { },
except_any = { class = { "Polybar" } },
properties = { border_width = beautiful.border_width }
},
如果我以后想去掉其他任何东西的边框,我可以这样做:
except_any = { class = { "Polybar", "OtherApp1", "OtherApp2", "OtherApp3" } },