Project/sendbird를 활용한 웹 채팅
[Sendbird를 활용한 웹 채팅] 13. Electron window open 설정 - setWindowOpenHandler, 윈도우 포커스 맞추기
반응형
1. Electron에서 새로운 창 열릴 때 속성 설정하기
window.open
으로 새로운 탭이 실행될 때, electron
윈도우를 설정하는 핸들러가 setWindowOpenHandler
이다. 초기 윈도우인 win
의 속성을 그대로 적용하고 부모 윈도우로 설정했다.
public/electron.js
function createWindow() {
...
win.webContents.setWindowOpenHandler(() => {
return {
action: "allow",
overrideBrowserWindowOptions: {
...win.webContents.browserWindowOptions,
parent: win,
},
};
});
...
}
2. Electron에서 채팅방 포커스 맞추기
🔒 문제
열려 있는 채팅 방을 또 클릭 했을 때, 해당 채팅 방으로 포커스가 안 맞춰지는 문제가 생겼다.
🔑 해결
공식문서에 있는 event
를 하나씩 넣어보다가 성공했다.(이틀동안 별의 별 시도를 해봤는데 드디어..) 왜 이렇게 해야 되는지는 모르지만, 새로운 탭이 열릴 때 electron
에서는 ready-to-show
이벤트 안에 window.show()
를 해줘야 named window
가 reopen
될 때 focus
가 맞춰진다.
public/electron.js
function createWindow() {
...
win.webContents.on("did-create-window", (childWin, details) => {
childWin.webContents.on("ready-to-show", () => {
childWin.show();
});
});
...
}
Reference
반응형
'Project > sendbird를 활용한 웹 채팅' 카테고리의 다른 글
[Sendbird를 활용한 웹 채팅] 15. 결과물 이미지 모음 (2) | 2021.10.02 |
---|---|
[Sendbird를 활용한 웹 채팅] 14. Electron tray(트레이) (0) | 2021.09.24 |
[Sendbird를 활용한 웹 채팅] 12. 채팅 페이지 라우팅의 변천사 & 그룹 채팅 메세지 읽음 동기화(electron) (0) | 2021.09.22 |
[Sendbird를 활용한 웹 채팅] 11. CRA 프로젝트 Electron으로 패키징하기 (0) | 2021.09.21 |
[Sendbird를 활용한 웹 채팅] 10. 채팅 페이지2 - scrollToBottom, 관리자 공지, Push 알림 (0) | 2021.09.20 |