zed/crates
Mikayla Maki 584e5f7958
Fix usability issues with new panel system. (#2544)
This PR updates the dock key bindings according to the following model:

There are three bits: 
Visible: Opened / closed.
Focus: Panel focused / center focused.
Zoom: Zoomed / Not zoomed.

Each of these variables is 'sticky' in that they won't effect each other
unless they need to. 'Zooming' a panel conceptually merges the visible
and focus bits.

cmd-shift-j/b/r have all been removed.

cmd-j/b/r have been updated to mean 'toggle visibility of a certain
dock', firing them should *always* reveal the panel to you (where you
last left it), or hide it, without moving focus (unless the focused
element is invisible). This means that, when the terminal panel is
zoomed, cmd-j has the same effect as ctrl-`

ctrl-` and cmd-shift-e now toggle a panel's focus, without updating the
zoom state of a panel. Toggling the focus of a zoomed panel causes it to
automatically hide itself, without losing the zoom bit.

When focused or made visible, panels which cannot be zoomed
automatically unzoom everything else so as to preserve user intent of
'show me this panel' and 'everything stays where it is if I don't take
an action'

Release Notes:

- cmd-shift-j/b/r have been removed.  (preview only)
- cmd-j/b/r unconditionally show or hide their associated dock,
respecting zoom settings. (preview only)
- ctrl-` and cmd-shift-e now retain zoom state. (preview only)
- Fixed a bug where terminal dock tab would always be in the active
state (preview only)
- Fixed a bug where terminals would not always open in the terminal
panel
- Changed the look of zoomed panels to fill more of the screen (preview
only)
2023-05-30 16:39:06 -07:00
..
activity_indicator Enable test-support on editor in tests 2023-05-20 09:54:38 -06:00
ai Properly display labels for currently opened external files 2023-05-26 15:44:44 +03:00
assets
auto_update WIP: Stream in completions 2023-05-22 20:28:22 -06:00
breadcrumbs Define theme/ui text style settings in theme crate 2023-05-17 14:44:59 -07:00
call
cli Unit test file:row:column parsing 2023-05-16 21:07:48 +03:00
client Add architecture to clickhouse event request body 2023-05-22 21:45:58 -04:00
clock
collab Move history navigation logic to Workspace 2023-05-29 19:47:59 +02:00
collab_ui Merge branch 'main' into panels 2023-05-22 14:10:17 +02:00
collections
command_palette Define theme/ui text style settings in theme crate 2023-05-17 14:44:59 -07:00
context_menu Define theme/ui text style settings in theme crate 2023-05-17 14:44:59 -07:00
copilot Merge branch 'main' into panels 2023-05-22 14:10:17 +02:00
copilot_button Merge branch 'main' into panels 2023-05-22 14:10:17 +02:00
db WIP 2023-05-22 23:11:27 -06:00
diagnostics Fix tests 2023-05-25 14:29:28 -04:00
drag_and_drop
editor Move history navigation logic to Workspace 2023-05-29 19:47:59 +02:00
feedback Scrape email from feedback editor 2023-05-30 15:06:35 -04:00
file_finder Shorten full paths with ~ 2023-05-27 01:21:38 +03:00
fs Avoid removing fake fs entry when rename fails later in the process 2023-05-16 13:00:39 -04:00
fsevent
fuzzy
git Clean up final remaining code paths calling old diff update method 2023-05-25 14:41:09 -04:00
go_to_line Enable test-support on editor in tests 2023-05-20 09:54:38 -06:00
gpui TextStyle::default() ask system for known existing font family 2023-05-30 14:46:27 -04:00
gpui_macros
install_cli
journal Enable test-support on editor in tests 2023-05-20 09:54:38 -06:00
language Adjust diagnostic transformation test to not wait for two buffer notifications 2023-05-26 15:47:37 -07:00
language_selector Enable test-support on editor in tests 2023-05-20 09:54:38 -06:00
live_kit_client Merge remote-tracking branch 'origin/main' into zmd 2023-05-24 11:04:07 -06:00
live_kit_server
lsp Update LSP to the newest version 2023-05-28 21:55:08 +03:00
lsp_log Enable test-support on editor in tests 2023-05-20 09:54:38 -06:00
media
menu
node_runtime
outline Enable test-support on editor in tests 2023-05-20 09:54:38 -06:00
picker Enable test-support on editor in tests 2023-05-20 09:54:38 -06:00
plugin
plugin_macros
plugin_runtime
project Make Pane::add_item a proper Pane method 2023-05-29 19:16:22 +02:00
project_panel Fix duplicate item creation in project panel 2023-05-26 02:07:25 +03:00
project_symbols Update LSP to the newest version 2023-05-28 21:55:08 +03:00
recent_projects Enable test-support on editor in tests 2023-05-20 09:54:38 -06:00
rope
rpc Use Transaction instead of ProjectTransaction 2023-05-25 16:12:14 +03:00
search Improves project search panel shortcut handling 2023-05-29 16:58:06 +03:00
settings Remove assertions about behavior on invalid settings file 2023-05-22 08:48:37 -07:00
snippet
sqlez Merge remote-tracking branch 'origin/main' into zmd 2023-05-24 11:04:07 -06:00
sqlez_macros
staff_mode
sum_tree Made the map seek target a publicly implementable interface 2023-05-12 08:37:32 -07:00
terminal Persist project and terminal panel sizes 2023-05-22 15:55:44 +02:00
terminal_view fmt 2023-05-30 16:33:42 -07:00
text Refactored apart the forward and the backwards iterator for diff hunks 2023-05-19 18:09:47 -07:00
theme Seperate pane and panel styling 2023-05-30 16:23:16 -07:00
theme_selector Enable test-support on editor in tests 2023-05-20 09:54:38 -06:00
theme_testbench Move font size adjustment code to the theme crate 2023-05-17 15:56:32 -07:00
util Merge remote-tracking branch 'origin/main' into zmd 2023-05-24 11:04:07 -06:00
vim WIP 2023-05-22 23:11:27 -06:00
welcome WIP: Remove focus side effects from toggle dock commands 2023-05-30 12:00:15 -07:00
workspace fmt 2023-05-30 16:33:42 -07:00
zed fmt 2023-05-30 16:33:42 -07:00