synappser / FinderFix

FinderFix lets you resize and reposition Finder windows to your liking
https://synappser.github.io/apps/finderfix/
89 stars 0 forks source link

FinderFix extremely aggressive, affects non-folder windows (Information panels, Inspector, “Connect to Server…” dialog and QuickLook window); BREAKS QuickLook altogether #13

Closed joaofrgomes closed 1 year ago

joaofrgomes commented 1 year ago

That's it, that's what's on the description.

I don't know if FinderFix has any way of distinguishing between different kinds of Finder-owned windows, but it just attempts to enforce its custom default size on any kind of resizable Finder windows, fails on those which have limits on them (such as the individual and consolidated Information windows, and the Inspector panel, but still manages to stretch them to their widest setting) and succeeds on those that don't (such as the “Connect to Server…” dialog box and QuickLook window).

What's worse: when first activating a Finder window, the QuickLook window is only affected when pressing the Space Bar for the first time, as pressing the arrow keys to cycle between different files resets it to its default size; but subsequent usage of QuickLook without changing the window focus reverts to and retains the custom size, and not having the window repositioning functionality active in FinderFix just moves it further and further towards the bottom-right of the screen.

To make matters worse (and to me, unacceptably so), it resizes not just the “Information-panel/sidebar-equivalent” QuickLook window layout/manifestation when, say, applications and folders are selected (which wouldn't be that big of an issue in my desktop setup, really), also affecting documents, such as text files, images, PDFs, etc. and, thus rendering QuickLook completely unusable. Do try using QuickLook on a PDF (which it crops) or on an image (which it rescales) with window-resizing active and you'll instantly see what I mean.

Having FinderFix be a bit smarter could even allow us to set custom Information window/Inspector panel sizes (for instance, I wouldn't mind having them be, maybe not the maximum 800px width, but a bit wider than the default on my desktop monitors, while keeping them the default – and minimum – 530px width on my 13'' MBP), and maybe even set larger default QuickLook window sizes for folders and applications, while still allowing them to stretch or shrink in case the file type – an image, icon, PDF, video, etc. – and corresponding media size calls for it); if all else fails, have FinderFix at least ignore anything that isn't a folder window, as it clearly seems to never having been intended for those other kinds of windows in the first place.

Anyhoo, I know the app is still in Beta, and I wish I could help you more than this, but I do use QuickLook a lot and will, thus, have to stop using/testing FinderFix altogether until this core-OS-feature-breaking bug is fixed. Best of luck until then!

synappser commented 1 year ago

João,

The non-folder windows you are mentioning are totally filtered from those controlled by FinderFix for at least a couple releases now but this behaviour is Locale dependent. I have tested it with English, German, French and Italian (but it should handle any language). They seem to be escaping that filtering on your system.

May I ask you what your Locale is? (Language & Region > Preferred languages and Region)

FinderFix will automatically catch any language your Locale is set to (in Language & Region). If you are encountering problems with non-folder windows - File Info, Quick Look, Connect to Server, etc. - not working independently from FinderFix's settings please paste the log of the following command in your comment:

log stream --level debug --predicate="subsystem='com.mantel.FinderFix'"

joaofrgomes commented 1 year ago

Thank you for your prompt feedback!

Indeed, my system is set to have Portuguese (Portugal) [pt_PT] as the main system and login window language, followed Portuguese (Brazil) [pt_BR], English, English (UK) and English (US) as other languages for third-party applications.

Here are my logs, first of FinderFix's default and, as I could confirm, correct behaviour with English as the main language, during actions which include opening the QuickLook preview window, the Information window and the “Connect to server” window:

Filtering the log data using "subsystem == "com.mantel.FinderFix"" Timestamp Thread Type Activity PID TTL 2023-02-28 16:38:28.808016+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] com.apple.finder is active and Cut & Paste is <private> 2023-02-28 16:38:35.251877+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Element title: Quick Look 2023-02-28 16:38:35.251900+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Filtered element title: Quick Look 2023-02-28 16:38:35.251970+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Element title: 2023-02-28 16:38:35.252052+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Window previous size: <private> 2023-02-28 16:38:35.353059+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Element title: 2023-02-28 16:38:35.353162+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Window previous size: <private> 2023-02-28 16:38:35.453604+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Element title: 2023-02-28 16:38:35.453767+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Window previous size: <private> 2023-02-28 16:38:36.263547+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Error: Could not watch element [<private>]: <private> 2023-02-28 16:38:39.503247+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Element title: 2023-02-28 16:38:39.503325+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Window previous size: <private> 2023-02-28 16:38:40.516761+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Error: Could not watch element [<private>]: <private> 2023-02-28 16:38:41.680847+0000 0x5ccd19 Debug 0x98fd9f 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Element title: <private> 2023-02-28 16:38:41.680881+0000 0x5ccd19 Debug 0x98fd9f 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Filtered element title: <private> 2023-02-28 16:38:49.867798+0000 0x5ccd19 Debug 0x9900fa 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Element title: <private> 2023-02-28 16:38:49.867835+0000 0x5ccd19 Debug 0x9900fa 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Filtered element title: <private> 2023-02-28 16:38:59.130465+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] com.apple.Terminal is active and Cut & Paste is <private>

