Debian and Sisyphus
3bc84ba3f2
Catch status rows in all arrival modes: wrapped, colored and split fragments
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-09-16 23:24:46 +02:00
Debian and Sisyphus
d188c6a506
Match RCON output shapes on color-stripped text so status rows hide correctly
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-09-16 23:07:41 +02:00
Debian and Sisyphus
8eccfefc75
Show client id and endpoint on connect/disconnect, gate command echoes behind -v
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-09-16 22:04:47 +02:00
Debian and Sisyphus
e834b44ba6
Hide RCON command output but keep command echoes from other clients
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-09-16 21:47:25 +02:00
Debian and Sisyphus
9ea4aa122a
Make server name learning opt-in to avoid lagging the game server
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-09-16 21:35:10 +02:00
Debian and Sisyphus
190152733e
Add timestamps to game events and connection messages
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-09-16 21:31:31 +02:00
Debian and Sisyphus
b8864ca8dd
Stop double-formatting stats stream events
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-09-16 21:27:28 +02:00
Debian and Sisyphus
b641eb4e45
Fix scroll-hold drift, ignore input while too small and redraw scrolls immediately
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-09-16 21:27:28 +02:00
Debian and Sisyphus
71bd740d78
Bound listing capture and accept all server count-line formats
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-09-16 21:27:27 +02:00
pfl
3d1dc19d9b
Learn cvar and command names from the server for autocomplete
...
Send cvarlist and cmdlist on connect and merge the answer into the
autocomplete candidates. Number the server menu from 0, keep suggesting
sibling commands while the command name is typed, mask the password in
the startup line, ignore venv/, fix README claims.
2026-09-16 18:25:48 +02:00
pfl
db123993c0
Rework TUI: single-threaded curses, scrollback buffer, server menu
...
- All curses drawing on the main thread; stdin polled together with the
ZMQ sockets, Ctrl-C only sets a flag
- Output kept in a 2000-line buffer and redrawn from it, so resizes keep
the history; PgUp/PgDn and mouse wheel scroll it
- Messages without trailing newline continue the current line (status
table columns arrive as separate messages)
- Too-small terminal shows a warning instead of exiting
- Start without arguments shows a server selection menu
- Colors on the terminal default background; version 0.9.0
2026-09-16 17:01:51 +02:00
Debian and Sisyphus
0613d380a4
Add graceful shutdown, reconnect handling and config file integration
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-09-13 14:00:16 +02:00
Debian and Sisyphus
3213bb38b4
Handle undersized terminals and wire autocomplete/history options
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-09-13 14:00:16 +02:00
Debian and Sisyphus
271637ee71
Add config getters for logging, history and behavior settings
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-09-13 14:00:16 +02:00
Debian and Sisyphus
5b90d66276
Remove dead code, fix cvar argument type and add player name helper
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-09-13 14:00:13 +02:00
Debian and Sisyphus
e47badb7b3
Harden JSON event parsing and broadcast message formatting
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-09-13 14:00:13 +02:00
Debian and Sisyphus
15d461c234
Fix ZMQ socket monitor leak and guard monitor recv against races
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-09-13 14:00:13 +02:00
xbl
18bfa4b88e
modified: install.sh
2026-06-14 14:50:05 +02:00
xbl
ed78238ddc
modified: install.sh
2026-06-14 14:43:50 +02:00
xbl
bd0a2d4f38
modified: install.sh
2026-06-14 14:41:16 +02:00
xbl
0f84feead8
modified: install.sh
2026-06-14 14:36:15 +02:00
xbl
fb19b09a43
modified: main.py
2026-06-14 14:34:10 +02:00
xbl
e163e988f2
modified: install.sh
2026-06-14 14:29:28 +02:00
xbl
d1f6e15bdb
modified: install.sh
2026-06-14 14:24:35 +02:00
xbl
b87ac01d83
modified: install.sh
2026-06-14 14:16:42 +02:00
xbl
d14c268178
modified: install.sh
2026-06-14 14:15:44 +02:00
xbl
a87533fead
deleted: AUTOCOMPLETE.md
...
modified: README.md
modified: install.sh
2026-06-14 13:59:16 +02:00
xbl
0666d33749
modified: README.md
2026-06-13 10:24:21 +02:00
xbl
29c613877d
deleted: qlpycon.bash
...
deleted: test_ui.py
2026-06-13 10:23:34 +02:00
xbl
7ca9795a39
modified: .gitignore
...
modified: README.md
new file: install.sh
renamed: config.py -> lib/constants.py
renamed: cvars.py -> lib/cvars.py
renamed: formatter.py -> lib/formatter.py
renamed: network.py -> lib/network.py
renamed: parser.py -> lib/parser.py
renamed: qlpycon_config.py -> lib/settings.py
renamed: state.py -> lib/state.py
renamed: ui.py -> lib/ui.py
modified: main.py
modified: qlpycon.bash
new file: qlpycon.conf.example
2026-06-13 10:21:29 +02:00
xbl
be6ae8d137
modified: qlpycon.bash
2026-06-12 20:52:10 +02:00
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
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