Levi Neely
5bf29198ff
gui: pass session cwd as plumb wdir for relative path resolution
...
Plumb messages now include the current session's cwd as wdir.
Added sessionCwd() helper to ChatPane and ChatBlockDelegate.
Updated plumber.plumb() to accept optional wdir parameter.
2026-10-08 15:44:39 +02:00
Levi Neely
5add387cc8
gui: suppress RMB context menus in prompt and chat blocks
...
B3 (right-click) now only plumbs selection when available — no fallback
context menu. Mouse chording (B1+B2 cut, B1+B3 paste) still works.
Removed contextMenuComponent and promptContextMenu entirely.
2026-10-08 15:40:31 +02:00
Levi Neely
fa58b0f033
gui: make chat block text editable for scratchpad use
...
Remove readOnly from TextEdit components in ChatBlockDelegate.
Users can now edit text in-place — changes are local only, not persisted.
2026-10-08 15:35:37 +02:00
Levi Neely
9618c79232
gui: native 9P plumb client with edit receiver and mouse chording
...
Replace QProcess plumb binary shell-out with proper 9P2000 plumb client:
- ninep.h/cpp: minimal 9P2000 protocol client for plan9port plumber
- plumbmsg.h/cpp: plumb message pack/unpack wire codec
- plumber.h/cpp: full plumb client with:
- socketPath() resolving $NAMESPACE/plumb or display fallback
- send()/sendTo() write packed messages to send port via 9P
- PlumbReader thread blocks on edit port, emits edit(file,addr,wdir)
- startReader() starts the receive loop
- available() checks plumb socket existence
Add Acme-style mouse chording to ChatBlockDelegate.qml:
- B1+B2 = cut (snarf)
- B1+B3 = paste
- Context menu now includes Cut/Paste with chord hints
Legacy plumb()/plumbTo() methods preserved as aliases to send()/sendTo().
2026-10-08 15:34:29 +02:00
Levi Neely
eb12627ea0
kde/gui: fix binding loop and Column anchor errors
...
- Remove chatPane property from delegate (was shadowing id, causing binding loop)
- Remove contentArea MouseArea from inside Column (invalid anchor)
- Simplify hovered property to use only headerArea
- Edit button now copies to clipboard instead of trying to access chatPane
2026-09-04 14:20:40 +02:00
Levi Neely
75a2da080e
kde/gui: Acme-style mouse actions and one-handed workflow
...
Add Plan 9/Acme-inspired mouse interaction:
- B2 (middle-click): Execute selected text as prompt
- B3 (right-click): Plumb selection via plan9port, fallback to context menu
Plumber integration (plumber.h/cpp):
- Wraps plan9port's plumb command for context-aware actions
- Auto-detects plumb binary in common plan9port locations
- Graceful fallback when plumber not available
Block tag line (ChatBlockDelegate):
- Hover-visible action buttons: Copy, Retry, Continue, Edit
- Per-block-type actions (Retry for assistant/error, Edit for user)
Action toolbar (ChatPane):
- Stop, Compact, Copy Last, Templates dropdown
- Mouse-first workflow without keyboard shortcuts
Input area improvements:
- Larger touch targets (48px send button, 32px toggle)
- Clear and Paste buttons
- B2/B3 mouse actions in prompt input
- Placeholder text explains mouse actions
Context menus now include:
- Execute Selection (B2)
- Plumb Selection (B3)
- Standard Cut/Copy/Paste/Select All
2026-09-04 13:47:51 +02:00
Ollie Agent
1e0f9cacd0
Integrate KDE frontend into main repository
2026-08-16 15:08:33 +02:00