The eyedropper is great, but there are a few limitations. These limitations are primarily around using the “i” shortcut for the eyedropper.
Problem:
Using the eyedropper to affect the stroke is an unnecessarily amount of interactions. If the object has a fill and a stroke, using the eyedropper only applies to the fill. Sure you can click on the colour swatch for the stroke to get to the eyedropped, but if it has a colour variable already applied you then need to click to the Custom tab and then click on the eyedropper from there. This results in multiple clicks in order to modify the stroke colour easily.
- Adding a stroke - current steps:
- Select the object
- Click the Plus to add a stroke
- Press i to activate eyedropper
- Shift click a variable colour to assign it
- Modifying a stroke (with a colour variable already applied) - current steps:
- Select the object
- Click the colour variable
- Click the Custom tab
- Click the eyedropper
- Sample the new colour variable holding shift
Proposed solution:
When you activate the eye dropper, it functions as normal and affects the fill of an object, but holding a modifier (such as Cmd / Ctrl) affects the stroke. Thus you would be able to rapidly colour objects through the following workflow:
- Adding a stroke - proposed steps:
- Select the object
- Press i to activate eyedropper
- Cmd / Ctrl + Shift click a variable colour to assign it as the stroke colour (no need to add a stroke first)
- Modifying a stroke (with a colour variable already applied) - proposed steps:
- Select the object
- Press i to activate eyedropper
- Cmd / Ctrl + Shift click a variable colour to assign it as the stroke colour
Additionally:
- The eyedropper tool should remain open after clicking so that the user can assign both a fill and a stroke using the eyedropper. It can be easily cancelled by pressing Esc
- There should be an option to “Always sample colour variables by default” which would reverse the behaviour of holding Shift when they eyedropper is active, i.e. it will sample the colour variable by default but holding shift would sample the hex value
Why do this?
Adding this improvement would make it very quick to style up a whole series of elements using variable styles. You would just click each element, press i to bring up the eyedropper and then apply a fill style as well as then immediately applying a stroke style before moving on to the next component