選字框被置於最邊緣

29 views
Skip to first unread message

wat kw

unread,
Sep 28, 2023, 9:36:58 AM9/28/23
to OpenVanilla
使用Aegisubg時,選字框被置於最邊緣,無法拉到正常位置,難以觀看
請問大家如何解決
eg 如何修改代碼,使選字框可改變位置
或偵測到合適的位置
謝謝你們
Screenshot 2023-09-28 at 10.11.15 am.pngScreenshot 2023-09-28 at 10.11.34 am.png可中

lukhnos

unread,
Sep 28, 2023, 9:47:10 AM9/28/23
to OpenVanilla
有些應用程式無法正確提供 macOS 輸入法框架當前游標的位置。請先試試看 macOS 其他內建輸入法是否一樣有類似問題。

我沒用過上述應用程式,所以不好說。如果你願意自行修改 OpenVallia 原始碼,倒是可以從這邊下手:


這一行設定選字窗的位置。位置來源是上述程式的前幾行 (lines 562-572)。你可以看出來,這其中有一些 fallback。或許上述應用程式給的資訊不完整,於是走了 fallback path。當然也不排除應用程式回報的位置不理想。

第三方輸入法是可以試圖偵測是哪個應用程式回報的。看一下這裡的作法(其實已經 obsolete,不過程式碼還留著):


這一行的意思是,如果應用程式是  Terminal,就特殊處理。你可以用 NSLog 去列出 [sender bundleIdentifier] 看你的應用程式的 bundle id 為何。

OV 原始碼用 Xcode 編譯後,記得先砍掉當前執行的 OV process,然後就可以直接在 Xcode 裡按 Run 執行。之後應用程式所使用的 OV instance 都會是 Xcode 執行的那一個。

wat kw

unread,
Sep 29, 2023, 1:04:02 PM9/29/23
to OpenVanilla
謝謝你
請問修改代碼後,應該build再運作進行測試嗎?
build 的方法步驟是什麼?
(我不是軟件工程師,但懂一點點程式原理)
Reply all
Reply to author
Forward
0 new messages