소스 검색

fix(yabai): turn off mirrored display

Joe 5 달 전
부모
커밋
8bfa91f468
2개의 변경된 파일17개의 추가작업 그리고 1개의 파일을 삭제
  1. 9 0
      .config/yabai/yabai.py
  2. 8 1
      .scripts/display_brightness.zsh

+ 9 - 0
.config/yabai/yabai.py

@@ -411,6 +411,15 @@ class Yabai(CLIWrapper):
             ]
         )
 
+        self.message(
+            [
+                "signal",
+                "--add",
+                "event=display_added",
+                "label=DisplayBrightnessManager",
+                "action=/bin/zsh $DOTFILES_DIR/.scripts/display_brightness.zsh",
+            ]
+        )
         if self._dual_display:
             self.message(
                 [

+ 8 - 1
.scripts/display_brightness.zsh

@@ -15,4 +15,11 @@ fi
 
 "$APP_PATH" set -displayID="$DISPLAY_ID" -feature=brightness -value="$BRIGHTNESS"
 
-echo $BRIGHTNESS $DISPLAY_ID
+BUILT_IN_ID=$((echo '['; $APP_PATH get -feature=identifiers; echo ']') | \
+  jq -r '.[] | select(.name? | contains("Built-in")) | .displayID')
+if [[ -n "$BUILT_IN_ID" ]]; then
+  MIRROR_STATUS=$($APP_PATH get -displayID="$BUILT_IN_ID" -feature=mirror | tr -d '[:space:]')
+  if [[ "$MIRROR_STATUS" == "on" ]]; then
+    $APP_PATH set -displayID="$BUILT_IN_ID" -feature=brightness -value="0"
+  fi
+fi