autostart application in new workspace no gnome-shell

1

Gostaria de iniciar automaticamente o Firefox e o Thunderbird em, por exemplo. 2 e 3 espaços de trabalho quando o login. Se eu adicioná-los para iniciar automaticamente no gnome-shell, eles serão abertos no primeiro espaço de trabalho. Existe uma maneira de iniciar automaticamente o aplicativo no espaço de trabalho específico ou, pelo menos, no espaço de trabalho "próximo" (semelhante ao clique do meio do painel). Eu gostaria de evitar o uso da extensão auto-move-windows.

    
por on110 07.08.2012 / 07:22

1 resposta

1

O seguinte é um programa que iniciará outro aplicativo e o moverá para um espaço de trabalho especificado.

Você deve copiar isso em um arquivo chamado move-at-start.sh, marcá-lo como executável e colocá-lo em algum lugar em seu diretório inicial (eu sugiro colocá-lo na pasta ~/.local , mas você pode colocá-lo em seu ~/bin ou algum outro lugar, se preferir, lembre-se de onde você o colocou e o nome que você deu. ( link pastebin )

#!/bin/bash

# invocation 
# move-at-start.sh <desktop> <prog> <prog args>

if [ $# -lt 2 ]; then
    echo "invocation: move-at-start.sh <desktop> <prog> <prog args>"
    exit 1
fi

desk=
prog=
args=""
shift
shift

while (( "$#" )); do
    args="$args """
    shift
done

$prog $args

windows=$(wmctrl -lp | grep -E "($(echo $(ps -C "$prog" -o pid,user | grep "'whoami'" | sed -E "s/^\ *//" | cut -d\  -f 1) | sed "s/\ /|/g"))" | cut -d\  -f 1)

for w in $windows; do
    wmctrl -i -r $w -t $desk
done

exit 0

Depois de ter feito isso, vá para ~/.config/autostart em seu shell ou Nautilus.

Nesta pasta, você encontrará alguns arquivos com nomes como app-name.desktop , os quais correspondem aos aplicativos que você deseja iniciar (provavelmente <name>.desktop ) e os abre no seu editor de texto favorito.

Para cada arquivo, localize a linha que inicia exec=<some command and args> e altere para exec=</path/to/above/script>/move-at-start.sh <desktop number> <some command and args> .

A próxima vez que você fizer login, o aplicativo deverá ser iniciado e movido para a área de trabalho especificada.

Notas: Os desktops são numerados a partir de 0, de modo que a primeira área de trabalho é 0, a terceira é 2, etc.

Notas: Se a área de trabalho especificada não existir, a janela permanecerá na área de trabalho original.

    
por Alex L. 07.08.2012 / 18:54