Conky:有没有办法让多行文本块水平对齐?

Conky:有没有办法让多行文本块水平对齐?

我一直在使用 Andeon 的稍微优化版本conky-简单, 如下所示。

在此输入图像描述

不幸的是,我对 conky 脚本没有太多经验,所以我不确定我是否真的可以做我想做的事情:我希望将每个部分(系统、CPU 使用率等)水平对齐,作为“段落” ” 或排列在屏幕顶部的块,其间有一个小的填充空间。我希望每个块都保持其当前的外观,但并排排列而不是堆叠。

Conky 有什么办法可以做到这一点吗?我读过一些关于抵消等的文章,但没有得到很多结果。

答案1

假设您正在寻找像表类型结构这样简单的东西,答案是否定的。但应该可以得到你想要的外观。

要直接在单个 conky 脚本中解决问题,您必须单独处理每一行。也就是说,需要水平组合每个块的第一行,然后是第二行,然后是第三行,依此类推。这是可以做到的,但是会很乏味,而且剧本也会很混乱。

在单个 conky 脚本中,您还可以尝试设置minimum_width为所需的水平宽度,然后放置在${offset x}${voffset -y}块的第一行之前以及${offset x}需要重新定位的每个后续块行之前,以便将它们放置在您想要的位置(其中x-y是数字)每个偏移的像素数)。例如,请参阅免费提供的 conky 文件:https://store.kde.org/p/1112169/。然而,这需要进行繁琐的反复试验才能使一切正确。此外,在重新定位线之前的任何后续更改很可能会影响这些线的定位,因为偏移量是相对于线最初落在显示器中的位置的。

如果您愿意运行 conky 的多个实例,那么将块分成单独的 conky 脚本文件、在每个块中包含适当的定位命令并在单独的 conky 实例中运行每个块应该相当容易。

也可以通过编写 Lua 脚本来实现,但这并不是一件小事。基本上,Lua 脚本将检索所需的数据并构造原本需要手动创建的行,如上所述。该conky_parse函数(在 conky 的文件中引用man)需要在 Lua 脚本中使用来检索要显示的各个值。如果你有兴趣深入研究它并且你不熟悉 Lua,请查看Lua参考手册

这些方法都不太令人满意,但似乎它们是唯一可行的方法。

相关内容