Archive for August 6, 2020

Thursday, August 6, 2020

Disabling Wallpaper Tinting

Juli Clover:

The fourth beta of macOS Big Sur, released yesterday, adds a new toggle in System Preferences that’s designed to disable the wallpaper tinting feature that’s meant to make windows blend in with the desktop wallpaper.

For those who have Dark Mode enabled, turning off wallpaper tinting can make windows on the Mac noticeably darker, especially when a lighter color background is in use.

Anton Sotkov:

Previously the only way to disable it was to use the graphite accent color.

Or by using “Reduce transparency.” However, “Allow wallpaper tinting in windows” does not apply to the menu bar, so I’ll continue using the accessibility setting.

Previously:

Unsticking Stuck Preference Settings

Howard Oakley:

Preference Domains, one of the least understood parts of the whole system, are detailed here. In practice, this means there may be another Property List in ~/Library/Preferences/ByHost which is overriding that in ~/Library/Preferences. The property lists in that ByHost folder are named differently, such as com.apple.loginwindow.[UUID].plist. The UUID used corresponds to that of your Mac’s Hardware UUID, which can be found at the top level of System Information.

[…]

If you have got a stuck preference setting, once you’ve ensured that it isn’t the result of incorrect permissions on that preference file, you need to discover the key name for that preference, whether it’s global or from an app-specific domain, then use defaults to look for an overriding setting with the -currentHost option. If you find that, use defaults -currentHost delete to remove that override, and your normal setting should start working again.

Update (2022-11-30): Howard Oakley:

Sometimes, even using defaults carefully can’t unstick a preference setting. What you probably never even dreamed is that preferences have an overriding hierarchy, and what may have happened is that the preference you tried to set was already being overridden by a Property List with a higher priority. If you can discover how to undo that, then you should still be able to change the setting that’s been driving you crazy.

Secure Enclave Exploit

Filipe Espósito:

Now, Chinese hackers from the Pangu Team have reportedly found an “unpatchable” exploit on Apple’s Secure Enclave chip that could lead to breaking the encryption of private security keys. An unpatchable exploit means that the vulnerability was found in the hardware and not the software, so there’s probably nothing Apple can do to fix it on devices that have already been shipped.

[…]

The only thing we know so far is that this vulnerability in Secure Enclave affects all Apple chips between the A7 and A11 Bionic, similar to the checkm8 exploit that allows jailbreak for almost all iOS devices up to iPhone X.

Emulating Equal-Size Constraints in SwiftUI

Canis:

But the layout engine has a significant limitation: unlike Auto Layout, it’s strictly one-way. Superviews tell subviews how much space they have available, not the other way around. This makes many common tasks fairly straightforward, but it lacks some of the features of Auto Layout — most notably, equal-size constraints.

These are useful where you want some controls to be the same width, height, or both, but you don’t know in advance what that size will be — typically because it’s based on the size of a text label, and you want to support accessibility and localisation, which means different size fonts and different length labels.

[…]

Everyone focuses on the declarative part, because that one word leaked out into the media before it was officially announced, and so people latched on to it. […] But the other parts are important too, and here we see the composability part in action: even though there’s a gap in the layout engine, and it’s quite a bit of hassle to fill, we can take that mess, and turn it into an easily-reusable component or set of components.

This seems like something that should be easy, though.

Previously: