December 16, 2014

解決 Sublime Text 3 的 GUI 介面隨著系統 DPI 放大的問題

前陣子剛從 Sublime Text 2 轉換成 3,映入眼簾的卻是混亂的版面,過大的側邊欄、Tab 欄、Console 及 Minimap,主要的編輯區塊剩下很小一塊。

原因在於,Sublime Text 3 會根據作業系統目前的 DPI 設定,去同步放大/縮小其介面的各個元件,若作業系統的 DPI 調大,則 Sublime Text 3 的所有欄位也會跟著放大,遮住主要的編輯區塊。

本文藉由調整 Sublime Text 3 的隱藏參數解決此問題。


目錄


(一) 背景

1. 什麼情形下會出現這個問題

作業系統為 Linux 或 Windows,系統的 DPI 設定為 1 以上(e.g. 1.25) ,開啟 Sublime Text 3 就會發現介面中各元件變得很大。

2. 為什麼要調整 DPI?

隨著科技發展,螢幕尺寸越來越大,大螢幕相伴著高解析度。

解析度越高,螢幕所能顯示的畫面就越廣,但字體相對就越小,對眼睛也越不好。

因此有些人會在高解析度下提高 DPI,將字體、圖像等內容適當放大,減少眼睛的負擔

3. 怎麼調整 DPI?

以 Windows 7 為例:

控制台→外觀及個人化→顯示→調整 DPI

4. 修改 DPI 有什麼壞處

調整 DPI 大小後,可能會有一些後遺症,當開啟一些較舊的程式時,會出現未預期的行為,例如這篇文章中的 Windows Keyboard Layout Creator

某些程式(Sublime Text 3)的 GUI 則會跟著系統 DPI 同步放大/縮小,導致介面崩壞


(二) 解決方法

請參考 Stack Overflow 的這篇討論:Sublime Text 3047 UI is so big

註:雖然這篇標題是 3047,但我的 Sublime Text 3 build 3065 也有同樣的問題,解決方法相同。

解決方法步驟:

  • 在 User Preferences 中加上 "dpi_scale": 1.0
    • Windows:Preference -> Settings(User)
    • OSX:Sublime Text -> Preference -> Settings(User)
  • 重新啟動 Sublime Text。

VoiceTube 看影片學英文