Estou usando o firefox para executar alguns aplicativos da web como "stand alones": Eu crio um novo perfil com o firefox, específico para esse aplicativo, defino a primeira página, faço o login e personalizo a interface dependendo das necessidades específicas. / p>
Em seguida, posso iniciar rapidamente uma instância desse aplicativo da Web fazendo isso:
firefox --no-remote -P My_app_profile the_app_url
para torná-lo ainda melhor, eu criei um arquivo my_web_app.desktop
e o coloquei em ~/.local/share/application
e o tornei favorito, para que eu possa executá-lo rapidamente a partir da barra lateral do shell do gnome.
O problema é que, depois de executar o aplicativo, vejo que o firefox está em execução e não meu aplicativo. Por exemplo, eu fiz um atalho para o Trello, mas depois de lançá-lo, vejo isso:
Agora,fazsentido,porqueéofirefoxqueestásendoexecutado,masgostariadevermeuaplicativodestacadoeteroíconedofirefoxlivreparaserusadocomosenenhumaoutrainstânciaestivesseemexecução.
Euacheiqueognomepodedestacarosíconesdependendodonomedoexecutável,masumsimpleslinksymparaofirefoxnãoacionariaumamudançadenome(porexemplo,link/usr/bin/firefox/usr/bin/my_app_firefox
aindacontacomofirefox).
Vocêtemalgumaideiadecomoconsertarisso?Euestouusandooshelldognome3.18.2.
EDIT1
Aquiestáoarquivotrello.desktopcomoumexemplo.Eunãosouespecialistanasopções,entãoprovavelmenteeutenhoalgoterrivelmenteerrado...Masseeufizesse,nãopareceriaalgoquecausariaocomportamentoindesejado.
[DesktopEntry]Version=1.0Name=Trello(FF)GenericName=TrelloDashboardsComment=TrelloinFireFoxExec=firefox--no-remote-PApp_Trellohttp://trello.comIcon=trelloTerminal=falseType=ApplicationMimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;StartupNotify=trueCategories=Network;WebBrowser;Keywords=web;browser;internet;X-Desktop-File-Install-Version=0.22
EDIT2
Então,euqueriaverificaro código fonte do gnome-shell para ver como isso poderia acontecer. Descobri que no Traço cada entrada é associada a alguns shell-app , e aparentemente eu quero garantir que o ID dos meus aplicativos é único.
Usando o vidro de observação (Alt + F2 lg), pude ver que meus aplicativos em execução atuais são chamados de "firefox.desktop":
appSys = Shell.AppSystem.get_default()
ll = appSys.get_running()
ll[0].get_id() // firefox.desktop (0 is the ID of the firefox app in my case)
Se eu iniciar meu aplicativo trello.desktop, o método get_running()
retornará o mesmo número de entradas, portanto, meu aplicativo não produzirá uma nova entrada e minha hipótese de ter um ID exclusivo parece parece confirmada.
Por isso, alcanço o GAppInfo
código-fonte verificar o que é o ID, e ele me envia de volta para o especificação do menu xdg . E, de lá, eu consigo encontrar isto:
To determine the ID of a desktop file, make its full path relative to
the $XDG_DATA_DIRS component in which the desktop file is installed,
remove the "applications/" prefix, and turn '/' into '-'.
Meu arquivo .desktop estava em $HOME/.local/share/applications
, que NÃO estava no meu $XDG_DATA_DIRS
.
Mudei o arquivo trello.deskop para um diretório nesse caminho e reiniciei o shell, mas o aplicativo ainda figura como firefox.desktop
, então, aparentemente, o ID ainda é o mesmo, na verdade, o aplicativo ainda está agrupado com outro firefox janelas.
Alguma sugestão?