Jump to content

Better theme support for dark icons?


Recommended Posts

I realize I may be the only one who cares so much about theming, but what can I say? I do! 

 

It occurs to me that for some Workflow icons won't work well (i.e. black icons) in Dark Themes. Workflow builders assume they're fine because they work in Light themes, but then become harder to see in Dark themes.

 

Example:

1751161269_CleanShot2020-12-06at19_27.47@2x.thumb.png.fff46c048e7a682c78295ff3955bf197.png2038219671_CleanShot2020-12-06at19_27.28@2x.thumb.png.4d06b84b2078abd8ac554f5ec048787a.png

 

I think it might be possible to detect whether someone is using a Dark or Light theme using some logic in the Workflow, but then each Workflow would need to repeat this logic.

 

@Andrew Given how widespread the Light and Dark Appearance UIs are becoming, is it possible for Alfred to support icon switching in Dark Themes?

 

 

Link to comment
Share on other sites

5 hours ago, chris said:

I think it might be possible to detect whether someone is using a Dark or Light theme using some logic in the Workflow

 

Alfred already tells workflows the background colour of the theme.

 

5 hours ago, chris said:

for Alfred to support icon switching in Dark Themes?

 

How do you see that working?

Link to comment
Share on other sites

As far as making creating good icons for workflows easier goes, how about supporting "mask" icons where Alfred takes care of the colouring? Like, I provide an icon in any colour and Alfred applies a theme-appropriate colour based on the alpha channel.

 

  1. It would be very easy for the workflow author to implement (just one set of icons)
  2. Users could easily turn it on for many (older) workflows whose authors didn’t consider it
  3. No (accidentally) horribly-clashing colours
  4. User-controlled icon colour improves accessibility

Not functionally equivalent to separate icon sets, of course.

Link to comment
Share on other sites

6 hours ago, deanishe said:

As far as making creating good icons for workflows easier goes, how about supporting "mask" icons where Alfred takes care of the colouring?

 

This sounds like a decent way of approaching things for simple icons, I'll add this to my notes.

Link to comment
Share on other sites

6 hours ago, deanishe said:

how about supporting "mask" icons where Alfred takes care of the colouring

 

Yes, I was thinking that Alfred could add support for SF Symbols as a source for Workflow iconography (similar to emoji): 

 

sf-symbols-hero_2x.thumb.png.57cfae50d221b06d7fb94e95db58fa50.png

 

A Workflow dev could provide their own monochrome template image PDF/SVG/vector icon that could be given similar treatment — and it would be nice if appropriate icon coloring were provided for free, as suggested in this documentation.

 

 

Link to comment
Share on other sites

8 hours ago, deanishe said:

 

Never heard of those before, but there are scads of "icon fonts" like FontAwesome with icons suitable for automatic colouring.

 

There are, but these are specifically offered by Apple for the purpose of incorporating into software UIs. At least if Alfred wanted to provide consistency in visual styling, SF Symbols would be a solid start.

 

I also love the open source Feather icon collection.

Link to comment
Share on other sites

16 hours ago, deanishe said:

Never heard of those before

 

Quite frankly, I can only describe them as “disappointing”. They’re pretty strict in what you can use them for (in typical Apple fashion) and of all the times I searched them for specific icons, it never had them.

 

Their selling point is that they fit well with the San Francisco font (also pretty strict in what it can be used for).

 

8 hours ago, chris said:

these are specifically offered by Apple for the purpose of incorporating into software UIs.

 

Yes, for app developers to use in their apps, not to be made available to their users for the purposes of customisation. Is that use case forbidden? Maybe not, but I’d also argue it’s not worth the risk to find out.

Link to comment
Share on other sites

2 hours ago, vitor said:

Yes, for app developers to use in their apps, not to be made available to their users for the purposes of customisation. Is that use case forbidden? Maybe not, but I’d also argue it’s not worth the risk to find out.

 

