From 873230682096750da9db52cb60298bba3a4a4a28 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 29 Jun 2026 13:56:27 -0500 Subject: [PATCH] Use menu font icon for Omarchy update entry --- default/omarchy/omarchy-menu.jsonc | 2 +- test/shell.d/menu-test.sh | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/default/omarchy/omarchy-menu.jsonc b/default/omarchy/omarchy-menu.jsonc index c5734bd7..47722300 100644 --- a/default/omarchy/omarchy-menu.jsonc +++ b/default/omarchy/omarchy-menu.jsonc @@ -283,7 +283,7 @@ "remove.development.elixir.phoenix": {"icon":"","label":"Phoenix","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-dev-env phoenix'"}, // Update - "update.omarchy": {"icon":"","label":"Omarchy","keywords":"system","action":"omarchy-launch-floating-terminal-with-presentation omarchy-update"}, + "update.omarchy": {"icon":"","label":"Omarchy","keywords":"system","action":"omarchy-launch-floating-terminal-with-presentation omarchy-update"}, "update.channel": {"icon":"󰔫","label":"Channel","keywords":"stable rc dev edge source"}, "update.config": {"icon":"","label":"Config","keywords":"refresh default"}, "update.themes": {"icon":"󰸌","label":"Extra Themes","action":"omarchy-launch-floating-terminal-with-presentation omarchy-theme-update"}, diff --git a/test/shell.d/menu-test.sh b/test/shell.d/menu-test.sh index 17adf1e9..731da5eb 100644 --- a/test/shell.d/menu-test.sh +++ b/test/shell.d/menu-test.sh @@ -8,6 +8,7 @@ run_node_test <<'JS' const fs = require('fs') const menu = requireFromRoot('shell/plugins/menu/MenuModel.js') const menuQml = fs.readFileSync(path.join(root, 'shell/plugins/menu/Menu.qml'), 'utf8') +const defaultMenuJsonc = fs.readFileSync(path.join(root, 'default/omarchy/omarchy-menu.jsonc'), 'utf8') const parsed = menu.parseMenuJsonc(` { @@ -88,6 +89,17 @@ assertDeepEqual( 'menu builds display rows' ) +const defaultItems = menu.parseMenuJsonc(defaultMenuJsonc) +const defaultById = Object.fromEntries(defaultItems.map(item => [item.id, item])) +assert( + defaultById['update.omarchy'].icon === defaultById['learn.omarchy'].icon, + 'menu update Omarchy entry uses the menu-font Omarchy icon' +) +assert( + !defaultMenuJsonc.includes('\ue900'), + 'menu entries do not use the private Omarchy bar-font glyph' +) + assert( /function select\(delta\)[\s\S]*root\.disarmPointer\(\)[\s\S]*selectedIndex =/.test(menuQml), 'menu keyboard navigation disarms pointer selection'