Como iniciar um novo aplicativo em um novo espaço de trabalho no Xubuntu 16.04

2

Existe alguma maneira de abrir um novo espaço de trabalho sempre que eu abro um novo aplicativo?

Por exemplo, eu tenho um terminal no espaço de trabalho 1 e quero abrir o spotify, mas no espaço de trabalho 2, e também quando abro o Spotify, quero mover automaticamente para o espaço de trabalho 2.

Isso é possível?

    
por Mihai Temian 14.03.2018 / 20:47

1 resposta

0

Eu não implementei este aplicativo específico, mas parece que xdotool fará o que você deseja.

Tente iniciar seu aplicativo com um script de wrapper como:

desktops=$(xdotool get_num_desktops)
desktops="$desktops"+1
xdotool set_num_desktops "$desktops"
xdotool set_desktop "$desktops"
run-my-application

Deixei de fora alguns detalhes que são necessários para tornar isso mais robusto, pois eles variam um pouco dependendo do que você está fazendo e podem obscurecer a idéia principal:

Cada comando xdotool retorna um status que você deve verificar. Se um passo falhar, você não quer continuar cegamente.

Você pode definir um número máximo de desktops que seu script pode criar.

xdotool pode ver se já existe uma janela e em qual área de trabalho ela está. Também pode mover uma janela para outra área de trabalho. Também pode ativar uma janela, trazendo-a para o primeiro plano e para o foco.

Pode ser necessário adicionar comandos sleep após certas operações para dar à área de trabalho e, especialmente, aos aplicativos tempo para fazer suas tarefas antes de executar a próxima etapa.

Como o seu script pode ser executado a partir da área de trabalho (e não apenas de um terminal), você também pode querer registrar algumas mensagens em um arquivo informando o que o script fez para facilitar a depuração.

A parte em que fica um pouco complicado é quando um aplicativo tem mais de uma janela aberta. Então, você tem que lidar com uma pilha de instâncias e de alguma forma encontrar o caminho certo ou trabalhar em todas elas. Por exemplo, minha Thunderbird pede uma senha mestra quando é iniciada, então ela tem duas janelas abertas.

xdotool também oferece o encadeamento de comandos, no qual você pode executar várias ações a partir de um comando xdotool . Os resultados da ação atual são colocados em uma pilha, lidos pela próxima ação no comando. Eu achei isso difícil de visualizar e depurar, mas é muito poderoso se você conseguir que ele funcione.

Embora xdotool seja o melhor ajuste para esse problema específico, convém dar uma olhada em AutoKey , que pode Ajudá-lo a automatizar todos os tipos de ações de desktop / GUI, emitindo keypresses e eventos de mouse que se parecem com os que você fez manualmente, para que eles funcionem na maioria dos aplicativos e recursos de desktop.

    
por Joe 22.03.2018 / 08:13