多顯示器下判斷窗口位置 macOS

在開發落格輸入法的時候,我遇到了這麼一件事情,就是作為候選欄的窗口會在屏幕邊緣的時候超出屏幕去!所以,在顯示窗口的時候我根據坐標做了額外的檢查:

總之,就是說如果坐標算上自己的寬度超過了屏幕的寬度,就把它挪回來。

但是,這樣[……]

點擊跳轉以繼續閱讀

如何讓 NSWindow 顯示在不同的 Space 或者 Screen 中

在寫落格輸入法 Mac 版的過程當中,我遇到了這麼一個問題,系統的候選條 API 年久失修,很多功能 API 存在但根本無效,比如:

這個方法是用來設置候選條風格的,裡邊除了默認的[crayon-5d32ca96d856e6162[……]

點擊跳轉以繼續閱讀

攢一台用來做開發的 黑蘋果 hackintosh

給 iPhone 等平台開發應用,總是需要用到一台蘋果電腦的,或者 iMac 或者 rmbp,就算是 mac mini 也行。不過,當開發的項目比較大了,需要的東西多了,比如我吧,雖然做一個小小的輸入法,但跑詞庫跑算法什麼的,一趟下來就得一天,搞不好還崩潰重來。每當 Xcode 不爭氣動不動就白板的[……]

點擊跳轉以繼續閱讀

OS X 開啟 RamDisk 來為 Safari 和 Xcode 加速

隨著 Xcode 的版本升級,速度越來越慢,尤其一言不合就“白板”的問題相信大家都會有遇到。

這是非常影響開發效率的事情。如果有可能,那麼我們將 Xcode 的緩存文件放到內存,速度應該快很多。(雖然現在 rmbp 的 ssd 已經十分的快速了,但比起內存,還是差的很遠——對於機械硬盤[……]

點擊跳轉以繼續閱讀

方便快捷 自用 搭建 TimeMachine 方案

終於換了一個相對穩定的工作環境,現在,我的桌面是這樣的:

好了,總之,用移動硬盤定期備份不是長久之計,所以,身為窮逼,我們要給自己尋找一個合適、方便的備份方案了。

俗話說的好:

備份不做,十惡不赦。

那麼,我們就來說說我的設計方案。

設計

首先,作為一個窮逼,設計備份方案[……]

點擊跳轉以繼續閱讀

Xcode 自動版本號

做開發者肯定有過這樣的煩惱:版本號提交錯了!

編譯和測試的版本多了,難免提交的時候才發現版本號搞錯了。要不就是後台版本號正確,前台的版本號忘記更改。其實,可以讓前台自動獲取後台的版本號數據,比如這樣:

後台的版本號[……]

點擊跳轉以繼續閱讀

讓 iTrem 2 + zsh 啟動不再等待!

iTerm 作為一個 mac 裡自帶終端的替代品真的是太好用了,功能多、界面也好看。配合zsh+皮膚,終端從此也美麗(題圖)。

不過,zsh 啟動總是很慢,雖然說每次啟動前輸入的內容還是不會丟失,但總等著也不是個事(說句實在話,我就這麼忍受了好多年……)

總之,其實這個問題是可以被解決的[……]

點擊跳轉以繼續閱讀

讓 SSH 走代理連接服務器

很多網絡運維、或者站長需要通過 ssh 來管理服務器、vps,如果不湊巧,你和服務器之間相隔了一堵 GFW,那麼由於 GFW 會分析 ssh 數據包,結果就是導致稍微慢一點的網絡就會讓命令卡一分鐘。

GFW 現在完全有能力分析 ssh 流量特徵,以判斷你是在真的使用 ssh 配置服務器,還是使用它[……]

點擊跳轉以繼續閱讀

Swift 使用 InputMethodKit 寫輸入法

如何在 iOS 上寫一款輸入法?這個問題已經被很多人解答過了。你可以輕易通過 Google 找到一篇詳細的教程。但是,在 macOS 上寫一款輸入法就沒那麼簡單了。

好吧,嚴格來講,是指用 Swift 在 macOS 上寫一款輸入法很難。主要的原因是 從來沒有人做過這件事情 。

目前能夠[……]

點擊跳轉以繼續閱讀