Repository: ruffle-rs/ruffle (language: rust)

Issue:
Linux: Main application window should have a minimum size
### Describe the bug

If you move the mouse cursor on one of the 4 corners and click + drag to resize the window, it's possible to reduce the application to only a small strip, even hiding the buttons for window control.

[Screencast from 2024-06-13 05-11-11.webm](https://github.com/ruffle-rs/ruffle/assets/4840355/4b12210b-50c2-4029-aff2-2dea9c0d4de1)

![Screenshot from 2024-06-13 05-12-25](https://github.com/ruffle-rs/ruffle/assets/4840355/cb2151b2-667c-4be5-98c3-5c65fbadc60e)


### Expected behavior

I think it would be better to have a fixed minimum width and height for the window, so at least the full titlebar and some part of the application itself remains visible. I think at least every modern GTK / QT application does this nowadays, and it's more professional looking.

Here's for example how the smallest possible window for WPS Office looks like. It's not possible to reduce it further.

![339048712-3fed8bea-f155-4188-9775-a3334b4169ac](https://github.com/ruffle-rs/ruffle/assets/4840355/b836e9b3-d24e-458e-b36f-35ea043b5cf7)


### Content Location

not relevant

### Affected platform

Desktop app

### Operating system

Arch Linux, Gnome 46 on Wayland

### Browser

_No response_

### Additional information

Tested on latest Nightly: ruffle-nightly-2024_06_13-linux-x86_64.tar.gz


Discussion / hints:

Fix patch:
diff --git a/desktop/src/app.rs b/desktop/src/app.rs
index 7595f96a232ab..f1f335fdfe1a2 100644
--- a/desktop/src/app.rs
+++ b/desktop/src/app.rs
@@ -436,7 +436,12 @@ impl ApplicationHandler<RuffleEvent> for App {
                 Icon::from_rgba(icon_bytes.to_vec(), 32, 32).expect("App icon should be correct");
 
             let no_gui = self.preferences.cli.no_gui;
-            let min_window_size = (16, if no_gui { 16 } else { MENU_HEIGHT + 16 }).into();
+            let min_window_size = if no_gui {
+                (16, 16)
+            } else {
+                (350, MENU_HEIGHT + 16)
+            }
+            .into();
             let preferred_width = self.preferences.cli.width;
             let preferred_height = self.preferences.cli.height;
             let start_fullscreen = self.preferences.cli.fullscreen;


Test patch: