Qtile 中的配置错误(平铺 Window 管理器)
config error in Qtile (Tiling Window Manager)
我正在尝试通过查看 DistroTube(Youtube) 的 gitlab 中的参考配置来配置 qtile:https://gitlab.com/dwt1/dotfiles/-/blob/master/.config/qtile/config.py
我在添加这个时遇到错误
##### BAR #####
def init_widgets_screen():
widgets_screen = init_widgets_list()
return widgets_screen
def init_screens() :
return [Screen(top=bar.Bar(widgets=init_widgets_screen(), opacity=0.95, size=20))
if __name__ in ["config", "__main__"]:
screens = init_screens()
widgets_list = init_widgets_list()
widget_screen = init_widgets_screen()
他正在使用 3 台显示器,我正在尝试将其安装到我的笔记本电脑上,所以只有一个屏幕
(参考文献 link 中需要的部分从第 555 行开始)
看起来可能只是一个空白间距问题。您需要缩进每个函数体。在 init_screens
定义中的冒号前还有一个额外的白色 space (虽然我认为这实际上是合法的 python)。
如果缺少缩进只是因为复制和粘贴到堆栈溢出,如果您可以 运行 qtile
在终端中复制 output/error 会有所帮助这里。
##### BAR #####
def init_widgets_screen():
widgets_screen = init_widgets_list()
return widgets_screen
def init_screens():
return [Screen(top=bar.Bar(widgets=init_widgets_screen(), opacity=0.95, size=20))
if __name__ in ["config", "__main__"]:
screens = init_screens()
widgets_list = init_widgets_list()
widget_screen = init_widgets_screen()
澄清后编辑
您的配置文件在第 114 行和第 317 行之间定义了 init_widgets_list
函数,它看起来像这样:
def init_widgets_list():
widgets_list = [
[
widget.Sep(
linewidth = 0,
padding = 6,
foreground = colors[2],
background = colors[0]
),
# ...
widget.Systray(
background=colors[0],
padding = 5
),
],
]
return widgets_list
您正在将小部件列表包装在另一个列表中,而 qtile 需要一个简单的小部件列表。要修复它,您需要删除一组方括号。
def init_widgets_list():
widgets_list = [
widget.Sep(
linewidth = 0,
padding = 6,
foreground = colors[2],
background = colors[0]
),
# ...
widget.Systray(
background=colors[0],
padding = 5
),
]
return widgets_list
我正在尝试通过查看 DistroTube(Youtube) 的 gitlab 中的参考配置来配置 qtile:https://gitlab.com/dwt1/dotfiles/-/blob/master/.config/qtile/config.py
我在添加这个时遇到错误
##### BAR #####
def init_widgets_screen():
widgets_screen = init_widgets_list()
return widgets_screen
def init_screens() :
return [Screen(top=bar.Bar(widgets=init_widgets_screen(), opacity=0.95, size=20))
if __name__ in ["config", "__main__"]:
screens = init_screens()
widgets_list = init_widgets_list()
widget_screen = init_widgets_screen()
他正在使用 3 台显示器,我正在尝试将其安装到我的笔记本电脑上,所以只有一个屏幕
(参考文献 link 中需要的部分从第 555 行开始)
看起来可能只是一个空白间距问题。您需要缩进每个函数体。在 init_screens
定义中的冒号前还有一个额外的白色 space (虽然我认为这实际上是合法的 python)。
如果缺少缩进只是因为复制和粘贴到堆栈溢出,如果您可以 运行 qtile
在终端中复制 output/error 会有所帮助这里。
##### BAR #####
def init_widgets_screen():
widgets_screen = init_widgets_list()
return widgets_screen
def init_screens():
return [Screen(top=bar.Bar(widgets=init_widgets_screen(), opacity=0.95, size=20))
if __name__ in ["config", "__main__"]:
screens = init_screens()
widgets_list = init_widgets_list()
widget_screen = init_widgets_screen()
澄清后编辑
您的配置文件在第 114 行和第 317 行之间定义了 init_widgets_list
函数,它看起来像这样:
def init_widgets_list():
widgets_list = [
[
widget.Sep(
linewidth = 0,
padding = 6,
foreground = colors[2],
background = colors[0]
),
# ...
widget.Systray(
background=colors[0],
padding = 5
),
],
]
return widgets_list
您正在将小部件列表包装在另一个列表中,而 qtile 需要一个简单的小部件列表。要修复它,您需要删除一组方括号。
def init_widgets_list():
widgets_list = [
widget.Sep(
linewidth = 0,
padding = 6,
foreground = colors[2],
background = colors[0]
),
# ...
widget.Systray(
background=colors[0],
padding = 5
),
]
return widgets_list