36 Commits

Author SHA1 Message Date
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
xbl
7d5210214a salidu 2026-01-09 13:17:30 +01:00
xbl
8d8a729490 changez 2026-01-02 17:05:57 +01:00
xbl
7c031d2cae featurz 2025-12-30 15:50:07 +01:00
xbl
40e868416e featurz 2025-12-30 00:50:24 +01:00
xbl
c7b6df9932 changey 2025-12-29 22:40:31 +01:00
xbl
1a57258a2d feat 2025-12-29 17:06:14 +01:00
xbl
bc4f62dcf8 lul 2025-12-29 14:00:21 +01:00
xbl
dbc4391be2 foxes 2025-12-29 08:41:07 +01:00
xbl
18cf31073f fixez 2025-12-29 08:05:47 +01:00
xbl
3f61ff1a06 foxes 2025-12-24 10:02:04 +01:00
xbl
53c0b3af55 improoove 2025-12-24 09:23:26 +01:00
xbl
6ef29d83cb coulorz 2025-12-23 23:06:38 +01:00
xbl
dba0065c99 warmup 2025-12-23 22:38:14 +01:00
xbl
d387a13855 laul 2025-12-23 22:32:49 +01:00
xbl
61a9425650 improoove 2025-12-23 22:13:52 +01:00
xbl
324d9c6a86 newnewnew 2025-12-23 21:59:19 +01:00
xbl
fbc6b596e2 colorz 2025-12-23 17:11:27 +01:00
xbl
c1e5a28b41 saved 2025-12-23 15:41:10 +01:00
xbl
c648a99439 sumting 2025-12-23 10:18:50 +01:00
xbl
6b4445b538 lul 2025-12-23 09:40:55 +01:00
xbl
40b4620822 lol 2025-12-23 09:38:36 +01:00
xbl
a889898694 refactor 2025-12-23 09:37:42 +01:00
xbl
1dcd8941b5 serverwindow 2025-12-22 01:27:33 +01:00
xbl
499525b714 save 2025-12-21 18:22:42 +01:00
xbl
324d36746a updayz 2025-12-16 16:42:06 +01:00
xbl
d60627e2d2 lesssgo 2025-12-16 00:38:49 +01:00
xbl
5567a5be8c lol 2025-12-11 23:43:45 +01:00
xbl
2764135b39 init 2025-12-10 23:12:09 +01:00