
我总算是弄清楚了,似乎是 mac 窗口逻辑是这样的,你调整窗口,然后就会记住窗口大小,这是苹果的逻辑这很好。
但是,如果你是用 spotlight 打开一个你从未访问过的文件夹打开的窗口,这个窗口是没有记忆大小的,则这种的就会变成默认的很小很小的,700 多 x400 多?的大小???反正特别小,尤其 4k 屏幕这么点大小每次都要调,简直了。。。尤其某些情况下那些 DS_Store 文件发生意外,也弄弄得窗口大小很乱
然后这个值似乎是写在 finder 的主程序而不是配置 plist ,甚至 plist 也没有给默认修改窗口大小的值。。。我还以为有只是我没找到,好像是真没有,反正我没找到。
既然没有,那就 hs 来解决吧,hs 算是泛用性最合适的了,各种情况都能用上。我是没找到好方法,你有么???
local RESIZE_MIN_WIDTH = 1400 local RESIZE_MIN_HEIGHT = 800 local RESIZE_TARGET_APP = "访达" local function resizeTargetWindow(window) if not window or not window:isVisible() then return end local app = window:application() if not (app and app:name() == RESIZE_TARGET_APP) then return end local frame = window:frame() local needsResize = false if frame.w < RESIZE_MIN_WIDTH then frame.w = RESIZE_MIN_WIDTH needsResize = true end if frame.h < RESIZE_MIN_HEIGHT then frame.h = RESIZE_MIN_HEIGHT needsResize = true end if needsResize then hs.alert.show("正在调整 '" .. RESIZE_TARGET_APP .. "' 窗口...") window:setFrame(frame) end end local finderResizeFilter = hs.window.filter.new(RESIZE_TARGET_APP) finderResizeFilter:subscribe({hs.window.filter.windowCreated, hs.window.filter.windowFocused}, resizeTargetWindow) 1 jorneyr 2 天前 这个做法挺好 |