Commit Graph
13 Commits
Author SHA1 Message Date
pfl 530c12d9c0 Fix curses error in print_colored at window boundaries
- Wrap all addch calls in try/except blocks
- Return early when hitting window boundary
- Prevents crash when content exceeds window dimensions
- Gracefully truncates output instead of throwing error
2026-01-09 15:13:52 +01:00
pfl 993ed4f051 Fix curses error when info window is full
- Wrap addstr newlines in try/except blocks
- Prevents crash when writing to window boundary
- Info window has scrollok=False, so cursor can't move beyond bounds
2026-01-09 15:11:19 +01:00
pfl 42b958acdb Add terminal resize handling
- Detect KEY_RESIZE event in input thread
- Recreate windows with new dimensions on resize
- Redraw all content after resize
- Add minimum terminal size check (20x80)
- Handle both expansion and shrinking gracefully
2026-01-09 15:08:44 +01:00
pfl f1ed9c3d2c Add UI test mode script 2026-01-09 15:02:03 +01:00
pfl 4ac9432db9 Ignore CLAUDE*.md files 2026-01-09 14:59:53 +01:00
pfl fbaa4564e4 Fix cursor position and live timer updates
- Track cursor position in UIManager.cursor_pos
- Restore cursor after print_message() and update_server_info()
- Sync cursor_pos between wait_stdin thread and manager
- Update server info panel every second for live timer display
- Timer now ticks continuously instead of only on game events
2026-01-09 14:58:05 +01:00
pfl a03b4b0b93 Add missing Quake Live commands to autocomplete
- Match control: readyall, allready, abort, pause, unpause, lock, unlock, timeout, timein
- Player management: shuffle, put, mute, unmute, slap, slay
- Server control: restart, endgame, nextmap, forcemap
- QLX commands: qlx, elo, balance, teams, scores
- Info commands: serverinfo, players, maplist, configstrings

Total commands increased from 18 to 47
2026-01-09 14:23:50 +01:00
pfl e6e32033ad Add live match timer countdown
- Add match_time_last_sync timestamp to track server updates
- Update timestamp in parser when TIME events received
- Calculate elapsed time in UI for live countdown
- Timer now ticks in real-time between server events
2026-01-09 14:00:32 +01:00
pfl 16b5209338 Fix exception handling in ui.py
- Replace 6 bare except: with except curses.error:
- Remove inline import logging, use module-level logger
- Improves safety by not catching KeyboardInterrupt/SystemExit
2026-01-09 13:56:14 +01:00
pfl f75adac97a Optimize patterns and improve script configurability
- Add pre-compiled regex pattern for color codes
- Add SPECIAL_CHAR constant (chr(25)) for clarity
- Move time import to module level in parser
- Centralize color code stripping via strip_color_codes()
- Make qlpycon.bash fully configurable (workdir, serverip)
- Add validation checks for workdir and venv
- Fix port numbers in help text (28960-28969)
2026-01-09 13:51:53 +01:00
pfl 224782467d qlpycon.bash 2026-01-09 13:40:59 +01:00
pfl 216abb4a3f fix exiting moar 2026-01-09 13:32:00 +01:00
pfl 182f94abb2 quit on quit! 2026-01-09 13:28:29 +01:00