The Feather Icons are released under MIT license, although there are only 286 compared with SF Symbols's 2400. Are you open to using Feather icons?

 

Also, Apple states:

 

Quote

All SF Symbols shall be considered to be system-provided images as defined in the Xcode and Apple SDKs license agreements and are subject to the terms and conditions set forth therein. You may not use SF Symbols — or glyphs that are substantially or confusingly similar — in your app icons, logos, or any other trademark-related use. Apple reserves the right to review and, in its sole discretion, require modification or discontinuance of use of any Symbol used in violation of the foregoing restrictions, and you agree to promptly comply with any such request.

 

So as long as Alfred isn't using them in "app icons, logos, or any other trademark-related use", this implies that use in interfaces would be fine, since they "shall be considered to be system-provided images". Given that Alfred already uses many system-provided images, using SF Symbols seems an extension of that existing behavior. For example:

 

image.png.70797c696c36337865b546cbe66ae7cc.png

 

Again, my goal/intention is to make it easier for Workflow developers to support Light and Dark Appearances. Of course we can leave it up to each Workflow developer to source their own icons for each appearance mode, and trust each to do a good job selecting consistent icons, but this seems like overhead that many Workflow devs would possibly prefer to avoid, if possible.

 

I suppose I'm biased to making it easier for people to make Workflows that offer good looking interfaces in both light and dark modes with less effort. Is that also something that you are interested in, or not so much? 

 

Link to comment
Share on other sites

1 hour ago, chris said:

compared with SF Symbols's 2400.


Isn’t that number inflated? Technically they may be that many; in practice I think they count variants on the same icon.

 

1 hour ago, chris said:

Are you open to using Feather icons?

 

I’m neither in favour nor against providing icons to Workflow developers, nor am I partial to any icon set. Nor do I have a say in the matter.

 

My commentary was directed at Apple’s policies, not your idea.

 

1 hour ago, chris said:

Also, Apple states:


Apple states lots of things. They also break their word and squeeze developers whenever they feel like, on any whim, and are not above petty behaviour.

 

1 hour ago, chris said:

Given that Alfred already uses many system-provided images


Yes, but again, on its own interface. It may be a different thing if Workflow developers start using SF Symbols as the icon for their own Workflows.

 

1 hour ago, chris said:

using SF Symbols seems an extension of that existing behavior.


Using them, yes, providing them to be used by third parties—which is your suggestion—maybe not.

 

1 hour ago, chris said:

my goal/intention is to make it easier for Workflow developers to support Light and Dark Appearances.


And that’s a positive goal I have no quarrels with.

 

1 hour ago, chris said:

I suppose I'm biased to making it easier for people to make Workflows that offer good looking interfaces in both light and dark modes with less effort. Is that also something that you are interested in, or not so much?

 

Do I care that people are able to make better things with less effort? Absolutely. That’s why I dedicate most of my time to open-source, even when that means a hit to the finances.

 

Do I agree that providing icon sets inside Alfred is the solution to that particular problem? Again, I have no strong feelings one way or the other. The idea doesn’t particularly excite me in its current state, but there’s little question in my mind your intentions are good, and an idea doesn’t need to be exciting to be beneficial.

Link to comment
Share on other sites

4 minutes ago, vitor said:

Do I agree that providing icon sets inside Alfred is the solution to that particular problem? Again, I have no strong feelings one way or the other. The idea doesn’t particularly excite me in its current state, but there’s little question in my mind your intentions are good, and an idea doesn’t need to be exciting to be beneficial.

 

Fair enough. I will submit that my suggestion needs much more detail before it can be evaluated as a proposal. My original issue had to do with seeing and using other Alfred Workflow from the time before an OS-level Dark Appearance, and noticing that Alfred's UI is somewhat impaired as a result of iconography that assumes only the Light Appearance.

 

