bakkeby / dmenu-flexipatch

A dmenu build with preprocessor directives to decide which patches to include during build time
MIT License
183 stars 78 forks source link

Add RGBA support #13

Open UtkarshVerma opened 2 years ago

UtkarshVerma commented 2 years ago

This PR removes the alphas array and implements RGBA support.

bakkeby commented 2 years ago

This certainly simplifies the alpha patch a great deal. Will have to do a more in-depth review given that what is here is not what you'd get with the normal alpha patch.

There may be a few edge cases to consider like when using short RGB codes like #ccc or named colours like "magenta".

UtkarshVerma commented 2 years ago

My personal opinion on the short names is that they should be deemed invalid. This PR behaves in the following way, currently:

This keeps the code-base simple and clear.

N-R-K commented 1 year ago

My personal opinion on the short names is that they should be deemed invalid. This PR behaves in the following way, currently:

* If passed #RRGGBB, consider alpha = 255

* If passed #RRGGBBAA, parse the alpha hex

* Panic otherwise

This keeps the code-base simple and clear.

Have you considered the fact that this also break literal color names such as "white"/"black" etc ? Because colornames aren't limited to hex values as of now.

P.S: Just noticed that bakkeby already bought up the issue with named colors.

UtkarshVerma commented 1 year ago

For this patch to be feasible, what improvements do you guys think I should make?

bakkeby commented 1 year ago

Maybe this is better as a candidate patch on the suckless pages page?

I did play around with something similar for dwm and my experience with it is that although it works it is kind of annoying to maintain alpha values on a per individual colour code basis, especially when you are using Xresources.

UtkarshVerma commented 1 year ago

Maybe this is better as a candidate patch on the suckless pages page?

I did play around with something similar for dwm and my experience with it is that although it works it is kind of annoying to maintain alpha values on a per individual colour code basis, especially when you are using Xresources.

I don't feel it is annoying at all. I simply rely on pywal for applying my config everywhere. Even then, the config isn't big: image

For me, the biggest issue was not being able to modify the alpha value at all, and this patch serves my use case. I'll try putting this up on the suckless website once I find time.