Как сделать мое активное окно более понятным в Windows 7, не отключая прозрачность?

14

С тех пор, как я начал использовать Windows 7, я заметил, что я случайно набираю не в том окне, как раньше.

При использовании темы Aero визуальное различие между окном с активным фокусом и всеми остальными окнами довольно тонкое. Только кнопки «Свернуть», «Развернуть / Восстановить» и «Закрыть» становятся сплошными, и это оставляет только границу окна и строку заголовка, чтобы обозначить фокусировку, становясь немного темнее. Когда приложения работают в полноэкранном режиме, вы теряете все, кроме украшений строки заголовка, а если вы используете приложение для кражи строки заголовка, такое как Firefox, вы даже теряете эту визуальную подсказку.

Я попытался поиграть с настройками на странице «Цвет и внешний вид окна», но отключение прозрачности убирает большую часть привлекательности интерфейса Aero. Установка максимальной цветовой интенсивности до некоторой степени проходит, но все же не оставляет активного окна таким очевидным.

Традиционный способ сделать это, установив цвета «активной строки заголовка» на странице «Дополнительные параметры внешнего вида ...», больше не работает, поскольку аэро тема игнорирует этот параметр.

Итак, есть ли способ сделать мое активное окно более понятным в Windows 7, не теряя при этом большую часть того, что делает Aero привлекательным?

Связано, но не совсем то же самое, что Как сделать, чтобы ослепительно видно, какое окно активно .

Марк Бут
источник
Что если вы увеличите интенсивность цвета, насыщенность и яркость до максимума? Возможно, вы захотите настроить оттенок тоже.
and31415
Я пробовал все это @ and31415, но он изменяет все окна примерно одинаково, поэтому контраст между сфокусированными и несфокусированными окнами не увеличивается.
Марк Бут

Ответы:

3

Это одна из тех сложных проблем, с которыми сталкиваются многие люди.

Кто-то был настолько обеспокоен этим, что они создали стиль и взломали лучший контраст в нем. Вы можете скачать стиль с форума Windows 7 в посте Решено - активные и неактивные окна слишком похожи в Aero .

В случае смерти ссылки, копию можно найти на Wayback Machine .

LPChip
источник
Спасибо, что указали на это обсуждение. Он предоставляет несколько примеров стилей и указывает, как сделать свой собственный. Ницца!
gwideman
1
Спасибо за ваш ответ @LPChip, но если бы вы могли обобщить содержание ссылки, то, если она умрет, мы не потеряем содержащуюся там информацию.
Марк Бут
Содержание ссылки содержит слишком много информации, чтобы просто ее обобщить. В основном он рассказывает о методах редактирования страницы msstyles и предоставляет ссылки на скачивание пользовательских стилей msstyles, поэтому вам не нужно изменять их самостоятельно. Хотя обратная связь с машиной предоставит архив темы.
LPChip
В этом-то и проблема, приличное резюме этой ветки форума было бы гораздо полезнее, чем ссылка на него. Вот почему я дал Bounty harrymc, поскольку это единственный самостоятельный ответ, но вы согласны, так как это более элегантное и красивое решение, даже если оно не завершено.
Марк Бут
5

AutoHotkey решение для не максимизированного окна описано в статье
Script , чтобы нарисовать рамку вокруг активного окна с AutoHotkey .

Следующий скрипт адаптирован из этой статьи и нарисует 5-пиксельную красную рамку вокруг активного окна:

#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
источник
1

Это небольшое обновление / изменение скрипта AutoHotkey, приведенного выше, от harrymc, отвеченного 8 апреля 14 года в 7:17 . большое спасибо за это. Я добавил обработчик исключений, и окна не могут быть развернуты максимально:

#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

Чтобы объяснить изменения: Когда я закрывал вкладки в Google Chrome, распределяя их по моим 4 мониторам, через Control + w, я иногда закрывал неправильные. Решение искал и нашел вчера на этой странице. Спустя всего несколько минут я получил исключение, когда открыл окно «Сохранить как» в Notepad ++. Это исключение теперь перехватывается с помощью блока try, catch. Кроме того, у меня была проблема с тем, что я не вижу красной рамки на развернутых окнах, и поэтому я восстанавливаю развернутые окна внутри "if (OutputVar == 1) {...".

SL5net
источник
Не могли бы вы объяснить изменения и почему?
Toto
Когда я закрывал вкладки в Google Chrome, распределяя их по моим 4 мониторам, через Control + w, я иногда закрывал неправильные. Решение искал и нашел вчера на этой странице. Спустя всего несколько минут я получил исключение, когда открыл окно «Сохранить как» в Notepad ++. Это исключение теперь перехватывается с помощью блока try, catch. Кроме того, у меня была проблема с тем, что я не вижу красной рамки на развернутых окнах, и поэтому я восстанавливаю развернутые окна внутри "if (OutputVar == 1) {...".
SL5net
1
Исходный скрипт был для меня глючным, но я обнаружил, что добавленный вами блок try / catch полезен.
notAlex
0

Вы были в правильном месте, вам просто нужно было пойти немного глубже.

На странице «Цвет и внешний вид окна» выберите «Дополнительные параметры внешнего вида».

В выпадающем меню нового окна у вас есть 2 варианта, чтобы сделать ваше активное окно более заметным. Активная строка заголовка и активная граница окна. Вы можете получить довольно подробную информацию о том, как выделить его для вас.

bigpoppasmooth
источник
1
Это помогает, если вы прочитаете вопрос, прежде чем ответить. Я уже упоминал этот вариант (4-й абзац). Граница окна отсутствует, когда приложение работает в полноэкранном режиме, и это имеет эффект только в том случае, если вы выбрали не аэро тему и тем самым отключили прозрачность.
Марк Бут
Да, я скучал по этому. Мои извенения.
bigpoppasmooth