X11

適用於 4k 螢幕的更大 X11 游標

  • January 15, 2022

當顯示器是 4k 螢幕時,預設的 X11 游標非常小。如何使用更大的游標?要求:

  • 必須在普通 X11 下工作(沒有 KDE、Gnome 或類似的臃腫)
  • 至少應該有一個更大的根視窗游標,即“箭頭”
  • 應該在 FreeBSD 上工作

我查看了 Xcursor(3) 手冊頁,其中討論了該~/.icons目錄,但我不確定要放置哪些文件以及如何啟動它們。我在系統上有一堆目錄,例如

/usr/local/share/icons/oxygen/64x64
/usr/local/share/icons/oxygen/64x64/categories
/usr/local/share/icons/oxygen/64x64/apps
/usr/local/share/icons/oxygen/64x64/devices
/usr/local/share/icons/oxygen/64x64/emotes
/usr/local/share/icons/oxygen/64x64/mimetypes
/usr/local/share/icons/oxygen/64x64/emblems
/usr/local/share/icons/oxygen/64x64/actions
/usr/local/share/icons/oxygen/64x64/places
/usr/local/share/icons/oxygen/64x64/status
/usr/local/share/icons/oxygen/48x48
/usr/local/share/icons/oxygen/48x48/emotes
/usr/local/share/icons/oxygen/48x48/devices
/usr/local/share/icons/oxygen/48x48/apps
/usr/local/share/icons/oxygen/48x48/mimetypes
/usr/local/share/icons/oxygen/48x48/status
/usr/local/share/icons/oxygen/48x48/emblems
/usr/local/share/icons/oxygen/48x48/actions
/usr/local/share/icons/oxygen/48x48/places
/usr/local/share/icons/oxygen/48x48/categories
/usr/local/share/icons/oxygen/48x48/animations

每個都包含大量的圖示作為*.png文件。

儘管 dirkt 提供的方法確實有效,但生成的縮放點陣圖游標看起來很難看。有一種方法可以讓 X 使用 Type 1 游標字型,並適當地重新縮放它。

預設的 X 游標字型既作為點陣圖字型(file cursor.pcf.gz)也作為 Type 1 字型(file cursor.pfa)存在。下面提供的配方使系統無法使用點陣圖字型,並將字型名稱cursor轉換為適當重新縮放的 Type 1 字型的別名(通過fonts.alias文件)。

  1. 解除安裝包含該文件的包 /usr/share/fonts/misc/cursor.pcf.gz (可以命名為cursor-miscfonts-misc或類似名稱),或者乾脆刪除該文件並禁用對該包的升級,以便 X 伺服器無法使用該點陣圖字型。執行mkfontdir /usr/share/fonts/misc以從字型目錄中刪除點陣圖字型。
  2. 確保安裝了包含該文件的包/usr/share/fonts/Type1/cursor.pfa (可以命名為xfree86-type1fonts-type1或類似名稱)。
  3. /usr/share/fonts/Type1/fonts.alias 使用以下內容創建文件,將 801 調整為所需的游標大小。
cursor -xfree86-cursor-medium-r-normal--0-801-0-0-p-0-adobe-fontspecific
  1. 執行fc-cache -r並使xset fp rehash Type 1 字型可用於系統。

一種方法是將包含游標形狀的 X 標準字型檔替換為更大的版本。為此,獲取字型源文件cursor.bdf,用 放大bdfresize,然後手動配置應用程序/WM/根視窗以使用此字型,或替換舊字型檔。

有關詳細資訊,請參見例如此處


fvwm中,您還可以使用CursorStyle來設置所需的字型字形甚至圖像。我還沒有嘗試過,但我認為這不適用於自行更改游標的 X 應用程序。

引用自:https://unix.stackexchange.com/questions/236159