본문 바로가기
🤖 생산성 Up & Tips

🖥 ↩️ macOS에서 모니터 피벗 단축키 설정하기 (Apple API + Alfred Workflows)

by kukim 2021. 11. 26.

이 글은 Apple API를 사용한 디스플레이 회전 명령을 알프레드 workflows를 활용해 단축키로 사용하는 방법입니다.


  • 테스트 환경 : 2019 인텔 맥북 프로 16인치, 카탈리나, 빅서 동작 O, m1 맥북 확인 못함

아래 소스코드를 참고했습니다.

https://github.com/CdLbB/fb-rotate#readme

순서

  1. 소스코드(.c)를 다운로드한다.
  2. 소스코드를 컴파일(gcc)하여 모니터 회전 프로그램을 만든다.
  3. 모니터 회전 프로그램을 사용하여 현재 내 모니터 정보를 확인한다.
  4. 회전할 모니터를 정하고, 회전시키는 명령어를 만든다.
  5. 모니터 회전 명령을 단축키로 설정한다. (알프레드 workflows 사용)

준비물

  • 모니터 회전 프로그램 소스코드
  • Xcode
  • 알프레드 workflows

 

1. 소스코드(.c)를 다운로드한다.

# 홈폴더에 Display-rotate-utile 폴더에 소스코드 다운로드
git clone git@github.com:CdLbB/fb-rotate.git ~/Display-rotate-utile

2. 소스코드 컴파일(gcc)하여 모니터 회전 프로그램 생성한다.

# 소스코드 폴더로 이동
cd ~/Display-rotate-utile

# 컴파일하여 회전 프로그램 생성
gcc -w -o fb-rotate fb-rotate.c -framework IOKit -framework ApplicationServices

3. 모니터 회전 프로그램을 사용하여 현재 내 모니터 정보를 확인한다.

# fb-rotate : 모니터 회전 프로그램

./fb-rotate -i # -i : 정보확인
# 위 명령 실행 결과

#  Display_ID    Resolution  ____Display_Bounds____  Rotation
8  0x2b100854    1920x1080      0     0  1920  1080      0    [main]
7  0x2b10625f    1920x1080  -1920     0     0  1080      0
Mouse Cursor Position:  (   460 ,   620 )

  • 현재 모니터 2대가 있고, 왼쪽 - 서브, 오른쪽 - 메인 으로 사용하고 있습니다.
  • ./fb-rotate -i 명령어 결과에서 기억해야할 점은 Display_ID입니다.
  • 저 같은 경우 오른쪽 메인 모니터의 ID는 '0x2b100854' 이고, 왼쪽 서브 모니터의 ID는 '0x2b10625f' 입니다.

4. 회전할 모니터를 정하고, 회전시키는 명령어를 만든다.

# ./fb-rotate -d <Display_ID> -r <회전각도>

# 예)
./fb-rotate -d 0x2b100854 -r 0 

# 해석
# fb-rotate 현재 경로에 있는 fb-rotate 파일을 실행한다. 옵션으로는
# -d 옵션을 사용하여 DisplayID를 지정해준다.
# DisplayID는 0x2b100854으로 메인 모니터이고
# 0도 회전한다

./fb-rotate -d 0x2b100854 -r 0 # 메인 모니터 0도 회전 (현재 0도 위치라면 반응 없음)
./fb-rotate -d 0x2b100854 -r 90 # 메인 모니터 90도 회전
./fb-rotate -d 0x2b10625f -r 0 # 서브 모니터 0도 회전
./fb-rotate -d 0x2b10625f -r 90 # 서브 모니터 90도 회전

5. 모니터 회전 명령을 단축키로 설정한다.

아래 작업은 알프레드 유료버전 입니다. 무료 프로그램에서 위 명령을 조건에 맞게 넣으시면 동일하게 사용 가능합니다. (e.g. Automator)

 

알프레드의 Workflows를 활용해 모니터 회전(쉘 스크립트)을 알프레드 명령어로 변경하여 사용하고 있습니다.

모니터회전.worflows 다운로드

 

Workflows를 다운 받은 후 우측 상단 환경변수를 클릭합니다.
환경변수에서 본인의 mainDisplayID와 subDisplayID를 입력하세요.

 

댓글