Since both Light and Dark Appearances will be the norm going forward, I'm just trying to think of ways to make it easier for Workflow developers to support both Light and Dark modes by taking advantage of available resources, rather than, say, having Running with Crayons have to invest in their own bespoke icon set.

 

I'll continue fleshing this out and when I have something more concrete (i.e. best practices, etc) will report back!

Link to comment
Share on other sites

1 hour ago, Chris Messina said:

Since both Light and Dark Appearances will be the norm going forward

 

It's always been the norm, tbh, because Alfred has had themes as long as it has had workflows.

 

You've always had to consider how your icons look on both dark and light backgrounds if you were planning to release the workflow. It's just that many people are only just realising that now that they are using both themselves.

Link to comment
Share on other sites

I take the smart lazy approach of subtitles: have a border of a different colour. I’ve never seen an icon where that solution detracts from it. I’m betting there’s an ImageMagick command to modify images in that way. Or to keep in line with the original concept of the post—Alfred doing the work—maybe there’s a functionality in Apple’s frameworks to add said border, which would be done by Alfred if detecting that an icon’s outer edges are too close in shade to the theme. Though that doesn’t sound simple to implement.

Link to comment
Share on other sites

9 hours ago, deanishe said:

You've always had to consider how your icons look on both dark and light backgrounds if you were planning to release the workflow. It's just that many people are only just realising that now that they are using both themselves.

 

Fair enough. It's true — I was blown away when I discovered that Alfred support automatically switching themes based on OS-appearance! How many Alfred users have any idea though?

Link to comment
Share on other sites

2 hours ago, Chris Messina said:

How many Alfred users have any idea though?

 

Most that have set their Macs to auto-switch based on time of day and saw their Alfred theme change?

 

Isn’t that the only situation where the feature is convenient? I mean, if you never switch your macOS theme, why would you care that Alfred auto-switches?

Link to comment
Share on other sites

7 hours ago, vitor said:

Most that have set their Macs to auto-switch based on time of day and saw their Alfred theme change?

 

It's not clear to me whether Alfred auto-switches themes if you never change them based on the macOS setting. i.e. if you use Alfred without any customization and macOS changes appearance, will Alfred switch themes?

 

Because for some reason my recollection is that Alfred always used only ONE theme (because I never thought to change it when my OS changed appearance). 

 

What I would expect, as a user, is that Alfred would support Light and Dark themes out of the box, without any user intervention, which is increasingly how most of my non-themable apps behave.

Link to comment
Share on other sites

7 hours ago, Chris Messina said:

What I would expect, as a user, is that Alfred would support Light and Dark themes out of the box, without any user intervention, which is increasingly how most of my non-themable apps behave.

 

Which is exactly how Alfred works, Chris.

 

Alfred will then separately remember which theme you select while in macOS light mode, and macOS dark mode.

Link to comment
Share on other sites

10 hours ago, Andrew said:

Which is exactly how Alfred works, Chris.

 

Thanks for confirming that. Glad that's the case!

 

I think my confusion arises from creating my own themes. I created a light theme — and then created the dark variant — but when I didn't find an interface to independently set which theme is used based on system appearance, I assumed that Alfred didn't support automatic switching.

 

For users who just use Alfred's default theme settings, they'd never encounter that confusion.

Link to comment
Share on other sites

To be fair, there should be an indicator in the theme selection list in Alfred's preferences to show which theme is selected for macOS light and dark modes. Also a way to set a theme for the light / dark modes without having to change the macOS appearance.

 

These are things which have been on my list for quite some time but I haven't implemented yet.

Link to comment
Share on other sites

1 hour ago, Andrew said:

To be fair, there should be an indicator in the theme selection list in Alfred's preferences to show which theme is selected for macOS light and dark modes. Also a way to set a theme for the light / dark modes without having to change the macOS appearance.

 

Thank you — yes, this is what I would expect. That would be a great improvement! I remember we discussed this before too...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...