我在 CachyOS 中使用 fastfetch 命令。我希望左侧的标题位于中间。怎么做?我的配置文件如下所示:
--separator ": "
--set-keyless HardwareStart=┌────────── \e[1mSystem Information\e[0m ──────────┐
--set-keyless InformationEnd=└────────────────────────────────────────┘
--structure HardwareStart:OS:Kernel:Shell:DE:Uptime:InformationEnd:Colors
--set-keyless Colors= \e[38m \e[37m \e[36m \e[35m \e[34m \e[33m \e[32m \e[31m
我是基于 arch 系列的系统的新手用户。
答案1
从它的外观来看,你必须修改fastfetch
的源代码,从根本上来说。
乍一看,fastfetch 的工作方式是解析您的--structure
,并从中创建一个条目列表。
然后它进入模板,检查第一行,printf
发行版徽标的第一行,然后printf
是结构列表的第一个元素。最后,它打印一个换行符。
然后它转到第二行,打印徽标的第二行,然后打印结构列表的第二个元素。它本身由printf
“ OS:
”组成,后跟printf
检测到的操作系统 ( CachyOS Linux x86_64
)。
为了居中对齐,逻辑需要改变:首先必须测量字符串的长度会如果打印,则将“盒子”中剩余空间的一半添加到它前面,然后实际打印。
因为 fastfetch 不是这样写的:继续修改它!您可能不想直接printf
连接到控制台,而是希望让它在字符数组缓冲区上工作,并引入布局/放置函数,就像您使用实际的 TUI 框架一样,例如ncurses
或notcurses
。遗憾的是,这需要对fastfetch
源代码进行大量修改。