Geany - Abrindo várias instâncias em diferentes ambientes de trabalho [Dica]
Publicado por Ricardo P. Rodrigues em 15/07/2019
[ Hits: 990 ]
O Geany é um editor de texto poderoso, estável e leve, que fornece muitos recursos úteis, sem comprometer seu fluxo de trabalho. Ele é executado no Windows, MacOS e Linux, é traduzido em mais de 40 idiomas e possui suporte integrado para mais de 50 linguagens de programação.
Apesar de ser um excelente editor, centraliza todos os arquivos em apenas uma única janela. Entretanto, este tipo de configuração é desejável em ambientes com apenas uma única área de trabalho virtual.
No Linux, por exemplo, onde usa-se geralmente mais de uma área de trabalho, este comportamento pode ser indesejado. Se você abrir o Geany na área de trabalho 1 e deixá-lo aberto lá, ao abrir um arquivo de texto que está em outra área de trabalho, ele irá abri-lo diretamente na área de trabalho 1, fazendo com que você tenha que voltar manualmente à sua área de trabalho anterior, ou então, que você tenha que levar manualmente o Geany até a área de trabalho atual.
Em todos os casos, além de trabalhoso, acaba quebrando o fluxo de trabalho. Você também pode abrir uma nova instância do Geany pelo terminal, digitando:
geany --new-instance
Porém, o resultado prático deste comando é abrir outra janela do Geany, mas novamente, ao abrir um arquivo de textos pelo Geany ele irá abrir o arquivo na primeira janela do Geany que fora aberta. Se você estiver na área de trabalho 5, e a primeira janela do Geany estiver na área de trabalho 2, ele irá abrir o arquivo na área de trabalho 2, mesmo que você já tenha aberto uma nova instância dele na área de trabalho 5.
Para contornar este problema, abra seu editor de textos preferido e cole o conteúdo abaixo:
socket=`xprop -root _NET_CURRENT_DESKTOP`
socket=${socket##* }
if [ "$socket" ]
socket="${DISPLAY%.*}-$socket"
socket=${socket#*:}
socket="NODISPLAY-$socket"
exec geany --socket-file "/tmp/geany_socket_$socket" "[email protected]"
exec geany "[email protected]"
Salve-o e torne-o executável:
chmod +x geany.sh
Dica da Dica: se você não possuir o ~/bin adicionado ao PATH, salve o "geany.sh" em /usr/bin/.
Para executá-lo, vamos criar uma entrada em /usr/share/applications/ pois aí você terá o programa em qualquer ambiente de trabalho e não irá danificar a sua entrada original do Geany.
Para isso, vamos fazer uma cópia do arquivo relacionado. Como root, rode:
# cp geany.desktop geany-workspaces.desktop
# geany /usr/share/applications/geany-workspaces.desktop
Procure a linha: Exec=geany %F
Exec=/usr/bin/geany %F
Feito isso, mude o nome, de Geany para Geany Workspaces, por exemplo.
Use o Ctrl+h do Geany. Mas tome cuidado para não alterar o conteúdo da linha "Exec". Para isso, marque a opção "diferenciar maiúsculas de minúsculas" na hora da substituição.
Aproveite para desmarcar a opção de abrir os textos anteriores: Editar > Preferências > Início
Desmarque a opção: "Abrir arquivos da última sessão" (ou frase equivalente).
Pronto! Agora você poderá abrir várias instâncias do Geany em Qualquer desktop!
Esta dica foi baseada em uma questão do fórum "Unix & Stack Exchange", com o script de Olivier Delrieu:
linux mint - Geany: Open a new instance per workspace when opening a file in that workspace - Unix & Linux Stack Exchange