Можно ли скрыть контекстные меню «Копировать в» и «Переместить в»?


Ответы:


5

К сожалению, это невозможно сделать ни в 12.04, ни в 12.10 из-за изменений Nautilusи удаления /usr/share/nautilus/ui/nautilus-directory-view-ui.xml. Это было задано совсем недавно (июнь 2012 г.) в списках рассылки gnome nautilus , и из ответов разработчиков ясно, что теперь нужно будет загрузить исходный код, исправить его, а затем перекомпилировать, чтобы удалить или скрыть копию чтобы и перейти к меню.

Эммануэль Басси , разработчик гномов, ответил на тот же запрос в списке рассылки, отметив, что:

Определения пользовательского интерфейса являются частью приложения: их изменение эквивалентно изменению двоичного файла на диске.

В другом ответе Эммануэль углубляется в детали и указывает, что:

Это невозможно, потому что сейчас (в целях переносимости приложения и для улучшения времени запуска) файл описания пользовательского интерфейса «компилируется» внутри самого двоичного файла; файл описания пользовательского интерфейса доступен только в репозитории Git, и каждое изменение требует перекомпиляции Nautilus.

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

То, чего вы хотите достичь, не может быть сделано с текущей или будущей версией Nautilus; единственный способ сделать это - изменить Nautilus так, чтобы он мог делать то, что вы хотите.

Это официальная позиция Nautilus, и поэтому единственное, что нужно сделать, это предложить патч или просто подготовить свой собственный патч и создать свою собственную версию. Необходимый исходный код доступен в репозитории git .

Как объяснили разработчики, в настоящее время нет грязного «хака», который может выполнить то, что вы хотите. Это может измениться в будущем, но это текущее состояние дел.


13

Для 11.10 и ранее

Да, отредактируйте файл:

/usr/share/nautilus/ui/nautilus-directory-view-ui.xml

и найдите последний экземпляр этого:

    <menu action="CopyToMenu">
        <menuitem name="Copy to next pane" action="Copy to next pane"/>
        <menuitem name="Copy to Home" action="Copy to Home"/>
        <menuitem name="Copy to Desktop" action="Copy to Desktop"/>
    </menu>
    <menu action="MoveToMenu">
        <menuitem name="Move to next pane" action="Move to next pane"/>
        <menuitem name="Copy to Home" action="Move to Home"/>
        <menuitem name="Copy to Desktop" action="Move to Desktop"/>
    </menu>

и сделайте внутренности пустыми вот так:

    <menu action="CopyToMenu">
    </menu>
    <menu action="MoveToMenu">
    </menu>

Это должно решить вашу проблему.


В случае, если порядок узлов будет изменен в будущем, тот с элементами, которые должны быть удалены (или закомментированы), является <popup name="selection"> ... </popup>.
Марек Грженкович

Вау, этот ответ был очень, очень полезным! Теперь я могу править миром! У меня есть бесконечная сила !!! (Серьезно, спасибо. Возможность полностью настроить контекстные меню будет очень полезна.)
JamesTheAwesomeDude

Не подходит для многопользовательских систем

Это должно работать с 12.04? Потому что у меня нет файла /usr/share/nautilus/ui/nautilus-directory-view-ui.xml .
user55822

@ user55822 Та же проблема в 12.10. Из-за этого этот вопрос имеет открытую награду +100 репутации - текущий ответ устарел и не относится к последним версиям Ubuntu.
Марек Grzenkowicz
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.