LINUX.ORG.RU

Адаптивная яркость при переключении окон в GNOME

 


0

1

Каким образом возможно реализовать плавное изменение яркости при переключении контрастных окон (темные и светлые)?

Менять яркость отдельно понятно как, простенький скрипт на баше с вызовом xbacklight -set, с адаптивностью уже сложнее. Но может быть какая программулина для этого уже существует?


Готовое вряд ли такое что-то есть. Что вообще подразумевается по тёмными и светлыми окнами? Разные режимы темы — это одно, разный цветовой состав содержимого окна в целом — совсем другое. Приведи примеры.

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

К примеру окно с преобладанием белого цвета, скажем в браузере, необходимо переключиться на окно с преобладанием чёрного цвета, например редактор кода какой нибудь. Конечно в идеале это и вкладки браузера, т.к. ЛОР имеет вкладки с серым фоном, а другие с белым фоном. Т.е. резкий контраста для глаз получается при переключении.

Просто изменения яркости сделать легко, но это вручную.

#!/bin/bash
light=$(xbacklight -get)
for (( i=0; i<20; i++ ))
do
result=$(( $light + $i ))
xbacklight -set $result
done 
dima81
() автор топика

То есть нужно держать общую яркость монитора одинаковой независимо от содержимого окон? Или просто плавное увеличение, тогда подойдёт настроить плавное появление окон в WM

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

Плавное изменения яркости в зависимости от того на какое окно переключаемся.

Представленный скрипт должен работать при переключении с окна превалирующим белым фоном на окно с превалирующим чёрным фоном.

Может быть «подойдёт настроить плавное появление окон в WM», ни разу не встречался в GNOME, поясните пожалуйста, вдруг оно.

dima81
() автор топика
Последнее исправление: dima81 (всего исправлений: 1)
Ответ на: комментарий от dima81

Еще раз. Тема оформления.

«Белый» вполне может быть «заметно серым». Во-вторых, ты можешь каждое приложение запускать со своей темой оформления.

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

Окно плавно меняет прозрачность от полной до нулевой при появлении и скорость настраивается, соответственно и яркость будет меняться

anonymous
()

Вряд ли такое есть, но выглядит реализуемо.

Демон, который следит за переключением окон, делает скриншот, переводит в ч/б, считает среднее значение пикселей и в зависимости от него выставляет нужный уровень яркости.

Но снижение яркости будет не мгновенным, так что придется жмуриться на долю секунды после того, как переключился на светлое окно.

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

То есть нужно держать общую яркость монитора одинаковой независимо от содержимого окон?

А при открытии терминала с односимвольным приглашением командной оболочки выжигать его на сетчатке.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от t184256

Фон у терминала внезапно может быть и не черным, если у человека смена яркости вызывает дискомфорт то нужно приводить вид приложений к одинаковому а переключение между ними делать плавным

anonymous
()
Ответ на: комментарий от dima81

Думаю, там реализовано либо так же, либо через драйвер монитора. Например, если монитор OLED, то по мощности питания можно определять, насколько ярко светятся пиксели.

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

Но снижение яркости будет не мгновенным, так что придется жмуриться на долю секунды после того, как переключился на светлое окно.

Ну тогда уж можно прямо в WM это пилить плагином\модулем\патчем, тогда можно и задержку появления(плавное появление) окна добавить, чтобы яркость успела поменяться. Но, имхо, это всё(задержки и постоянные изменения яркости) будет раздражать намного больше, чем без этого.

Уверен, что ничего такого существующего нет. Только пилить самому.

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 1)