Commit Graph

60 Commits

Author SHA1 Message Date
mr. m
89f653cc31 chore: Rename urlbar to omnibox, b=no-bug, c=common 2025-09-15 16:55:41 +02:00
octaviusz
591dce5921 feat: Zen Folders, p=#9355, c=folders
* Start working on zen folders

* Rework zen-folder SessionStore

* Refactor restoreDataFromSessionStore

* fix linter

* Fix preserve folder order on restore

* Feat allow dragging tabs into zen-folder

* Fix ensure collapsed folders are hidden on session restore

* Feat store parentId nested folders

* feat: Implement tabs list popup

* refactor: Move tabs popup to `popups.inc`

* feat: Implement drag-and-drop folder into folder

* feat: Improved UI for search panel, b=no-bug, c=folders

* fix: Add extra margin when animating collapsed folders, b=no-bug, c=folders

* feat: Implement tab group rename and other UI changes, b=no-bug, c=folders, common

* feat: Add animated folder dots and adaptive search popup positioning

* fix: resolve conflicts

* fix: Correct active state indication for collapsed folders

* feat: Allow folders to be double clicked, b=no-bug, c=common, folders

* fix: incorrect tab order

* chore: Update prefs to the rust version, b=no-bug, c=folders

* fix: better handling of subfolders

* chore: Improve dynamic spacing when drag and dropping and fixed split views UI, b=no-bug, c=tabs, folders

* feat: Empty tab and improve drag and drop

* fix: add tab search event once

* fix: Empty tab should always be at first position

* feat: improve drag and drop interaction with folders

* feat: Improve drag-and-drop interaction for zen folders

* fix: Improve zen folder session restoration and visibility

* fix: Correct visible element indexing

* fix: Correct restore subfolder order

* feat: Use empty tabs and dont highlight current folder we currently are in, b=no-bug, c=tabs, folders

* feat: persist and restore split-view group state in subfolders

* fix: npm run pretty

* fix: dropIndicator and transform for split-view-group

* fix: Formatting

* fix: improve split group and folder drag-and-drop and persistence

* chore: Fix lint issues and merge with dev, b=no-bug, c=folders

* chore: Move folder element to a different location, b=no-bug, c=folders

* feat: Added a simple folders context menu and simplified patches, b=no-bug, c=tabs, folders

* fix: Correct active tab position in folders collapse animation

* feat: Add ungroup and delete folder actions

* fix: Fixed empty tabs not being able to be pinned, b=no-bug, c=workspaces

* feat: Added folder -> space conversion and pref checks, b=no-bug, c=folders, workspaces

* Update locales/en-US/browser/browser/zen-folders.ftl

Co-authored-by: Patrik Egyed <pregnor@gmail.com>
Signed-off-by: mr. m <91018726+mr-cheffy@users.noreply.github.com>

* fix: Fixed folders not expanding when dragging another folder inside, b=no-bug, c=folders

* refactor: Refactor and improve tab group expansion logic

* feat: New folder dots

* test: Added simple folder creation test, b=no-bug, c=folders, tests

* fix: Don't expand folder when a tab inside it is selected

* feat: Added change folder to space menu item, b=no-bug, c=folders, workspaces

* feat: Added a menu item to create folders more easily, b=no-bug, c=workspaces, common, folders

* feat: Improved animations for collapsing active folders, b=no-bug, c=folders

* fix: Insert folder before pinned separator

* test: Improve folder and welcome testing, b=no-bug, c=folders, tests, welcome

* test: Fixed welcome tests, b=no-bug, c=folders, tests, welcome

* chore: lint, b=no-bug, c=tests, welcome

* feat: Add better selected UI, b=no-bug, c=folders

* feat: Emoji icons

* fix: Better handling of drag-and-drop folder highlighting

* fix: Single quotes

* fix: Hide emoji when folder has selected tab

* feat: Improved icons and animations, b=no-bug, c=folders, tabs

* fix: Fixed fetching the wrong prefs, b=no-bug, c=tabs, folders

* fix: Smoother dot animations

* fix: dragOverFolderThreshold condition and linter

* feat: visually collapse/expand active tab groups on drag/drop

* fix: Correctly transform folder with selected tab

* feat: Added better icons picker to support SVG, b=no-bug, c=common, folders, workspaces

* fix: Correctly transform tabs after moving them

* fix: Fixed not handling properly pinned tab count, b=no-bug, c=tabs, common, folders

* chore: Small formatting, b=no-bug, c=folders

* feat: Support SVG for folder icons

* fix: Formatting

* fix: Performance improvements for SVG icons

