Closes https://linear.app/zed-industries/issue/Z-1188/allow-docks-to-be-visible-on-left-bottom-right To prepare the way for the AI assistant, we want to revamp the way docks and panels work. In this PR, we replace the dock as it currently exists with 3 independent docks at the left, bottom, and right edge of the workspace. To replace the "expanded" dock, we will introduce a zoom feature that works on any pane and some panels. When showing a dock with an active panel that is zoomed, it will automatically appear zoomed. This replicates the expanded dock experience. If you unzoom, the panel will still be visible. ### Panels only We want to simplify these docks to only allow them to contain *panels*. By doing this, we don't need to give each dock a tab bar, minimizing clutter in the workspace. Each panel will remember its size, and the dock will adjust to that size when the panel is toggled. This will allow each panel to take up the amount of space that makes sense for its use case. There will be 3 kinds of panels: * Project panel: This currently lives in the left "sidebar", which this PR renames to the left dock. Users will be able to left click the icon and switch the project panel to the right dock. * Terminal panel: This is the primary user of the previous dock. Now all terminals will live in a terminal panel, which can be docked at the left, bottom, or right. This dock will contain tabs, but only for terminals. Terminals will still be able to be dragged into the workspace, but by default, the first new terminal will live in the terminal panel which lives in one of the 3 docks. * Feedback: Instead of opening a pane, let's explore making this a panel instead. ### Status bar icons A nice feature of this change is that it simplifies our status bar by eliminating the dock button. We will only show icons for specific panels. Panel in the left dock will appear at the left side of the status bar. Panels in the right dock on the far right, panels in the bottom will appear on the right, to the immediate left of the buttons for right panels. Left clicking any panel button will allow it to be redocked to any valid location for that panel. ### Paving the way for the AI assistant I'm envisioning the assistant living in the far right panel by default. So in the stock config, you'll have the project panel on the left, terminal on the bottom, assistant on the right, and code in the middle. Let's fucking go!
51 files changedLine totals unavailable