Electron+React 프로그램 창 최대화/포커스 기능

우디·2024년 2월 22일
0
post-thumbnail

안녕하세요:) 개발자 우디입니다! 아래 내용 관련하여 작업 중이신 분들께 도움이되길 바라며 글을 공유하니 참고 부탁드립니다😊
(이번에 벨로그로 이사오면서 예전 글을 옮겨적었습니다. 이 점 양해 부탁드립니다!)

작업 시점: 2021년 5월

상황

  • 사용자가 프로그램을 사용하는 과정에서 실수로 종료 버튼을 눌렀을 경우에, 그냥 종료되어 버리는 상황을 방지하기 위해 종료 직전 프로그램 창 최대화/포커스 기능을 추가해야 했음

구현 과정

  • 일렉트론 메서드가 있을 것 같아 독스를 꼼꼼하게 본 결과 관련 내용을 찾을 수 있었음
  • 렌더러 프로세스
    ipcRenderer.send('maximize-and-focus-before-closing');
    • 사용자가 종료 버튼을 누르는 것은 렌더러 프로세스에서 이루어지기 때문에 메인 프로세스로 IPC 요청을 보내야 함.
  • 메인 프로세스
    ipcMain.on('maximize-and-focus-before-closing', (event) => {
      if (win.isMinimized()) {
        win.maximize();
      } else if (!win.isFocused()) {
        win.focus();
      }
    });
    • 최소화 된 경우에는 최대화, 포커스 되지 않은 경우에는 포커스 되도록 구현

배우고 느낀 점

  • 역시 독스를 꼼꼼하게 잘 읽는 것은 중요하다
profile
넓고 깊은 지식을 보유한 개발자를 꿈꾸고 있습니다:) 기억 혹은 공유하고 싶은 내용들을 기록하는 공간입니다

0개의 댓글