diff --git a/crates/gpui/src/platform/linux/platform.rs b/crates/gpui/src/platform/linux/platform.rs index c8608d0971..a9079779d9 100644 --- a/crates/gpui/src/platform/linux/platform.rs +++ b/crates/gpui/src/platform/linux/platform.rs @@ -264,24 +264,15 @@ impl Platform for P { let (done_tx, done_rx) = oneshot::channel(); self.foreground_executor() .spawn(async move { - let title = if options.multiple { - if !options.files { - "Open folders" - } else { - "Open files" - } + let title = if options.directories { + "Open Folder" } else { - if !options.files { - "Open folder" - } else { - "Open file" - } + "Open File" }; let request = match OpenFileRequest::default() .modal(true) .title(title) - .accept_label("Select") .multiple(options.multiple) .directory(options.directories) .send() @@ -322,8 +313,7 @@ impl Platform for P { .spawn(async move { let request = match SaveFileRequest::default() .modal(true) - .title("Select new path") - .accept_label("Accept") + .title("Save File") .current_folder(directory) .expect("pathbuf should not be nul terminated") .send() diff --git a/crates/gpui/src/platform/linux/wayland/client.rs b/crates/gpui/src/platform/linux/wayland/client.rs index c514d3e94e..d3e86b9020 100644 --- a/crates/gpui/src/platform/linux/wayland/client.rs +++ b/crates/gpui/src/platform/linux/wayland/client.rs @@ -1119,7 +1119,10 @@ impl Dispatch for WaylandClientStatePtr { let keyboard_focused_window = get_window(&mut state, &surface.id()); state.keyboard_focused_window = None; state.enter_token.take(); + // Prevent keyboard events from repeating after opening e.g. a file chooser and closing it quickly + state.repeat.current_id += 1; state.clipboard.set_offer(None); + state.clipboard.set_primary_offer(None); if let Some(window) = keyboard_focused_window { if let Some(ref mut compose) = state.compose_state {