* fix: Shift up the folder icon

* fix: Handle null/undefined user icon values defensively

* feat: Improved icon sizes and fixed bug when collapsing folders with collapsed folders, b=no-bug, c=common, folders, workspaces

* chore: Tweaked the transform values for icons, b=no-bug, c=folders

* feat: Added support for collapsed mode (experimental), b=no-bug, c=folders

* fix: ungroup split view

* fix: Improve handling of special tabs during folder creation and drag-and-drop

* fix: Formatting

* feat: Imrpoved hardware accelaration for the icons and folder height calculation, b=no-bug, c=tabs, folders

* refactor: Extract dragover logic for tab group labels

* fix: Small fixes to the folders UI, b=no-bug, c=tabs, folders

* feat: Improved icons opacity and dialog, b=no-bug, c=common, workspaces

* test: Added subfolders basic test, b=no-bug, c=folders, tests

* fix: Drop indicator for folder targets

* feat: Improved drag and drop handling from normal to pinned tabs, b=no-bug, c=folders, tabs

* fix: Fixed moving split views into pinned tabs container, b=no-bug, c=folders, tabs

* feat: Improved new drag and drop offset, b=no-bug, c=tabs

* feat: Refine folder drop behavior with new thresholds

* fix: tabs.js extra space in patch

* fix: Properly handle has-active state

* fix: Add optional chaining for activeGroups length check

* fix: Fixed moving tabs to the workspace indicator not showing any feedback, b=no-bug, c=tabs

* feat: Change svg stroke width, b=no-bug, c=folders, tabs

* feat: Remove aspect ratio for the folder icon, b=no-bug, c=folders, tabs

* feat: Don't reset transform when pining tabs, b=no-bug, c=tabs

* feat: Ungroup tabs when dragging and make sure to animate tabs after the selected one, b=no-bug, c=tabs, folders

* fix: Transform folder with active tab

* fix: Fixed expand animation not working for the first time, b=no-bug, c=folders

* feat: Add expand to selected functionality for folders

* fix: Formatting

* Update src/zen/folders/ZenFolder.mjs

Signed-off-by: mr. m <91018726+mr-cheffy@users.noreply.github.com>

* Update src/zen/workspaces/ZenWorkspaces.mjs

Signed-off-by: mr. m <91018726+mr-cheffy@users.noreply.github.com>

* fix: Set icon for new workspace

* fix: Formatting

* fix: Hide the icon if empty

* fix: Optimize tab drag-over transitions

* feat: Lower the drag and drop threshold, b=no-bug, c=tabs, folders

* feat: Hide search panel when theres no visible tabs, b=no-bug, c=tabs, folders

* fix: Adapt tab-group to new changes

* fix: Fixed expanding split views as folders, b=no-bug, c=folders

* feat(tabs): Implement tab grouping persistence for pinned tabs

This commit introduces the ability to group pinned tabs for better organization.

Changes include:

- Added `createGroup` to create new tab groups.
- Added `addTabToGroup` to add existing tabs to a group.
- Added `removeTabFromGroup` to remove a tab from a group (moving it to the root level).
- Added `moveTabBetweenGroups` to move tabs between different groups or to the root level.
- Added `getAllGroups` to retrieve all tab groups, optionally filtered by workspace.
- Added `getGroupInfo` to retrieve information about a specific group, including its child count.
- Added `reorderTabsInGroup` to reorder tabs within a specific group.

These functions provide a comprehensive API for managing tab groups within the Zen Browser.  Error handling and input validation are included for robustness.  Database transactions are used to ensure data consistency. Observers are notified of changes to notify the sync engine.

* feat: Improve stroke colors for light mode, b=no-bug, c=folders

* perf: cache and optimize animation updates

* fix: Expand folder after drop

* fix: Update active state on tab change

* feat: Sync groups to new windows, b=no-bug, c=folders, tabs, workspaces

* feat: Finish window syncing for new folders, b=no-bug, c=tabs, folders, workspaces

* feat: Make sure SVG icons use the context fill instead of the current color, b=no-bug, c=common, folders

* feat: Added support for drag and drop in collapsed mode, b=no-bug, c=tabs, folders

* fix: Clean up tab attributes and styles on workspace transfer

* fix: Fixed svg icons being always dark, b=no-bug, c=workspaces

---------

