diff --git a/bugn.exe b/bugn.exe index 82740d7..a05dcdd 100644 Binary files a/bugn.exe and b/bugn.exe differ diff --git a/src/Debug.ahk b/src/Debug.ahk index a9342d7..3889e67 100644 --- a/src/Debug.ahk +++ b/src/Debug.ahk @@ -117,7 +117,7 @@ Debug_logWindowInfo(wndId) { isHidden := "*" Else isHidden := " " - If Window_#%wndId%_isFloating + If InStr(Manager_managedWndIds, wndId . ";") Or Window_#%wndId%_isFloating isFloating := "*" Else isFloating := " " diff --git a/src/Main.ahk b/src/Main.ahk index f7deafa..830e90e 100644 --- a/src/Main.ahk +++ b/src/Main.ahk @@ -24,7 +24,7 @@ SetTitleMatchMode, fast SetWinDelay, 10 #NoEnv #SingleInstance force -#Warn ; Enable warnings to assist with detecting common errors. +;#Warn ; Enable warnings to assist with detecting common errors. #WinActivateForce ;; Pseudo main function diff --git a/src/Manager.ahk b/src/Manager.ahk index bd3544a..6e44ec8 100644 --- a/src/Manager.ahk +++ b/src/Manager.ahk @@ -416,7 +416,7 @@ Manager_maximizeWindow() { Local aWndId WinGet, aWndId, ID, A - If Not Window_#%aWndId%_isFloating + If InStr(Manager_managedWndIds, aWndId ";") And Not Window_#%aWndId%_isFloating View_toggleFloatingWindow(aWndId) Window_set(aWndId, "Top", "") @@ -429,7 +429,7 @@ Manager_minimizeWindow() { WinGet, aWndId, ID, A aView := Monitor_#%Manager_aMonitor%_aView_#1 StringReplace, View_#%Manager_aMonitor%_#%aView%_aWndIds, View_#%Manager_aMonitor%_#%aView%_aWndIds, % aWndId ";",, All - If Not Window_#%aWndId%_isFloating + If InStr(Manager_managedWndIds, aWndId ";") And Not Window_#%aWndId%_isFloating View_toggleFloatingWindow(aWndId) Window_set(aWndId, "Bottom", "") @@ -440,7 +440,7 @@ Manager_moveWindow() { Local aWndId, SC_MOVE, WM_SYSCOMMAND WinGet, aWndId, ID, A - If Not Window_#%aWndId%_isFloating + If InStr(Manager_managedWndIds, aWndId . ";") And Not Window_#%aWndId%_isFloating View_toggleFloatingWindow(aWndId) Window_set(aWndId, "Top", "") @@ -1074,7 +1074,7 @@ Manager_sizeWindow() { Local aWndId, SC_SIZE, WM_SYSCOMMAND WinGet, aWndId, ID, A - If Not Window_#%aWndId%_isFloating + If InStr(Manager_managedWndIds, aWndId . ";") And Not Window_#%aWndId%_isFloating View_toggleFloatingWindow(aWndId) Window_set(aWndId, "Top", "") @@ -1135,12 +1135,11 @@ Manager_initial_sync(doRestore) { ;; those, which have at least a title or class. Manager_sync(ByRef wndIds = "") { - Local a, flag, mCount, shownWndIds, v, visibleWndIds, wndId + Local a, flag, shownWndIds, v, visibleWndIds, wndId a := 0 shownWndIds := "" - SysGet, mCount, MonitorCount - Loop, % mCount + Loop, % Manager_monitorCount { v := Monitor_#%A_Index%_aView_#1 shownWndIds .= View_#%A_Index%_#%v%_wndIds diff --git a/src/Monitor.ahk b/src/Monitor.ahk index d01cf2c..7bff532 100644 --- a/src/Monitor.ahk +++ b/src/Monitor.ahk @@ -75,7 +75,7 @@ Monitor_activateView(i, d = 0) { StringTrimRight, wndIds, View_#%m%_#%aView%_wndIds, 1 Loop, PARSE, wndIds, `; { - If Not (Window_#%A_LoopField%_tags & (1 << i - 1)) + If A_LoopField And Not (Window_#%A_LoopField%_tags & (1 << i - 1)) Window_hide(A_LoopField) } SetWinDelay, 10 diff --git a/src/View.ahk b/src/View.ahk index a6efc6c..c4ba5b8 100644 --- a/src/View.ahk +++ b/src/View.ahk @@ -50,7 +50,7 @@ View_activateWindow(i, d = 0) { StringSplit, wndId, wndIds, `; Debug_logMessage("DEBUG[2] wndId count: " . wndId0, 2, False) If (wndId0 > 1) { - If Window_#%aWndId%_isFloating + If Not InStr(Manager_managedWndIds, aWndId . ";") Or Window_#%aWndId%_isFloating Window_set(aWndId, "Bottom", "") Loop, % wndId0 { If (wndId%A_Index% = aWndId) {