fix(ui): Make read-only content selectable with a Copy context menu (#48)

Root cause: body is user-select: none and each feature had to opt back in; the Markdown preview (and other read-only views) never did, and the app-wide contextmenu guard left no Copy item.
Fix: shared selectableText class (src/ui) for read-only content, and a fallback Copy context menu from browserGuards when right-clicking a selection or a selectable area (component menus still win).
Siblings covered: Quick Documentation / hover / completion docs, hover errors, Quick Definition, debugger value tooltip, inspection messages, message dialogs (no drag on body text), notification titles, About dialog; existing selectable consoles now get Copy too.
Verified in-app on macOS: select in Markdown preview, right-click Copy puts the text on the clipboard; tab context menu unchanged.

Claude-Session: https://claude.ai/code/session_01VUYsdXA2nkF5v6zsC93dpn
This commit is contained in:
l0ng-ai authored and GitHub committed 2026-10-27 08:56:13 +08:00
1 parent 6dfd82de4c
commit de84a643aa
17 files changed
+453 -55

No files matched your search

+6
View File
@@ -0,0 +1,6 @@
/* Read-only content the user reads and copies (docs, previews, messages), as opposed to chrome. */
.selectable {
-webkit-user-select: text;
user-select: text;
cursor: auto;
}