gpui: Support disabling window resizing and minimizing (#36859)
Add support to disable both window resizing and minimizing. | | macOS | Windows | | - | - | - | | **Unresizable** | <img width="412" height="440" alt="SCR-20250822-qpea" src="https://github.com/user-attachments/assets/d6d45510-dc4b-436f-a9fa-ce9cb0b0c411" /> | <img width="276" height="298" alt="2025-08-22 110757" src="https://github.com/user-attachments/assets/9deff498-e903-4173-9c26-072dd9409fc1" /> | | **Unminimizable** | <img width="412" height="440" alt="SCR-20250822-qpfl" src="https://github.com/user-attachments/assets/e1d5f9eb-6de5-4908-8b52-38ccb2e65689" /> | <img width="276" height="298" alt="2025-08-22 110814" src="https://github.com/user-attachments/assets/da94b006-3544-4274-8b02-1cab7ca8dd70" /> | Release Notes: - N/A
This commit is contained in:
@@ -1091,6 +1091,12 @@ pub struct WindowOptions {
|
||||
/// Whether the window should be movable by the user
|
||||
pub is_movable: bool,
|
||||
|
||||
/// Whether the window should be resizable by the user
|
||||
pub is_resizable: bool,
|
||||
|
||||
/// Whether the window should be minimized by the user
|
||||
pub is_minimizable: bool,
|
||||
|
||||
/// The display to create the window on, if this is None,
|
||||
/// the window will be created on the main display
|
||||
pub display_id: Option<DisplayId>,
|
||||
@@ -1133,6 +1139,14 @@ pub(crate) struct WindowParams {
|
||||
#[cfg_attr(any(target_os = "linux", target_os = "freebsd"), allow(dead_code))]
|
||||
pub is_movable: bool,
|
||||
|
||||
/// Whether the window should be resizable by the user
|
||||
#[cfg_attr(any(target_os = "linux", target_os = "freebsd"), allow(dead_code))]
|
||||
pub is_resizable: bool,
|
||||
|
||||
/// Whether the window should be minimized by the user
|
||||
#[cfg_attr(any(target_os = "linux", target_os = "freebsd"), allow(dead_code))]
|
||||
pub is_minimizable: bool,
|
||||
|
||||
#[cfg_attr(
|
||||
any(target_os = "linux", target_os = "freebsd", target_os = "windows"),
|
||||
allow(dead_code)
|
||||
@@ -1191,6 +1205,8 @@ impl Default for WindowOptions {
|
||||
show: true,
|
||||
kind: WindowKind::Normal,
|
||||
is_movable: true,
|
||||
is_resizable: true,
|
||||
is_minimizable: true,
|
||||
display_id: None,
|
||||
window_background: WindowBackgroundAppearance::default(),
|
||||
app_id: None,
|
||||
|
||||
Reference in New Issue
Block a user