Jak sprawić, by moje aktywne okno było bardziej widoczne w systemie Windows 7 bez wyłączania przezroczystości?

14

Odkąd zacząłem używać systemu Windows 7, zauważyłem, że przypadkowo piszę w niewłaściwym oknie częściej niż kiedyś.

Przy użyciu motywu Aero wizualna różnica między oknem z aktywnym foksem a wszystkimi innymi oknami jest dość subtelna. Tylko przyciski minimalizacji, maksymalizacji / przywracania i zamykania stają się solidne, co pozostawia jedynie obramowanie okna i pasek tytułu, aby zasygnalizować ostrość poprzez przyciemnienie. Gdy aplikacje są na pełnym ekranie, tracisz wszystkie dekoracje oprócz paska tytułu, a jeśli używasz aplikacji do kradzieży paska tytułu, takiej jak Firefox, tracisz nawet tę wizualną wskazówkę.

Próbowałem grać z ustawieniami na stronie „Kolor i wygląd okna”, ale wyłączenie przezroczystości odbiera wiele z ładności interfejsu Aero. Ustawienie „Intensywności kolorów” na maksimum daje pewne możliwości, ale nadal nie pozostawia aktywnego okna tak oczywistym.

Tradycyjny sposób wykonania tej czynności, ustawianie kolorów „Aktywnego paska tytułu” na stronie Zaawansowane ustawienia wyglądu ... nie działa, ponieważ motyw Aero ignoruje to ustawienie.

Czy jest więc jakiś sposób, aby moje aktywne okno stało się bardziej widoczne w systemie Windows 7 bez utraty większości z tego, co czyni aero ładnym?

Powiązane, ale nie do końca takie same, jak Jak sprawić, że oślepiająco oczywiste jest, które okno jest aktywne .

Mark Booth
źródło
Co się stanie, jeśli zwiększysz intensywność kolorów, nasycenie i jasność do maksimum? Możesz także dostosować odcień.
i31415
Próbowałem tego wszystkiego @ i31415, ale zmienia wszystkie okna w prawie ten sam sposób, więc nie ma zwiększonego kontrastu między oknami zogniskowanymi i nieostre.
Mark Booth,

Odpowiedzi:

3

Jest to jeden z tych trudnych problemów, z którymi boryka się wiele osób.

Ktoś był tak zaniepokojony, że stworzyli styl i poprawili w nim lepszy kontrast. Możesz pobrać styl z Windows 7 Forum w poście rozwiązanym - aktywne i nieaktywne okna zbyt podobne w Aero .

W przypadku śmierci łącza, kopię można znaleźć na Wayback Machine .

LPChip
źródło
Dziękujemy za wskazanie tej dyskusji. Zapewnia kilka przykładowych stylów i wskazuje, jak zrobić własny. Miły!
gwideman
1
Dziękujemy za odpowiedź @LPChip, ale jeśli możesz streścić treść linku, to jeśli umrze, nie stracimy zawartych w nim informacji.
Mark Booth,
Treść linku zawiera zbyt wiele informacji, aby je po prostu streścić. Zasadniczo mówi o technikach edycji strony msstyles i udostępnia linki pobierania do niestandardowych msstyles, więc nie musisz sam go modyfikować. Link do maszyny powrotnej zapewni jednak archiwum tematu.
LPChip
To jest właśnie problem, przyzwoite podsumowanie tego wątku na forum byłoby znacznie bardziej przydatne niż link do niego. Dlatego dałem Bounty do harrymc , ponieważ jest to tylko samowystarczalne odpowiedź, ale Ci zaakceptować , ponieważ jest to bardziej eleganckie i dość rozwiązanie, nawet jeśli nie jest kompletna.
Mark Booth
5

AutoHotkey rozwiązanie dla non-maksymalizacja okien jest opisane w artykule
Script narysować ramkę wokół aktywnego okna z AutoHotkey .

Poniższy skrypt został zaadaptowany z tego artykułu i narysuje 5-pikselową czerwoną ramkę wokół aktywnego okna:

#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
źródło
1

To jest trochę aktualizacja / zmiana z AutoHotkey skrypt wyżej od harrymc odpowiedział 08 kwietnia '14 w 7:17 . wielkie dzięki za to. Dodałem moduł obsługi wyjątków i maksymalne wykorzystanie systemu Windows:

#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

Aby wyjaśnić zmiany: kiedy zamknąłem karty w Google Chrome, rozłożyłem się na 4 monitorach, za pomocą Control + W, od czasu do czasu zamykałem niewłaściwe. Rozwiązanie wyszukane i znalezione wczoraj na tej stronie. Po zaledwie kilku minutach dostałem wyjątek, gdy otworzyłem okno „Zapisz jako” notatnika ++. Ten wyjątek jest teraz przechwytywany przez blok try, catch. Ponadto miałem problem z tym, że nie widziałem czerwonej ramki na zmaksymalizowanych oknach, dlatego przywracam zmaksymalizowane okna wewnątrz „if (OutputVar == 1) {...”.

SL5net
źródło
Czy możesz wyjaśnić zmiany i dlaczego?
Toto
Kiedy zamknąłem karty w Google Chrome, rozłożyłem się na 4 monitorach za pomocą Control + W, od czasu do czasu zamykałem niewłaściwe. Rozwiązanie wyszukane i znalezione wczoraj na tej stronie. Po zaledwie kilku minutach dostałem wyjątek, gdy otworzyłem okno „Zapisz jako” notatnika ++. Ten wyjątek jest teraz przechwytywany przez blok try, catch. Ponadto miałem problem z tym, że nie widziałem czerwonej ramki na zmaksymalizowanych oknach, dlatego przywracam zmaksymalizowane okna wewnątrz „if (OutputVar == 1) {...”.
SL5net,
1
Oryginalny skrypt był dla mnie błędny, ale znalazłem dodany blok try / catch, który był pomocny.
Alex
0

Znalazłeś się we właściwym miejscu, wystarczyło zejść trochę głębiej.

Na stronie Kolor i wygląd okna wybierz Zaawansowane ustawienia wyglądu.

W menu rozwijanym nowego okna dostępne są 2 opcje, dzięki którym aktywne okno będzie się bardziej wyróżniać. Aktywny pasek tytułu i aktywna ramka okna. Możesz uzyskać szczegółowe informacje o tym, jak go wyróżnić.

bigpoppasmooth
źródło
1
Pomaga, jeśli przeczytasz pytanie przed udzieleniem odpowiedzi. Wspomniałem już o tej opcji (akapit czwarty). Nie ma obramowania okna, gdy aplikacja jest w trybie pełnoekranowym, i działa tylko wtedy, gdy wybierzesz motyw inny niż aerozol, a tym samym wyłączysz przezroczystość.
Mark Booth
Tak, tęskniłem za tym. Przepraszam.
bigpoppasmooth