Previously, empty input would set workspace name to empty string,
causing issues with Niri's unique workspace name requirement.
Now uses UnsetWorkspaceName action when input is empty.
* feat(niri): Add drag-and-drop workspace reordering
Add interactive drag-and-drop reordering for Niri workspace indicators
with smooth animations matching the system tray behavior.
- Add moveWorkspaceToIndex() to NiriService for workspace reordering
- Implement drag detection with 5px threshold
- Add shift animation for items between source and target
- Clamp drag offset to stay within workspace row bounds
- Reset drag state when workspace list changes during drag
- Visual feedback: opacity change, border highlight on drag/drop target
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(settings): Add workspace drag reorder toggle
Add workspaceDragReorder setting to enable/disable workspace
drag-and-drop reordering. Enabled by default, only visible on Niri.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* feat: add workspace rename dialog
- Adds a modal dialog to rename the current workspace
- Supports both Niri (via IPC socket) and Hyprland (via hyprctl dispatch)
- Default keybinding: Ctrl+Shift+R to open the dialog
- Pre-fills with current workspace name
- Allows setting empty name to reset to default
* refactor: wrap WorkspaceRenameModal in LazyLoader
Reduces memory footprint when the modal is not in use.
* dankbar: show niri workspace names
Keep labels aligned with niri indices and live renames.
* dankbar: prefix named workspaces with index
Use workspace index toggle to show index: name labels.
* workspaces: change size conditions for workspace names
---------
Co-authored-by: bbedward <bbedward@gmail.com>
* niri: Handle new Cast events
* bar: Add screen sharing indicator
Configurable like other icons; on by default.
* lockscreen: Add screen sharing indicator
- Configure position, VRR, orientation, resolution, refresh rate
- Split Display section into Configuration, Gamma, and Widgets
- MangoWC omits VRR because it doesnt have per-display VRR
- HDR configuration not present for Hyprland
- niri only for now
- requires quickshell-git, hidden otherwise
- Add, Edit, Delete keybinds
- Large suite of pre-defined and custom actions
- Works with niri 25.11+ include feature