안녕하세요:) 개발자 우디입니다! 아래 내용 관련하여 작업 중이신 분들께 도움이되길 바라며 글을 공유하니 참고 부탁드립니다😊
(이번에 벨로그로 이사오면서 예전 글을 옮겨적었습니다. 이 점 양해 부탁드립니다!)
작업 시점: 2021년 5월
상황
- 프로그램 내에서 특정 작업을 위해 로딩이 다소 길게 걸리는 부분이 있었는데, 작업이 완료되면 사용자에게 알림을 주기 위해 작업표시줄의 로고를 깜빡거리게 해야 했음
구현 과정
- 작업의 완료는 렌더러 프로세스에서 이루어지고, 로고 깜빡거리는 기능은 메인 프로세스 단에서 이루어짐 -> 여기에서도 IPC 통신 필요
- 렌더러 프로세스
notifyAnalysisComplete = () => {
ipcRenderer.send('notify-analysis-complete');
};
- 분석 작업이 완료되면 메인 프로세스에게 IPC 요청 보냄
- 메인 프로세스
ipcMain.on('notify-analysis-complete', (event) => {
win.flashFrame(true);
});
- 렌더러 프로세스로부터 요청을 받아 flashFrame 실행
- flashFrame 는 일렉트론 BrowserWindow 의 인스턴스 메서드로 사용자의 주의를 끌기 위해 창 깜박임을 시작하거나 중지하는 역할
배우고 느낀 점
- 항상 관련 독스를 꼼꼼하게 읽고 숙지하자. 대부분의 답은 독스에 있을 가능성이 높다!