Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blur foreground? #489

Open
rajansaini691 opened this issue Sep 13, 2020 · 4 comments · May be fixed by #765
Open

Blur foreground? #489

rajansaini691 opened this issue Sep 13, 2020 · 4 comments · May be fixed by #765

Comments

@rajansaini691
Copy link

rajansaini691 commented Sep 13, 2020

First of all, thanks for maintaining this repo!

Is it possible to blur the foreground of inactive windows? Kind of like typora's focus mode? If not, I'd be happy to add a PR, just let me know what would be least intrusive.

@absolutelynothelix
Copy link
Collaborator

no, it's not possible to blur the foreground of inactive windows now

you can try to achieve something like this by using inversion in opacity rules and blur exclusions to give all inactive windows opacity and blur, idk how it'll look tho

@yshui
Copy link
Owner

yshui commented Sep 13, 2020

@rajansaini691 I would be happy to review such PR. If you are going to do it, please implement it for the experimental backends. I think it should be pretty easily achievable.

@rajansaini691
Copy link
Author

@mighty9245 Thanks. I'll probably just directly implement it, then.

@yshui Awesome! Which branch should I use? Is it the next branch? Also, I'm trying to think of a good function name; how does blur_fg sound? Should the current blur be left as-is, or should it be refactored to blur_bg?

@tryone144
Copy link
Collaborator

@rajansaini691 next is the current development head.

I think it should be possible to reuse most of the current implementation for blurring as is and just change the sampling source. No need to re-implement the actual blurring magic. 😉
Actual window rendering in the experimental backends is done in render_all_new() in backend.c. You can find the different compositing steps there as a starting point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants