Comment gedit
forcer l'ouverture d'une nouvelle fenêtre indépendamment des fenêtres gedit existantes lorsqu'un fichier texte (.txt) est double-cliqué sur un bureau Gnome de Debian 8, Jessie?
Supposons que a.txt soit déjà ouvert dans une fenêtre gedit et que b.txt soit double-cliqué sur un bureau Gnome de Debian 8 Jessie. Malheureusement, par défaut, b.txt sera ouvert dans un onglet dans la même fenêtre que a.txt.
Cependant, je veux b.txt
être ouvert dans une nouvelle fenêtre de gedit afin qu'il y ait deux fenêtres - la fenêtre existante pour a.txt et une nouvelle fenêtre pour b.txt.
Si Gnome a invoqué gedit avec l'option "-s" comme dans
gedit -s b.txt
puis b.txt
serait ouvert dans une nouvelle fenêtre, tandis que les séjours de A.txt dans sa fenêtre existante.
Cependant, par défaut, Gnome semble invoquer gedit sans l'option "-s".
Le fichier de configuration
/usr/share/applications/org.gnome.gedit.desktop
contient la directive d'exécution
Exec=gedit %U
Donc, je l'ai changé en
Exec=gedit -s %U
par les commandes suivantes et redémarré l'ordinateur.
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
Cependant, cette méthode a échoué. Le b.txt s'ouvre toujours dans un onglet dans la même fenêtre que le a.txt. Je suis coincé. J'ai besoin de ton aide.
Le mode par défaut de gedit est "fenêtre unique, onglets multiples". Je veux le mode "fenêtres multiples".
Soit dit en passant, la méthode inutile suivante transforme gedit en mode "fenêtre unique, sans onglet", ce qui n'est pas ce que je veux.
gsettings set org.gnome.gedit.preferences.ui show-tabs-mode 'never'
Avec cette méthode "gsettings", gedit ferme automatiquement a.txt et réutilise la fenêtre existante de a.txt pour y ouvrir b.txt chaque fois que b.txt est double-cliqué sur un bureau. Il s'agit donc du mode "fenêtre unique, sans onglet" (par opposition à "fenêtres multiples").
(Soit dit en passant, la valeur par défaut pour "show-tabs-mode" est 'auto'.)
Réponses:
La raison pour laquelle votre modification de la
Exec
clé dans le fichier .desktop n'a pas fonctionné est que gedit est activé par DBus. Cela signifie qu'il est lancé via le démon DBus de votre session, puis fournit une interface DBus commune pour ces programmes activables afin de spécifier les fichiers à ouvrir. Vous pouvez empêcher cela en changeant laDBusActivatable
clé enfalse
.En outre, il est préférable de créer une copie du fichier .desktop que vous souhaitez modifier dans votre répertoire personnel et de l'utiliser pour remplacer le fichier à l'échelle du système plutôt que pour modifier le fichier à l'échelle du système directement. De cette façon, le système ne sera pas écrasé lors des mises à jour du package de distribution. Pour ce faire, copiez simplement
/usr/share/applications/org.gnome.gedit.desktop
sur~/.local/share/applications/org.gnome.gedit.desktop
. Les fichiers de ce chemin remplaceront les fichiers du même nom du répertoire à l'échelle du système.Ensuite, il existe également une différence importante entre les deux indicateurs possibles utilisés pour ouvrir une nouvelle fenêtre:
--new-window
ou-s
. Les deux entraîneront l'ouverture des fichiers dans une nouvelle fenêtre, mais avec-s
chaque fenêtre appartiendra également à son propre processus. Lorsque vous utilisez--new-window
toutes les fenêtres, partagez le même processus gedit.Et enfin pour vous assurer que cela fonctionne également si vous sélectionnez plusieurs fichiers dans votre gestionnaire de fichiers et les ouvrez, vous avez besoin d'une autre modification de la
Exec
clé. Les%U
moyens que plusieurs URL sont autorisés comme arguments pour cette commande, ce qui signifie que le gestionnaire de fichiers commencerait comme ceci:gedit --new-window file1.txt file2.txt
. Il en résulte une seule nouvelle fenêtre avec deux onglets. Si vous changez ceci en%u
maintenant, cela indique au gestionnaire de fichiers, que l'application n'accepte qu'une seule URL comme argument et la fait donc exécuter la commande plusieurs fois, chaque fois avec un fichier différent comme argument. Pour plus de détails à ce sujet, voir la spécification d'entrée de bureau freedesktop .la source
D'après la réponse de Sébastien , procédez comme suit:
Faites une copie locale des configurations gedit. Les modifications que vous apportez s'appliquent alors uniquement à l'utilisateur actuel.
cp /usr/share/applications/org.gnome.gedit.desktop ~ / .local / share / applications / geditNewWin.desktop
Dans le fichier ~ / .local / share / applications / geditNewWin.desktop: accédez à toutes les
EXEC=
lignes (il y en a quelques-unes) et définissez-les surExec=gedit -s %U
. Changement supplémentaireName=Text Editor
enName=Text Editor (new window)
.Dans votre gestionnaire de fichiers Nautilus (gestionnaire de fichiers standard dans Gnome, souvent appelé simplement 'Files' ou Gnome Files ) associez les types de fichiers (.txt, .csv, ...) à votre application nouvellement créée:
la source