… and here are the logs for the same action, except with the main system language set as English:

Filtering the log data using "subsystem == "com.mantel.FinderFix"" Timestamp Thread Type Activity PID TTL 2023-02-28 16:37:21.175117+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] com.apple.finder is active and Cut & Paste is <private> 2023-02-28 16:37:28.606280+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Element title: <private> 2023-02-28 16:37:28.606387+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Window previous size: <private> 2023-02-28 16:37:28.612541+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Window current size: <private> 2023-02-28 16:37:28.612806+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Element title: 2023-02-28 16:37:28.612868+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Window previous size: <private> 2023-02-28 16:37:28.714101+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Element title: 2023-02-28 16:37:28.714196+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Window previous size: <private> 2023-02-28 16:37:28.814859+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Element title: 2023-02-28 16:37:28.815013+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Window previous size: <private> 2023-02-28 16:37:29.623772+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Error: Could not watch element [<private>]: <private> 2023-02-28 16:37:38.666322+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Error: Could not watch element [<private>]: <private> 2023-02-28 16:37:39.255276+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] <private> created or modified 2023-02-28 16:37:39.255494+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Removing <private> 2023-02-28 16:37:39.257490+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Removed <private> 2023-02-28 16:37:39.257566+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] <private> found 2023-02-28 16:37:39.257726+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] <private> created or modified 2023-02-28 16:37:39.257818+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Removed <private> 2023-02-28 16:37:39.257843+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] <private> found 2023-02-28 16:37:40.256538+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] <private> removed by third party 2023-02-28 16:37:40.256641+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] <private> found 2023-02-28 16:37:40.257243+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] <private> removed by third party 2023-02-28 16:37:40.257271+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] <private> found 2023-02-28 16:37:41.151979+0000 0x5ccd19 Debug 0x98c3d9 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Element title: <private> 2023-02-28 16:37:41.152105+0000 0x5ccd19 Debug 0x98c3d9 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Window previous size: <private> 2023-02-28 16:37:41.253996+0000 0x5ccd19 Debug 0x98c3d9 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Element title: <private> 2023-02-28 16:37:41.254200+0000 0x5ccd19 Debug 0x98c3d9 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Window previous size: <private> 2023-02-28 16:37:41.277508+0000 0x5ccd19 Debug 0x98c3d9 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Window current size: <private> 2023-02-28 16:37:51.868226+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] <private> created or modified 2023-02-28 16:37:51.869313+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Removing <private> 2023-02-28 16:37:51.872689+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Removed <private> 2023-02-28 16:37:51.872749+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] <private> found 2023-02-28 16:37:51.872897+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] <private> created or modified 2023-02-28 16:37:51.872969+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Removed <private> 2023-02-28 16:37:51.872990+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] <private> found 2023-02-28 16:37:52.869146+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] <private> removed by third party 2023-02-28 16:37:52.869258+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] <private> found 2023-02-28 16:37:52.869375+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] <private> removed by third party 2023-02-28 16:37:52.869396+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] <private> found 2023-02-28 16:37:55.996282+0000 0x5ccd19 Debug 0x98c5e1 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Element title: <private> 2023-02-28 16:37:55.996418+0000 0x5ccd19 Debug 0x98c5e1 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Window previous size: <private> 2023-02-28 16:37:56.007408+0000 0x5ccd19 Debug 0x98c5e1 53536 0 FinderFix: [com.mantel.FinderFix:utilities] Window current size: <private> 2023-02-28 16:38:02.014232+0000 0x5ccd19 Debug 0x0 53536 0 FinderFix: [com.mantel.FinderFix:utilities] com.apple.Terminal is active and Cut & Paste is <private>

