-
-
Notifications
You must be signed in to change notification settings - Fork 872
XTGETTCAP terminal capability query support #4479
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
XTGETTCAP terminal capability query support #4479
Conversation
XTGETTCAP terminal capability query support (DCS sequences with hex-encoded capability names, responses for terminal name, columns, lines, and clipboard support).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements XTGETTCAP terminal capability query support, allowing Zellij to respond to DCS (Device Control String) sequences with hex-encoded capability names. The implementation adds support for querying terminal name, columns, lines, and clipboard support capabilities.
Key changes include:
- Added a new
enable_xtgettcapconfiguration option across the codebase - Implemented DCS query parsing and response generation in the Grid implementation
- Added test coverage for XTGETTCAP queries including terminal name, columns, and clipboard capabilities
Reviewed Changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| zellij-utils/src/kdl/mod.rs | Added parsing for enable_xtgettcap configuration option from KDL |
| zellij-utils/src/input/options.rs | Added enable_xtgettcap field to Options struct with CLI and merge support |
| zellij-utils/src/client_server_contract/common_types.proto | Added enable_xtgettcap field to protobuf Options message |
| zellij-utils/assets/prost_ipc/client_server_contract.rs | Generated protobuf code for new enable_xtgettcap field |
| zellij-utils/src/ipc/protobuf_conversion.rs | Added protobuf conversion for enable_xtgettcap option |
| zellij-utils/src/ipc/tests/roundtrip_tests.rs | Updated test to include enable_xtgettcap field |
| zellij-server/src/screen.rs | Threaded enable_xtgettcap parameter through Screen initialization |
| zellij-server/src/tab/mod.rs | Threaded enable_xtgettcap parameter through Tab and pane creation |
| zellij-server/src/tab/layout_applier.rs | Threaded enable_xtgettcap parameter through LayoutApplier |
| zellij-server/src/panes/terminal_pane.rs | Added enable_xtgettcap parameter to TerminalPane constructor |
| zellij-server/src/panes/plugin_pane.rs | Added enable_xtgettcap parameter to PluginPane constructor |
| zellij-server/src/panes/grid.rs | Implemented XTGETTCAP and DECRQSS query handling with DCS buffer management |
| zellij-server/src/panes/unit/grid_tests.rs | Added comprehensive tests for XTGETTCAP functionality |
| Multiple test files | Updated test constructors to pass false for enable_xtgettcap parameter |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 19 out of 19 changed files in this pull request and generated 2 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
XTGETTCAP terminal capability query support (DCS sequences with hex-encoded capability names, responses for terminal name, columns, lines, and clipboard support).
Closes #4320, #2637 and #3951