File tree Expand file tree Collapse file tree 7 files changed +33
-21
lines changed
platform_impl/linux/wayland/event_loop Expand file tree Collapse file tree 7 files changed +33
-21
lines changed Original file line number Diff line number Diff line change @@ -1581,6 +1581,21 @@ Example:
15811581height = 400
15821582```
15831583
1584+ ## window.set-min-size
1585+
1586+ Whether or not to give window managers a minimum size for the window. If set,
1587+ the size is set to ` 400x300 `
1588+
1589+ - Default: ` true `
1590+
1591+ Example:
1592+
1593+ ``` toml
1594+ [window ]
1595+ set-min-size = true
1596+ ```
1597+
1598+
15841599## window.mode
15851600
15861601Define how the window will be created
Original file line number Diff line number Diff line change @@ -1407,10 +1407,6 @@ impl ApplicationHandler<EventPayload> for Application<'_> {
14071407 }
14081408 }
14091409
1410- // let duration = start.elapsed();
1411- // println!("Time elapsed in render() is: {:?}", duration);
1412- // }
1413-
14141410 if self . config . renderer . strategy . is_game ( ) {
14151411 route. request_redraw ( ) ;
14161412 } else if route
Original file line number Diff line number Diff line change @@ -30,9 +30,13 @@ pub fn create_window_builder(
3030
3131 let mut window_builder = WindowAttributes :: default ( )
3232 . with_title ( title)
33- . with_min_inner_size ( rio_window:: dpi:: LogicalSize {
34- width : DEFAULT_MINIMUM_WINDOW_WIDTH ,
35- height : DEFAULT_MINIMUM_WINDOW_HEIGHT ,
33+ . with_min_inner_size ( if config. window . set_min_size {
34+ Some ( rio_window:: dpi:: LogicalSize {
35+ width : DEFAULT_MINIMUM_WINDOW_WIDTH ,
36+ height : DEFAULT_MINIMUM_WINDOW_HEIGHT ,
37+ } )
38+ } else {
39+ None
3640 } )
3741 . with_resizable ( true )
3842 . with_decorations ( true )
Original file line number Diff line number Diff line change @@ -121,6 +121,11 @@ pub fn default_window_height() -> i32 {
121121 490
122122}
123123
124+ #[ inline]
125+ pub fn default_set_min_size ( ) -> bool {
126+ true
127+ }
128+
124129#[ inline]
125130pub fn default_disable_ctlseqs_alt ( ) -> bool {
126131 #[ cfg( target_os = "macos" ) ]
Original file line number Diff line number Diff line change @@ -77,6 +77,8 @@ pub struct Window {
7777 pub width : i32 ,
7878 #[ serde( default = "default_window_height" ) ]
7979 pub height : i32 ,
80+ #[ serde( default = "default_set_min_size" , rename = "set-min-size" ) ]
81+ pub set_min_size : bool ,
8082 #[ serde( default = "WindowMode::default" ) ]
8183 pub mode : WindowMode ,
8284 #[ serde( default = "default_opacity" ) ]
@@ -111,6 +113,7 @@ impl Default for Window {
111113 Window {
112114 width : default_window_width ( ) ,
113115 height : default_window_height ( ) ,
116+ set_min_size : default_set_min_size ( ) ,
114117 mode : WindowMode :: default ( ) ,
115118 opacity : default_opacity ( ) ,
116119 background_image : None ,
Original file line number Diff line number Diff line change @@ -399,6 +399,7 @@ impl<T: 'static> EventLoop<T> {
399399 let physical_size = * new_inner_size. lock ( ) . unwrap ( ) ;
400400 drop ( new_inner_size) ;
401401
402+
402403 // Resize the window when user altered the size.
403404 if old_physical_size != physical_size {
404405 self . with_state ( |state| {
Original file line number Diff line number Diff line change @@ -206,20 +206,8 @@ impl WindowAttributes {
206206 ///
207207 /// See [`Window::set_min_inner_size`] for details.
208208 #[ inline]
209- pub fn with_min_inner_size < S : Into < Size > > ( mut self , min_size : S ) -> Self {
210- self . min_inner_size = Some ( min_size. into ( ) ) ;
211- self
212- }
213-
214- /// Sets the maximum dimensions a window can have.
215- ///
216- /// If this is not set, the window will have no maximum or will be set to
217- /// the primary monitor's dimensions by the platform.
218- ///
219- /// See [`Window::set_max_inner_size`] for details.
220- #[ inline]
221- pub fn with_max_inner_size < S : Into < Size > > ( mut self , max_size : S ) -> Self {
222- self . max_inner_size = Some ( max_size. into ( ) ) ;
209+ pub fn with_min_inner_size < S : Into < Size > > ( mut self , min_size : Option < S > ) -> Self {
210+ self . min_inner_size = min_size. map ( |s| s. into ( ) ) ;
223211 self
224212 }
225213
You can’t perform that action at this time.
0 commit comments