Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

ScreenVeil

ScreenVeil 是 Windows 的多螢幕遮罩工具。它可以為不同螢幕套用獨立的不透明遮罩(支援單色、漸層或圖片),用來調整各螢幕的亮度或輔助專注。

程式只常駐在系統匣,沒有任何主視窗,支援全域快捷鍵與設定檔微調。

功能特色

  • 常駐系統匣 (System Tray Only):沒有額外視窗,只在系統匣背景執行。
  • 獨立多螢幕配置:自動偵測多螢幕環境,可個別設定啟用狀態、不透明度與填滿樣式。
  • 三種填滿模式:
    • 單色 (Solid Color):使用單一顏色遮蓋。
    • 漸層 (Gradient):支援雙色漸層,可自訂漸層旋轉角度。
    • 圖片 (Image):載入本機圖片作為遮罩。
  • 滑鼠穿透模式 (Click Passthrough):滑鼠點擊可穿透遮罩直接操作後方視窗,保留遮罩視覺效果。
  • 全域快捷鍵 (Global Hotkeys):免開啟選單,直接用快捷鍵切換遮罩或滑鼠穿透狀態。
  • 即時重新載入:修改設定檔後點擊選單「重新載入設定」即可套用,不需要重啟程式。

快速開始

下載與安裝

  1. 前往 Releases 頁面。
  2. 下載 screenveil-windows-x64.zip。
  3. 解壓縮後直接執行 screenveil.exe。

Note

首次啟動時程式會自動偵測螢幕,在 %AppData%\ScreenVeil\settings.json 產生預設設定檔並顯示系統通知。

操作說明

系統匣選單

在系統匣圖示上按右鍵開啟選單:

  • ScreenVeil vX.Y.Z:顯示目前運行的程式版本。
  • 開啟遮罩 / 關閉遮罩:切換螢幕遮罩的顯示狀態。
  • 啟用穿透模式 / 停用穿透模式:啟用後,滑鼠點擊可穿透遮罩操作下方視窗。
  • 開啟設定檔:使用系統預設的文字編輯器開啟 settings.json。
  • 重新載入設定:重新讀取設定檔並立即套用。
  • 結束:關閉程式。

預設快捷鍵

  • Ctrl+Shift+V:切換遮罩顯示狀態。
  • Ctrl+Shift+T:切換滑鼠穿透模式。

設定檔說明 (settings.json)

設定檔位於 %AppData%\ScreenVeil\settings.json,結構如下:

{
  "hotkeys": {
    "toggle_overlay": "Ctrl+Shift+V",
    "toggle_passthrough": "Ctrl+Shift+T"
  },
  "screens": {
    "\\\\.\\DISPLAY1": {
      "enabled": true,
      "fill_mode": "solid_color",
      "color": "#1A1A2E",
      "opacity": 0.85,
      "gradient": null,
      "image_path": null
    },
    "\\\\.\\DISPLAY2": {
      "enabled": true,
      "fill_mode": "gradient",
      "color": "#000000",
      "opacity": 0.6,
      "gradient": {
        "color1": "#121212",
        "color2": "#282828",
        "angle_degrees": 45
      },
      "image_path": null
    }
  }
}

設定欄位

欄位 型態 說明 備註
hotkeys.toggle_overlay 字串 切換遮罩顯示與否的快捷鍵 例如 "Ctrl+Shift+V", "Ctrl+Alt+S"
hotkeys.toggle_passthrough 字串 切換滑鼠穿透模式的快捷鍵 例如 "Ctrl+Shift+T", "Alt+Shift+P"
screens 物件 各螢幕的設定,鍵值為螢幕名稱 程式會自動產出偵測到的螢幕名稱
screens.*.enabled 布林值 是否對此螢幕啟用遮罩 true 或 false
screens.*.fill_mode 字串 遮罩填充樣式 可選值: "solid_color", "gradient", "image"
screens.*.color 字串 基礎顏色 (十六進位) 套用單色或影像模式的基礎底色
screens.*.opacity 浮點數 遮罩不透明度 範圍為 0.0 (完全透明) 到 1.0 (完全不透明)
screens.*.gradient 物件/null 漸層配置,當 fill_mode 為 gradient 時生效 否則設定為 null
screens.*.gradient.color1 字串 漸層起點顏色 十六進位顏色字串,例如 "#FF0000"
screens.*.gradient.color2 字串 漸層終點顏色 十六進位顏色字串,例如 "#0000FF"
screens.*.gradient.angle_degrees 整數 漸層角度 單位為度,例如 90 代表垂直漸層
screens.*.image_path 字串/null 圖片檔案的絕對路徑 當 fill_mode 為 image 時生效

建置與編譯

前置準備

  • 安裝 Rust 工具鏈 (建議版本 v1.75+)。
  • Windows 作業系統 (專案使用 Windows API 與 GDI+)。

複製並編譯

git clone https://github.com/hochun836/ScreenVeil.git
cd ScreenVeil

# 偵錯建置
cargo build

# Release 建置
cargo build --release

編譯完成的執行檔位於 ./target/release/screenveil.exe。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages