LINUX.ORG.RU

X Window: off focus fading


0

0

Уважаемый all знает, что в ряде эмуляторов терминалов есть такая фича как изменение цвета окна в целом при потере фокуса.

Возможно ли это сделать глобально для всех окон - на уровне WM (сильно сомневаюсь) - или расширения X Window? Может есть что подобное?


Ответ на: комментарий от cvv

Пока вроде - не заметил.

Вообще - здесь ведь необходимо извращаться с клиентской областью окна.

myhand
() автор топика
Ответ на: комментарий от myhand

>Вообще - здесь ведь необходимо извращаться с клиентской областью окна.

не уверен но теорию я уже подзабыл

cvv ★★★★★
()

> Возможно ли это сделать глобально для всех окон - на уровне WM (сильно сомневаюсь)

Не, даже если извращаться с colormap, то цвета изменятся у всех сразу. А если менять цвет/pixmap фона окна и чистить его (чтоб изменение проявилось), то ведь не все программы используют фичу автозакрашивания фона сервером. Ну, еще есть вариант для WM'а самому менять контент в окнах клиентов (например, контент xor цвет), но это уже совсем изврат.

> или расширения X Window?

Если даже и появится такое расширение, его поддержка в программах будет зависеть от самих этих программ, точнее, от их разработчиков. Само по себе введение нового расширения не добавит его поддержку в существующий код приложений.

nobody ★★
()
Ответ на: комментарий от nobody

> А если менять цвет/pixmap фона окна и чистить его (чтоб изменение проявилось), то ведь не все программы используют фичу автозакрашивания фона сервером.

Да, у меня вначале была идея при смене фокуса делать:

XSetWindowBackground(dpy, cur_window,   PixColorFocused);
XSetWindowBackground(dpy, old_window, PixColorUnFocused);

XClearWindow(dpy, cur_window);
XClearWindow(dpy, old_window);

Не пашитъ.

> Ну, еще есть вариант для WM'а самому менять контент в окнах клиентов (например, контент xor цвет), но это уже совсем изврат.

Поробую так. Вроде более вариантов нет.

myhand
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.