Electron app icon
TistoryEditor의 아이콘을 변경했다. 뭔가 동그라미가 너무 큰 것 같기도 하고 밋밋한 느낌이라 약간의 그림자를 주고 크기를 줄였다. 내 머리는 입체느낌도 추가하기를 원했지만 내 손과 기술이 따라주지 못했다. 그래서 이렇게 됐다.
변경하는 중간에 하나마나 같은 느낌이 들었지만 애써 무시하고 앱에 아이콘을 넣기 시작했다.
첫번째 난관
하다보니 리눅스에서는 앱 전환바에 아이콘이 표시가 안되는게 눈에 들어온다. 앱 아이콘은 잘 지정되어 있고 거길 아무리 변경해도 소용이 없었다. 여기저기 찾아보니 BrowserWindow에 icon을 지정해야한다고 한다. 내가 네이티브 앱에 대한 이해가 별로 없어서 그랬던 것 같다. 앱 아이콘과 각 윈도우는 아이콘을 별도로 사용할 수 있다. 어찌보면 당연한 것이긴 하다.
두번째 난관
분명히 개발할 때는 아이콘이 잘 나와서 기쁜 마음으로 릴리즈했는데 막상 다운로드 받아서 설치해보니 여전히 윈도우 아이콘은 나오지 않았다. 멘붕이 왔다. 분명히 개발할때는 잘 나왔는데 이상하다.
여러차례의 디버깅 끝에 문제를 알 수 있었다. electron은 코드를 app.asar로 압축한다. asar는 tar같은 건데 그게 문제였다. BrowserWindow를 만들 때는 asar 내부에 직접 접근이 안된다. 왜 그렇게 설계된 건지는 아직도 이해를 못했지만 어쨌든 BrowserWindow에 아이콘을 지정하기 위해서는 버퍼를 사용하던가 필요한 파일은 asar외부에 둬야 한다. 둘다 몹시 번거로운 방법이다.
긴 고민 끝에 Linux 패키징할 때만 asar를 사용하지 않기로 했다. ㄷㄷㄷ 빌드할 때 strongly unrecommended 라는 경고가 나온다. 아니 어차피 다 unpack가능한데 뭘 이렇게까지 경고하나 싶다. 어쨌든 이 긴긴 과정을 거쳐 앱 아이콘이 나온다. 이 과정 중에 앱 버전은 0.6.2에서 0.6.5까지 올라갔다. ;;;
뭔가 icon에 대해서 깊이 이야기를 하고 싶었는데 하다보니 겪은 일을 일기처럼 적어두기만 했다. 잠 좀 많이 자고 글을 써야겠다. ㅠ