A dynamic script to manage multiple display configurations in i3wm with support for rotation, resolution, and custom layouts.
- Multiple Display Management: Extend, mirror, or show individual displays with a simple interface
- Rotation Support: Rotate displays in different orientations (normal, left, right, inverted)
- Resolution Control: Select from available resolutions for each connected display
- Custom Layouts: Create custom arrangements with flexible positioning (right-of, left-of, above, below)
- i3wm Integration: Automatically restarts i3 after display changes for seamless transitions
- Clone this repository or download the script:
git clone https://github.com/hdprajwal/ScreenManager.git- Make the script executable:
chmod +x screenmanager.shxrandr: For display managementrofi: For the menu interfacei3-msg: For i3wm integration
Install dependencies on Debian/Ubuntu:
sudo apt install rofiSimply run the script:
./screenmanager.shFor seamless integration with i3, add this to your i3 config file:
# Display management
bindsym $mod+Shift+p exec --no-startup-id screenmanager
All actions are logged to ~/.local/share/screenmanager/screenmanager.log. Check this file for debugging:
cat ~/.local/share/screenmanager/screenmanager.logContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feat/<feature-name>) - Commit your changes (
git commit -m '<commit-message>') - Push to the branch (
git push origin feat/<feature-name>) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Prajwal HD - hdprajwal