Como pode gedit
ser forçado a abrir uma nova janela independentemente das janelas gedit existentes sempre que um arquivo de texto (.txt) é clicado duas vezes em uma área de trabalho Gnome do Debian 8, Jessie?
Suponha que a.txt já esteja aberto em uma janela do gedit, e que b.txt seja clicado duas vezes na área de trabalho Gnome do Debian 8 Jessie. Infelizmente, por padrão de fábrica, b.txt será aberto em uma guia na mesma janela que a.txt.
No entanto, quero b.txt
ser aberto em uma nova janela do gedit para que existam duas janelas - a janela existente para a.txt e uma nova janela para b.txt.
Se o Gnome invocou o gedit com a opção "-s" como em
gedit -s b.txt
então b.txt
seria aberto em uma nova janela, enquanto a.txt permanece em sua janela existente.
No entanto, por padrão, o Gnome parece invocar o gedit sem a opção "-s".
O arquivo de configuração
/usr/share/applications/org.gnome.gedit.desktop
contém a diretiva de execução
Exec=gedit %U
Então, eu mudei para
Exec=gedit -s %U
pelos seguintes comandos e reiniciou o computador.
cd /usr/share/applications
su # similar to sudo
mv org.gnome.gedit.desktop org.gnome.gedit.desktop.bak
perl -pe 's/Exec=gedit %U/Exec=gedit -s %U/' org.gnome.gedit.desktop.bak > org.gnome.gedit.desktop
diff org.gnome.gedit.desktop org.gnome.gedit.desktop.bak
No entanto, este método falhou. O b.txt ainda abre em uma guia na mesma janela que a.txt. Estou preso. Preciso da tua ajuda.
O modo padrão do gedit é "janela única, várias guias". Eu quero o modo "várias janelas".
A propósito, o seguinte método inútil transforma o gedit no modo "janela única, sem guia", que não é o que eu quero.
gsettings set org.gnome.gedit.preferences.ui show-tabs-mode 'never'
Com esse método "gsettings", o gedit fecha automaticamente o a.txt e reutiliza a janela existente do a.txt para abrir o b.txt sempre que b.txt é clicado duas vezes na área de trabalho. Portanto, é o modo "janela única, sem guia" (ao contrário de "várias janelas").
(A propósito, o valor padrão para "show-tabs-mode" é 'auto'.)
Respostas:
A razão pela qual sua modificação da
Exec
chave no arquivo .desktop não funcionou é que o gedit está ativado pelo DBus. Isso significa que ele é iniciado por meio do daemon DBus da sua sessão e, em seguida, fornece uma interface DBus comum para esses programas ativáveis especificarem os arquivos a serem abertos. Você pode evitar isso alterando aDBusActivatable
chave parafalse
.Além disso, é muito melhor criar uma cópia do arquivo .desktop que você deseja modificar no diretório inicial e usá-lo para substituir o arquivo em todo o sistema do que modificá-lo diretamente. Dessa forma, o sistema não será sobrescrito nas atualizações de pacotes de distribuição. Para fazer isso basta copiar
/usr/share/applications/org.gnome.gedit.desktop
para~/.local/share/applications/org.gnome.gedit.desktop
. Os arquivos nesse caminho substituirão os arquivos com o mesmo nome no diretório do sistema.Depois, há também uma diferença importante entre os dois possíveis sinalizadores usados para abrir uma nova janela:
--new-window
ou-s
. Ambos resultarão na abertura dos arquivos em uma nova janela, mas a-s
cada janela também pertencerá ao seu próprio processo. Ao usar--new-window
todas as janelas, compartilhe o mesmo processo gedit.E, finalmente, para garantir que isso também funcione, se você selecionar vários arquivos no seu gerenciador de arquivos e abri-los, precisará de outra modificação da
Exec
chave. Os%U
meios que várias URLs são permitidos como argumentos para esse comando, o que significa que o gerenciador de arquivos começaria assim:gedit --new-window file1.txt file2.txt
. Isso resulta em uma única nova janela com duas guias. Se você mudar para%u
agora, isso informa ao gerenciador de arquivos que o aplicativo aceita apenas uma única URL como argumento e, portanto, faz com que ele execute o comando várias vezes, sempre com um arquivo diferente como argumento. Para obter mais detalhes, consulte a especificação de entrada da área de trabalho do freedesktop .fonte
Com base na resposta de Sebastians , faça o seguinte:
Faça uma cópia local das configurações do gedit. As alterações que você fizer aplicam-se apenas ao usuário atual.
cp /usr/share/applications/org.gnome.gedit.desktop ~ / .local / share / applications / geditNewWin.desktop
No arquivo ~ / .local / share / applications / geditNewWin.desktop: Vá para todas as
EXEC=
linhas (existem algumas) e defina-as comoExec=gedit -s %U
. Mudança adicionalName=Text Editor
paraName=Text Editor (new window)
.No Nautilus File Manager (gerenciador de arquivos padrão no Gnome, geralmente chamado de 'Arquivos' ou Gnome Files ), associe os tipos de arquivos (.txt, .csv, ...) ao seu aplicativo recém-criado:
fonte