[Project] Kakaotalk Dimmer — KakaoTalk PC 화면을 어둡게 눌러주는 오버레이 유틸리티

English


Kakaotalk Dimmer

Made with Hyeonseop Lee.

The KakaoTalk PC app has no built-in dark mode, and its bright white chat window is uncomfortable to look at at night. Instead of modifying KakaoTalk itself, I built a small Windows tray utility that overlays a semi-transparent black layer exactly on top of the KakaoTalk window, dimming it without touching the app or blocking any clicks.

How it works

  • Every tick, the script calls the Win32 API (EnumWindows, GetWindowRect, GetWindowThreadProcessId) to walk all visible windows on screen in z-order (front-to-back stacking order).
  • It filters those down to windows owned by the KakaoTalk.exe process that are larger than a minimum size (to ignore small popups like the emoji picker).
  • For each matching window, it creates (or reuses) a borderless overlay window sized and positioned to exactly match it, and sets its transparency with SetLayeredWindowAttributes.
  • The overlay is created with WS_EX_TRANSPARENT (clicks pass straight through to KakaoTalk underneath) and WS_EX_NOACTIVATE (it never steals keyboard focus), so it’s purely visual.
  • If another window is floating on top of KakaoTalk, the script computes the overlapping rectangle and cuts it out of the overlay with SetWindowRgn, so that other app isn’t darkened too.
  • On Windows 10 2004+ it also sets WDA_EXCLUDEFROMCAPTURE on the overlay, so the dimming is invisible to screen recording/sharing — only your own screen looks dim, while whoever you share your screen with sees KakaoTalk at normal brightness.

Features

  • Right-click the tray icon to adjust brightness (0–90%, in 10% steps) and polling speed (8–100ms, how fast the overlay tracks the window as you move/resize it).
  • The tray icon itself is a moon that shifts color from amber to navy as you increase the dimming level.
  • Settings are saved to %APPDATA%\KakaoDarkOverlay\settings.txt and restored on the next launch.
  • A .vbs launcher starts the PowerShell script with no visible console window, and can be dropped into the Windows startup folder to run automatically on login.

Built entirely with Windows PowerShell + WinForms (no external dependencies), since both ship with Windows 10/11 by default.

Source code: github.com/YooTaeJeong/Kakaotalk-Dimmer


한국어(Korean)


카카오톡 디머 (Kakaotalk Dimmer)

이현섭님과 함께 만들었습니다.

카카오톡 PC 버전은 다크모드가 따로 없어서, 밤에 쓸 때 하얗게 빛나는 채팅창이 눈에 많이 피로했습니다. 카카오톡 실행 파일 자체를 건드리지 않고, 그 창 위에 반투명한 검은 오버레이를 정확히 겹쳐 씌워서 밝기만 낮추는 Windows 트레이 유틸리티를 만들었습니다.

동작 원리

  • 일정 주기마다 Win32 API(EnumWindows, GetWindowRect, GetWindowThreadProcessId)로 화면에 보이는 모든 창을 z-order(앞뒤로 쌓인 순서) 그대로 확인합니다.
  • 그중 KakaoTalk.exe 프로세스 소유이면서 일정 크기 이상인 창만 골라냅니다 (이모티콘 선택창 같은 작은 팝업은 제외).
  • 해당 창과 정확히 같은 위치/크기의 테두리 없는 오버레이 창을 만들고(또는 재사용하고), SetLayeredWindowAttributes로 투명도를 설정합니다.
  • 오버레이는 WS_EX_TRANSPARENT(클릭이 그대로 아래 카카오톡 창으로 전달됨)와 WS_EX_NOACTIVATE(포커스를 절대 가로채지 않음) 속성으로 만들어져서, 순수하게 시각적인 효과만 줍니다.
  • 다른 창이 카카오톡 창 위에 떠 있으면, 겹치는 영역을 계산해서 SetWindowRgn으로 오버레이에서 잘라내므로, 그 다른 앱까지 같이 어두워지지 않습니다.
  • Windows 10 2004 이상에서는 오버레이 창에 WDA_EXCLUDEFROMCAPTURE도 적용해서, 화면 녹화나 화면 공유에는 이 어둡게 처리된 부분이 전혀 찍히지 않습니다 — 내 화면만 어둡게 보이고, 화면을 공유받는 상대방에게는 카카오톡이 평소 밝기 그대로 보입니다.

주요 기능

  • 트레이 아이콘 우클릭으로 밝기(0~90%, 10% 단위)와 반응속도(8~100ms, 창을 움직이거나 리사이즈할 때 오버레이가 얼마나 빨리 따라오는지)를 조절할 수 있습니다.
  • 트레이 아이콘 자체가 초승달 모양이고, 어둡기를 높일수록 호박색에서 짙은 남색으로 색이 바뀝니다.
  • 설정값은 %APPDATA%\KakaoDarkOverlay\settings.txt에 저장되어 다음 실행 때도 그대로 유지됩니다.
  • .vbs 런처로 실행하면 콘솔 창 없이 조용히 트레이 아이콘만 뜨고, Windows 시작 프로그램 폴더에 등록해두면 로그인할 때 자동으로 실행됩니다.

외부 의존성 없이 Windows PowerShell + WinForms만으로 만들었고, 둘 다 Windows 10/11에 기본 내장되어 있어 별도 설치가 필요 없습니다.

소스 코드: github.com/YooTaeJeong/Kakaotalk-Dimmer


© 2024–2026 Taejeong Yoo. All rights reserved.

Last Updated 2026.10.19

----------Taejeong's PortFolio----------