@@ -102,15 +102,16 @@ impl eframe::App for SettingsApp {
102102 fn update ( & mut self , ctx : & egui:: Context , _frame : & mut eframe:: Frame ) {
103103 // If the main thread asked us to show up, make the window visible and focused.
104104 if SETTINGS_SHOW . swap ( false , Ordering :: SeqCst ) {
105- ctx. send_viewport_cmd ( egui:: ViewportCommand :: Minimized ( false ) ) ;
105+ ctx. send_viewport_cmd ( egui:: ViewportCommand :: Visible ( true ) ) ;
106106 ctx. send_viewport_cmd ( egui:: ViewportCommand :: Focus ) ;
107107 }
108108
109- // When the user clicks X, minimize instead of closing.
110- // The thread stays alive so the next open is instant and reliable.
109+ // When the user clicks X, hide instead of closing.
110+ // The thread stays alive so the next open is instant, and the window
111+ // doesn't linger in the taskbar.
111112 if ctx. input ( |i| i. viewport ( ) . close_requested ( ) ) {
112113 ctx. send_viewport_cmd ( egui:: ViewportCommand :: CancelClose ) ;
113- ctx. send_viewport_cmd ( egui:: ViewportCommand :: Minimized ( true ) ) ;
114+ ctx. send_viewport_cmd ( egui:: ViewportCommand :: Visible ( false ) ) ;
114115 return ;
115116 }
116117
@@ -171,7 +172,11 @@ pub fn open_settings(config_shared: Arc<Mutex<AppConfig>>, cmd_tx: mpsc::Sender<
171172 let icon = {
172173 let rgba = crate :: tray:: build_icon_rgba ( & crate :: state:: AppState :: default ( ) ) ;
173174 let size = crate :: tray:: ICON_SIZE as u32 ;
174- std:: sync:: Arc :: new ( egui:: IconData { rgba, width : size, height : size } )
175+ std:: sync:: Arc :: new ( egui:: IconData {
176+ rgba,
177+ width : size,
178+ height : size,
179+ } )
175180 } ;
176181
177182 let native_options = eframe:: NativeOptions {
0 commit comments