Come forzare gedit ad aprire una nuova finestra indipendentemente dalle finestre esistenti di Gedit ogni volta che si fa doppio clic su un file di testo su un desktop Gnome di Debian 8?


9

Come si può geditforzare ad aprire una nuova finestra indipendentemente dalle finestre di gedit esistenti ogni volta che si fa doppio clic su un file di testo (.txt) su un desktop Gnome di Debian 8, Jessie?

Supponiamo che a.txt sia già aperto in una finestra di gedit e che b.txt sia doppio clic su un desktop Gnome di Debian 8 Jessie. Quindi, sfortunatamente, per impostazione predefinita di fabbrica, b.txt verrà aperto in una scheda nella stessa finestra di a.txt.

Tuttavia, voglio b.txtessere aperto in una nuova finestra di gedit in modo che ci siano due finestre: la finestra esistente per a.txt e una nuova finestra per b.txt.

Se Gnome ha invocato gedit con l'opzione "-s" come in

gedit -s b.txt

quindi b.txtverrebbe aperto in una nuova finestra, mentre a.txt rimane nella finestra esistente.

Tuttavia, per impostazione predefinita, Gnome sembra invocare gedit senza l'opzione "-s".

Il file di configurazione

/usr/share/applications/org.gnome.gedit.desktop

contiene la direttiva di esecuzione

Exec=gedit %U

Quindi l'ho cambiato in

Exec=gedit -s %U

dai seguenti comandi e riavviato il computer.

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

Tuttavia, questo metodo non è riuscito. B.txt si apre ancora in una scheda nella stessa finestra di a.txt. Sono bloccato. Ho bisogno del tuo aiuto.

La modalità predefinita di gedit è "finestra singola, più schede". Voglio la modalità "finestre multiple".

A proposito, il seguente metodo inutile trasforma gedit nella modalità "finestra singola, nessuna scheda", che non è quello che voglio.

gsettings set org.gnome.gedit.preferences.ui show-tabs-mode 'never'

Con questo metodo "gsettings", gedit chiude automaticamente a.txt e riutilizza la finestra esistente di a.txt per aprire b.txt ogni volta che b.txt fa doppio clic su un desktop. Quindi, è la modalità "finestra singola, nessuna scheda" (al contrario di "finestre multiple").

(A proposito, il valore predefinito per "show-tabs-mode" è 'auto'.)


@don non ho molta familiarità con il launcher. Quali sono i comandi per invocare il programma di avvio separato?
i7pj3qnuz,

Risposte:


5

Il motivo per cui la modifica della Execchiave nel file .desktop non ha funzionato è che gedit è DBus attivato. Ciò significa che viene avviato tramite il demone DBus della sessione e quindi fornisce un'interfaccia DBus comune per tali programmi attivabili per specificare i file da aprire. Puoi evitarlo modificando la DBusActivatablechiave in false.

Inoltre, è molto meglio creare una copia del file .desktop che si desidera modificare nella directory home e utilizzarla per sovrascrivere quella a livello di sistema piuttosto che modificare direttamente quella a livello di sistema. In questo modo il sistema non verrà sovrascritto sugli aggiornamenti dei pacchetti di distribuzione. Per fare questo basta copiare /usr/share/applications/org.gnome.gedit.desktopa ~/.local/share/applications/org.gnome.gedit.desktop. I file in questo percorso sostituiranno i file con lo stesso nome dalla directory di sistema.

Quindi c'è anche un'importante differenza tra i due possibili flag usati per aprire una nuova finestra: --new-windowo -s. Entrambi comporteranno l'apertura dei file in una nuova finestra, ma -sogni finestra apparterrà anche al proprio processo. Quando si utilizzano --new-windowtutte le finestre, condividere lo stesso processo gedit.

E infine per assicurarsi che funzioni anche se selezioni più file nel tuo file manager e li apri, hai bisogno di un'altra modifica della Execchiave. I %Umezzi che più URL sono consentiti come argomenti per questo comando, il che significa che il file manager sarebbe iniziare in questo modo: gedit --new-window file1.txt file2.txt. Ciò si traduce in un'unica nuova finestra con due schede. Se lo cambi %uora, ciò indica al file manager che l'applicazione accetta un singolo URL come argomento e quindi fa sì che esegua il comando più volte, ogni volta con un file diverso come argomento. Per ulteriori dettagli, consultare le specifiche della voce desktop freedesktop .


0

Sulla base della risposta di Sebastiani , attenere alla seguente procedura:

  1. Crea una copia locale delle configurazioni di gedit. Le modifiche apportate si applicano solo all'utente corrente.

    cp /usr/share/applications/org.gnome.gedit.desktop ~ / .local / share / application / geditNewWin.desktop

  2. Nel file ~ / .local / share / application / geditNewWin.desktop: vai su tutte le EXEC=linee (ce ne sono alcune) e impostale su Exec=gedit -s %U. Ulteriore modifica Name=Text Editora Name=Text Editor (new window).

  3. Nel tuo File Manager Nautilus (file manager standard in Gnome, spesso chiamato solo 'Files' o Gnome Files ) associa i tipi di file (.txt, .csv, ...) alla tua nuova applicazione creata:

    • fare clic con il tasto destro su un file .txt (o qualunque tipo di file desiderato)
    • fai clic su "Proprietà"
    • seleziona la scheda "Apri con"
    • seleziona "Editor di testo (nuova finestra)" dall'elenco
    • fai clic su "Imposta come predefinito"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.