Confira !!
Mesclado ao compositor GNOME Mutter, há uma API para o Wayland para permitir o lançamento de clientes confiáveis.
Esse suporte a "clientes confiáveis" é sobre permitir que janelas filho sejam significadas como sendo de uma janela / processo pai. Isso também pode permitir alguns casos de uso bacanas para o GNOME no Wayland. O patch explica:
Infelizmente, embora o processo filho possa ser um programa gráfico, atualmente não é possível para o código interno identificar as janelas criadas pela criança de maneira segura (isto é: ser capaz de garantir que um programa malicioso não possa induzir o código interno a pensar que é um processo filho iniciado por ele).
No X11, isso não é um problema, porque qualquer programa tem controle total sobre suas janelas, mas no Wayland é uma história diferente: um programa não pode forçar sua janela a ser mantida no topo (como faz um programa docker) ou em na parte inferior (como faz um programa para ícones da área de trabalho), nem o oculte da lista de janelas. Isso significa que não é possível para um programa "clássico", não privilegiado, executar essas tarefas, e isso pode ser feito apenas a partir do código dentro do mutter (como um
extensão gnome-shell).
Essa é uma situação não desejável, porque uma extensão é executada no mesmo loop principal que toda a área de trabalho em si, o que significa que uma extensão complexa pode precisar fazer muito trabalho dentro do loop principal e congelar toda a área de trabalho por muito tempo. Além disso, é importante observar que o javascript não tem acesso a fork () ou threads, o que significa que, no máximo, toda a computação paralela que é possível fazer é a disponível nas chamadas _async no GLib / GObject.
Além disso, ter que criar uma extensão para qualquer elemento gráfico privilegiado é uma parada para muitos programadores que já conhecem o GTK +, mas não conhecem o Clutter.
Esse patch deseja oferecer uma solução para esse problema, oferecendo uma nova classe que permita iniciar um processo filho confiável a partir do mutter interno e use um soquete UNIX específico para se comunicar com o compositor. Também permite verificar se um MetaWindow específico foi criado por um desses processos filho confiáveis ou não.
Isso permite criar extensões que iniciam um processo filho e, quando esse processo cria uma janela, a extensão pode confirmar de forma segura que a janela realmente pertence ao processo iniciado por ela, para que possa dar a essa janela "superpotências" como sendo mantido na parte inferior da área de trabalho, não sendo listado na lista de janelas ou mostrado no painel Atividades ... Além disso, em versões futuras, ele poderia facilmente implementar extensões de protocolo que só poderiam ser usadas por esses processos filho confiáveis.
Essa API de cliente confiável também pode ser usada para lidar com ícones da área de trabalho, uma estação de trabalho ou barras superior / inferior na área de trabalho de maneira segura no Wayland. Mais detalhes através deste envio .
Até a próxima !
Nenhum comentário:
Postar um comentário