[personal profile] ex0_planet
К вопросу о ночной адаптации: в clutter-based менеджерах (mutter, muffin) вполне работает вот такой код.

Clutter = imports.gi.Clutter
Main = imports.gi.Main

red  = new Clutter.Color({ red: 255, green: 0, blue: 0});
eyes = new Clutter.ColorizeEffect({ tint: red });
Main.uiGroup.add_effect(eyes); // а обратно remove_effect(eyes)


В отличие от просто redshift'а обращается с цветами корректно, т.к. работает через промежуточный grayscale. В этом случае, например, красный текст на белом фоне будет виден, тогда как redshift покажет и красный и белый одинаковым оттенком.

Внутри просто напросто вот такой шейдер (tint это параметр):
float gray = dot(cogl_color_out.rgb, vec3(0.299, 0.587, 0.114)));
cogl_color_out.rgb = gray * tint;


В compton'е была еще возможность загружать шейдеры при старте (но вроде не в динамике). Вот ребята чем-то таким развлекаются. В compiz'e тоже должна быть возможность, но не в курсе насколько скриптуемая. Пользователи некомпозитных менеджеров, видимо, в пролете.

PS. Кажется, можно взять вот этот экстеншн и слегка поправить.

Profile

ex0_planet

April 2023

S M T W T F S
      1
234567 8
910111213 1415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 25th, 2026 03:02 am
Powered by Dreamwidth Studios