How can I make my active window more obvious on Windows 7 without disabing transparency?

14

4

Since I started using Windows 7 I have noticed that I am accidentally typing in the wrong window more often than I used to.

Using the Aero theme, the visual difference between the window with active focus and all other windows is quite subtle. Only the minimise, maximise/restore and close buttons go solid and that leaves just the window border and title bar to signal focus by going slightly darker. When apps are full screen you lose all but the title bar decorations, and if you are using a title bar stealing app like Firefox, you even lose that visual cue.

I have tried playing with the settings on the "Window Color and Appearance" page, but disabling transparency takes away much of the prettiness of the Aero interface. Setting "Color Intensity" to maximum gets some of the way but still doesn't leave the active window that obvious.

The traditional way of doing this, setting the colours of the "Active Title Bar" on the Advanced appearance settings... page no longer work as the aero theme ignores this setting.

So, is there any way to make my active window more obvious on Windows 7 without loosing much of what makes aero pretty?

Related to but not quite the same as How to make it blindingly obvious which window is active.

Mark Booth

Posted 2014-02-28T22:24:37.827

Reputation: 2 324

What if you increase color intensity, saturation, and brightness to maximum? You might want to tweak the hue, too. – and31415 – 2014-04-08T13:34:50.230

I've tried all that @and31415 but it changes all windows in pretty much the same way, so there is no increased contrast between focussed and unfocussed windows. – Mark Booth – 2014-04-08T23:35:22.243

Answers

3

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.

LPChip

Posted 2014-02-28T22:24:37.827

Reputation: 42 190

Thanks for pointing to that discussion. It provides some sample styles, and points to how to make your own. Nice! – gwideman – 2014-04-08T23:00:34.333

1Thanks for your answer @LPChip, but if you could summarise the contents of the link then if it dies, we won't lose the information contained there. – Mark Booth – 2014-04-09T22:43:00.283

The content of the link has too much information to simply summarise it. Basically it talks about techniques to edit the msstyles page and provides download links to custom msstyles so you don't have to modify it yourself. The wayback machine link will provide with an archive of the topic though. – LPChip – 2014-04-14T14:57:19.027

That's precisely the problem, a decent summary of that forum thread would be far more useful than a link to it. That's why I gave the Bounty to harrymc as it is the only self contained answer, but you the accept since this is the more elegant and pretty solution, even if it isn't complete.

– Mark Booth – 2014-04-14T23:33:29.333

5

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

harrymc

Posted 2014-02-28T22:24:37.827

Reputation: 306 093

1

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) { ...".

SL5net

Posted 2014-02-28T22:24:37.827

Reputation: 111

Could you explain the changes and why? – Toto – 2018-03-03T15:30:37.980

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 exeption when I opened the "Save as" window of notepad ++. This exeption 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) { ...". – SL5net – 2018-03-04T10:46:34.260

1The original script was buggy for me, but I found the try/catch block that you added was helpful. – notAlex – 2018-07-13T15:39:52.300

0

You were in the right place, you just needed to go a little bit deeper.

On the Window Color and Appearance page select Advanced appearance settings.

In the drop-down menu of the new window you have 2 options to make your active window stand out more. Active Title Bar & Active Window Border. You can get pretty detailed on how to make it stand out for you.

bigpoppasmooth

Posted 2014-02-28T22:24:37.827

Reputation: 70

1It helps if you read the question before answering. I already mentioned that option (4th paragraph). There is no window border when an application is full screen and it only has any effect if you select a non aero theme and thus disable transparency. – Mark Booth – 2014-03-07T15:51:56.483

Yes, I did miss that. My apologies. – bigpoppasmooth – 2014-03-07T15:55:34.930