Commit Graph

13 Commits

Author SHA1 Message Date
afb8ca509a feat: add search for received data in Text and Hex views
- Add search() method to TextBuffer and HexBuffer
- Add SearchState with match tracking, prev/next navigation
- Highlight matched text with yellow background via LayoutJob
- Search bar UI with case-sensitive toggle and match counter
- Keyboard shortcuts: Ctrl+F (open), F3 (next), Shift+F3 (prev)
- Auto-focus input on Ctrl+F
- Update README with comprehensive project documentation
2026-06-12 02:42:17 +08:00
9cdbd5a892 Add keyboard shortcut system to xserial-gui
Introduce a centralized shortcut system with ShortcutAction enum and bindings table in shortcuts.rs. Global shortcuts are processed at the top of XserialApp::ui() before any widget rendering. Text input focus is detected via wants_keyboard_input() to suppress shortcuts when typing. Also fix pre-existing import ordering in panels/config.rs from cargo fmt.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-06-11 22:41:21 +08:00
dc8f2eb8a4 feat: restrict DTR/RTS to serial transport; allow manual port input; clean up tool binaries
- Only show DTR/RTS toggles when transport is Serial (not TCP/UDP)
- Add manual port text entry next to serial port combo box
- Reduce combo box width to 180px to make room for text input
- Remove compiled ELF binaries from tools/ and add to .gitignore
2026-06-11 18:01:32 +08:00
edec8113fb Add Lua pipeline support 2026-06-11 15:07:02 +08:00
1fec5f8941 feat: Add DTR/RTS control for serial ports with GUI toggles
- Assert DTR/RTS after serial port open to prevent wireless modules
  (HC-12/HC-15/Bluetooth bridges) from entering AT command mode after
  the unavoidable Linux kernel DTR pulse on every open() call.
- Add dtr/rts fields to TransportConfig::Serial (default: false).
- Add set_dtr()/set_rts() on SerialTransport, Connection, SessionHandle.
- Add SessionCmd::SetDtr/SetRts for live toggling via command channel.
- Add DTR/RTS checkboxes to GUI session controls (visible when connected)
  and to config form for persistence.
- Add test_plot_serial.c and test_text_serial.c — standalone C test
  tools for sending MixedTextPlot frames and plain text over serial.
- Update AGENTS.md with build prerequisites, architecture map, testing
  conventions, env vars, and known quirks.
2026-06-11 14:18:39 +08:00
18bdd2652a Improve GUI plot workflow and performance 2026-06-10 11:54:57 +08:00
9b826d79da Use serial port dropdown 2026-06-10 00:43:58 +08:00
d489bc0831 Add GUI session persistence and full pipeline config 2026-06-09 23:18:15 +08:00
882b7f391f Improve GUI configuration and plotting tooling 2026-06-09 21:57:45 +08:00
b499db5d35 Add GUI font configuration controls 2026-06-09 15:55:45 +08:00
d5b6bb52c8 Add mixed text/plot transport and improve plot UI 2026-06-09 00:51:34 +08:00
25433038d5 Improve session controls and GUI views 2026-06-08 22:27:23 +08:00
2eb02350da Update core modules and add GUI panels 2026-06-08 17:32:42 +08:00