A command-line tool for managing Hyprland window manager sessions
Caution
This project is currently in active development. not ready to add to your dotfiles yet! Feedback welcome.
- Save current window layouts and workspace configurations
- Restore previously saved sessions
- Manage multiple session profiles
- Command-line interface for easy integration
Future features:
- Auto save functionality
- systemd support
- hsm configuration file
- easy configurable sessions
Current limitations:
- Loading sessions will require closing all existing windows or else duplicates will be created
- closing those windows would close the current terminal, work around is in progress
- hyprctl class titles used for running applications may not match the command used to launch them
- First runs command then moves to workspace, would ideally have this batched
git clone https://github.com/richen604/hyprland-session-manager
cd hyprland-session-manager
bun install
bun dev
Note
Bun installation will be available in a future release.
# Install using bun
bun install -g hyprland-session-manager
Note
Make installation will be available in a future release.
# Clone the repository
git clone https://github.com/richen604/hyprland-session-manager
cd hyprland-session-manager
# Install using make
make
sudo make install
Note
AUR package will be available in a future release.
# Using your preferred AUR helper (e.g., yay)
yay -S hyprland-session-manager
# Or manually
git clone https://aur.archlinux.org/hyprland-session-manager.git
cd hyprland-session-manager
makepkg -si
# Save current session
hsm save [profile-name]
# Restore a saved session
hsm restore [profile-name]
# List all saved sessions
hsm list
# Delete a saved session
hsm delete [profile-name]
Configuration file is located at ~/.config/hyprland-session-manager/config.json
{
"savePath": "~/.local/share/hyprland-session-manager",
"maxSessions": 10
}
# Clone the repository
git clone https://github.com/richen604/hyprland-session-manager
# Install dependencies
bun install
# Run in dev mode
bun dev
# Run tests
bun test
# Build
bun build
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes following Conventional Commits specification:
The project uses semantic-release for automatic version management. Commit messages following the Conventional Commits specification will trigger automatic version updates:
# Examples: git commit -m 'feat: add new session backup feature' git commit -m 'fix: resolve workspace restoration issue' git commit -m 'docs: update installation instructions'
feat:
- Minor version bump (new feature)fix:
- Patch version bump (bug fix)BREAKING CHANGE:
- Major version bump
- Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- joshurtree's Hyprsession for inspiration
If you encounter any issues or have questions, please file an issue on the GitHub repository.