File tree 6 files changed +20
-2
lines changed 6 files changed +20
-2
lines changed Original file line number Diff line number Diff line change @@ -277,6 +277,7 @@ where
277
277
match self . 0 . mode ( ) {
278
278
window:: Mode :: Windowed => iced_winit:: Mode :: Windowed ,
279
279
window:: Mode :: Fullscreen => iced_winit:: Mode :: Fullscreen ,
280
+ window:: Mode :: Hidden => iced_winit:: Mode :: Hidden ,
280
281
}
281
282
}
282
283
Original file line number Diff line number Diff line change @@ -6,4 +6,7 @@ pub enum Mode {
6
6
7
7
/// The application takes the whole screen of its current monitor.
8
8
Fullscreen ,
9
+
10
+ /// The application is hidden
11
+ Hidden ,
9
12
}
Original file line number Diff line number Diff line change @@ -182,6 +182,8 @@ impl<A: Application> State<A> {
182
182
new_mode,
183
183
) ) ;
184
184
185
+ window. set_visible ( conversion:: visible ( new_mode) ) ;
186
+
185
187
self . mode = new_mode;
186
188
}
187
189
Original file line number Diff line number Diff line change @@ -141,13 +141,21 @@ pub fn fullscreen(
141
141
mode : Mode ,
142
142
) -> Option < winit:: window:: Fullscreen > {
143
143
match mode {
144
- Mode :: Windowed => None ,
144
+ Mode :: Windowed | Mode :: Hidden => None ,
145
145
Mode :: Fullscreen => {
146
146
Some ( winit:: window:: Fullscreen :: Borderless ( monitor) )
147
147
}
148
148
}
149
149
}
150
150
151
+ /// Converts a [`Mode`] to a visibility flag.
152
+ pub fn visible ( mode : Mode ) -> bool {
153
+ match mode {
154
+ Mode :: Windowed | Mode :: Fullscreen => true ,
155
+ Mode :: Hidden => false ,
156
+ }
157
+ }
158
+
151
159
/// Converts a `MouseCursor` from [`iced_native`] to a [`winit`] cursor icon.
152
160
///
153
161
/// [`winit`]: https://github.com/rust-windowing/winit
Original file line number Diff line number Diff line change @@ -6,4 +6,7 @@ pub enum Mode {
6
6
7
7
/// The application takes the whole screen of its current monitor.
8
8
Fullscreen ,
9
+
10
+ /// The application is hidden
11
+ Hidden ,
9
12
}
Original file line number Diff line number Diff line change @@ -80,7 +80,8 @@ impl Window {
80
80
. with_transparent ( self . transparent )
81
81
. with_window_icon ( self . icon )
82
82
. with_always_on_top ( self . always_on_top )
83
- . with_fullscreen ( conversion:: fullscreen ( primary_monitor, mode) ) ;
83
+ . with_fullscreen ( conversion:: fullscreen ( primary_monitor, mode) )
84
+ . with_visible ( conversion:: visible ( mode) ) ;
84
85
85
86
if let Some ( ( width, height) ) = self . min_size {
86
87
window_builder = window_builder
You can’t perform that action at this time.
0 commit comments