chjj / compton

A compositor for X11.
Other
2.25k stars 501 forks source link

blur background window #354

Open 257 opened 8 years ago

257 commented 8 years ago

i'm not sure if this can be done already. the idea is to have all things background blurred. say browser is running full-screen and user starts a 80x24 terminal on top of it. atm, if terminal supports transparency, area behind the terminal window is blurred. now it would be nice to be able to blur the whole browser window.

richardgv commented 8 years ago

I am not aware of a easy way to achieve the effect right now. You could write a script that creates a fully-transparent full-screen ARGB window always under the active/topmost window, which could be combined with compton to simulate your desired effect, or modify the source code of compton to do it (see win_blur_background()).

Unfortunately, I do not understand why such a full-screen background blur could be generally useful, and I would like to spend time on other issues first.

257 commented 8 years ago

skimming over the code i can't see how reg_paint is used there? or if it's used at all. even if we trickle down to glx_blur_dst()...

trying regrion_paint = ps->screen_reg; at the top of win_blur_background() also doesn't seem to have any effect whatsoever. my idea was to simply make the region we want to blur the size of the screen.

looking at how you do it for fading; it seems to me that run_fade() could go through the linked list of wins and fade whatever is not focused. is that how would implement this one too?

warning: i have no idea what i'm doing except probably wasting your time. this is my first time touching anything graphical. let me know if this is more than trivial to implement and i will go away.