Show GN: EleDock - ⌘M으로 창을 하나씩 Dock에 넣고 ⇧⌘M으로 되돌리는 Mac 메뉴 막대 앱

6 hours ago 3

화면을 정리할 때 ⌘M을 자주 누르는데, 지금 앱의 창만 내려가고 다시 꺼내려면 Dock에서 찾아 눌러야 해서 만들었습니다.

  • ⌘M: 앱을 가리지 않고 맨 앞 창부터 하나씩 Dock으로 내립니다.
  • ⇧⌘M: 마지막에 내린 창부터 되돌립니다.
  • 단축키를 누르고 있으면 이어서 동작하고, 손을 떼면 멈춥니다.
  • 두 단축키 모두 바꿀 수 있고, 같은 키를 쓰는 실행 중인 앱이 있으면 알려 줍니다. 특정 앱을 제외하면 그 앱에서는 원래 단축키가 그대로 동작합니다.

구현은 CGWindowListCopyWindowInfo로 맨 앞 창을 찾고 손쉬운 사용(Accessibility) API로 최소화합니다. 만들면서 걸린 점이 두 가지 있었습니다.

  • 같은 앱의 창을 연달아 내리면, 최소화 애니메이션이 도는 동안 보낸 요청을 앱이 받지 않았습니다. 그래서 앞 창이 실제로 내려갔다는 알림을 받은 뒤 다음 창으로 넘어갑니다. 같은 앱 창은 0.6초쯤 간격으로 내려갑니다.
  • 처음에는 키를 계속 누르고 있는지 CGEventSource.keyState로 확인했는데, 입력 모니터링 권한이 없으면 항상 false가 나와서 배포판에서는 길게 눌러도 창이 하나만 내려갔습니다. 지금은 Carbon 단축키의 놓음 이벤트를 씁니다.

한계: macOS 13 이상에서만 동작하고, 손쉬운 사용 권한이 필요합니다.

무료이고 MIT 라이선스로 공개했습니다. Apple 공증을 받았고 Apple 실리콘과 Intel 모두 지원합니다. 잘 안 되는 앱이나 단축키 충돌이 있으면 알려 주세요.

소스: https://github.com/sijunkim/EleDock

Read Entire Article




피플앤툴즈 네트워크
🛍 샵