ZIm/crates
张小白 63a5f46df4
Remember window restore size (#10429)
Now, regardless of how the Zed window is closed, Zed can remember the
window's restore size.

- [x] Windows implementation
- [x] macOS implementation
- [x] Linux implementation (partial)
- [x] update SQL data base (mark column `fullscreen` as deprecated)

The current implementation on Linux is basic, and I'm not sure if it's
correct.

The variable `fullscreen` in SQL can be removed, but I'm unsure how to
do it.
edit: mark `fullscreen` as deprecated

### Case 1

When the window is closed as maximized, reopening it will open in the
maximized state, and returning from maximized state will restore the
position and size it had when it was maximized.



https://github.com/zed-industries/zed/assets/14981363/7207752e-878a-4d43-93a7-41ad1fdb3a06


### Case 2

When the window is closed as fullscreen, reopening it will open in
fullscreen mode, and toggling fullscreen will restore the position and
size it had when it entered fullscreen (note that the fullscreen
application was not recorded in the video, showing a black screen, but
it had actually entered fullscreen mode).



https://github.com/zed-industries/zed/assets/14981363/ea5aa70d-b296-462a-afb3-4c3372883ea3

### What's more

- As English is not my native language, some variable and struct names
may need to be modified to match their actual meaning.
- I am not familiar with the APIs related to macOS and Linux, so
implementation for these two platforms has not been done for now.
- Any suggestions and ideas are welcome.

Release Notes:

- N/A
2024-05-07 23:29:03 -06:00
..
activity_indicator open new buffer (#11203) 2024-04-30 16:09:43 -06:00
anthropic Supermaven (#10788) 2024-05-03 12:50:42 -07:00
assets New revision of the Assistant Panel (#10870) 2024-04-23 16:23:26 -07:00
assistant assistant2: Add new conversation button, that also saves the current conversation (#11522) 2024-05-07 18:16:48 -04:00
assistant2 Show annotations more like the inline assistant (#11530) 2024-05-07 19:16:35 -07:00
assistant_tooling Centralize project context provided to the assistant (#11471) 2024-05-06 17:01:50 -07:00
audio Introduce InlineCompletionProvider (#9777) 2024-03-26 13:28:06 +01:00
auto_update Enable first version of auto-updates on Linux (#11348) 2024-05-03 16:43:28 +02:00
breadcrumbs Break typography styles out of StyledExt (#11013) 2024-04-25 17:42:53 -04:00
call Rename RemoteProject -> DevServerProject (#11301) 2024-05-02 11:00:08 -06:00
channel remote projects per user (#10594) 2024-04-23 15:33:09 -06:00
cli Allow cli to accept --dev-server-token (#10944) 2024-04-24 13:15:19 -06:00
client Add development credentials provider (#11505) 2024-05-07 13:59:18 -04:00
clock Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
collab Add a registry for GitHostingProviders (#11470) 2024-05-06 21:24:48 -04:00
collab_ui Remember window restore size (#10429) 2024-05-07 23:29:03 -06:00
collections gpui: Add SVG rendering to img element and generic asset cache (#9931) 2024-03-29 17:09:49 -07:00
color Fix hex_to_hsla inside the color crate (#9412) 2024-03-15 16:58:46 -04:00
command_palette preview tabs: Allow replacing preview tab when using code navigation (#10730) 2024-04-29 20:47:01 +02:00
command_palette_hooks Introduce InlineCompletionProvider (#9777) 2024-03-26 13:28:06 +01:00
copilot Supermaven enhanced (#11521) 2024-05-07 15:38:03 -07:00
db Clean up whitespace (#10755) 2024-04-23 13:31:21 -04:00
dev_server_projects remoting: Edit dev server (#11344) 2024-05-06 12:58:11 +02:00
diagnostics preview tabs: Allow replacing preview tab when using code navigation (#10730) 2024-04-29 20:47:01 +02:00
editor Remember window restore size (#10429) 2024-05-07 23:29:03 -06:00
extension Compile and instantiate wasm modules on a background thread (#11270) 2024-05-01 14:34:54 -07:00
extension_api Improve extension API documentation (#10322) 2024-04-09 10:38:29 -04:00
extension_cli Add git blame (#8889) 2024-03-28 18:32:11 +01:00
extensions_ui Make border methods always require an explicit width (#11450) 2024-05-06 13:22:47 -04:00
feature_flags WIP: remoting (#10085) 2024-04-11 15:36:35 -06:00
feedback Make border methods always require an explicit width (#11450) 2024-05-06 13:22:47 -04:00
file_finder new path picker (#11015) 2024-04-26 13:25:25 -06:00
file_icons gpui: Fix Global trait (#11187) 2024-04-29 16:37:37 -04:00
fs Add a registry for GitHostingProviders (#11470) 2024-05-06 21:24:48 -04:00
fsevent Retain run loop (#11241) 2024-04-30 23:31:59 -06:00
fuzzy Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
git Remove windows dependency from all non-windows platforms (#11510) 2024-05-07 12:45:23 -07:00
git_hosting_providers Add a registry for GitHostingProviders (#11470) 2024-05-06 21:24:48 -04:00
go_to_line Allow to toggle git hunk diffs (#11080) 2024-05-01 22:47:36 +03:00
google_ai Supermaven (#10788) 2024-05-03 12:50:42 -07:00
gpui Remember window restore size (#10429) 2024-05-07 23:29:03 -06:00
gpui_macros Adjust names of negated style methods (#11453) 2024-05-06 13:56:25 -04:00
headless Rename RemoteProject -> DevServerProject (#11301) 2024-05-02 11:00:08 -06:00
image_viewer Merge ElementContext into WindowContext (#10979) 2024-04-25 12:54:39 +02:00
inline_completion_button Supermaven (#10788) 2024-05-03 12:50:42 -07:00
install_cli Fix flickering (#9012) 2024-03-11 10:45:57 +01:00
journal Add the ability for extensions to provide language settings (#10296) 2024-04-08 19:17:12 -04:00
language Do not show diffs for files with \r\n contents (#11519) 2024-05-08 00:37:09 +03:00
language_selector Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
language_tools Supermaven (#10788) 2024-05-03 12:50:42 -07:00
languages editor: Move runnables querying to background thread (#11487) 2024-05-07 15:31:07 +02:00
live_kit_client Hoist nanoid to workspace-level (#11029) 2024-04-25 22:37:40 -04:00
live_kit_server Rust 1.78 (#11314) 2024-05-05 15:02:50 +02:00
lsp lsp: More information in error if server fails to start (#11343) 2024-05-03 13:23:52 +02:00
markdown_preview markdown preview: Break up list items into individual blocks (#10852) 2024-04-26 21:34:45 +02:00
media Revert "Revert "Revert dependency updates in #9836 (#10089)"" 2024-04-02 13:12:38 -06:00
menu Fix the linux keymap (#9829) 2024-03-26 16:10:09 -07:00
multi_buffer Add support for detecting tests in source files, and implement it for Rust (#11195) 2024-05-05 16:32:48 +02:00
node_runtime Allow extensions to define more of the methods in the LspAdapter trait (#9554) 2024-03-20 12:47:04 -07:00
notifications Fix mention notifications are not updated after message change and not removed after a message is deleted (#9847) 2024-04-02 20:40:00 -06:00
open_ai New revision of the Assistant Panel (#10870) 2024-04-23 16:23:26 -07:00
outline Allow to toggle git hunk diffs (#11080) 2024-05-01 22:47:36 +03:00
picker new path picker (#11015) 2024-04-26 13:25:25 -06:00
prettier Fix prettier-plugin-organize-imports plugin removes used imports (#9598) 2024-03-21 08:23:15 +01:00
project Do not show diffs for files with \r\n contents (#11519) 2024-05-08 00:37:09 +03:00
project_panel project panel: Allow confirming prompt with keyboard (#11346) 2024-05-03 15:15:39 +02:00
project_symbols Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
quick_action_bar Do not show tooltip for editor controls if clicked (#10679) 2024-04-17 13:20:47 +02:00
recent_projects Make border methods always require an explicit width (#11450) 2024-05-06 13:22:47 -04:00
refineable Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
release_channel Tie the Zed application ID to the release channel (#11335) 2024-05-03 10:48:35 +02:00
rich_text New revision of the Assistant Panel (#10870) 2024-04-23 16:23:26 -07:00
rope Revert "Revert "language: Remove buffer fingerprinting (#9007)"" (#9671) 2024-04-12 18:40:35 +02:00
rpc remoting: Edit dev server (#11344) 2024-05-06 12:58:11 +02:00
search Rust 1.78 (#11314) 2024-05-05 15:02:50 +02:00
semantic_index Centralize project context provided to the assistant (#11471) 2024-05-06 17:01:50 -07:00
semantic_version Extract SemanticVersion into its own crate (#9956) 2024-03-29 12:11:57 -04:00
settings Don't log JSON parse errors with no settings (#11459) 2024-05-06 14:55:44 -06:00
snippet Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
sqlez Rename RemoteProject -> DevServerProject (#11301) 2024-05-02 11:00:08 -06:00
sqlez_macros Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
story Make border methods always require an explicit width (#11450) 2024-05-06 13:22:47 -04:00
storybook Remember window restore size (#10429) 2024-05-07 23:29:03 -06:00
sum_tree Update docstring for SumTree (#10927) 2024-04-24 14:01:10 +02:00
supermaven Supermaven enhanced (#11521) 2024-05-07 15:38:03 -07:00
supermaven_api Supermaven (#10788) 2024-05-03 12:50:42 -07:00
tab_switcher Add preview tabs (#9125) 2024-04-11 23:09:12 +02:00
task tasks: Prefer worktree tasks to global tasks in tag selection (#11427) 2024-05-06 16:53:48 +02:00
tasks_ui Add support for detecting tests in source files, and implement it for Rust (#11195) 2024-05-05 16:32:48 +02:00
telemetry_events Hang diagnostics (#11190) 2024-04-29 17:13:28 -07:00
terminal Don't iterate over all system processes (#11281) 2024-05-01 20:08:56 -06:00
terminal_view Disallow adding folders to projects and opening the terminal in remote projects (#11261) 2024-05-01 16:04:59 -06:00
text Use Rope instead of String for buffer diff base (#11300) 2024-05-03 11:18:43 +03:00
theme Adjust names of negated style methods (#11453) 2024-05-06 13:56:25 -04:00
theme_importer Rust 1.78 (#11314) 2024-05-05 15:02:50 +02:00
theme_selector Add support for applying theme after extension is installed (#9529) 2024-03-20 11:13:58 -04:00
time_format Inline git blame (#10398) 2024-04-15 14:21:52 +02:00
ui Add DecoratedIcon (#11512) 2024-05-07 16:36:13 -04:00
ui_text_field Make border methods always require an explicit width (#11450) 2024-05-06 13:22:47 -04:00
util Add a registry for GitHostingProviders (#11470) 2024-05-06 21:24:48 -04:00
vcs_menu fs: Move Repository trait into git crate (#10768) 2024-04-19 11:57:17 +02:00
vim Fix backwards mouse selection in vim mode (#11329) 2024-05-03 10:29:30 -06:00
welcome Supermaven (#10788) 2024-05-03 12:50:42 -07:00
workspace Remember window restore size (#10429) 2024-05-07 23:29:03 -06:00
worktree Do not show diffs for files with \r\n contents (#11519) 2024-05-08 00:37:09 +03:00
zed Remember window restore size (#10429) 2024-05-07 23:29:03 -06:00
zed_actions Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00