我在用
m4
用“我的”中包含的文件中定义的颜色/etc替换某些宏
i3wm
配置文件。
$ m4 -I themes/gruvbox-dark config.m4 > config
这是上面命令的(摘录)我的目录结构。
$ tree .
.
âââ config.m4
âââ font.m4
âââ themes
â  âââ gruvbox-dark
â  â  âââ color.m4
â  â  âââ i3.m4
âââ Xresources.m4
我定义了宏,例如:
define(M4_COLOR_FG,`#a89984')
define(M4_I3_FG,`M4_COLOR_FG')
define(M4_I3_BG,`#3c3836')
以及
M4
我仍然可以看到未展开的宏,例如:
client.focused #3c3836 M4_I3_BG M4_I3_ACTIVE_FG M4_I3_BG M4_I3_BG
client.focused_inactive #3c3836 M4_I3_BG M4_COLOR_FG M4_I3_BG M4_I3_BG
client.unfocused #3c3836 M4_I3_BG M4_COLOR_FG M4_I3_BG M4_I3_BG
client.urgent #fb4934 M4_I3_BG M4_COLOR_9 M4_COLOR_9 M4_I3_BG
client.placeholder #3c3836 M4_I3_BG M4_COLOR_FG M4_I3_BG M4_I3_BG
client.background #282828
第一个宏已展开,但行中的其余宏未展开。在input.m4文件中有相同的行:
client.focused M4_I3_BG M4_I3_BG M4_I3_ACTIVE_FG M4_I3_BG M4_I3_BG
client.focused_inactive M4_I3_BG M4_I3_BG M4_COLOR_FG M4_I3_BG M4_I3_BG
client.unfocused M4_I3_BG M4_I3_BG M4_COLOR_FG M4_I3_BG M4_I3_BG
client.urgent M4_COLOR_9 M4_I3_BG M4_COLOR_9 M4_COLOR_9 M4_I3_BG
client.placeholder M4_I3_BG M4_I3_BG M4_COLOR_FG M4_I3_BG M4_I3_BG
client.background M4_COLOR_BG
当我试着做一些微波武器时,它总是有效的…不确定这些特定的文件/宏有什么问题。
所有文件位于:
https://github.com/tomocafe/dotfiles/tree/master/i3/.i3
我在工作和家里都试过,我家的电脑是Solus(Linux)。
$ m4 --version | head -1
m4 (GNU M4) 1.4.18