Keep clipboard shortcuts routed to built-in source

This commit is contained in:
2026-09-06 00:47:44 +01:00
parent 99d9a65283
commit 1d7a9d6cde
4 changed files with 13 additions and 25 deletions
+1 -13
View File
@@ -83,20 +83,8 @@ Item {
else root.open() else root.open()
} }
// Direct target for explicit bindings and pause/resume automation.
IpcHandler {
target: "alanfortlink.clipboard"
function open(): void { root.open() }
function close(): void { root.close() }
function show(): void { root.open() }
function hide(): void { root.close() }
function toggle(): void { root.toggle() }
function pause(payloadJson: string): string { return root.pause(payloadJson) }
function isPaused(): string { return root.isPaused() }
}
// ------------------------------------------------------------ pause // ------------------------------------------------------------ pause
// Toggle via IPC: omarchy-shell alanfortlink.clipboard pause '{"paused":true}' // Toggle via IPC: omarchy-shell shell call alanfortlink.clipboard pause '{"paused":true}'
// (or {"paused":false}, or {"paused":"toggle"}), and Ctrl+Space in the picker. // (or {"paused":false}, or {"paused":"toggle"}), and Ctrl+Space in the picker.
function setPaused(next) { function setPaused(next) {
root.paused = !!next root.paused = !!next
+4 -4
View File
@@ -68,8 +68,8 @@ For a custom binding, edit the **live** config —
but is not sourced): but is not sourced):
```lua ```lua
o.bind("SUPER + SHIFT + V", "Clipboard manager (clipboard-history)", o.bind("SUPER + SHIFT + V", "Clipboard manager",
"omarchy-shell alanfortlink.clipboard toggle") "omarchy-shell shell toggle omarchy.clipboard")
``` ```
(If your config is still legacy `bindings.conf`: `bindd = ALT SHIFT, V, …`.) (If your config is still legacy `bindings.conf`: `bindd = ALT SHIFT, V, …`.)
@@ -92,8 +92,8 @@ Updating: `omarchy plugin update alanfortlink.clipboard` · Uninstall: `omarchy
Pause/resume is also scriptable — useful for automation or a custom binding: Pause/resume is also scriptable — useful for automation or a custom binding:
```bash ```bash
omarchy-shell alanfortlink.clipboard pause '{"paused":"toggle"}' omarchy-shell shell call alanfortlink.clipboard pause '{"paused":"toggle"}'
omarchy-shell alanfortlink.clipboard isPaused omarchy-shell shell call alanfortlink.clipboard isPaused
``` ```
## Configuration ## Configuration
+7 -7
View File
@@ -5,7 +5,7 @@
# - rescans + enables it (shell.json gets plugins[] entry; the built-in # - rescans + enables it (shell.json gets plugins[] entry; the built-in
# omarchy.clipboard is recorded in disabledPlugins[] and routed here) # omarchy.clipboard is recorded in disabledPlugins[] and routed here)
# - checks and installs dependencies transparently (QR/OCR degrade without them) # - checks and installs dependencies transparently (QR/OCR degrade without them)
# - binds SUPER+SHIFT+V and ALT+SHIFT+V directly to this picker (with backup) # - binds SUPER+SHIFT+V and ALT+SHIFT+V to the clone-aware source id (with backup)
set -euo pipefail set -euo pipefail
REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
@@ -58,9 +58,9 @@ fi
echo "==> Enabling $PLUGIN_ID (replaces built-in omarchy.clipboard)" echo "==> Enabling $PLUGIN_ID (replaces built-in omarchy.clipboard)"
omarchy plugin enable "$PLUGIN_ID" omarchy plugin enable "$PLUGIN_ID"
echo "==> Binding SUPER+SHIFT+V and ALT+SHIFT+V directly to $PLUGIN_ID" echo "==> Binding SUPER+SHIFT+V and ALT+SHIFT+V to the clipboard source"
# Do not route through `shell toggle`: plugin rescans can leave its panel Loader # Always target the built-in source id. Omarchy routes it to this clone while
# stale. The plugin-owned IPC target always controls the mapped picker window. # installed, then automatically routes it back to the built-in after removal.
rebound=0 rebound=0
if [[ -f $HOME/.config/hypr/bindings.lua ]]; then if [[ -f $HOME/.config/hypr/bindings.lua ]]; then
LUA="$HOME/.config/hypr/bindings.lua" LUA="$HOME/.config/hypr/bindings.lua"
@@ -68,7 +68,7 @@ if [[ -f $HOME/.config/hypr/bindings.lua ]]; then
python3 - "$LUA" >"$tmp" <<'PY' python3 - "$LUA" >"$tmp" <<'PY'
import re, sys import re, sys
text = open(sys.argv[1]).read() text = open(sys.argv[1]).read()
command = "omarchy-shell alanfortlink.clipboard toggle" command = "omarchy-shell shell toggle omarchy.clipboard"
for chord in ("SUPER + SHIFT + V", "ALT + SHIFT + V"): for chord in ("SUPER + SHIFT + V", "ALT + SHIFT + V"):
line = f'o.bind("{chord}", "Clipboard manager (clipboard-history)", "{command}")' line = f'o.bind("{chord}", "Clipboard manager (clipboard-history)", "{command}")'
pattern = re.compile(r'^\s*o\.bind\("' + re.escape(chord) + r'".*$', re.M) pattern = re.compile(r'^\s*o\.bind\("' + re.escape(chord) + r'".*$', re.M)
@@ -92,8 +92,8 @@ elif [[ -f $HOME/.config/hypr/bindings.conf ]]; then
cp "$CONF" "$CONF.bak.$(date +%s)" cp "$CONF" "$CONF.bak.$(date +%s)"
sed -i '/^bindd = \(SUPER\|ALT\) SHIFT, V, /d' "$CONF" sed -i '/^bindd = \(SUPER\|ALT\) SHIFT, V, /d' "$CONF"
printf '%s\n' \ printf '%s\n' \
'bindd = SUPER SHIFT, V, Clipboard manager (clipboard-history), exec, omarchy-shell alanfortlink.clipboard toggle' \ 'bindd = SUPER SHIFT, V, Clipboard manager, exec, omarchy-shell shell toggle omarchy.clipboard' \
'bindd = ALT SHIFT, V, Clipboard manager (clipboard-history), exec, omarchy-shell alanfortlink.clipboard toggle' >>"$CONF" 'bindd = ALT SHIFT, V, Clipboard manager, exec, omarchy-shell shell toggle omarchy.clipboard' >>"$CONF"
echo " updated bindings.conf (backup created)" echo " updated bindings.conf (backup created)"
rebound=1 rebound=1
fi fi
+1 -1
View File
@@ -2,7 +2,7 @@
"schemaVersion": 1, "schemaVersion": 1,
"id": "alanfortlink.clipboard", "id": "alanfortlink.clipboard",
"name": "Clipboard History", "name": "Clipboard History",
"version": "1.0.6", "version": "1.0.7",
"author": "alanfortlink", "author": "alanfortlink",
"description": "Raycast-style clipboard history: fuzzy search over content, type, app and date, with rich per-type previews", "description": "Raycast-style clipboard history: fuzzy search over content, type, app and date, with rich per-type previews",
"kinds": [ "kinds": [