Keep clipboard shortcuts routed to built-in source
This commit is contained in:
+1
-13
@@ -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
|
||||||
|
|||||||
@@ -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
@@ -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
@@ -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": [
|
||||||
|
|||||||
Reference in New Issue
Block a user