制作自己的主题
你可以将自己的主题添加到 ~/.config/omarchy/themes。只需复制一个现有主题作为基础(可在 /usr/share/omarchy/themes 中查看),然后按喜好调整。只要主题位于该文件夹中,就会出现在主题选择菜单里。
需要调整的主要文件是 colors.toml。它定义的颜色集会用于生成终端(Foot/Alacritty/Ghostty/Kitty)、btop、Chromium、Hyprland、Neovim、Helix、VSCode、Obsidian 以及整个 Omarchy Shell(顶部栏、菜单、通知、OSD 和锁屏)的配置。
你也可以使用随附的 Aether 应用,通过直观的 GUI 界面调整颜色并搜索背景来创建新主题。只需按 Super + Alt + Space 打开应用菜单并启动它。
已安装主题可以包含什么
Section titled “已安装主题可以包含什么”你在 ~/.config/omarchy/themes 中编写的主题可以包含任意内容——这是你的设备和文件,Omarchy 会全部应用。
使用 omarchy theme install 从他人仓库安装的主题会保留所有颜色相关内容,但会移除少数可能在设备上执行代码的文件:所有 .lua 文件、终端配置(alacritty.toml、foot.ini、ghostty.conf、kitty.conf)以及 vscode.json。主题的 hyprland.lua 是登录时由合成器运行的 Lua,终端配置决定终端启动的程序,而 vscode.json 指定要安装的 VSCode 扩展。安装他人主题应该只改变桌面外观,不应改变桌面运行的内容。
其他内容仍会完全按照主题作者的编写方式工作——btop.theme、chromium.theme、helix.toml、icons.theme、shell.toml、背景和预览都会保留。只有被移除的内容会在你的设备上根据 colors.toml 重新生成。
Omarchy 通过主题内部是否有自己的 Git 仓库来区分两者;omarchy theme install 克隆主题时会留下该仓库。因此,你编写的主题仍归你所有,从互联网获取的主题则只保留颜色内容。
如果要制作浅色模式主题,请在 colors.toml 顶部设置 mode = "light"。这样所有应用都会自动使用浅色模式。(在主题根目录放置名为 light.mode 的空文件这一旧方法仍然有效。)
如果希望文件管理器图标与主题配色一致,请添加名为 icons.theme 的文件,并写入要使用的图标集名称。默认选项为:Yaru Yaru-blue Yaru-dark Yaru-magenta Yaru-olive Yaru-prussiangreen Yaru-purple Yaru-red Yaru-sage Yaru-wartybrown Yaru-yellow。
包含 unlock.png 和 preview-unlock.png 图片的主题会列在样式 > 解锁下。unlock.png 最好使用透明 PNG。你可以使用 omarchy plymouth preview 创建预览图片。
为 Omarchy 未覆盖的应用设置主题
Section titled “为 Omarchy 未覆盖的应用设置主题”如果使用的应用不在列表中,可以通过模板让 Omarchy 为其设置主题。请在 ~/.config/omarchy/themed/ 中放置一个文件,文件名使用它生成的配置名称并加上 .tpl 扩展名,然后使用 {{ background }}、{{ foreground }}、{{ accent }}、{{ red }}、{{ color0 }} 到 {{ color15 }} 以及调色板其余颜色作为占位符编写配置。每次切换主题时,该文件都会使用新主题的颜色重新生成。
该文件夹中有一份带完整注释的 alacritty.toml.tpl.sample 可供复制,其中列出了所有可用变量,以及供应用去除 # 或使用十进制 RGB 颜色时使用的 _strip 和 _rgb 修饰符。你的模板优先级高于 Omarchy 自带模板,因此也可以用它覆盖内置应用的主题方式。
如果希望分发主题供他人使用,需要将其放在 GitHub 等公开 Git 服务器上。之后,其他人就可以在 Omarchy 菜单中使用 安装 > 样式 > 主题 并输入该 URL 进行安装。建议遵循 omarchy-[themename]-theme 命名约定,安装后主题选择菜单会正确显示为 [themename]。
剩余的 [themename] 会成为主题目录名,因此必须是 Omarchy 可以安全处理的名称:必须以字母、数字或下划线开头,其余部分可包含字母、数字、.、_、+ 和 -。大写字母会自动转换为小写;空格、引号、非英文字符等其他内容会在安装时被拒绝,而不会被转换为目录名。因此 omarchy-tokyo-night-theme、omarchy-flexoki_light-theme 和 omarchy-c++-theme 都可以正常安装。
请记住,从仓库安装后,主题附带的所有 .lua 文件、终端配置和 vscode.json 都会被移除,因此不要围绕这些文件设计主题。
你可以向 omarchy-site 仓库 提交 Pull Request,将主题添加到额外主题页面。