Comportamento irritante em Geany quando você abre um arquivo com várias janelas geany abertas

0

No Gedit, se você tiver várias janelas do Gedit abertas e, em seguida, abrir um arquivo, o Gedit escolherá abri-lo na janela ativa mais recente. Eu gosto desse comportamento, acho que é intuitivo.

No Geany, que de outra forma eu prefiro o Gedit, a regra para qual instância usar parece ser "a mais antiga". O que é pior, se essa instância estiver aberta em outra área de trabalho, ela também moverá essa instância para a sua área de trabalho atual. Isso efetivamente torna impossível trabalhar com várias janelas Geany, o que é realmente irritante.

Alguém sabe de uma maneira eu posso fazer Geany abrir arquivos na instância mais recente ativa (ou seja, "olhou") de Geany? Estou usando a versão mais atualizada (0.21).

    
por Max Williams 02.04.2012 / 13:20

3 respostas

3

Usando o Geany 1.22, pode haver uma solução alternativa que seja bem parecida com o que você deseja fazer.

De acordo com o manual no link , você pode usar

--socket-file

para especificar o arquivo de soquete com o qual se comunicar com a instância Geany.

Colocando o seguinte em um script, você obterá uma instância por área de trabalho:

#!/bin/bash
geany --socket-file=/tmp/geany-sock-$(xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}') ${1+"$@"}

(Também passa os argumentos da linha de comando para geany).

    
por 07.11.2012 / 12:09
0

Infelizmente, não há como configurar esse comportamento. Vários meses atrás, eu perguntei a alguns desenvolvedores de plugins Geany sobre isso e parece que a única maneira de mudar isso é escrever o código e enviar um patch.

    
por 10.07.2012 / 13:39
0

Este talvez deveria ter sido um comentário sobre a resposta de Rikard, mas vou apresentá-lo como uma resposta alternativa. Notei que a solução dele faz com que o computador (com o Ubuntu 14.04) não responda se usá-lo quando o script original (sem a opção de soquete) já estiver em execução. Então, eu senti que seria bom fazer o script sair nesse caso. Se você nomear o script geany , coloque-o em um diretório antes de /usr/bin ou onde estiver o original no PATH.

#!/bin/bash
for pid in $(pgrep "geany")
do
 cmd=$(ps -p $pid -o cmd)
 if [[ "$cmd" = *"/usr/bin/geany"* ]] && [[ "$cmd" != *"socket"* ]] ; then
  echo original geany already running
  exit
 fi
done
/usr/bin/geany --socket-file=/tmp/geany-sock-$(xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}') ${1+"$@"}
    
por 03.10.2015 / 05:38

Tags