How can I make my active window more obvious on Windows 7 without disabing transparency?
This is one of those hard problems that many people are facing.
Someone was so troubled with this, that they created a style and hacked a better contrast in it. You can download the style from the Windows 7 Forum in the post Solved - active and inactive windows too similar in Aero.
In case the link dies, a copy can be found at the Wayback Machine.
An AutoHotkey solution for non-maximized windows is described in the article
Script to draw a border around an active window with autohotkey.
The following script is adapted from that article and will draw a 5-pixels red border around the active window :
#Persistent
SetTimer, DrawRect, 50
border_thickness = 5
border_color = FF0000
DrawRect:
WinGetPos, x, y, w, h, A
Gui, +Lastfound +AlwaysOnTop +Toolwindow
iw:= w+4
ih:= h + 4
w:=w+ 8
h:=h + 8
x:= x - border_thickness
y:= y - border_thickness
Gui, Color, FF0000
Gui, -Caption
WinSet, Region, 0-0 %w%-0 %w%-%h% 0-%h% 0-0 %border_thickness%-%border_thickness% %iw%-%border_thickness% %iw%-%ih% %border_thickness%-%ih% %border_thickness%-%border_thickness%
Gui, Show, w%w% h%h% x%x% y%y% NoActivate, Table awaiting Action
return
This is a little update/change from AutoHotkey script above from harrymc answered Apr 8 '14 at 7:17. many thanks for that. I added an exception handler and that windows cant be used maximized:
#Persistent
#SingleInstance,force
SetTimer, DrawRect, 50
border_thickness = 6
border_color = FF0000
DrawRect:
WinGetPos, x, y, w, h, A
WinGet, OutputVar , MinMax, A
; make maximized windows movable
; -1: The window is minimized (WinRestore can unminimize it).
; 1: The window
; is maximized (WinRestore can unmaximize it).
;0: The window is neither minimized nor maximized.
if(OutputVar == 1){
WinGetPos,x,y,w,h
WinRestore,A
Sleep,500
WinMove,A,,% x + 3, % y + 3, % A_ScreenWidth - 199, % A_ScreenHeight - 199
}
Gui, +Lastfound +AlwaysOnTop +Toolwindow
iw:= w+4
ih:= h + 4
w:=w+ 8
h:=h + 8
x:= x - border_thickness
y:= y - border_thickness
Gui, Color, FF0000
Gui, -Caption
WinSet, Region, 0-0 %w%-0 %w%-%h% 0-%h% 0-0 %border_thickness%-%border_thickness% %iw%-%border_thickness% %iw%-%ih% %border_thickness%-%ih% %border_thickness%-%border_thickness%
try{
Gui, Show, w%w% h%h% x%x% y%y% NoActivate, Table awaiting Action
} catch {
Sleep,2000
}
return
To explain the changes: When I closed tabs in google chrome, spread across my 4 monitors, via Control + w, I occasionally closed the wrong ones. Solution searched and found yesterday on this page. After only a few minutes I got an exception when I opened the "Save as" window of notepad ++. This exception is now intercepted via the try, catch block. In addition, I had the problem that I did not see the red frame on maximized windows, and therefore i restore maximized windows inside "if (OutputVar == 1) { ...".