32

Currently, if I click a launcher, shortcut icon, etc., I will get a new Nautilus window. If there is already a Nautilus window open, I would rather it open up in a new tab in the existing window (as if I had done Ctrl + T and browsed to the new location). How can I make this happen?

2
  • Some applications have a command-line option for this sort of thing, but I don't find anything like that for Nautilus. I agree that would be useful though.
    – DLH
    Aug 3, 2011 at 19:43
  • Are you still experiencing this issue?
    – jrg
    Jan 2, 2012 at 19:26

5 Answers 5

21
+100

I wrote a bash script and a launcher for that.

  1. First, create the file:

    mkdir ~/bin && gedit ~/bin/nautilus-ctrl-t.sh
    
  2. Then paste the following, and save:

    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. Then run the command:

    sudo chmod u+x ~/bin/nautilus-ctrl-t.sh
    
  4. Now, to create the launcher file, run this command:

    gedit ~/.local/share/applications/Nautilus-Ctrl-t.desktop
    
  5. Paste the following, and save:

    [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. Log out, or restart to update the application list and you're done.

Try that. Hope it helps.

UPDATE

Added a location as a script parameter

UPDATE 2

Replaced xdotool type with xclip

UPDATE 3

Cleaned up the process by adding numbers. Added mkdir command. Updated the first "if statement" because if nautilus is managing the desktop, it will have a pid, but no active window, so better to use wmctrl. Added quotes around the first argument in case there are spaces. Changed the icon for nautilus to be system default in the .desktop file.

15
  • 1
    You'll need to install xdotool and wmctrl for that script to work, as they're not installed by default. Apr 20, 2012 at 23:04
  • Well, it's a dirty hack, but I hope it'll work in most cases :) Can you please add passing location as the argument? It looks like possible with "Ctrl+L", insert passed address, "Enter"...
    – int_ua
    Apr 21, 2012 at 0:34
  • I'm awarding desgua right now, but I promise you another bounty if you will add custom location opening to your script :)
    – int_ua
    Apr 21, 2012 at 0:39
  • Added a location as a script parameter.
    – zuba
    Apr 21, 2012 at 6:28
  • Ok, I've started a bounty for you, but AFAIU I can't award two bounties in one day :) There's a space missing after $pid and it doesn't work for inode/directory MIME type for me. Can you please add instructions on how to make it work for desktop shortcuts? Another suggestion is to use xclip for pasting location to avoid triggering some actions if Ctrl+L fails :)
    – int_ua
    Apr 21, 2012 at 9:54
4
+50

I believe it is not possible as
1) It is a suggested idea at Ubuntu Brainstorm that wasn't implemented yet,
2) And supposedly after analyzing the source code Shiki didn't find a way to pass this call to nautilus.

2
  • Thank you. Although the others answers are also interesting ;-)
    – desgua
    Apr 21, 2012 at 1:32
  • 1
    Yes, they are all good in some way :) And zuba will get another bounty if his hack will fix the initial issue :)
    – int_ua
    Apr 21, 2012 at 3:16
2

This is fixable very easily in CentOS 6.2 by going into the Nautilus preferences, on the "Behavior" tab and clicking the box called "Always open in browser windows".

You will know it worked because from that point on, in your folder browsing window, you will see a left hand nav on the window which is the method that Nautilus uses to "re-use" the explorer window.

So, basically, all you need to figure out is "how to enable the left-hand navigation menu in a Nautilus browser window".

3
  • That's an interesting info, thanks :) What is the version of Nautilus in CentOS 6.2?
    – int_ua
    Apr 21, 2012 at 0:24
  • 1
    That would be 2.28.4 which is for Gnome-2 (GTK+2).
    – desgua
    Apr 21, 2012 at 13:10
  • 1
    That being the case, it sounds like there is no solution for Gnome-3 ?
    – djangofan
    May 9, 2012 at 20:32
1

Whatever desgua said is somewhat right.

One option you have is to press Ctrl + T to open a new tab in the same window.

Or press F3 in Nautilus for split view.

1
  • 1
    Thanks for your attention, but it's not about opening new tabs from within Nautilus :)
    – int_ua
    Apr 21, 2012 at 0:26
0

Using the bash script above as a starting (thank you!), I created a one-window per workspace script, ThunarTab, specifically for Thunar in XFCE. The script also allows opening multiple directories at once using the "Open All" context menu on the Desktop. I give a detailed description and a downloadable file of it at https://forums.linuxmint.com/viewtopic.php?f=42&t=244076 "[Tutorial] Improving Thunar in XFCE by opening new tabs instead of windows with Bash."

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .