June 25th, 2024

Fixing QuickLook (2023)

The article discusses Apple's QuickLook changes post-upgrade, expressing disappointment over rounded image corners affecting various file types. Debugging methods using LLDB to manipulate views for potential modifications are explored.

Read original articleLink Icon
Fixing QuickLook (2023)

The article discusses the changes in Apple's QuickLook feature after upgrading from Mojave to Ventura. The author expresses disappointment as images now appear with rounded corners, affecting various file types like photos and game assets. Despite searching for a way to disable this feature, no official option seems available. The author then delves into debugging the Finder process using LLDB to access the QuickLook window and manipulate its views. By setting breakpoints and examining the NSRemoteView class, the author attempts to understand how the image rendering process works and identifies the NSRemoteView as the component responsible for displaying images. Further investigation into the NSRemoteView's methods is suggested to uncover the rendering process and potentially find a way to modify it.

Link Icon 16 comments
By @AnonC - 4 months
This was quite an interesting read, even though I didn't understand some of the details. QuickLook is basically tampering with the accuracy/completeness of the item by using a border and rounded corners. Whoever designed this may have believed that this looks nicer, but there's no good reason to remove information (even if a little bit) while displaying things.
By @__d - 4 months
This is lovely.

As someone who doesn't use ObjC in earnest, it's also a good reminder of how nice it is under the hood.

By @krackers - 4 months
Note that if you're just experimenting you can also use LLDB's breakpoint commands + "thread ret"/reg write to control logic.

But I've had some weird issues using "thread ret" (even when using it as the first instruction in a function when it shouldn't corrupt the stack), so patching memory is probably cleaner.

By @dlivingston - 4 months
Cool investigation into the guts of macOS. I had no idea symbols were still present for production builds in macOS and that they are so easily 'hackable'.

I hadn't noticed before, but it is very strange to round corners of images in QuickLook. Apple should revert this change.

By @projektfu - 4 months
I recognized myself in this article, except I usually don't get to the solution at the end. Bravo.

Anyone have a good way to not be distracted by every egregious annoying thing that appears in your daily routine?

By @behnamoh - 4 months
90% of macOS is legacy code and programs that worked well in OS X and even NeXT OS. It's insane that every once in a while, Apple decides to poke around those areas and make some "improvements". When I put that next to what Microsoft is doing with Windows, I can only ask:

    Have we lost the art of OS design?
I mean, surely there must be designers and programmers in those companies who still know what a good OS experience is like. But are marketing and sales people louder in those companies?
By @z500 - 4 months
This was a great article. I've been playing around with Smalltalk for a few weeks, which I understand is like the spiritual ancestor of Objective-C, and this reminded me a lot of that. It's probably mostly down to the oddball calling convention, but I wonder if other GUIs are as easy to introspect and patch.
By @xhruso00 - 4 months
This article is a golden goose for anyone learning lldb or improving on their lldb skills. Thanks!
By @harel - 4 months
Didn't Gnome had this feature too at some point in the past? I have a clear memory of this working in Gnome and then not...
By @reboot81 - 4 months
Nice writeup. Annoying behavior of Apple. But is it worth disabling SIP for? No.
By @pornel - 4 months
Design of macOS since BigSur took such a nosedive.

Buttons are flat text that doesn't look clickable, with the best case of having a very faint border, sometimes only on hover. There are multiple ad-hoc checkbox replacements. There's a jarring cacophony of old macOS and new iPadOS UI elements — old UI elements with small fonts, small padding, and teeensy disclosure indicators share the screen with big fat round blobs lazily transplanted from a touch screen OS. Some elements react to hover, some don't. Some can only be discovered by hovering mouse in a specific location. Menus have varying heights, and varying padding.

Such unpolished inconsistent details used to be a tell-tale of non-native UI toolkits, or skins for other OSes faking a Mac OS X look. Now macOS looks like a hasty unfinished reskin of iPadOS ;(

By @fredsted - 4 months
I'm puzzled someone in the macOS department made it a priority to fiddle with adding some border to QuickLook when there's so much stuff broken in macOS (and QuickLook itself)
By @a2tech - 4 months
Well that was an interesting journey. I don’t think rounded corners would bother me enough to go digging that deep, but I appreciate that it bothered someone enough that they went to the trouble and wrote it up.
By @lloydatkinson - 4 months
I know nothing about mac but damn what is Apple playing at? Have they succumbed to the dumb trend ux people are obsessing over of late - removing buttons or making buttons appear unclickable?

Look at the left and right screenshot. On the left, I can clearly see the Preview button. On the right, it's barely a button. Also, the default window background colour now looks like a washed out water colour brown.

What are they thinking?