@@ -1336,6 +1336,7 @@ def is_trigger_activated(current_ke, trigger_group):
13361336 set_key_times (key_event_time , vk_code , is_keydown , time_simulated )
13371337 set_key_times (key_event_time , vk_code , is_keydown , time_all )
13381338
1339+ 'control helper functions'
13391340def control_return_to_menu ():
13401341 global MENU_ENABLED , listener , mouse_listener
13411342 MENU_ENABLED = True
@@ -1353,7 +1354,7 @@ def control_exit_program():
13531354 listener .stop ()
13541355 mouse_listener .stop ()
13551356 STOPPED = True
1356- exit ()
1357+ # exit()
13571358
13581359def control_toggle_pause ():
13591360 global WIN32_FILTER_PAUSED , MANUAL_PAUSED , paused_lock , CONTROLS_ENABLED
@@ -1614,8 +1615,7 @@ def reset_timer(self):
16141615class Focus_Thread (Thread ):
16151616 '''
16161617 Thread for observing the active window and pause toggle the evaluation of key events
1617- can be manually overwritten by Controls on DEL
1618- reloads key and tap files on resume
1618+ can be manually overwritten by Controls on ALT+DEL
16191619 '''
16201620
16211621 def __init__ (self ):
@@ -1632,14 +1632,21 @@ def run(self):
16321632 while not self .stop :
16331633 try :
16341634 active_window = gw .getActiveWindow ().title
1635+ # shorten the active window name
16351636 if len (active_window ) >= 35 :
1636- if '–' in active_window :
1637- while active_window .find ('–' ) != - 1 :
1638- active_window = active_window [active_window .find ('–' ) + 2 : ]
1639- elif '-' in active_window :
1640- while active_window .find ('-' ) != - 1 :
1641- active_window = active_window [active_window .find ('-' ) + 2 : ]
1642-
1637+ reverse = active_window [::- 1 ]
1638+ del1 = reverse .find ('–' )
1639+ del2 = reverse .find ('-' )
1640+ del3 = reverse .find ('/' )
1641+ del4 = reverse .find ('\\ ' )
1642+ del_min = 100
1643+ for deliminator in [del1 , del2 , del3 , del4 ]:
1644+ if deliminator != - 1 and deliminator < del_min :
1645+ del_min = deliminator
1646+ reverse_shortened = reverse [:del_min ]
1647+ active_window = reverse_shortened [::- 1 ]
1648+ if active_window [0 ] == ' ' :
1649+ active_window = active_window [1 :]
16431650
16441651 except AttributeError :
16451652 pass
@@ -1742,6 +1749,7 @@ class Status_Indicator:
17421749
17431750 def __init__ (self ):
17441751 self .root = tk .Tk ()
1752+ self .root .title ("FST Status Indicator" )
17451753 self .root .overrideredirect (True ) # Remove window decorations
17461754 self .root .geometry ("100x100" )
17471755 self .root .attributes ("-alpha" , 1 ) # Set transparency level
@@ -1847,7 +1855,12 @@ def main():
18471855 while not STOPPED :
18481856 reset_key_states ()
18491857 release_all_toggles ()
1850-
1858+
1859+ mouse_listener = mouse .Listener (win32_event_filter = mouse_win32_event_filter )
1860+ mouse_listener .start ()
1861+ listener = keyboard .Listener (win32_event_filter = keyboard_win32_event_filter )
1862+ listener .start ()
1863+
18511864 if MENU_ENABLED :
18521865 if focus_thread .is_alive ():
18531866 focus_thread .pause ()
@@ -1862,13 +1875,11 @@ def main():
18621875 if focus_thread .is_alive ():
18631876 focus_thread .restart ()
18641877
1865- mouse_listener = mouse .Listener (win32_event_filter = mouse_win32_event_filter )
1866- mouse_listener .start ()
1867- # listener = keyboard.Listener(win32_event_filter=keyboard_win32_event_filter)
1868- # listener.start()
1878+
1879+ listener .join ()
18691880
1870- with keyboard .Listener (win32_event_filter = keyboard_win32_event_filter ) as listener :
1871- listener .join ()
1881+ # with keyboard.Listener(win32_event_filter=keyboard_win32_event_filter) as listener:
1882+ # listener.join()
18721883
18731884 mouse_listener .stop ()
18741885 mouse_listener .join ()
0 commit comments