Skip to content

Conversation

@Q0
Copy link

@Q0 Q0 commented Jan 4, 2026

Overview

This PR adds comprehensive server grouping functionality to lazyssh, enabling users to organize servers into hierarchical groups and connect to multiple servers simultaneously via tmux.

Features Added

1. Group Autocomplete

  • Add autocomplete functionality for the Group field in server form
  • Suggests existing groups when typing to prevent typos and improve UX
  • Properly handles empty input to allow tab navigation

2. Collapsible Server Groups

  • Implement expand/collapse functionality for server groups in the UI
  • Group headers can be toggled to show/hide servers within each group
  • Improved navigation to work seamlessly with group headers

3. Nested Server Groups

  • Support hierarchical group structure using '/' separator (e.g., "Production/Web", "Production/DB")
  • Visual indentation for nested groups in server list
  • Updated help text to reflect nested group capabilities

4. Keyboard Navigation

  • Add up/down arrow key navigation in server list UI
  • Smooth navigation through servers and group headers

5. Group Actions with Tmux Support

  • Context menu for server groups triggered by 'm' key
  • Option to connect to all servers in a group via tmux
  • Creates tmux sessions with synchronized panes
  • Displays server alias in pane titles for easy identification
  • Automatic layout management

6. UI Improvements

  • Conditionally display server groups and pinned section (only when groups are defined)
  • Add placeholder and help text for Group field
  • Simplified tmux session creation with proper quoting

Testing Checklist

  • Test group creation with autocomplete
  • Test nested group creation (e.g., "Production/Web/Servers")
  • Test collapsing/expanding groups
  • Test keyboard navigation through groups
  • Test connecting to all servers in a group via tmux
  • Test tab navigation in group field

Related Issues

#79

#61

Q0 added 11 commits January 4, 2026 16:20
- Add Group field to Server struct and related metadata
- Implement group sorting in server list UI
- Display servers grouped by their group name in the list
- Handle ungrouped servers by placing them last
Implement group autocomplete functionality in server form to suggest existing groups
when typing in the group field. This improves user experience by reducing manual input
and preventing typos in group names.
Only show group headers and pinned section when servers have groups defined
… navigation

Modify the group autocomplete function to return nil when the input is empty, enabling proper tab navigation. Also simplify the suggestion logic by removing redundant empty search term check.
Implement up/down arrow key navigation in server list UI
Add support for Group field in server configuration by providing placeholder text
and help documentation to explain its usage for organizing servers
Implement expand/collapse functionality for server groups in the UI
Add group display in server details when group is empty
Improve navigation to work with group headers
add hierarchical group support using '/' separator in group names
implement proper indentation for nested groups in server list
update group help text to reflect nested group support
Add context menu for server groups with option to connect to all servers in a group via tmux. The feature includes:
- Group context menu triggered by 'm' key
- Tmux session creation with synchronized panes
- Server alias display in pane titles
- Automatic layout management
Use a quote helper function to properly escape tmux session names and commands
Remove redundant commands and streamline pane title setting
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant