본문으로 바로가기
반응형

+ Big Sur 업데이트 (2021.08.21.)

Big Sur에서는 알림 메시지의 형태가 일부 변경되어 위의 코드를 사용할 수 없게 되었다.

아래의 Applescript 코드를 이용하면 다시 정상적으로 사용할 수 있다.

activate application "NotificationCenter"
tell application "System Events"
    tell process "NotificationCenter"
        set theWindow to group 1 of UI element 1 of scroll area 1 of window "Notification Center"
        # click theWindow
        set theActions to actions of theWindow
        repeat with theAction in theActions
            if description of theAction is in {"닫기", "모두 지우기", "Close", "Close All"} then
                tell theWindow
                    perform theAction
                end tell
                exit repeat
            end if
        end repeat
    end tell
end tell

 

역시나 바로 다운로드하고 싶은 분은 아래 링크에서.

CloseAllNotifications(BigSur).alfredworkflow
0.03MB
CloseAllNotifications(BigSur).scpt
0.00MB

 

원본 글 (2017년)

컴퓨터를 사용하고 있을 때에는 보통 카카오톡 클라이언트를 함께 켜 두게 된다. 그러면 휴대폰으로는 알림이 가지 않고 맥 화면에만 알림이 발생하게 되는데, 문제는 내가 컴퓨터 화면만 들여다보고 있지 않고 딴짓을 자주 한다는 거다. 잠깐만 한눈팔고 있으면 카카오톡 알림은 옆으로 사라져 버리고 나는 메시지가 온 지 안온 지도 모르는 사태가...

 

이런 문제를 방지하기 위해서 카카오톡에서 알림이 오면 자동으로 사라지지 않고, 확인 버튼을 눌러야만 사라지도록 환경설정-알림 메뉴에서 설정을 변경해 두었다.

 

 

그랬더니 이번에는 다른 문제가 발생,

가끔 단체 채팅방에서 확인을 하지 않아도 되거나 나중에 해도 되는 메시지들이 수십통 오게 되면, 일일이 다 '닫기' 버튼을 눌러서 알림을 없애야 했다.

한두 개면 괜찮지만 열개 이상쯤 되면 짜증이 나서 카카오톡을 아예 꺼버리곤 했다.

그러다 좀 더 근본적으로, 알림을 한꺼번에 없애는 방법을 찾아보기로 했다.

 

이런 사태가 생긴다.

 

그리고 찾아낸 것이 아래의 자바스크립트 코드 (원본 코드는 영어 OS 기준이어서, 버튼의 '닫기' 버튼을 인식하지 못했다. 그래서 이름을 '닫기', '확인'으로 변경함.)

애플스크립트 애플리케이션을 통해서 서비스로 등록하거나, 알프레드 워크플로우로 만들어 사용하면 된다.

 

var app = Application("System Events")

notificationCenter = app.processes.byName('NotificationCenter')

function closeWindow(window){
    window.buttons.whose({
        _or: [
            {name: "닫기"},
            {name: "확인"}
        ]
    })().forEach(function(button){button.click()})
	delay(0.1)
	return
}

notificationCenter.windows().reverse().forEach(closeWindow)

 

다 귀찮고 그냥 다운로드 하고 싶으신 분은 아래에서.

ClearNotifications.alfredworkflow
다운로드
CloseAllNotifications.scpt
다운로드

 

알프레드 스크립트는 그냥 더블클릭하면 적용되고, 알프레드 창에서 cnoti라고 입력하면 된다.

 

 

애플스크립트 파일은 서비스로 등록하든, 그냥 실행할 수 있는 앱으로 만들든 해서 사용하면 된다. 방법은 백투더맥 블로그를 참고하면 된다. 거의 같은 과정이지만 중간에 코드만 바꾸면 된다.

문제점

애플스크립트를 실행했는데도, 워크플로우를 제대로 설치했는데도 동작하지 않는 경우가 있다.

맥의 보안정책 때문에 스크립트를 실행할 수 없어서 생기는 문제다.

자동으로 뜨는 개인 정보 보호 - 손쉬운 사용 창에서 해당 어플을 체크해 주면 정상적으로 동작한다.

 

반응형