From ed3320cb8dc537242e3b4b4ee734466d7eeb64d1 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 20 May 2026 14:12:06 +0200 Subject: [PATCH] Just emojis --- bin/omarchy-menu-emoji | 4 ++-- bin/omarchy-menu-keybindings | 2 +- default/hypr/apps/omarchy-shell.lua | 4 ++-- default/hypr/bindings/utilities.lua | 2 +- default/themed/shell.toml.tpl | 2 +- docs/omarchy-shell.md | 2 +- migrations/1779277899.sh | 2 ++ shell/plugins/README.md | 2 +- shell/plugins/emoji-picker/manifest.json | 15 --------------- .../EmojiPicker.qml => emojis/Emojis.qml} | 8 ++++---- .../plugins/{emoji-picker => emojis}/emojis.json | 0 shell/plugins/emojis/manifest.json | 15 +++++++++++++++ 12 files changed, 30 insertions(+), 28 deletions(-) delete mode 100644 shell/plugins/emoji-picker/manifest.json rename shell/plugins/{emoji-picker/EmojiPicker.qml => emojis/Emojis.qml} (98%) rename shell/plugins/{emoji-picker => emojis}/emojis.json (100%) create mode 100644 shell/plugins/emojis/manifest.json diff --git a/bin/omarchy-menu-emoji b/bin/omarchy-menu-emoji index 9e2a9d0f..edc1427b 100755 --- a/bin/omarchy-menu-emoji +++ b/bin/omarchy-menu-emoji @@ -1,6 +1,6 @@ #!/bin/bash -# omarchy:summary=Launch the emoji picker +# omarchy:summary=Launch emojis # omarchy:group=menu # omarchy:examples=omarchy menu emoji -omarchy-shell shell toggle omarchy.emoji-picker "{}" +omarchy-shell shell toggle omarchy.emojis diff --git a/bin/omarchy-menu-keybindings b/bin/omarchy-menu-keybindings index 158e72f5..5ca6ca88 100755 --- a/bin/omarchy-menu-keybindings +++ b/bin/omarchy-menu-keybindings @@ -461,7 +461,7 @@ prioritize_entries() { if (match(line, /Audio controls/)) prio = 18 if (match(line, /Bluetooth controls/)) prio = 19 if (match(line, /Wifi controls/)) prio = 20 - if (match(line, /Emoji picker/)) prio = 21 + if (match(line, /Emojis/)) prio = 21 if (match(line, /Color picker/)) prio = 22 if (match(line, /Screenshot/)) prio = 23 if (match(line, /Screenrecording/)) prio = 24 diff --git a/default/hypr/apps/omarchy-shell.lua b/default/hypr/apps/omarchy-shell.lua index 86126d26..04f01b2d 100644 --- a/default/hypr/apps/omarchy-shell.lua +++ b/default/hypr/apps/omarchy-shell.lua @@ -5,8 +5,8 @@ -- Keep the bar instant: no layer-shell fade/slide animation. hl.layer_rule({ match = { namespace = "omarchy-bar" }, no_anim = true, animation = "none" }) --- Launcher, image selector, emoji picker, and clipboard overlays should also pop without animation. -hl.layer_rule({ match = { namespace = "^(omarchy-menu|omarchy-launcher|omarchy-image-selector|omarchy-emoji-picker|omarchy-clipboard)$" }, no_anim = true, animation = "none" }) +-- Launcher, image selector, emojis, and clipboard overlays should also pop without animation. +hl.layer_rule({ match = { namespace = "^(omarchy-menu|omarchy-launcher|omarchy-image-selector|omarchy-emojis|omarchy-clipboard)$" }, no_anim = true, animation = "none" }) -- Bar settings floats centered with a sensible default size instead of -- tiling — it's a transient dialog, not a workspace surface. diff --git a/default/hypr/bindings/utilities.lua b/default/hypr/bindings/utilities.lua index 0e870a9e..e02500eb 100644 --- a/default/hypr/bindings/utilities.lua +++ b/default/hypr/bindings/utilities.lua @@ -1,5 +1,5 @@ o.bind("SUPER + SPACE", "Launch apps", "omarchy-shell shell toggle omarchy.launcher \"{}\"") -o.bind("SUPER + CTRL + E", "Emoji picker", "omarchy-shell shell toggle omarchy.emoji-picker \"{}\"") +o.bind("SUPER + CTRL + E", "Emojis", "omarchy-shell shell toggle omarchy.emojis") o.bind("SUPER + CTRL + C", "Capture menu", "omarchy-shell menu toggle capture") o.bind("SUPER + CTRL + O", "Toggle menu", "omarchy-shell menu toggle toggle") o.bind("SUPER + CTRL + H", "Hardware menu", "omarchy-shell menu toggle hardware") diff --git a/default/themed/shell.toml.tpl b/default/themed/shell.toml.tpl index e82960d3..3c2a700b 100644 --- a/default/themed/shell.toml.tpl +++ b/default/themed/shell.toml.tpl @@ -148,7 +148,7 @@ selected-border-alpha = 0.25 [menu] # Cards, rows, and selected-row treatment. Alpha companions (where present) # go from 0 (invisible) to 1 (opaque). scrim is the full-screen dim layer -# behind the card. The clipboard and emoji pickers inherit these tokens. +# behind the card. Clipboard and emojis inherit these tokens. background = "{{ background }}" background-alpha = 1.0 text = "{{ foreground }}" diff --git a/docs/omarchy-shell.md b/docs/omarchy-shell.md index d9e2f21f..61aa5ce6 100644 --- a/docs/omarchy-shell.md +++ b/docs/omarchy-shell.md @@ -117,7 +117,7 @@ The shell exposes these tokens to QML via two singletons in and per-surface roles (`Color.bar.*`, `Color.popups.*`, `Color.tooltip.*`, `Color.notifications.*`, `Color.menu.*`, `Color.launcher.*`, `Color.imagePicker.*`, `Color.polkit.*`, - `Color.lock.*`). The clipboard and emoji pickers share `Color.menu.*`. + `Color.lock.*`). Clipboard and emojis share `Color.menu.*`. - `Style` — structural tokens (`cornerRadius`), shared interactive state tokens/helpers, spacing (`Style.spacing.*` / `Style.space(px)`), the type scale (`Style.font.*`), and bar dimensions diff --git a/migrations/1779277899.sh b/migrations/1779277899.sh index c3cb6763..c5fdfaf9 100644 --- a/migrations/1779277899.sh +++ b/migrations/1779277899.sh @@ -14,9 +14,11 @@ for config_file in "${config_files[@]}"; do -e 's/omarchy\.app-launcher/omarchy.launcher/g' \ -e 's/omarchy\.battery-monitor/omarchy.battery/g' \ -e 's/omarchy\.clipboard-picker/omarchy.clipboard/g' \ + -e 's/omarchy\.emoji-picker/omarchy.emojis/g' \ -e 's/omarchy-app-launcher/omarchy-launcher/g' \ -e 's/omarchy-battery-monitor/omarchy-battery/g' \ -e 's/omarchy-clipboard-picker/omarchy-clipboard/g' \ + -e 's/omarchy-emoji-picker/omarchy-emojis/g' \ -e 's/\[app-launcher\]/[launcher]/g' \ -e 's/app-launcher\./launcher./g' \ "$config_file" diff --git a/shell/plugins/README.md b/shell/plugins/README.md index 85b2480b..e6ea0085 100644 --- a/shell/plugins/README.md +++ b/shell/plugins/README.md @@ -15,7 +15,7 @@ User-installed plugins live alongside these conceptually but on disk under | Bar settings | `omarchy.settings` | `panel` | `settings/SettingsPanel.qml` | | Launcher | `omarchy.launcher` | `overlay` | `launcher/Launcher.qml` | | Image picker | `omarchy.image-picker` | `overlay` | `image-picker/ImagePicker.qml` | -| Emoji picker | `omarchy.emoji-picker` | `overlay` | `emoji-picker/EmojiPicker.qml` | +| Emojis | `omarchy.emojis` | `overlay` | `emojis/Emojis.qml` | | Clipboard mgr | `omarchy.clipboard` | `overlay` | `clipboard/Clipboard.qml` | | Omarchy menu | `omarchy.menu` | `menu` | `menu/Menu.qml` | | Notifications | `omarchy.notifications` | `service` | `notifications/Service.qml` | diff --git a/shell/plugins/emoji-picker/manifest.json b/shell/plugins/emoji-picker/manifest.json deleted file mode 100644 index fe9ad8be..00000000 --- a/shell/plugins/emoji-picker/manifest.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "schemaVersion": 1, - "id": "omarchy.emoji-picker", - "name": "Emoji picker", - "version": "1.0.0", - "author": "Omarchy", - "description": "An emoji picker to copy or type emojis", - "kinds": [ - "overlay" - ], - "keepLoaded": true, - "entryPoints": { - "overlay": "EmojiPicker.qml" - } -} diff --git a/shell/plugins/emoji-picker/EmojiPicker.qml b/shell/plugins/emojis/Emojis.qml similarity index 98% rename from shell/plugins/emoji-picker/EmojiPicker.qml rename to shell/plugins/emojis/Emojis.qml index 05245a12..87cf350a 100644 --- a/shell/plugins/emoji-picker/EmojiPicker.qml +++ b/shell/plugins/emojis/Emojis.qml @@ -19,7 +19,7 @@ Item { property var filteredEmojis: [] // Shares the [menu] surface tokens — themes that style the menu also - // style the emoji picker. Selected-cell colors composed in the + // style emojis. Selected-cell colors composed in the // singleton so consumers drop them straight into Rectangle bindings. property color background: Color.menu.background property color foreground: Color.menu.text @@ -56,7 +56,7 @@ Item { function dismiss() { root.opened = false if (root.shell && typeof root.shell.hide === "function") - root.shell.hide((root.manifest && root.manifest.id) || "omarchy.emoji-picker") + root.shell.hide((root.manifest && root.manifest.id) || "omarchy.emojis") } function toggle() { @@ -165,7 +165,7 @@ Item { ListModel { id: displayModel } FileView { - path: root.omarchyPath + "/shell/plugins/emoji-picker/emojis.json" + path: root.omarchyPath + "/shell/plugins/emojis/emojis.json" onLoaded: root.loadEmojis(text()) } PanelWindow { @@ -173,7 +173,7 @@ Item { visible: root.opened anchors { top: true; bottom: true; left: true; right: true } color: "transparent" - WlrLayershell.namespace: "omarchy-emoji-picker" + WlrLayershell.namespace: "omarchy-emojis" WlrLayershell.layer: WlrLayer.Overlay WlrLayershell.keyboardFocus: WlrKeyboardFocus.Exclusive exclusionMode: ExclusionMode.Ignore diff --git a/shell/plugins/emoji-picker/emojis.json b/shell/plugins/emojis/emojis.json similarity index 100% rename from shell/plugins/emoji-picker/emojis.json rename to shell/plugins/emojis/emojis.json diff --git a/shell/plugins/emojis/manifest.json b/shell/plugins/emojis/manifest.json new file mode 100644 index 00000000..f04b47f2 --- /dev/null +++ b/shell/plugins/emojis/manifest.json @@ -0,0 +1,15 @@ +{ + "schemaVersion": 1, + "id": "omarchy.emojis", + "name": "Emojis", + "version": "1.0.0", + "author": "Omarchy", + "description": "Search, copy, and type emojis", + "kinds": [ + "overlay" + ], + "keepLoaded": true, + "entryPoints": { + "overlay": "Emojis.qml" + } +}