открыть наутилус как новую вкладку в существующем окне


25

В настоящее время, если я нажму значок запуска / ярлыка и т. Д., Я получу новое окно nautilus. Если окно nautilus уже открыто, я бы предпочел, чтобы оно открылось на новой вкладке в существующем окне (как если бы я нажал Ctrl + T и перешел на новое место). Как я могу это сделать?


В некоторых приложениях есть опция командной строки для такого рода вещей, но я не нахожу ничего подобного для Nautilus. Я согласен, что это было бы полезно, хотя.
DLH

Вы все еще испытываете эту проблему?
JRG

Ответы:


17

Я написал скрипт bash и лаунчер для этого.

  1. Сначала создайте файл:

    mkdir ~/bin && gedit ~/bin/nautilus-ctrl-t.sh
    
  2. Затем вставьте следующее и сохраните:

    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. Затем выполните команду:

    sudo chmod u+x ~/bin/nautilus-ctrl-t.sh
    
  4. Теперь, чтобы создать файл запуска, выполните эту команду:

    gedit ~/.local/share/applications/Nautilus-Ctrl-t.desktop
    
  5. Вставьте следующее и сохраните:

    [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. Выйдите или перезапустите, чтобы обновить список приложений, и все готово.

Попробуй это. Надеюсь, это поможет.

ОБНОВИТЬ

Добавлено местоположение в качестве параметра скрипта

ОБНОВЛЕНИЕ 2

Заменен тип xdotool на xclip

ОБНОВЛЕНИЕ 3

Очистили процесс, добавив номера. Добавлена ​​команда mkdir. Обновлен первый «оператор if», потому что, если nautilus управляет рабочим столом, у него будет pid, но нет активного окна, поэтому лучше использовать wmctrl. Добавлены кавычки вокруг первого аргумента, если есть пробелы. Изменен значок nautilus на системный по умолчанию в файле .desktop.


1
Вам нужно будет установить xdotool и wmctrl, чтобы этот скрипт работал, так как они не установлены по умолчанию.
Джереми Бича

Что ж, это грязный хак, но я надеюсь, что это сработает в большинстве случаев :) Можете ли вы добавить в качестве аргумента передаваемое местоположение? Похоже, это возможно с помощью "Ctrl + L", вставить переданный адрес, "Enter" ...
int_ua

Я награждаю десгуа прямо сейчас, но обещаю вам еще одну награду, если вы добавите в свой сценарий открытие пользовательского места :)
int_ua

Добавлено местоположение в качестве параметра скрипта.
Зуба

Хорошо, я назначил вам награду, но AFAIU, я не могу назначить две награды за один день :) После $ pid пропущен пробел, и он не работает для типа MIME inode / directory для меня. Можете ли вы добавить инструкции о том, как заставить его работать для ярлыков на рабочем столе? Еще одно предложение - использовать xclip для вставки местоположения, чтобы избежать запуска некоторых действий в случае сбоя Ctrl + L :)
int_ua

3

Я полагаю, что это невозможно, так как
1) Это предложенная идея в Ubuntu Brainstorm, которая еще не была реализована,
2) И, предположительно, после анализа исходного кода Шики не нашел способа передать этот вызов nautilus .


Спасибо. Хотя остальные ответы тоже интересны ;-)
desgua

1
Да, они все хороши в некотором роде :) И Зуба получит еще одну награду, если его взлом исправит первоначальную проблему :)
int_ua

2

Это легко исправить в CentOS 6.2, перейдя в настройки Nautilus, на вкладке «Поведение» и щелкнув поле «Всегда открываться в окнах браузера».

Вы будете знать, что это сработало, потому что с этого момента в окне просмотра папок вы увидите левую навигацию по окну, которая является методом, который nautilus использует для «повторного использования» окна проводника.

Итак, по сути, все, что вам нужно выяснить, это «как включить левое навигационное меню в окне браузера nautilus».


Это интересная информация, спасибо :) Какая версия Nautilus в CentOS 6.2?
int_ua

1
Это было бы 2.28.4, что для Gnome-2 (GTK + 2).
Desgua

1
В таком случае кажется, что нет решения для Gnome-3?
Джангофан

0

Что бы ни сказал Десгуа, это несколько верно.
один из вариантов, который у вас есть, - нажать, ctrl+Tчтобы открыть новую вкладку в том же окне,
или
нажать F3в nautilus, чтобы разделить вид


1
Спасибо за ваше внимание, но речь не идет об открытии новых вкладок из Nautilus :)
int_ua

0

Используя вышеописанный скрипт bash (спасибо!), Я создал скрипт ThunarTab для одного окна для каждой рабочей области, специально для Thunar в XFCE. Сценарий также позволяет открывать несколько каталогов одновременно с помощью контекстного меню «Открыть все» на рабочем столе. Я даю подробное описание и загружаемый файл по адресу https://forums.linuxmint.com/viewtopic.php?f=42&t=244076 «[Учебник] Улучшение Thunar в XFCE путем открытия новых вкладок вместо окон с помощью Bash».

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.