manipular múltiplas janelas simultaneamente

3

isso é provavelmente um tiro longo, mas eu tenho pensado nisso por um tempo.

Eu percebo que os casos de uso reais desse tipo de interação são bem escassos. Os principais usos que eu posso pensar seria

  • movendo várias janelas ao mesmo tempo
  • manipulando vários aplicativos de mídia em uma configuração de desempenho ao vivo

nenhum dos quais é exatamente universalmente benéfico; mas ainda acho que é interessante o suficiente para pensar.

pelo que entendi, uma única janela recebe foco a qualquer momento e todos os eventos de chave / mouse são passados para aquela janela. Mas também é possível criar múltiplos cursores que são independentes uns dos outros e, além disso, as entradas de tela sensível ao toque normalmente permitem até 10 pontos de contato; No entanto, esses métodos de entrada ainda parecem estar restritos a uma única janela.

Eu não acho que seja proibitivamente difícil desenvolver uma interação que permita que várias janelas sejam manipuladas ao mesmo tempo, já que um comportamento semelhante já pode ser alcançado através do encaminhamento do X11. Eu não estou familiarizado o suficiente com a pilha de gráficos / entrada para dizer exatamente o que precisaria ser mudado ou se algo pudesse ser trocado assim.

Um problema que posso prever é determinar onde direcionar eventos de entrada única, como pressionamentos de tecla e outras coisas. possíveis soluções incluem a definição de uma janela 'primária' como a primeira janela selecionada ou simplesmente desativando eventos chave quando várias janelas são selecionadas.

Outro problema seria decidir quando é apropriado alternar entre foco de janela única e de múltiplas janelas. Talvez se as janelas primárias / secundárias forem declaradas, então isso não seria um problema?

então, perguntas:

  • estou errado e já é possível manipular várias janelas simultaneamente (no X11 ou talvez no caminho ou algo que eu não sei)? se não,

  • que parte da infra-estrutura existente de entrada / janelas precisaria ser modificada para fazer isso funcionar?

  • existem maneiras mais elegantes de resolver os problemas que mencionei?

  • que outros problemas são inerentes a esse tipo de design?

por erp 07.06.2015 / 07:59

0 respostas