Geany - Abrindo várias instâncias em diferentes ambientes de trabalho

Publicado por Ricardo Rodrigues em 15/07/2019

[ Hits: 2.151 ]

 


Geany - Abrindo várias instâncias em diferentes ambientes de trabalho



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:

#!/bin/sh

socket=`xprop -root _NET_CURRENT_DESKTOP`
socket=${socket##* }

if [ "$socket" ]
then
    if [ "$DISPLAY" ]
    then
        socket="${DISPLAY%.*}-$socket"
        socket=${socket#*:}
    else
        socket="NODISPLAY-$socket"
    fi
    exec geany --socket-file "/tmp/geany_socket_$socket" "$@"
else
    exec geany "$@"
fi

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

E altere para:

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!

Observações

Esta dica foi baseada em uma questão do fórum "Unix & Stack Exchange", com o script de Olivier Delrieu:
Até,
Ricardo.

Outras dicas deste autor

Retomando o controle da rede ethernet no Ubuntu 18.04 LTS

Compilando e instalando a última versão do navegador Midori - 0.2.6 no (X)Ubuntu 10.04 LTS

Leitura recomendada

Fazer Banco do Brasil/Caixa funcionar no Ubuntu 17.10/18.04

Debian 7 amd64 com o KDE - Primeiros passos pós-instalação

Mudando gerenciador gráfico padrão no Conectiva e/ou Slackware

Compilação e instalação de mod_perl

Instalar um segunda placa de rede no Conectiva 10

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts