@@ -32,7 +32,6 @@ use crate::app::menubar::menu_icon;
3232use crate :: app:: tile:: AppIndex ;
3333use crate :: app:: { Message , Page , tile:: Tile } ;
3434use crate :: autoupdate:: download_latest_app;
35- use crate :: autoupdate:: relaunch_app;
3635use crate :: calculator:: Expr ;
3736use crate :: commands:: Function ;
3837use crate :: config:: Config ;
@@ -154,7 +153,6 @@ pub fn handle_update(tile: &mut Tile, message: Message) -> Task<Message> {
154153 if tile. config . auto_update {
155154 thread:: spawn ( || {
156155 download_latest_app ( ) . ok ( ) ;
157- relaunch_app ( ) ;
158156 } ) ;
159157 }
160158 Task :: done ( Message :: ReloadConfig )
@@ -948,6 +946,18 @@ pub fn handle_update(tile: &mut Tile, message: Message) -> Task<Message> {
948946 Task :: none ( )
949947 }
950948
949+ Message :: CheckEventTap => {
950+ info ! ( "Re-creating global event tap" ) ;
951+ if let Some ( ref sender) = tile. sender {
952+ tile. hotkeys . handle = None ;
953+ match global_handler ( sender. clone ( ) , tile. hotkeys . all_hotkeys ( ) ) {
954+ Ok ( handle) => tile. hotkeys . handle = Some ( handle) ,
955+ Err ( e) => log:: error!( "Failed to re-create event tap: {e}" ) ,
956+ }
957+ }
958+ Task :: none ( )
959+ }
960+
951961 Message :: DebouncedSearch ( id) => {
952962 // Only execute if this is still the most recent debounce timer
953963 if !tile. debouncer . is_ready ( ) {
0 commit comments