mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-01-24 21:42:51 -05:00
feat: add workspace rename dialog (#1429)
* 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.
This commit is contained in:
committed by
GitHub
parent
775b381987
commit
b3ea28c5c4
@@ -1292,4 +1292,41 @@ Item {
|
||||
|
||||
target: "desktopWidget"
|
||||
}
|
||||
|
||||
IpcHandler {
|
||||
function open(): string {
|
||||
if (!workspaceRenameModalLoader || !workspaceRenameModalLoader.item) {
|
||||
return "WORKSPACE_RENAME_MODAL_NOT_FOUND";
|
||||
}
|
||||
workspaceRenameModalLoader.active = true;
|
||||
const ws = NiriService.workspaces[NiriService.focusedWorkspaceId];
|
||||
workspaceRenameModalLoader.item.show(ws?.name || "");
|
||||
return "WORKSPACE_RENAME_MODAL_OPENED";
|
||||
}
|
||||
|
||||
function close(): string {
|
||||
if (!workspaceRenameModalLoader || !workspaceRenameModalLoader.item) {
|
||||
return "WORKSPACE_RENAME_MODAL_NOT_FOUND";
|
||||
}
|
||||
workspaceRenameModalLoader.item.hide();
|
||||
return "WORKSPACE_RENAME_MODAL_CLOSED";
|
||||
}
|
||||
|
||||
function toggle(): string {
|
||||
if (!workspaceRenameModalLoader || !workspaceRenameModalLoader.item) {
|
||||
return "WORKSPACE_RENAME_MODAL_NOT_FOUND";
|
||||
}
|
||||
if (workspaceRenameModalLoader.item.shouldBeVisible) {
|
||||
workspaceRenameModalLoader.item.hide();
|
||||
return "WORKSPACE_RENAME_MODAL_CLOSED";
|
||||
} else {
|
||||
workspaceRenameModalLoader.active = true;
|
||||
const ws = NiriService.workspaces[NiriService.focusedWorkspaceId];
|
||||
workspaceRenameModalLoader.item.show(ws?.name || "");
|
||||
return "WORKSPACE_RENAME_MODAL_OPENED";
|
||||
}
|
||||
}
|
||||
|
||||
target: "workspace-rename"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user