Closed eduardomozart closed 2 years ago
Olá, Rafael Ontem instalei o ZapZap manualmente através do Pip (#76) e hoje ao inicializar o sistema, o programa não iniciou automaticamente. Quando abro o programa manualmente através do Deepin Launcher (botão direito no ZapZap > Adicionar à inicialização), ele abre maximizado, ao invés de minimizado. Eis a entrada que o ZapZap adiciona a inicialização (arquivo
~/.config/autostart/com.rtosta.zapzap
):[Desktop Entry] Version=1.0 Name=ZapZap Comment=Whatsapp Desktop for Linux Exec=/usr/bin/flatpak run com.rtosta.zapzap --hideStart Icon=com.rtosta.zapzap Type=Application Categories=Chat;Network;InstantMessaging;Qt; Keywords=whatsapp;chat;im;messaging;messenger;sms; Terminal=false SingleMainWindow=true X-GNOME-Autostart-Delay=60 X-GNOME-UsesNotifications=true X-GNOME-SingleWindow=true
Quando eu dou botão direito no ZapZap e adiciono ele a inicialização através do Deepin Launcher, ele inicia normalmente, mas maximizado. Eis a entrada que o Deepin Launcher adiciona a inicialização (arquivo
~/.config/autostart/com.rtosta.zapzap
):[Desktop Entry] Version=1.0 Name=ZapZap Comment=Whatsapp Desktop for Linux Exec=/home/Eduardo/.local/bin/zapzap Icon=com.rtosta.zapzap Type=Application Categories=Chat;Network;InstantMessaging;Qt; Keywords=whatsapp;chat;im;messaging;messenger;sms; Terminal=false SingleMainWindow=true X-GNOME-UsesNotifications=true X-GNOME-SingleWindow=true X-Deepin-CreatedBy=com.deepin.SessionManager X-Deepin-AppID=com.rtosta.zapzap Hidden=false
Note que a entrada adicionada pelo ZapZap a inicialização refere-se ao Flatpak, mas instalei o aplicativo através do código-fonte. O programa poderia obter o caminho do próprio executável em execução e criar o arquivo
.desktop
com o caminho do executávelzapzap
em execução caso não seja um aplicativo Flatpak.Quando adiciono o ZapZap a inicialização através do Deepin Launcher, a interface do ZapZap não é atualizada para refletir que o programa foi adicionado a inicialização. Acho que o programa poderia verificar a existência do arquivo
~/.config/autostart/com.rtosta.zapzap
e, caso ele exista, exibir na GUI que o programa foi adicionado a inicialização. Mas quando adiciono o ZapZap a inicialização através do próprio ZapZap, o Deepin Launcher reflete essa alteração e mostra o programa como incializado automaticamente com o sistema.Notei também que quando clico no ícone do ZapZap na bandeja, basta eu clicar uma vez para eu abrir o programa. Estou acostumado a dar dois cliques no mundo Windows, então o programa Maximiza e Minimiza quando clico duas vezes. Não sei se foi feito dessa forma propositalmente, mas caso tenha sido, seria interessante ter uma opção na UI para abrir com duplo-clique, já que quem vem de outras distros e do mundo Windows, dois cliques é o padrão.
Esse "problema" na inicialização é porque você não está usando em flatpak, logo, como disse antes, nem tudo irá funcionar. O próprio aplicativo já gerência o arquivo de autostart e coloca as configurações necessárias. É complicado para mim adivinhar como cada DE trabalha com os apps, por isso é importante que use sempre a opção disponível no app para que funcione corretamente. Como você está executando fora do flatpak isso complica mais ainda.
Entendo perfeitamente a questão do costume, mas é muito complicado ter que manter configurações para diferentes hábitos de uso, sem falar na quantidade de ambientes gráficos disponíveis e que nem sempre seguem um padrão. Por isso, antes de definir qualquer funcionalidade pesquiso bastante para saber como os apps mais populares já fazem e assim implemento no ZapZap.
Bom dia, Rafa
Claro, eu entendo, não dá para criar um app para todos os gostos.
No caso da inicialização, mesmo adicionando a flag "--hideStart", o programa está inicializando maximizado.
Pelo que vi, a função createDesktop
(https://github.com/rafatosta/zapzap/blob/8dbfa83f8b83139b60dc8282f524202ad4932ad1/zapzap/services/portal_desktop.py#L9) cria o arquivo .desktop adicionado a inicialização e no __main__.py
o parâmetro --hideStart
é verificado e a janela é minimizada (https://github.com/rafatosta/zapzap/blob/3cc8db225d00c656b94582c428c8a347665db469/zapzap/__main__.py#L42), mas aparentemente não está minimizando aqui.
Vou ver se consigo editar o código-fonte para criar o atalho de acordo e envio um Pull Request, ao invés de criar de forma fixa o atalho para o Flatpak, já que isso pode trazer problemas para distros que futuramente desejam criar um pacote nativo para seu app ao invés de executá-lo através do Flatpak, já que em teoria é possível pegar os arquivos instalados pelo setup.py
e criar um aplicativo nativo para cada distribuição (.deb, .rpm, etc).
Na teoria sim, na prática não. Isso porque nem toda distro dar suporte ao PyQt6 com os recursos necessários. O Opensuse sim, mas o Fedora não. O Ubuntu não, pelo menos por padrão. Por isso que existe um motivo para que o suporte seja apenas em flatpak, evitar dor de cabeça com cada distro que aparecer.
O fato das dependências poderem ser instaladas através do Pip representa que não estamos limitados as versões empacotadas do PyQt6 de cada distro, ele sempre irá obter a versão mais recente do repositório do Pip. Se você empacotar as dependências baixadas pelo Pip em um único arquivo específico da distro, teoricamente seria possível criar um aplicativo ZapZap nativo para cada distro sem tanta dor de cabeça, e disponibiliza-lo através dos repositórios oficiais (ou até mesmo pelo Ubuntu Launchpad). Claro, sei que essa não é a sua intenção, mas fica a ideia. =)
Cara, os pacotes via pip está incompleto para o QtWebEngine. Assim, não funciona o corretor ortográfico. Pelo flatpak funciona para qualquer idioma. Enfim, se alguém quiser pegar para suportar em outra plataforma é bom saber que há uma limitação e por isso que já não o fiz. (Por isso que é dor de cabeça, pq não vai funcionar corretamente que nem o flatpak)
Fechado por não está rodando via flatpak.
Olá, Rafael Ontem instalei o ZapZap manualmente através do Pip (#76) e hoje ao inicializar o sistema, o programa não iniciou automaticamente. Quando abro o programa manualmente através do Deepin Launcher (botão direito no ZapZap > Adicionar à inicialização), ele abre maximizado, ao invés de minimizado. Eis a entrada que o ZapZap adiciona a inicialização (arquivo
~/.config/autostart/com.rtosta.zapzap
):Quando eu dou botão direito no ZapZap e adiciono ele a inicialização através do Deepin Launcher, ele inicia normalmente, mas maximizado, mesmo eu editando a entrada e adicionando a flag "--hideStart". Se eu alterar "Hidden=false" para "Hidden=true", a interface do programa não é exibida nem nos programas em execução nem na bandeja. Eis a entrada que o Deepin Launcher adiciona a inicialização (arquivo
~/.config/autostart/com.rtosta.zapzap
):Note que a entrada adicionada pelo ZapZap a inicialização refere-se ao Flatpak, mas instalei o aplicativo através do código-fonte. O programa poderia obter o caminho do próprio executável em execução e criar o arquivo
.desktop
com o caminho do executávelzapzap
em execução caso não seja um aplicativo Flatpak.Quando adiciono o ZapZap a inicialização através do Deepin Launcher, a interface do ZapZap não é atualizada para refletir que o programa foi adicionado a inicialização. Acho que o programa poderia verificar a existência do arquivo
~/.config/autostart/com.rtosta.zapzap
e, caso ele exista, exibir na GUI que o programa foi adicionado a inicialização. Mas quando adiciono o ZapZap a inicialização através do próprio ZapZap, o Deepin Launcher reflete essa alteração e mostra o programa como incializado automaticamente com o sistema.Notei também que quando clico no ícone do ZapZap na bandeja, basta eu clicar uma vez para eu abrir o programa. Estou acostumado a dar dois cliques no mundo Windows, então o programa Maximiza e Minimiza quando clico duas vezes. Não sei se foi feito dessa forma propositalmente, mas caso tenha sido, seria interessante ter uma opção na UI para abrir com duplo-clique, já que quem vem de outras distros e do mundo Windows, dois cliques é o padrão.