Pull Request: Interactive Session Picker & Quality of Life Improvements#2
Open
Alexintosh wants to merge 4 commits intokolarski:masterfrom
Open
Pull Request: Interactive Session Picker & Quality of Life Improvements#2Alexintosh wants to merge 4 commits intokolarski:masterfrom
Alexintosh wants to merge 4 commits intokolarski:masterfrom
Conversation
Removed macOS ARM64 build configuration from release workflow.
Owner
|
Thanks for the PR! These look like great improvements. Iβll need some time to review and test them before merging. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces an interactive session picker that appears after detaching from a screen session, along with several quality-of-life improvements that enhance the user experience.
Motivation
The current workflow requires users to manually run
safter detaching to see available sessions and then run another command to attach. This creates friction in the most common use case: switching between multiple sessions.With this change, when a user detaches (Ctrl+A-D), they're immediately presented with an interactive picker to:
This reduces the session-switching workflow from 3 steps to 1.
Changes
1. Interactive Session Picker (Main Feature)
After detaching from any screen session, an interactive picker automatically appears:
--emoticonsflag2.
--help/-hFlagAdded proper help output:
3.
--kill-all/-KFlagQuickly terminate all screen sessions at once:
4. Bug Fix:
screen -lsExit Code HandlingFixed an issue where
screen -lsreturning exit code 1 (which happens when there are detached sessions) was incorrectly treated as an error. Sessions are now properly listed regardless of exit code.5. Improved Confirm Prompts
Replaced manual stdin reading with
dialoguer::Confirmto fix terminal input issues (Enter key showing^M).6. Documentation Updates
7. Install Script Improvements
Dependencies Added
dialoguer = "0.11"- For interactive terminal prompts (Select, Confirm, Input)This is a well-maintained, minimal crate that handles terminal state properly.
Testing
cargo buildpassescargo testpasses (2 tests)Breaking Changes
None. All existing commands work exactly as before.
Screenshots
Session Picker After Detach
Kill All Sessions
Happy to address any feedback or make adjustments!