{"id":23014,"date":"2018-10-08T14:05:13","date_gmt":"2018-10-08T18:05:13","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=23014"},"modified":"2019-05-09T16:31:11","modified_gmt":"2019-05-09T20:31:11","slug":"supporting-dark-mode","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2018\/10\/08\/supporting-dark-mode\/","title":{"rendered":"Supporting Dark Mode"},"content":{"rendered":"<p><a href=\"https:\/\/indiestack.com\/2018\/10\/dark-mode-series-introduction\/\">Daniel Jalkut<\/a>:<\/p>\n<blockquote cite=\"https:\/\/indiestack.com\/2018\/10\/dark-mode-series-introduction\/\">\n<p>The gist of what I have to share comes from tackling challenge after challenge in my own apps. Some interfaces adapted effortlessly to Dark Mode, some needed only a little finessing, while others demanded relatively hard-core infrastructural changes.<\/p>\n<p>My advice will focus on the dichotomy of Light Mode and Dark Mode. The Mac&rsquo;s appearance support is more nuanced than that. NSAppearance supports a hierarchy of appearances that build upon one another. The light and dark modes are the two most prominent user-facing examples, but variations such as high contrast modes should also be considered.<\/p>\n<p>These articles are loosely organized in order from more fundamental to more arcane, with a priority on establishing knowledge and techniques in earlier articles that you may need to reference in later articles.<\/p>\n<\/blockquote>\n<p>Previously: <a href=\"https:\/\/mjtsai.com\/blog\/2018\/07\/05\/dark-side-of-the-mac-appearance-materials\/\">Dark Side of the Mac: Appearance &amp; Materials<\/a>.<\/p>\n\n<p id=\"supporting-dark-mode-update-2018-10-09\">Update (2018-10-09): <a href=\"https:\/\/eclecticlight.co\/2018\/10\/09\/dark-mode-bugs-in-mojave\/\">Howard Oakley<\/a>:<\/p>\n<blockquote cite=\"https:\/\/eclecticlight.co\/2018\/10\/09\/dark-mode-bugs-in-mojave\/\">\n<p>Dark Mode seems so simple, but turns out to be a lot more complex. Every so often I turn over a fresh stone in Mojave&rsquo;s otherwise excellent implementation, and discover another crab waiting to bite.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/eclecticlight.co\/2018\/10\/09\/bend-your-mind-with-rich-text-in-dark-mode-im-delighted\/\">Howard Oakley<\/a>:<\/p>\n<blockquote cite=\"https:\/\/eclecticlight.co\/2018\/10\/09\/bend-your-mind-with-rich-text-in-dark-mode-im-delighted\/\">\n<p>In Mojave, TextEdit follows Apple&rsquo;s standard protocol of fixing its text display in Light Mode. When you switch to Dark Mode, the window and its controls go dark, but the view in which the document&rsquo;s text is displayed remains obstinately black on white. That may be fine when you&rsquo;re working on plain Rich Text, if that&rsquo;s not a contradiction. But several of my tools here, like Consolation 3 and Nalaprop, now generate multicoloured Rich Text, which looks drop-dead gorgeous in Dark Mode.<\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Daniel Jalkut: The gist of what I have to share comes from tackling challenge after challenge in my own apps. Some interfaces adapted effortlessly to Dark Mode, some needed only a little finessing, while others demanded relatively hard-core infrastructural changes. My advice will focus on the dichotomy of Light Mode and Dark Mode. The Mac&rsquo;s [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2018-10-08T18:05:15Z","apple_news_api_id":"d741fd32-c8ed-40b5-b5d8-a813f381a699","apple_news_api_modified_at":"2019-05-09T20:31:14Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAg==","apple_news_api_share_url":"https:\/\/apple.news\/A10H9MsjtQLW12KgT84GmmQ","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[4],"tags":[69,1805,30,1529,71],"class_list":["post-23014","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-cocoa","tag-dark-mode","tag-mac","tag-macos-10-13","tag-programming"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/23014","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=23014"}],"version-history":[{"count":3,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/23014\/revisions"}],"predecessor-version":[{"id":23018,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/23014\/revisions\/23018"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=23014"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=23014"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=23014"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}