-
-
Notifications
You must be signed in to change notification settings - Fork 593
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
Rounded corners and Kawase blur for glx, all in the same fork. #361
Conversation
…nded corners shader
This is fantastic! Thank you so much for picking up the work on this. A few problems:
|
Thanks for the great work! This PR is pretty big so this could take a while to review. I also want to invite @sdhand and @tryone144 to review this as well, as they have been working on the same thing. |
It would be great if you can organize your commits into more self-contained units. That would make reviewing these changes much easier for us. |
How do I go about doing that? I’m somewhat of a github collaboration noob (used to doing things alone), how do I rearrange the commits into units? Btw the way it is now is somewhat organized, the first commit is porting of @sdhand code followed by a few commits porting @tryone144 code (separate commits for the old and new backend) followed by a commit that ported @sdhand rounded corner code to experimental backends. All commits after Mar 25th are the new GLSL rounded corners code, it’s a bit of a mess with my trial and error and experimenting but if we can connect somehow I can walk through the final version which ended up being pretty simple and not too invasive to the code (basically a duplication of the blue method code structure). Let me know and we can take it from there. I intend to add the rounded corners GLX to experimental backend so if you have any guidelines how to do so in a way that would make things easier let me know. |
Usually you split the commits for each feature into its own branch which can than be merged into If I might chime in on the blur part: I would prefer merging in all above changes with separate PRs to reduce complexity. The For cleaner merging I would open a new PR of said branch and provide a separate PR for the re-implementation of Regarding the "old" backends: My first implementation was rather hacky and had some bugs. I later reimplemented the algorithm ontop of this fork ( Other than that, I totally agree we should try to minimize the number of compton forks. I never anticipated and/or planned my fork to become so popular. It was more of a development branch to be eventually be merged back into the "original" compton and not to be used as a replacement. Now that @yshui took over maintenance with picom, I'll be glad to merge the changes back into |
You can use things like Preferably each commit should contain a self-contained change that does one thing, and each commit should build and pass tests. And I agree with @tryone144 that the rounded corners and the blur should be split into separate PRs. |
what border width in your i3 config? |
@liquid600pgm - your borders are thicker because as you replied to @ivanmilov your i3 border thickness is set to 1 but yet specified thickness of 3 in the rules, try changing the rule to |
@ibhagwan oh! I didn't actually know that, just copied my configs over from another person above haha Thanks for the reply. |
Unfortunately that would require a different shader code. |
What is the timeline for getting this pr merged? |
I’m not sure, this PR won’t be merged as is, it is being worked on separately (kawase blur / rounded corners), from what I could tell @tryone144 added support for the dual kawase blur to the experimental backends and @yshui merged the rounded corners separately into this branch. |
So, if I understood correctly, your work is being redistibuted to other branches and contributors? |
I don’t know, I am only the author of this PR, I am not involved in work on other branches. |
ok! thanks for the quick answer! |
Use yshui/picom#361 until yshui/picom#361 is merged kitty: use spacecamp-kitty theme xmonad: enable gaps
Use yshui/picom#361 until yshui/picom#480 is merged kitty: use spacecamp-kitty theme xmonad: enable gaps
That's likely because the "border" isn't a window border, it's the i3 frame window, whose size can be retrieved from the _NET_FRAME_EXTENT property.
cc @ibhagwan |
|
You don't have to have this to support i3 frames properly. |
Hi @yshui, @tryone144, FYI, I've rebased my fork onto your current work, dropped the code you already implemented and added what wasn't yet implemented (rounded corners+borders on experimental and dual_kawase on legacy). To not create a total mess with forks I've created another branch for the rebase named next-rebase, needed to solve quite a few conflicts but it seems to be working fine now (thank the lord and tpope for vim-fugitive). I'm aware it might not end up in the main branch but whatever your plans are regarding the rest of the code (borders, etc) I thought it might be helpful to have something working that resembles more to your current work after the merge of the rounded corners to legacy and the addition of dual kawase to the experimental glx, might also solve some of the issues that were opened on my fork. |
The missing shadow of the round corners is really annoying, I tried to modify shadow generation method and shadow paint region, but neither seemed to work under new backend. I took a poke around the code but did not find out how the shadow cropping stuff is done for new backend, is there anyone who is kindly enough to help pointing me out the right place to start with? |
Is there any particular reason why this branch hasn't been merged yet? It's almost been an year, I'm just curious :) |
this will most likely never get merged because parts of this branch is already merged (the kawase blur) and the rounded corner code is getting cleaned up in a separate pull request. |
Can you link to the new pull request, so we can keep track of it? |
Here ya go #480 |
Hi @yshui,
I’d like to present my fork (updated up to your yesterday’s commits):
Added the popular kawase blur method for glx for both old and new backend from @tryone144, both his old Compton code and the new code for the new backend in his feature/dual_kawase branch.
Added the rounded corners code from @sdhand and also rewrote it to the new XRender backend.
Added new code for rounding corners for the glx backend using a GLSL fragment shader.
In the next few days I intend to port the rounded corners glx shader to the new experimental backend.
I’d love for this to be included in the main branch.