This change ensures that the `unsafeSaveWorkspaces` function is called asynchronously. This is necessary to prevent blocking the UI thread while saving the workspaces.
- Refactor ZenWorkspaces.mjs to fix parsing of workspace icons and ensure compatibility with icons that have more than one character.
- Improve workspace creation by displaying the first character of each icon and adding container information.
Improves the logic for initializing workspaces in the ZenWorkspaces module. The code now checks for the last used workspace and sets it as the active workspace if available. If the last used workspace is not found, it creates a default workspace or selects the first available workspace. This change enhances the user experience by automatically loading the last used workspace or providing a default option when no workspaces exist. (https://github.com/zen-browser/desktop/issues/1196)
Simplify the logic for initializing workspaces in the ZenWorkspaces module. The code now checks for the last used workspace and sets it as the active workspace if available. If the last used workspace is not found, it creates a default workspace or selects the first available workspace. This change improves the user experience by automatically loading the last used workspace or providing a default option when no workspaces exist.
Closes#376
This commit adds an event listener for the "TabClose" event in the ZenWorkspaces module. When a tab is closed, the listener checks if it is the last tab in a workspace and creates a new tab if necessary. It also closes other tabs in the workspace. This enhancement improves the functionality and user experience of ZenWorkspaces.
Remove the `insertSplitLinkIntoContextMenu` method in ZenViewSplitter.mjs as it is no longer needed. Additionally, initialize the workspace tab context menus in ZenWorkspaces.mjs to allow users to change the workspace of a tab.
Refactor ZenViewSplitter.mjs:
- Remove `insertSplitLinkIntoContextMenu` method
Refactor ZenWorkspaces.mjs:
- Initialize workspace tab context menus
This commit updates the ZenKeyboardShortcuts module to include new actions for split view and workspace management. It adds shortcuts for toggling between grid, vertical, and horizontal split views, as well as closing split views. Additionally, it introduces a shortcut for changing workspaces.
The changes also include the addition of default shortcuts for the new actions and the initialization of shortcuts only on the browser page.
Refactor other modules:
- Remove unnecessary console.log statement in ZenThemeBuilder
- Disable Firefox shortcuts in ZenKeyboardShortcuts
- Remove redundant code in ZenViewSplitter
Refactor ZenProfileDialogUI:
- Improve profiles list and profile creation
Refactor ZenWorkspaces.mjs:
- Remove unnecessary code
Refactor ZenViewSplitter.mjs:
- Activate docShell for tab
- Remove redundant code
Remove unnecessary console.log statement in ZenThemeBuilder
Disable Firefox shortcuts in ZenKeyboardShortcuts
Initialize shortcuts only on the browser page
Update ZenProfileDialogUI to improve profiles list and profile creation
Remove unnecessary code in ZenWorkspaces.mjs
Activate docShell for tab in ZenViewSplitter
Remove redundant code in ZenViewSplitter