Signed-off-by: mr. m <91018726+mr-cheffy@users.noreply.github.com>
Co-authored-by: mr. m <91018726+mr-cheffy@users.noreply.github.com>
Co-authored-by: Mr. M <mr.m@tuta.com>
Co-authored-by: Patrik Egyed <pregnor@gmail.com>
Co-authored-by: Kristijan Ribarić <kriba13@gmail.com>
2025-08-06 08:59:08 -07:00
Mr. M
847aef5b02 feat: Added new workspace creation form, b=no-bug, c=tabs, common, compact-mode, workspaces 2025-06-10 20:49:14 +02:00
mr. m
2a0113408c feat: Implement new workspace management, b=no-bug, c=common, workspaces 2025-06-09 18:41:04 +02:00
Mr. M
8ef4460f00 perf: part 2 - Improved startup speed/performance and added some tests for private browsing, b=no-bug, c=common, kbs, mods, tests, glance, workspaces 2025-06-07 01:02:03 +02:00
Bryan Galdámez
797152da89 refactor(mods): rework ZenMods module (#8618)
Co-authored-by: mr. m <mr.m@tuta.com>
Co-authored-by: mr. m <91018726+mauro-balades@users.noreply.github.com>
2025-05-27 12:02:59 +02:00
Mr. M
ebfc885745 feat: Replace zen's tab unloader with firefox's one. Also added more tests, b=(no-bug), c=common, tabs, tests, glance 2025-05-23 21:01:33 +02:00
Mr. M
9eb0aa0de4 fix: Completed migrating to firefox 139, b=(no-bug), c=tabs, common, compact-mode, glance 2025-05-22 13:45:31 +02:00
mr. m
b83a9d94c6 Merge branch 'dev' into download-animation 2025-04-27 09:20:46 +02:00
Gabriel
a536c708ca Added new animation when download button is not visible 2025-04-26 23:47:57 +02:00
Mr. M
53de112eb8 chore: Added better testing preferences and cleaned up a bit, b=(no-bug), c=common, tests, workspaces 2025-04-26 15:02:59 +02:00
Gabriel
99ed27ca61 Initial development for download animation 2025-04-17 17:03:46 +02:00
Mr. M
4cc7e9ca98 chore: no-bug - Cleaned up configurations for windows and unsused style sheets, r=no-component 2025-04-15 20:24:58 +02:00
Mr. M
1135744520 refactor(common, compact-mode, folders, fonts, glance, images, kbs, media, mods, split-view, tabs, tests, workspaces, vendor, welcome): closes #7628 - Refactor zen components file structure for easier understanding 2025-04-15 14:03:55 +02:00
mr. M
f2c6d0a6b9 fix: streamline style clearing in ZenGlanceManager and update version numbers in surfer.json 2025-04-05 04:15:18 +02:00
mr. M
031926efb7 refactor: remove sidebar-related code and update localization references 2025-04-02 10:16:07 +02:00
mr. m
5462f035f8 refactor: enhance tab handling in split view and update script loading method 2025-03-29 12:31:00 +01:00
Slowlife01
500e62cbce address reviews 2025-03-12 08:45:23 +07:00
Slowlife01
e6552c8dda Feat: basic media control
Fixed dragging undefined tabs
2025-03-12 08:45:19 +07:00
mr. M
18d62429bf Started working on folders implementation and better split view integration 2025-02-26 23:51:38 +01:00
mr. M
638c7c7420 Remove unused zen-avatars directory and associated files 2025-02-18 11:53:48 +01:00
mr. M
425d0ea951 Implement Zen Welcome page with initial animation and styling; remove deprecated files 2025-02-14 00:42:18 +01:00
mr. M
c9cf757964 Add ZenWorkspacesStorage initialization and ensure waitForPromises is called 2025-01-18 22:35:35 +01:00
mr. M
351cc884ec Add ZenGlanceManager script and update event listener binding in PlacesViewBase 2025-01-18 01:36:17 +01:00
mr. M
4fdd0993d7 Reorganize script loading in zen-assets and zen-preloaded to improve module management 2025-01-17 19:14:44 +01:00
mr. M
8e783f948f Fixed essentials and pinned tabs not being correctly restored and race conditions when starting multiple zen windows 2025-01-17 19:01:32 +01:00
mr. M
48fdde5640 Zen rices looking sharp! 2024-12-26 18:29:33 +01:00
mr. M
42175496be Started working on zen rices! 2024-12-26 13:47:47 +01:00
mr. M
1ab4af5e9d Remove unused ZenWorkspacesStorage script from zen-assets 2024-12-19 20:44:12 +01:00
mr. M
29e7df3575 Refactor ZenPinnedTabsStorage initialization and improve workspace handling 2024-12-19 20:43:07 +01:00
mr. M
b094d8322a refactor: update styling and structure of Zen UI components; remove deprecated toolbar styles and adjust margins for better layout 2024-11-19 20:51:48 +01:00
mr. M
66b215b44b feat: add zen-cool-toolbar styles and adjust layout for sidebar and workspace indicators 2024-11-16 10:27:46 +01:00
mr. M
d4962685d6 refactor: Hide tab label container in vertical-tabs.css 2024-11-03 10:21:55 +01:00
Kristijan Ribarić
a21511b683 feat: Add Essentials Toolbar
This commit introduces a new Essentials Toolbar feature to Zen. It provides a more streamlined and organized way for users to access frequently used bookmakrs directly from the sidebar.

- Added `ZenEssentialsToolbar.mjs` to provide the logic for the toolbar.
- Updated the sidebar CSS (`zen-sidebar.css`) to style the Essentials Toolbar.
- Modified `ZenStartup.mjs` to initialize the Essentials Toolbar.
- Made changes to `browserPlacesViews-js.patch` to integrate with existing bookmark functionality.
- Added a new preference `zen.essentials.enabled` to enable/disable the Essentials Toolbar.
2024-11-02 21:09:07 +01:00
mr. M
441379b6e8 Added glance overlay and functionality 2024-10-28 15:25:57 +01:00
mr. M
6e5d117720 Started working on zen glance 2024-10-28 14:44:41 +01:00
mr. M
7d42a41df4 Update ZenAssets and ZenComponents 2024-10-26 22:19:53 +02:00
mr. M
c92924db15 Started working on the gradient generation 2024-10-24 23:53:09 +02:00
mr. M
45ce804ee9 Update subproject commit references in l10n and zen-components 2024-10-24 21:46:15 +02:00
mauro-balades
e8ff848518 Fix initialization issue with ZenStartup 2024-10-08 22:30:26 +02:00
Kristijan Ribarić
6dcff571d2 feat(zen-pinned-tab-manager): Add pinned tab management functionality
This commit introduces a new feature: pinned tab management. It allows users to pin tabs and define whether to reset pinned tabs on close.

- Adds a new `ZenPinnedTabManager` component to manage pinned tabs.
- Updates `zen-assets.inc.xhtml` and `zen-assets.jar.inc.mn` to include the new component.
- Modifies the `ZenStartup.mjs` file to initialize the new manager.
- Introduces a new preference `zen.pinned-tab-manager.reset-pinned-tab-on-close-shortcut` to control the behavior of pinned tabs on close.
- Updates the settings UI to reflect the new pinned tab management functionality.
- Refactors related preferences from `zen.tab-unloader.*` to `zen.pinned-tab-manager.*`.

This feature enhances Zen's tab management capabilities by providing users with more control over their pinned tabs.
2024-10-08 15:00:10 +02:00
mauro-balades
2a764eaf7a Added preloaded scripts that load before the window is created 2024-10-06 14:03:35 +02:00
Kristijan Ribarić
5488980bd9 feat: Add Zen Workspaces synchronization
This commit introduces a new component, `ZenWorkspacesSync`, which enables synchronization of Zen Workspaces across different devices.

- Added `ZenWorkspacesSync` component.
- Updated `zen-assets.inc.xhtml` and `zen-assets.jar.inc.mn` to include the new component.

This feature allows users to maintain consistent workspace configurations on multiple computers, enhancing productivity and seamless workflow.
2024-10-05 15:11:14 +02:00
mauro-balades
e2792eecb5 Made the code look cleaner 2024-10-04 18:21:41 +02:00
Kristijan Ribarić
1624f05c06 feat(ui): Add ZenWorkspacesStorage.mjs to zen-assets.inc.xhtml
This commit adds the `ZenWorkspacesStorage.mjs` script to the `zen-assets.inc.xhtml` file. This file is responsible for storing and retrieving workspace data.
2024-10-02 12:09:52 +02:00
mauro-balades
39caaf5caa Synced workspaces across windows and also implemented MultiWindowFeatures 2024-10-01 23:21:40 +02:00
mauro-balades
bd9f68e0c0 Refactor preferences for tab unloading feature 2024-09-26 18:44:33 +02:00
mauro-balades
e4aa905440 Refactor ZenCompactModeManager and add ZenCompactMode.mjs 2024-09-21 14:31:25 +02:00
mauro-balades
aef6c2ac48 Refactor ZenCompactModeManager and add ZenCompactMode.mjs 2024-09-21 13:24:06 +02:00
Bryan Galdámez
ed82f7d459 refactor(zen-settings): moved common utils to ZenThemesCommon 2024-09-18 17:39:28 -06:00