The crosshair cursors had barely visible outlines, unlike their companions, so they were almost impossible to distinguish against backgrounds of a similar color. This patch fixes that.
BUG: 400110
FIXED-IN: 5.12.8
ngraham |
Breeze | |
VDG | |
Plasma |
The crosshair cursors had barely visible outlines, unlike their companions, so they were almost impossible to distinguish against backgrounds of a similar color. This patch fixes that.
BUG: 400110
FIXED-IN: 5.12.8
Breeze crosshair against a dark background:
Breeze Snow crosshair against a light background:
Automatic diff as part of commit; lint not applicable. |
Automatic diff as part of commit; unit tests not applicable. |
What color is the area on the inside of the cursor? I'm not sure, but it looks like it has a gradient, which doesn't really match the other Breeze cursors.
It is indeed a weird gradient. I was just trying to make the minimum required number of changes to fix the bug, but I can fix that too if you'd like.
Yes, if you're going to add an outline like the other breeze cursor states, you might as well make the inside match. I think it wold probably look better too.
You should probably do Breeze Snow as well since it has the exact same issue. In fact, it's probably even worse since a majority of websites use a white background.
Yeah, they currently have hard edges. I'm sadly pretty abysmal with this kind of pixel art, but hopefully I'll muddle through...
Maybe the original cursors were made with SVG sources? Could those be found somewhere?
Oh, so they were! They're right there in cursors/Breeze/src/cursors.svg cursors/Breeze_Snow/src/cursors.svg
The good news is that this means we can do it right! The bad news is that it might take me a while to figure out how to get from point A to point B here. :) I'll give it my best shot.
Turns out there already is an outline, but it's at 10% opacity instead of 100% and the crosshair doesn't have a blurred shadow around it like the other breeze cursors. I think we should do our best to try to keep the crosshair feeling precise while also improving the contrast around it.
Would you like to take over? I have a feeling that you can do a better job than I can, and you also know what you're doing with the tools, too. :)
I find the Breeze Snow cursors to bee generally lacking in contrast because of the 60% opacity outline. Should I expand this commit to improve the contrast for all Breeze Snow cursors as well?
What's the best way to update this diff? What I'm doing completely discards your changes. Should I get this diff with arc patch D16861 and then update the diff from that branch or can I make my own branch and do arc diff --update D16861 to overwrite your changes?
I think either way would work. For maximum surety, I would download it locally and then do arc diff --update D16861.
Why do we have the cursor theme pre-built in the repo? It's making Arcanist take forever.
So is there a script that regenerates all the X11 cursor files from the SVG whenever it's changed or something? Because I'm willing to bet you didn't change all 654 cursors...
FWIW the actual crosshair cursors seem better to me now, especially the Breeze snow one. You could maybe just take the changed files for the crosshairs and make a new diff with just them if you can't figure out the other issue.
I think I found the reason why the prebuilt cursor themes are included in the repo in the README:
No trimming will have been done to the cursors, and X11 *may* give you split-second glitches when switching cursors making them appear to 'jump' for an instant. To remedy this, you will need to open any auto-generated in gimp and re-export when with the “trim whitespace” option checked. I do not beleive it impacts all versions of X, or Wayland.
You will need the “X11 Mouse Cursor (XMC)” plugin for GIMP installed to trim the cursors if you choose to do so.
Imagine that, reading the README. :) If manual work is required for each image, that seems like all the more reason to only include the two changed ones in the diff.
Yep. This is a terrible workflow. I hope all of this is simpler in Wayland. One SVG for each cursor and just using the SVGs as cursor files would be ideal.
Lovely work :)
I notice this is now branched off of master. Could you land this on the Plasma/5.12 branch and then merge to Plasma/5.14 and then master? This is documented at https://community.kde.org/Infrastructure/Phabricator#Landing_on_the_.22Stable_branch.22, but please feel free to hit me up for details if anything isn't clear.