otwórz nautilus jako nową kartę w istniejącym oknie

25

Obecnie, jeśli kliknę ikonę programu uruchamiającego / skrótu itp., Otrzymam nowe okno nautilus. Jeśli jest już otwarte okno nautilusa, wolałbym, aby otworzyło się ono w nowej karcie w istniejącym oknie (tak jak gdybym wybrał Ctrl + T i przejrzałem nową lokalizację). Jak mogę to zrobić?

wim
źródło
Niektóre aplikacje mają opcję wiersza polecenia dla tego rodzaju rzeczy, ale nie mam czegoś takiego dla Nautilusa. Zgadzam się, że byłoby to przydatne.
DLH,
Nadal masz ten problem?
jrg

Odpowiedzi:

17

Napisałem do tego skrypt bash i program uruchamiający.

  1. Najpierw utwórz plik:

    mkdir ~/bin && gedit ~/bin/nautilus-ctrl-t.sh
    
  2. Następnie wklej następujące i zapisz:

    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. Następnie uruchom polecenie:

    sudo chmod u+x ~/bin/nautilus-ctrl-t.sh
    
  4. Teraz, aby utworzyć plik uruchamiania, uruchom następujące polecenie:

    gedit ~/.local/share/applications/Nautilus-Ctrl-t.desktop
    
  5. Wklej następujące i zapisz:

    [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. Wyloguj się lub uruchom ponownie, aby zaktualizować listę aplikacji i gotowe.

Spróbuj tego. Mam nadzieję, że to pomoże.

AKTUALIZACJA

Dodano lokalizację jako parametr skryptu

AKTUALIZACJA 2

Zamieniono typ xdotool na xclip

AKTUALIZACJA 3

Oczyszczono cały proces, dodając liczby. Dodano polecenie mkdir. Zaktualizowano pierwszą instrukcję „if”, ponieważ jeśli nautilus zarządza pulpitem, będzie miał pid, ale nie ma aktywnego okna, więc lepiej użyć wmctrl. Dodano cudzysłowy wokół pierwszego argumentu w przypadku spacji. Zmieniono ikonę nautilus, aby była domyślna w systemie .desktop.

Zuba
źródło
1
Aby ten skrypt działał, musisz zainstalować xdotool i wmctrl, ponieważ nie są one domyślnie instalowane.
Jeremy Bicha,
Cóż, to brudny hack, ale mam nadzieję, że w większości przypadków zadziała :) Czy możesz dodać jako argument argumentację lokalizacji? Wygląda na to, że jest to możliwe z „Ctrl + L”, wstaw przekazany adres, „Enter” ...
int_ua
W tej chwili przyznam desguę, ale obiecuję ci kolejną nagrodę, jeśli dodasz do skryptu niestandardowe otwieranie lokalizacji :)
int_ua
Dodano lokalizację jako parametr skryptu.
zuba
Ok, zacząłem nagrodę za ciebie, ale AFAIU nie mogę przyznać dwóch nagród w ciągu jednego dnia :) Po $ pid brakuje miejsca i nie działa ono dla mnie dla typu MIME inode / directory. Czy możesz dodać instrukcje, jak to zrobić w przypadku skrótów na pulpicie? Inną sugestią jest użycie xclip do wklejenia lokalizacji, aby uniknąć wyzwalania niektórych akcji, jeśli Ctrl + L zawiedzie :)
int_ua 21'12
3

Myślę, że nie jest to możliwe, ponieważ
1) Jest to sugerowany pomysł na Ubuntu Brainstorm, który nie został jeszcze zaimplementowany,
2) I podobno po przeanalizowaniu kodu źródłowego Shiki nie znalazł sposobu na przekazanie tego wezwania nautilusowi .

desgua
źródło
Dziękuję Ci. Chociaż inne odpowiedzi są również interesujące ;-)
desgua
1
Tak, wszystkie są w jakiś sposób dobre :) A Zuba dostanie kolejną nagrodę, jeśli jego hack naprawi początkowy problem :)
int_ua
2

Można to bardzo łatwo naprawić w CentOS 6.2, przechodząc do preferencji Nautilus, na karcie „Zachowanie” i klikając pole „Zawsze otwieraj w oknach przeglądarki”.

Będziesz wiedział, że zadziałało, ponieważ od tego momentu w oknie przeglądania folderów zobaczysz nawigację po lewej stronie okna, która jest metodą, którą nautilus używa do „ponownego użycia” okna eksploratora.

Zasadniczo wszystko, co musisz wymyślić, to „jak włączyć menu nawigacji po lewej stronie w oknie przeglądarki nautilus”.

djangofan
źródło
To ciekawa informacja, dzięki :) Jaka jest wersja Nautilus w CentOS 6.2?
int_ua
1
To byłoby 2.28.4, co dotyczy Gnome-2 (GTK + 2).
desgua
1
Skoro tak, wygląda na to, że nie ma rozwiązania dla Gnome-3?
djangofan
0

Cokolwiek powiedział Desgua, jest w pewnym sensie słuszne.
jedną z opcji jest naciśnięcie, ctrl+Taby otworzyć nową kartę w tym samym oknie
lub
naciśnięcie F3nautilus, aby wyświetlić podzielony widok

Ashu
źródło
1
Dziękujemy za uwagę, ale nie chodzi o otwieranie nowych kart z poziomu Nautilus :)
int_ua
0

Używając powyższego skryptu bash jako pierwszego (dziękuję!), Stworzyłem skrypt ThunarTab z jednym oknem na obszar roboczy, specjalnie dla Thunar w XFCE. Skrypt umożliwia także otwieranie wielu katalogów jednocześnie za pomocą menu kontekstowego „Otwórz wszystko” na pulpicie. Szczegółowy opis i plik do pobrania podam na https://forums.linuxmint.com/viewtopic.php?f=42&t=244076 „[Samouczek] Ulepszanie Thunara w XFCE poprzez otwieranie nowych kart zamiast okien za pomocą Basha”.

Sam Miller
źródło