我有几个壁纸和每个主题/调色板,我正试图找到一种方法来指定一个键盘快捷键来将主题从一个更改为另一个。
我没有设置每个主题的问题,但是在我的生活中,一旦awesomewm开始运行而没有杀死当前实例然后创建一个新主题,就找不到设置主题的方法。
我认为一旦主题被分配并且awesomewm已被实现,那么价值是固定的,如果是这样的话,我认为不可能这样做。
答案 0 :(得分:0)
我认为一种可能的方法是在主题更改后重新创建所有小部件。不确定整个代码,但这里有一个快速示例如何通过热键重建面板以获得真棒v4.0。
首先对屏幕构建功能进行一些修改
local function build_panel(s)
-- destroy old panel
if s.mywibox then s.mywibox:remove() end
-- create a promptbox for given screen
s.mypromptbox = awful.widget.prompt()
-- create a layoutbox for given screen
s.mylayoutbox = awful.widget.layoutbox(s)
s.mylayoutbox:buttons(awful.util.table.join(
awful.button({ }, 1, function () awful.layout.inc( 1) end),
awful.button({ }, 3, function () awful.layout.inc(-1) end),
awful.button({ }, 4, function () awful.layout.inc( 1) end),
awful.button({ }, 5, function () awful.layout.inc(-1) end))
)
-- create a taglist widget
s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, taglist_buttons)
-- create a tasklist widget
s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, tasklist_buttons)
-- create panel wibox
s.mywibox = awful.wibar({ position = "top", screen = s })
-- add widgets to the panel wibox
s.mywibox:setup {
layout = wibox.layout.align.horizontal,
{ layout = wibox.layout.fixed.horizontal, mylauncher, s.mytaglist, s.mypromptbox },
s.mytasklist,
{ layout = wibox.layout.fixed.horizontal, mykeyboardlayout, wibox.widget.systray(), mytextclock, s.mylayoutbox },
}
end
awful.screen.connect_for_each_screen(function(s)
-- wallpaper
set_wallpaper(s)
-- tags
awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1])
-- panel setup
build_panel(s)
end)
并向globalkeys
awful.key(
{ modkey }, "z",
function()
-- change theme settings
beautiful.bg_normal = "#ff2020"
beautiful.fg_normal = "#2020ff"
-- rebuild panel widgets
build_panel(mouse.screen)
end,
{description="theme colors change", group="awesome"}
),
答案 1 :(得分:0)
我也希望如此,并通过编写一些映射到快捷方式的script来实现这一点。如果您想自己做,则可以按照以下步骤操作:
~/.config/awesome
文件夹中。~/.config/awesome
)的config文件夹中。awesomewm
后查看/使用您的主题(默认快捷方式:modkey + shift + r
rc.lua
文件应只读取awesome-config-directory的文件。您只是通过复制主题文件夹的文件来“覆盖”它们。我希望即使不是仅对此答案发表评论,解释也可以。