Commit Graph
34 Commits
Author SHA1 Message Date
ksmithandClaude Sonnet 5 a89748be67 Merge Profiles and Session windows into a single window
ProfilesWindow and SessionWindow were two independent top-level windows,
coordinated through a QPointer and manual show/create-or-reuse logic, with
duplicated Help menus and a path where Quit didn't actually quit if a
SessionWindow happened to be open. ProfilesWindow is now an embedded QWidget
shown as a permanent, unclosable "Profiles" tab inside SessionWindow's tab
widget; SessionWindow is the app's sole top-level window. Double-clicking a
profile opens a session tab in the same window instead of finding-or-creating
a second one, and closing all session tabs falls back to the Profiles tab
rather than closing the app.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-07 15:59:53 -06:00
ksmithandClaude Sonnet 5 4b4b7d68f2 Fix profile dialog form fields collapsing to sizeHint on macOS
QFormLayout without an explicit field growth policy falls back to the
active Qt style's default, which differs per platform: Linux's Fusion/Breeze
styles expand fields to fill the row, but macOS's native style defaults to
FieldsStayAtSizeHint, leaving fields small with empty space beside them.
Set the policy explicitly so the dialog renders consistently everywhere.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-07 15:18:09 -06:00
ksmithandClaude Sonnet 5 793fdd9366 RDP session fixes: correct keyboard scancodes, clipboard sync, cursor shapes
Fix RDP keyboard input using FreeRDP's authoritative X11-keycode-to-scancode
table instead of ad hoc bit math, which misread punctuation keys as unrelated
letter keys (e.g. apostrophe as B) because X11 keycode numbering only
coincidentally overlaps PC/AT scancodes.

Add bidirectional clipboard sync (CF_UNICODETEXT) over the cliprdr channel,
and RDP pointer/cursor shape sync so the local cursor reflects what the
remote OS wants displayed (resize handles, text I-beam, etc.) instead of
staying a static arrow.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-07 14:53:03 -06:00
ksmithandClaude Sonnet 5 27cc3a3bb2 Session UX: inline password prompt and terminal font size controls
Replace the modal RDP/SSH password dialog with an inline prompt bar
embedded in the session tab instead of a separate popup window. Add
per-tab terminal font size controls (increase/decrease/reset/set
exact point size) via the tab context menu, with the chosen size
persisted across sessions.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-07 12:02:03 -06:00
ksmith c1c23d115a packaging: add deb/flatpak build flow and desktop metadata 2026-03-03 20:46:03 -07:00
ksmith f54c2e9bcd docs: update Windows build requirements and refresh milestone tag 2026-03-03 20:21:38 -07:00
ksmith ae9928782d docs: close out milestone 8 and set milestone 9 as current v0-m8-done 2026-03-03 20:16:43 -07:00
ksmith 2485ffb14f docs: clarify Qt6 LGPLv3 licensing links in README 2026-03-03 20:13:12 -07:00
ksmith eadcdd7f10 Milestone 8 UX: folder tree workflows, about dialog, and app icon polish v0-m8-wip1 2026-03-03 20:07:41 -07:00
ksmith 36006bd4aa Milestone 5: deliver embedded RDP sessions and lifecycle hardening v0-m5-done 2026-03-03 18:59:26 -07:00
ksmith 230a401386 Refine roadmap: Milestones 5 and 6 as full RDP/VNC delivery 2026-03-01 11:11:26 -07:00
ksmith e77f2598b9 Document post-M4 roadmap with separate RDP and VNC milestones 2026-03-01 11:06:30 -07:00
ksmith 2b25f805cd Complete Milestone 4 interactive SSH session UX v0-m4-done 2026-03-01 11:00:31 -07:00
ksmith 776ddc1a53 Integrate KodoTerm for SSH terminal sessions 2026-03-01 10:36:06 -07:00
ksmith c3369b8e48 Improve terminal theming, cursor UX, and size negotiation 2026-03-01 10:14:43 -07:00
ksmith 20ee48db32 Add ANSI color rendering and terminal themes 2026-03-01 10:08:04 -07:00
ksmith 2b4f498259 Allow direct terminal typing and collapsible session panels 2026-03-01 09:58:21 -07:00
ksmith 614d31fa71 Restore built-in askpass helper for SSH password auth 2026-03-01 09:53:17 -07:00
ksmith ceed19d517 Draft Milestone 4 scope and mark progress in docs 2026-03-01 09:50:08 -07:00
ksmith 2ea712db36 Start Milestone 4 interactive SSH terminal and host-key flow 2026-03-01 09:50:03 -07:00
ksmith 3c158269bf Fix SSH askpass helper text-file-busy race v0-m3-done 2026-03-01 09:42:32 -07:00
ksmith e2a8b874d7 Document Milestone 3 deliverables and SSH prerequisites 2026-03-01 09:37:43 -07:00
ksmith 71a2f2e868 Expand profile editor for SSH auth and host policy fields 2026-03-01 09:37:37 -07:00
ksmith 6a4bcb75eb Add threaded session backend architecture with real SSH backend 2026-03-01 09:37:34 -07:00
ksmith 582c57bc5f Auto-fill standard port when protocol changes v0-m2-done 2026-03-01 09:24:31 -07:00
ksmith 01762422e9 Document Milestone 2 scope and completion 2026-03-01 09:21:57 -07:00
ksmith f8a81ebe36 Implement Milestone 2 profile schema, dialog, and connect lifecycle 2026-03-01 09:21:53 -07:00
ksmith 87b0f60569 Update progress for Milestone 1 completion v0-m1-done 2026-03-01 09:06:36 -07:00
ksmith 09c54313af Implement SQLite-backed profile CRUD in Profiles window 2026-03-01 09:06:34 -07:00
ksmith fba7336f69 Add SQLite profile repository and Qt SQL dependency 2026-03-01 09:06:31 -07:00
ksmith 6d147894c5 Add cross-platform development environment setup guide 2026-03-01 09:02:53 -07:00
ksmith b43fb6fb1a Record Milestone 0 completion progress v0-m0-done 2026-03-01 08:56:13 -07:00
ksmith 285a81d9b5 Scaffold Qt6 Widgets app for Milestone 0 2026-03-01 08:56:10 -07:00
ksmith da11b96dab Add OrbitHub C++ Qt Widgets spec and Codex prompts 2026-03-01 08:51:37 -07:00