fixed bugs regarding issue #14
+ revised Manager_getWindowInfo regarding hidden windows
This commit is contained in:
parent
4edfce7450
commit
3ce51fa418
1 changed files with 17 additions and 11 deletions
|
@ -193,17 +193,19 @@ Manager_doMaintenance:
|
|||
Return
|
||||
|
||||
Manager_getWindowInfo() {
|
||||
Local aWndClass, aWndHeight, aWndId, aWndPId, aWndPName, aWndStyle, aWndTitle, aWndWidth, aWndX, aWndY, text, v
|
||||
Local aWndClass, aWndHeight, aWndId, aWndPId, aWndPName, aWndStyle, aWndTitle, aWndWidth, aWndX, aWndY, detectHiddenWnds, isHidden, text, v
|
||||
|
||||
detectHiddenWnds := A_DetectHiddenWindows
|
||||
DetectHiddenWindows, On
|
||||
WinGet, aWndId, ID, A
|
||||
WinGetClass, aWndClass, ahk_id %aWndId%
|
||||
WinGetTitle, aWndTitle, ahk_id %aWndId%
|
||||
DetectHiddenWindows, %detectHiddenWnds%
|
||||
isHidden := Window_getHidden(aWndId, aWndClass, aWndTitle)
|
||||
WinGet, aWndPName, ProcessName, ahk_id %aWndId%
|
||||
WinGet, aWndPId, PID, ahk_id %aWndId%
|
||||
WinGet, aWndStyle, Style, ahk_id %aWndId%
|
||||
WinGet, aWndMinMax, MinMax, ahk_id %aWndId%
|
||||
WinGetPos, aWndX, aWndY, aWndWidth, aWndHeight, ahk_id %aWndId%
|
||||
text := "ID: " aWndId "`nclass:`t" aWndClass "`ntitle:`t" aWndTitle
|
||||
text := "ID: " aWndId (isHidden ? " [hidden]" : "") "`nclass:`t" aWndClass "`ntitle:`t" aWndTitle
|
||||
If InStr(Bar_hideTitleWndIds, aWndId ";")
|
||||
text .= " [hidden]"
|
||||
text .= "`nprocess:`t" aWndPName " [" aWndPId "]`nstyle:`t" aWndStyle "`nmetrics:`tx: " aWndX ", y: " aWndY ", width: " aWndWidth ", height: " aWndHeight
|
||||
|
@ -542,7 +544,7 @@ Manager_onShellMessage(wParam, lParam) {
|
|||
{
|
||||
Sleep, % Config_shellMsgDelay
|
||||
wndIds := ""
|
||||
isChanged := Manager_sync(wndIds)
|
||||
a := isChanged := Manager_sync(wndIds)
|
||||
If wndIds
|
||||
isChanged := False
|
||||
|
||||
|
@ -553,7 +555,7 @@ Manager_onShellMessage(wParam, lParam) {
|
|||
Bar_updateView(Manager_aMonitor, Monitor_#%Manager_aMonitor%_aView_#1)
|
||||
}
|
||||
|
||||
If (Manager_monitorCount > 1)
|
||||
If (Manager_monitorCount > 1 And a > -1)
|
||||
{
|
||||
WinGet, aWndId, ID, A
|
||||
WinGetPos, aWndX, aWndY, aWndWidth, aWndHeight, ahk_id %aWndId%
|
||||
|
@ -611,7 +613,11 @@ Manager_onShellMessage(wParam, lParam) {
|
|||
}
|
||||
|
||||
If InStr(Manager_managedWndIds, lParam ";") {
|
||||
View_setActiveWindow(Manager_aMonitor, Monitor_#%Manager_aMonitor%_aView_#1, lParam)
|
||||
WinGetPos, aWndX, aWndY, aWndWidth, aWndHeight, ahk_id %lParam%
|
||||
If (Monitor_get(aWndX + aWndWidth / 2, aWndY + aWndHeight / 2) = Manager_aMonitor)
|
||||
View_setActiveWindow(Manager_aMonitor, Monitor_#%Manager_aMonitor%_aView_#1, lParam)
|
||||
Else
|
||||
Manager_winActivate(View_getActiveWindow(Manager_aMonitor, Monitor_#%Manager_aMonitor%_aView_#1))
|
||||
If Window_#%lParam%_isMinimized {
|
||||
Window_#%lParam%_isFloating := False
|
||||
Window_#%lParam%_isMinimized := False
|
||||
|
@ -1119,7 +1125,7 @@ Manager_initial_sync(doRestore) {
|
|||
Manager_sync(ByRef wndIds = "")
|
||||
{
|
||||
Local a, flag, shownWndIds, v, visibleWndIds, wndId
|
||||
a := False
|
||||
a := 0
|
||||
|
||||
shownWndIds := ""
|
||||
Loop, % Manager_monitorCount
|
||||
|
@ -1138,7 +1144,7 @@ Manager_sync(ByRef wndIds = "")
|
|||
{
|
||||
flag := Manager_manage(Manager_aMonitor, Monitor_#%Manager_aMonitor%_aView_#1, wndId%A_Index%)
|
||||
If flag
|
||||
a := flag
|
||||
a := 1
|
||||
}
|
||||
Else If Not Window_isHung(wndId%A_Index%)
|
||||
{
|
||||
|
@ -1158,8 +1164,8 @@ Manager_sync(ByRef wndIds = "")
|
|||
If Not InStr(visibleWndIds, A_LoopField)
|
||||
{
|
||||
flag := Manager_unmanage(A_LoopField)
|
||||
If flag
|
||||
a := flag
|
||||
If (flag And a = 0)
|
||||
a := -1
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue