Update README to reflect split-based editor and multi-monitor support
- Replace drawing instructions with split-based workflow - Add multi-monitor support section - Update keyboard shortcuts with editor controls - Mark completed features in Future Enhancements - Add real-time dimension display feature - Update contributing section Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
81
README.md
81
README.md
@@ -4,11 +4,13 @@ A window tiling manager extension for Linux Mint's Cinnamon Desktop, inspired by
|
|||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
|
- **Split-Based Zone Editor**: Create layouts by splitting zones horizontally or vertically - intuitive tiling interface!
|
||||||
|
- **Multi-Monitor Support**: Independent zone configurations for each monitor
|
||||||
- **Multiple Zone Layouts**: Pre-configured layouts including 2x2 grid, 3 columns, and focus layouts
|
- **Multiple Zone Layouts**: Pre-configured layouts including 2x2 grid, 3 columns, and focus layouts
|
||||||
- **Graphical Zone Editor**: Draw custom zones visually with your mouse - no code editing required!
|
- **Real-Time Dimensions**: See pixel and percentage dimensions in each zone
|
||||||
- **Visual Overlay**: See your zones while dragging windows (hold Shift)
|
- **Visual Overlay**: See your zones while dragging windows (hold Shift)
|
||||||
- **Keyboard Shortcuts**: Quick snap to zones using hotkeys
|
- **Keyboard Shortcuts**: Quick snap to zones using hotkeys
|
||||||
- **Layout Cycling**: Switch between different zone layouts on the fly
|
- **Persistent Storage**: Custom layouts saved per-monitor with automatic migration
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@@ -28,29 +30,41 @@ A window tiling manager extension for Linux Mint's Cinnamon Desktop, inspired by
|
|||||||
|
|
||||||
### Keyboard Shortcuts
|
### Keyboard Shortcuts
|
||||||
|
|
||||||
|
**Global Shortcuts:**
|
||||||
- **Super + Z**: Toggle zone overlay (show/hide zones)
|
- **Super + Z**: Toggle zone overlay (show/hide zones)
|
||||||
- **Super + Shift + Z**: Cycle through different layouts
|
- **Super + Shift + Z**: Cycle through different layouts
|
||||||
- **Super + Shift + E**: Open graphical zone editor
|
- **Super + Shift + E**: Open zone editor
|
||||||
- **Super + Ctrl + 1-9**: Snap focused window to zone 1-9
|
- **Super + Ctrl + 1-9**: Snap focused window to zone 1-9
|
||||||
|
|
||||||
|
**Zone Editor Shortcuts:**
|
||||||
|
- **H**: Split selected zone horizontally (creates top/bottom)
|
||||||
|
- **V**: Split selected zone vertically (creates left/right)
|
||||||
|
- **Delete**: Remove selected zone
|
||||||
|
- **Ctrl + S**: Save layout
|
||||||
|
- **Escape**: Cancel and close editor
|
||||||
|
|
||||||
### Mouse Usage
|
### Mouse Usage
|
||||||
|
|
||||||
1. Hold **Shift** while dragging a window to see the zone overlay
|
1. Hold **Shift** while dragging a window to see the zone overlay
|
||||||
2. Drop the window over a zone to snap it there
|
2. Drop the window over a zone to snap it there
|
||||||
3. Release Shift or move outside zones to cancel
|
3. Release Shift or move outside zones to cancel
|
||||||
|
|
||||||
### Graphical Zone Editor
|
### Split-Based Zone Editor
|
||||||
|
|
||||||
Create custom layouts visually by drawing zones with your mouse:
|
Create custom layouts by progressively splitting zones:
|
||||||
|
|
||||||
1. Press **Super + Shift + E** to open the zone editor
|
1. Press **Super + Shift + E** to open the zone editor
|
||||||
2. **Click and drag** to draw rectangular zones
|
2. Select which monitor to edit (if you have multiple monitors)
|
||||||
3. Draw as many zones as you need
|
3. Choose to create a new layout or edit an existing one
|
||||||
4. **Ctrl + S** to save your custom layout
|
4. Editor starts with **one full-screen zone** (highlighted in yellow)
|
||||||
5. **Ctrl + C** or **Escape** to cancel
|
5. **Click** a zone to select it
|
||||||
6. **Delete/Backspace** to remove the last zone
|
6. Press **H** to split horizontally (top/bottom) or **V** to split vertically (left/right)
|
||||||
|
7. **Drag dividers** between zones to adjust their positions
|
||||||
|
8. Press **Delete** to remove the selected zone
|
||||||
|
9. **Ctrl + S** to save your custom layout
|
||||||
|
10. **Escape** to cancel
|
||||||
|
|
||||||
Your custom layout will be added to the layout rotation and can be accessed with Super + Shift + Z.
|
Each zone displays its dimensions in pixels and percentages in real-time. Your custom layout will be saved per-monitor and can be accessed with Super + Shift + Z.
|
||||||
|
|
||||||
## Available Layouts
|
## Available Layouts
|
||||||
|
|
||||||
@@ -60,12 +74,14 @@ Your custom layout will be added to the layout rotation and can be accessed with
|
|||||||
|
|
||||||
## Customization
|
## Customization
|
||||||
|
|
||||||
### Easy Way: Use the Graphical Editor
|
### Easy Way: Use the Split-Based Editor
|
||||||
|
|
||||||
1. Press **Super + Shift + E** to open the zone editor
|
1. Press **Super + Shift + E** to open the zone editor
|
||||||
2. Draw zones by clicking and dragging
|
2. Select your monitor (if you have multiple)
|
||||||
3. Press **Ctrl + S** to save your custom layout
|
3. Split zones using **H** (horizontal) and **V** (vertical)
|
||||||
4. Your layout is immediately available in the layout rotation!
|
4. Adjust dividers by dragging them
|
||||||
|
5. Press **Ctrl + S** to save your custom layout
|
||||||
|
6. Your layout is immediately available and saved per-monitor!
|
||||||
|
|
||||||
### Advanced Way: Edit the Code
|
### Advanced Way: Edit the Code
|
||||||
|
|
||||||
@@ -89,6 +105,22 @@ Zone coordinates are relative (0.0 to 1.0):
|
|||||||
- `width`: Zone width as fraction of screen width
|
- `width`: Zone width as fraction of screen width
|
||||||
- `height`: Zone height as fraction of screen height
|
- `height`: Zone height as fraction of screen height
|
||||||
|
|
||||||
|
## Multi-Monitor Support
|
||||||
|
|
||||||
|
GridSnap fully supports multiple monitors with independent configurations:
|
||||||
|
|
||||||
|
- **Per-Monitor Layouts**: Each monitor can have its own set of custom layouts
|
||||||
|
- **Monitor Selector**: Choose which monitor to edit when opening the zone editor
|
||||||
|
- **Automatic Detection**: Window snapping automatically uses the correct monitor's zones
|
||||||
|
- **Keyboard Shortcuts**: Work on any monitor - snaps to zones on the monitor where the window is located
|
||||||
|
- **Settings Panel**: Manage layouts per-monitor with a dropdown selector
|
||||||
|
- **Storage Migration**: Existing layouts automatically migrate to the primary monitor
|
||||||
|
|
||||||
|
When you open the zone editor, you'll be prompted to select which monitor to configure. Each monitor maintains its own:
|
||||||
|
- Current active layout
|
||||||
|
- Custom layouts
|
||||||
|
- Zone configurations
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
### Extension won't load
|
### Extension won't load
|
||||||
@@ -132,21 +164,24 @@ tail -f ~/.cinnamon/glass.log
|
|||||||
## Future Enhancements
|
## Future Enhancements
|
||||||
|
|
||||||
- [x] Custom layout editor GUI
|
- [x] Custom layout editor GUI
|
||||||
- [ ] Per-monitor zone configurations
|
- [x] Per-monitor zone configurations
|
||||||
- [ ] Save custom layouts permanently to file
|
- [x] Save custom layouts permanently to file
|
||||||
- [ ] Edit existing custom layouts in the graphical editor
|
- [x] Edit existing custom layouts in the graphical editor
|
||||||
|
- [x] Animation effects
|
||||||
|
- [x] Settings panel (zone appearance, toggles, layout management)
|
||||||
- [ ] Zone layout import/export
|
- [ ] Zone layout import/export
|
||||||
- [ ] More pre-configured layouts
|
- [ ] More pre-configured layouts
|
||||||
- [ ] Animation effects
|
- [ ] High-DPI display support
|
||||||
- [ ] Settings panel for keybinding customization
|
- [ ] Keybinding customization in settings panel
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
Feel free to fork and submit pull requests! Areas that could use help:
|
Feel free to fork and submit pull requests! Areas that could use help:
|
||||||
- Additional layout presets
|
- Additional layout presets
|
||||||
- UI improvements for the overlay
|
- High-DPI display support and testing
|
||||||
- Settings GUI implementation
|
- Zone layout import/export functionality
|
||||||
- Multi-monitor support improvements
|
- UI improvements and animations
|
||||||
|
- Performance optimizations
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user