ouvrir nautilus comme nouvel onglet dans la fenêtre existante

25

Actuellement, si je clique sur une icône de lanceur / raccourci, etc., j'obtiendrai une nouvelle fenêtre nautilus. S'il y a déjà une fenêtre nautilus ouverte, je préfère qu'elle s'ouvre dans un nouvel onglet dans la fenêtre existante (comme si j'étais allé ctrl + T et parcouru vers le nouvel emplacement). Comment puis-je y arriver?

wim
la source
Certaines applications ont une option de ligne de commande pour ce genre de chose, mais je ne trouve rien de tel pour Nautilus. Je suis d'accord cependant que ce serait utile.
DLH
Êtes-vous toujours confronté à ce problème?
jrg

Réponses:

17

J'ai écrit un script bash et un lanceur pour cela.

  1. Créez d'abord le fichier:

    mkdir ~/bin && gedit ~/bin/nautilus-ctrl-t.sh
    
  2. Collez ensuite les éléments suivants et enregistrez:

    if [ "$(wmctrl -xl | grep "nautilus\.Nautilus")" == "" ]; then
        nautilus "$1" &
    else  
        #Save old clipboard value
        oldclip="$(xclip -o -sel clip)"
    
        echo -n "$1" | xclip -i -sel clip
        #wmctrl -xF -R nautilus.Nautilus && xdotool key "ctrl+t" "ctrl+l" && xdotool type "${1}" && xdotool key Return
        wmctrl -xF -R nautilus.Nautilus && xdotool key ctrl+t ctrl+l ctrl+v Return
    
        #Restore old clipboard value
        echo -n "$oldclip" | xclip -i -sel clip
    fi
    
  3. Exécutez ensuite la commande:

    sudo chmod u+x ~/bin/nautilus-ctrl-t.sh
    
  4. Maintenant, pour créer le fichier du lanceur, exécutez cette commande:

    gedit ~/.local/share/applications/Nautilus-Ctrl-t.desktop
    
  5. Collez ce qui suit et enregistrez:

    [Desktop Entry]
    Type=Application
    Name=Nautilus-Ctrl-t
    Comment=Launches Nautilus if not yet, otherwise opens a new tab in it
    Categories=FileManager;GNOME;
    Icon=/usr/share/icons/gnome/48x48/apps/system-file-manager.png
    Exec=/bin/bash -c ~/bin/nautilus-ctrl-t.sh
    Terminal=false
    
  6. Déconnectez-vous ou redémarrez pour mettre à jour la liste des applications et vous avez terminé.

Essayez ça. J'espère que ça aide.

MISE À JOUR

Ajout d'un emplacement comme paramètre de script

MISE À JOUR 2

Type xdotool remplacé par xclip

MISE À JOUR 3

Nettoyé le processus en ajoutant des nombres. Ajout de la commande mkdir. Mise à jour de la première "instruction if" car si nautilus gère le bureau, il aura un pid, mais pas de fenêtre active, donc il vaut mieux utiliser wmctrl. Ajout de guillemets autour du premier argument au cas où il y aurait des espaces. L'icône de nautilus a été modifiée par défaut dans le fichier .desktop.

zuba
la source
1
Vous devrez installer xdotool et wmctrl pour que ce script fonctionne, car ils ne sont pas installés par défaut.
Jeremy Bicha
Eh bien, c'est un hack sale, mais j'espère que cela fonctionnera dans la plupart des cas :) Pouvez-vous s'il vous plaît ajouter l'emplacement de passage comme argument? Il semble possible avec "Ctrl + L", insérer l'adresse transmise, "Entrée" ...
int_ua
J'attribue desgua en ce moment, mais je vous promets une autre prime si vous ajouterez une ouverture d'emplacement personnalisée à votre script :)
int_ua
Ajout d'un emplacement comme paramètre de script.
zuba
Ok, j'ai commencé une prime pour vous, mais AFAIU je ne peux pas attribuer deux primes en une journée :) Il y a un espace manquant après $ pid et cela ne fonctionne pas pour le type MIME inode / directory pour moi. Pouvez-vous s'il vous plaît ajouter des instructions sur la façon de le faire fonctionner pour les raccourcis de bureau? Une autre suggestion consiste à utiliser xclip pour coller l'emplacement pour éviter de déclencher certaines actions si Ctrl + L échoue :)
int_ua
3

Je crois que ce n'est pas possible car
1) C'est une idée suggérée à Ubuntu Brainstorm qui n'a pas encore été implémentée,
2) Et soi-disant après avoir analysé le code source, Shiki n'a pas trouvé un moyen de passer cet appel à nautilus .

desgua
la source
Merci. Bien que les autres réponses soient également intéressantes ;-)
desgua
1
Oui, ils sont tous bons d'une manière ou d'une autre :) Et zuba recevra une autre prime si son hack
résout le
2

Ceci peut être corrigé très facilement dans CentOS 6.2 en allant dans les préférences Nautilus, sur l'onglet "Comportement" et en cliquant sur la case intitulée "Toujours ouvrir dans les fenêtres du navigateur".

Vous saurez que cela a fonctionné car à partir de ce moment, dans la fenêtre de navigation de votre dossier, vous verrez un nav de gauche sur la fenêtre qui est la méthode utilisée par nautilus pour "réutiliser" la fenêtre de l'explorateur.

Donc, fondamentalement, tout ce que vous devez comprendre est "comment activer le menu de navigation de gauche dans une fenêtre de navigateur nautilus".

djangofan
la source
C'est une information intéressante, merci :) Quelle est la version de Nautilus dans CentOS 6.2?
int_ua
1
Ce serait 2.28.4 qui est pour Gnome-2 (GTK + 2).
desgua
1
Cela étant, il semble qu'il n'y ait pas de solution pour Gnome-3?
djangofan
0

Tout ce que desgua a dit est quelque peu juste.
une option que vous avez est d'appuyer sur ctrl+Tpour ouvrir un nouvel onglet dans la même fenêtre
ou d'
appuyer F3sur nautilus pour une vue partagée

Ashu
la source
1
Merci de votre attention, mais il ne s'agit pas d'ouvrir de nouveaux onglets depuis Nautilus :)
int_ua
0

En utilisant le script bash ci-dessus comme début (merci!), J'ai créé un script à fenêtre unique par espace de travail, ThunarTab, spécifiquement pour Thunar dans XFCE. Le script permet également d'ouvrir plusieurs répertoires à la fois à l'aide du menu contextuel "Ouvrir tout" sur le bureau. J'en donne une description détaillée et un fichier téléchargeable sur https://forums.linuxmint.com/viewtopic.php?f=42&t=244076 "[Tutoriel] Amélioration de Thunar dans XFCE en ouvrant de nouveaux onglets au lieu de fenêtres avec Bash."

Sam Miller
la source