Clearly, they look a bit different, namely the complete absence of the “Filtered element title” on the former…

synappser commented 1 year ago

There must be something about (Brazilian) Portuguese (beyond it being a language with a beautiful sonority :blush:) that makes it evade FinderFix's non-folder windows filters. I'll find out why and include the fix with the next release. Thank you for reporting this annoying issue.

joaofrgomes commented 1 year ago

But Brazilian Portuguese is not the first language in the list, Portuguese Portuguese (it sounds weird, but that’s what it’s called) is (Brazilian Portuguese is the second, and when I tested FinderFix with English at the top, it became third). I can try removing pt-BR from the list (or moving it below English) while keeping pt-PT at the top and let you know how it went.

joaofrgomes commented 1 year ago

Nope. As I suspected, the problem isn't with Brazilian Portuguese. As promised, I did all those tests, and I still had issues with FinderFix; conversely, I then ordered the languages like such:

Captura de Tela 2023-03-01 às 16 02 54

… and FinderFix worked fine.

TL;DR: It's actually Portuguese from Portugal (you know, the small, rectangle-shaped nation in Southwestern Europe from whence that language originated) that FinderFix seems to be currently sort of incompatible with (for reference, macOS's own internal localization code for that language variant is, as stated above, “pt_PT”, as opposed to “pt_BR”).

So, to summarize, this is my preferred language setting, with which FinderFix doesn't work:

Captura de ecrã 2023-03-01, às 16 12 27

… and, as much I would enjoy the benefits of FinderFix and as close as formal Brazilian Portuguese is to formal European/African Portuguese (colloquial speech is a completely different ball game, by the way, as even the grammar and sentence structure are somewhat different – but to some extent those differences also apply to formal speech, mind you), I am not willing to swap them (which would be functionally equivalent to deleting my top preference from the list altogether, as the number of apps that are localized into pt_PT and not pt_BR are likely zero or very close to it; maybe our government-issued digital ID card reader companion and that horrendous Java-based tax-filing app, which nobody but certified accountants use anymore, qualify, but I can't think of any others), as some of the localized strings on macOS and many third-party apps are indeed different enough to the point of messing with muscle memory (heck, call me pedantic, but I don't even use pt_BR localizations on design work apps, such as the Affinity Suite or Glyphs.app, and just run them in the default UK or US English, as the Brazilian technical terms can sometimes be very different from the Portuguese ones and, as a typography teacher, I'd rather stick to those nearly universal English terms in daily work, with which all students end up coming into contact on those on-line tutorials, and relay them our own from out-of-print technical dictionaries, which they don't exactly have access to). 🤷‍♂️

Now, on a positive note, I'll add another tidbit regarding localization: FinderFix happens to force-relaunch the Finder when you switch system languages, which is actually AWESOME. I sometimes switch my system language to English when troubleshooting in order to look up answers on-line, or even when remotely helping friends who may actually have English as their preference (Portuguese emigrés in London, interestingly, do tend to do that a lot for some reason, probably so that their colleagues, friends or SOs don't get utterly confused when picking up their Macs), and sometimes switched to yet more exotic languages to help my former colleagues at the Mac room/lab where I worked at as a monitor and envision having to do so again at some point with students (we get Erasmus interchange students from all over Europe at my Uni, so it's kind of a normal and recurring thing), and not having to always bring up the Force Quit window to relaunch the Finder is a very nice time saver. As a matter of fact, save for when the Finder hangs while failing to mount a shared volume (ikr? Why can't Apple just fix that stupid bug already? 🤦‍♂️), it's the top reason why I ever need to relaunch it.

The other added benefit is to you, as a developer, in that you can conceivably test the entire list of languages supported by macOS very quickly and without having to accidentally contend with them taking over as your system language. *wink wink* *nudge nudge* ;) If that was something you implemented just for debugging/development purposes, I strongly suggest you leave it in for the release builds either as a default or as a setting in the “Extra” tab (actually, that toggle would be a very welcome addition, as it would allow us to selectively prevent the Finder from switching to some really unintelligible language, like Hungarian or Chinese, in the aforementioned scenario – and I indeed had to pick the latter to help a Chinese colleague from my PhD class recently, IIRC with MS Word and Zotero, so… yes, it can definitely happen).

synappser commented 1 year ago

Fixed with v0.7.3b