Uma coisa que você pode fazer no Mac é colocar um postinstallscript no seu projeto que copie o arquivo .icns no local em node_modules / automaticamente.
theram
Respostas:
164
A configuração da iconpropriedade ao criar o BrowserWindowúnico afeta o Windows e o Linux.
Para definir o ícone no OS X, você pode usar o empacotador de elétrons e definir o ícone usando o --iconcomutador.
Ele precisará estar no formato .icns do OS X. Existe um conversor de ícones on - line que pode criar esse arquivo a partir do seu .png.
Definir o ícone na Janela do Navegador como um arquivo .PNG será exibido na barra de tarefas no Windows. Um exemplo disso pode ser encontrado no meu blog aqui: mylifeforthecode.com/… Pode ser que o caminho precise ser absoluto para funcionar como eu o defini como __dirname + 'path / to / icon.png'. No entanto, para definir o ícone do .exe, você precisará usar o hacker de recursos OR do empacotador de elétrons.
Shawn Rakowski
Você pode corrigir esta resposta para ser preciso no Windows wrt, por favor?
Ana Betts
Obrigado @ShawnRakowski, você está certo - acabei de testar isso e a propriedade icon também funciona no Windows. Atualizei minha resposta para refletir isso.
Alex Warren
1
Isso funcionou no começo, mas depois enviei o aplicativo distribuível para o meu amigo e não funcionou! Alguma ideia?
Chet
10
@ Nick, você precisará fazer algo parecido com o seguinte #electron-packager . YourApplicationName --all --icon "path/to/my/icon.ico"
Mateo
47
Abaixo está a solução que eu tenho:
mainWindow = new BrowserWindow({width: 800, height: 600,icon: __dirname + '/Bluetooth.ico'});
Isso parece funcionar apenas para o desenvolvimento. Quando executo 'yarn dist', o arquivo icns é substituído pelo elétron padrão.
Dave
2
@Dave Na verdade, ele disse6. Enjoy your icon during *development* :-)
Mia
Bom galera ... eu sei ... Mas essa correção tem mais de 2 anos ... ;-) E aliás. você deve poder usar esse "hack" também em uma versão final, já que simplesmente o altera no aplicativo dist ... Não tente por um tempo .. E quem sabe talvez exista uma maneira oficial agora ... ;-)
Após a criação do aplicativo, você pode ver os ícones. Esta solução não mostra ícones no modo de desenvolvedor. Não configuro ícones no new BrowserWindow().
Se você deseja atualizar o ícone do aplicativo na barra de tarefas, atualize a seguir em main.js. (se estiver usando texto datilografado, então main.ts)
Esteja ciente de que os exemplos para o caminho do arquivo de ícone tendem a assumir que o main.js está no diretório base. Se o arquivo não estiver no diretório base do aplicativo, a especificação do caminho deve levar em conta esse fato.
Por exemplo, se o main.js estiver no subdiretório src / e o ícone estiver em assets / icons /, essa especificação de caminho do ícone funcionará:
A configuração da propriedade icon ao criar o BrowserWindowúnico afeta as plataformas Windows e Linux. você precisa empacotar o .icns para max
Para definir o ícone no OS X usando electron-packager, defina o ícone usando a opção --icon.
Ele precisará estar no formato .icns do OS X. Existe um conversor de ícones online que pode criar esse arquivo a partir do seu .png.
construtor de elétrons
Como uma solução mais recente, encontrei uma alternativa de usar o --iconswitch. Aqui está o que você pode fazer.
Crie um diretório nomeado buildno diretório do projeto e coloque .icnso ícone no diretório como nomeado icon.icns.
executar construtor por comando de execução electron-builder --dir.
Você descobrirá que o ícone do seu aplicativo será automaticamente selecionado nesse local do diretório e usado para um aplicativo durante a embalagem.
Nota : A resposta fornecida é para uma versão recente electron-buildere testada com o electron-builder v21.2.0
postinstall
script no seu projeto que copie o arquivo .icns no local em node_modules / automaticamente.Respostas:
A configuração da
icon
propriedade ao criar oBrowserWindow
único afeta o Windows e o Linux.Para definir o ícone no OS X, você pode usar o empacotador de elétrons e definir o ícone usando o
--icon
comutador.Ele precisará estar no formato .icns do OS X. Existe um conversor de ícones on - line que pode criar esse arquivo a partir do seu .png.
fonte
electron-packager . YourApplicationName --all --icon "path/to/my/icon.ico"
Abaixo está a solução que eu tenho:
fonte
.icns
não é necessário ?Você também pode fazer isso no macOS. Ok, não através do código, mas com algumas etapas simples:
Na verdade, é uma coisa geral não específica para o elétron. Você pode alterar o ícone de muitos aplicativos macOS como este.
fonte
6. Enjoy your icon during *development* :-)
Package.json atualizado :
Após a criação do aplicativo, você pode ver os ícones. Esta solução não mostra ícones no modo de desenvolvedor. Não configuro ícones no
new BrowserWindow()
.fonte
Construtor de elétrons suporta ícones
fonte
Se você deseja atualizar o ícone do aplicativo na barra de tarefas, atualize a seguir em main.js. (se estiver usando texto datilografado, então main.ts)
__dirname
aponta para o diretório raiz (o mesmo diretóriopackage.json
) do seu aplicativo.fonte
Esteja ciente de que os exemplos para o caminho do arquivo de ícone tendem a assumir que o main.js está no diretório base. Se o arquivo não estiver no diretório base do aplicativo, a especificação do caminho deve levar em conta esse fato.
Por exemplo, se o main.js estiver no subdiretório src / e o ícone estiver em assets / icons /, essa especificação de caminho do ícone funcionará:
fonte
empacotador de elétrons
A configuração da propriedade icon ao criar o
BrowserWindow
único afeta as plataformas Windows e Linux. você precisa empacotar o .icns para maxPara definir o ícone no OS X usando
electron-packager
, defina o ícone usando a opção --icon.Ele precisará estar no formato .icns do OS X. Existe um conversor de ícones online que pode criar esse arquivo a partir do seu .png.
construtor de elétrons
Como uma solução mais recente, encontrei uma alternativa de usar o
--icon
switch. Aqui está o que você pode fazer.build
no diretório do projeto e coloque.icns
o ícone no diretório como nomeadoicon.icns
.electron-builder --dir
.Você descobrirá que o ícone do seu aplicativo será automaticamente selecionado nesse local do diretório e usado para um aplicativo durante a embalagem.
fonte