Как я могу настроить определенные папки для просмотра списка или значка в nautilus?

Можно ли использовать разные папки для просмотра каждой папки? Некоторые папки я хотел бы видеть в виде значков, а другие лучше видеть в виде списка.

enter image description here

5
задан 4 February 2016 в 22:05

1 ответ

С тех пор nautilus не имеет параметра командной строки для переключения между списком - и представлением в виде значков, ни имеет опцию установить представление prferences на папку, нет никакого очевидного способа, чтобы сделать это.

Запущенный как эксперимент, опция ниже состояла в том, чтобы видеть, могла ли она быть сделана так или иначе довольно функциональным способом.

Как упомянуто в комментарии, решение так грязно, как это добирается, но это оказалось полностью функциональным, и в часы, что я протестировал его, я не сталкивался с проблемами. Решение использовать его или не является Вашим.

Сценарии и что они делают

Решение состоит из двух сценариев; один, чтобы быть выполненным от сочетания клавиш для добавления активного (наутилус) окно к списку. Перечисленные окна будут автоматически установлены перечислить представление, другие окна находятся в представлении в виде значков по умолчанию. Конечно, можно установить его наоборот, в зависимости от того, какой тип представления требуется установить по умолчанию

Переключатель от / для списка представления сделан путем моделирования или Ctrl+1 или Ctrl+2, которые являются ярлыками в nautilus к сетлисту - или представление в виде значков.

Как это работает на практике

Запуская первый скрипт в фоновом режиме, представление по умолчанию для окон наутилуса является представлением в виде значков.

Если Вы хотите к представлению сетлиста для определенной папки, Вы перешли к папке (откройте его), с открытым окном папки и frontmost, нажмите (например, Ctrl+Alt+A)

Это добавит имя окна к списку (сохраненный в скрытом файле в Вашем корневом каталоге). В следующий раз, когда Вы открываете папку, она автоматически переключится для списка представления, и назад к представлению в виде значков при навигации по tyo другая папка.

Для удаления папки из списка нажмите Ctrl+Alt+R с рассматриваемой папкой впереди.

Как настроить

  1. Для сценариев нужны оба wmctrl и xdotool:

    sudo apt-get install wmctrl
    sudo apt-get install xdotool
    
  2. Скопируйте сценарий ниже в пустой файл, сохраните его как add_folder.py Это - сценарий, чтобы добавить или удалить окно представление списка to/from.

    #!/usr/bin/env python3
    import subprocess
    import os
    import sys
    
    add = sys.argv[1]
    
    wlist = os.environ["HOME"]+"/.window_list.txt"
    
    get = lambda cmd: subprocess.check_output(cmd).decode("utf-8")
    window = get(["xdotool", "getactivewindow", "getwindowname"]).strip()+"\n"
    
    def add_window():
        if os.path.exists(wlist):
            current = open(wlist).readlines()
            if not window in current:
                new = current+[window]
                open(wlist, "w").writelines(new)
        else:
            open(wlist, "w").write(window)
    
    def remove_window():
        if os.path.exists(wlist):
            current = open(wlist).readlines()
            if window in current:
                current.remove(window)
                open(wlist, "w").writelines(current)
    
    if add == "+":
        add_window()
    elif add == "-":
        remove_window()
    
    • Тестовый прогон сценарий командой:

      python3 /path/to/add_folder.py +
      

    Скрытый файл должен быть создан в ~/home, именованный .window_list.txt. Необходимо будет нажать Ctrl+H для создания этого видимым (файлы с именем, стартовое остроумие a'.' невидимы по умолчанию),

    Если это хорошо работает, добавьте обе команды:

       python3 /path/to/add_folder.py +
       python3 /path/to/add_folder.py -
    

    к комбинации сочетания клавиш (я использовал Ctrl+Alt+R и Ctrl+Alt+A): выберите: Параметры настройки системы> "Клавиатура"> "Ярлыки"> "Пользовательские Ярлыки". Нажмите "+" и добавьте команду (команды)

  3. Скопируйте сценарий ниже в пустой файл, сохраните его как set_view.py Это - фоновый сценарий для изменения представления окна для или списка представления или представления в виде значков.

    #!/usr/bin/env python3
    import subprocess
    import time
    import os
    wlist = os.environ["HOME"]+"/.window_list.txt"
    
    def get(cmd):
        try:
            return subprocess.check_output(cmd).decode("utf-8")
        except subprocess.CalledProcessError:
            return ""
    
    def check_window():
        pid = subprocess.check_output(["pidof", "nautilus"]).decode("utf-8").strip()
        wlist = get(["wmctrl", "-lp"]).splitlines()
        front = get(["xdotool", "getactivewindow", "getwindowname"]).strip()
        return (front, [w for w in wlist if all([pid in w, front in w])])
    
    match1 = check_window()
    
    while True:
        time.sleep(1)
        match2 = check_window()
        if all([match2 != match1, match2[1] != []]):
            w = match2[0]
            try:
                if w in open(wlist).read().splitlines():
                    cmd = "xdotool key Ctrl+1"
                    subprocess.Popen(["/bin/bash", "-c", cmd])
                else:
                    cmd = "xdotool key Ctrl+2"
                    subprocess.Popen(["/bin/bash", "-c", cmd])
            except FileNotFoundError:
                pass
        match1 = match2
    

    Тестовый прогон это путем выполнения из окна терминала:

    python3 /path/to/set_view.py
    

    Перейдите через свои папки и добавьте / удаляют папки к списку представления списка, как описано в 2. (помните, представление списка будет активировано в следующий раз, когда Вы открываете папку),

Именно!

Примечание:

Так как сценарий не видит, существуют ли перечисленные папки все еще в Ваших каталогах, файле ~/.window_list.txt мог бы включать некоторые устаревшие записи со временем, если Вы удаляете перечисленные папки.

Можно предотвратить dat или использованием ярлык, который Вы устанавливаете, чтобы сделать так или просто обойти через файл каждый однажды и некоторое время.

4
ответ дан 4 February 2016 в 22:05

Другие вопросы по тегам:

Похожие вопросы: