Commit e639951
refactor(clipboard): drop marker dance, patch egui-winit instead (#16)
egui-winit on Linux eats Ctrl+V and reads text/plain only, so an
image-only clipboard made the keystroke vanish before the PTY (and thus
Claude Code) ever saw it. The earlier fix worked around this with a
clipboard-polling marker swap that mutated the user's clipboard 6x/sec;
this matches alacritty's actual practice instead, where bare Ctrl+V is
just forwarded to the PTY as the raw 0x16 byte and the inner TUI does
its own wl-paste/xclip image read.
- Vendor egui-winit 0.31.1 under egui-winit/ with a one-liner that falls
through to a Key event when the clipboard read yields no text, so
input.rs's existing Ctrl+letter -> control-byte path kicks in.
- Wire it via [patch.crates-io] alongside the existing x11-clipboard pin.
- Strip pending_image / IMAGE_PASTE_MARKER / stash_image_and_mark /
restore_image / process_clipboard_image_paste and the 150ms poll loop.
Net: -110 lines in alacritree/, +3 effective lines of patch in
egui-winit/, plus the vendored crate.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 0ad8ffc commit e639951
10 files changed
Lines changed: 2632 additions & 115 deletions
File tree
- alacritree
- src
- egui-winit
- src
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
| 24 | + | |
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
123 | | - | |
124 | | - | |
125 | 123 | | |
126 | 124 | | |
127 | 125 | | |
| |||
228 | 226 | | |
229 | 227 | | |
230 | 228 | | |
231 | | - | |
232 | | - | |
233 | 229 | | |
234 | 230 | | |
235 | 231 | | |
| |||
484 | 480 | | |
485 | 481 | | |
486 | 482 | | |
487 | | - | |
488 | | - | |
489 | | - | |
490 | | - | |
491 | | - | |
492 | | - | |
493 | | - | |
494 | | - | |
495 | | - | |
496 | | - | |
497 | | - | |
498 | | - | |
499 | | - | |
500 | | - | |
501 | | - | |
502 | | - | |
503 | | - | |
504 | | - | |
505 | | - | |
506 | | - | |
507 | | - | |
508 | | - | |
509 | | - | |
510 | | - | |
511 | | - | |
512 | | - | |
513 | | - | |
514 | | - | |
515 | | - | |
516 | | - | |
517 | | - | |
518 | | - | |
519 | | - | |
520 | | - | |
521 | | - | |
522 | | - | |
523 | | - | |
524 | | - | |
525 | | - | |
526 | | - | |
527 | | - | |
528 | | - | |
529 | | - | |
530 | | - | |
531 | | - | |
532 | | - | |
533 | | - | |
534 | | - | |
535 | | - | |
536 | | - | |
537 | | - | |
538 | | - | |
539 | | - | |
540 | | - | |
541 | 483 | | |
542 | 484 | | |
543 | 485 | | |
| |||
1885 | 1827 | | |
1886 | 1828 | | |
1887 | 1829 | | |
1888 | | - | |
1889 | 1830 | | |
1890 | 1831 | | |
1891 | 1832 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | 10 | | |
15 | 11 | | |
16 | 12 | | |
| |||
67 | 63 | | |
68 | 64 | | |
69 | 65 | | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
0 commit comments