Как сделать Nautilus, чтобы автоматически предлагать папку «Документы» для PDF-файлов?

14

В Ubuntu 11.10, как я могу настроить nautilus, чтобы при выборе «Сохранить как ...» в Evince или каком-либо другом средстве просмотра PDF для PDF-файла, загруженного с помощью браузера, автоматически предлагалась папка «Документы» для сохранения этого файла. PDF-файл?

Прямо сейчас он просто дает мне последнюю папку, которая использовалась, чтобы сохранить что-то раньше. Я помню, 11.04 делал именно это, что удобно для того, чтобы хранить все PDF-файлы в одной папке.

719016
источник
На моем 11.04 всегда предлагается папка «Documents» в качестве цели для «Save copy ...»
zetah
@zetah: это правильно, я пытаюсь воспроизвести эту же функцию 11.10.
719016
Вы сохраняете PDF-файлы из Firefox?
Дж. Остин Родригес

Ответы:

9

Почему...

В этом ответе я концентрируюсь на evince, так как вы упомянули это в качестве ключевого приложения в этом вопросе.

Глядя на исходный код, диалог « Сохранить как » устанавливает только имя файла по умолчанию. Поскольку папка не определена, библиотеки GTK3 предполагают, что папки « Недавно использованные» являются первой папкой, отображаемой в диалоговом окне.

Приложения GTK3 должны явно установить папку для первого поиска в.

Лично я думаю, что папка по умолчанию для evince должна быть определена - как таковой, вы должны подать это на bugzilla как запрос bug / wish-list.

Как...

Ниже приведен один из способов заставить evince установить по умолчанию папку « Документы », а не предыдущую, использованную недавно .

Таким образом, источник изменяется, чтобы получить папку « Документ » по умолчанию и установить ее в качестве папки по умолчанию для диалогового окна « Сохранить как ».

введите описание изображения здесь

установить основные инструменты разработки

sudo apt-get install devscripts build-essential fakeroot 

получить источник

cd ~/Downloads
mkdir build
cd build
apt-get source evince
cd evince*

внести изменения

Откройте ev-window.c

gedit shell/ev-window.c

Скопируйте и вставьте следующее в файл в позиции, показанной на изображении

const gchar *folder;
folder = g_get_user_special_dir (G_USER_DIRECTORY_DOCUMENTS);
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (fc),
                             folder ? folder : g_get_home_dir ());

введите описание изображения здесь

Сохранить и закрыть Gedit

дать ему уникальное имя пакета

ОК, нам нужно присвоить пакету уникальное имя, чтобы обновления хранилища не могли перезаписать ваш измененный пакет.

gedit debian / changelog

теперь добавьте +yournameв верхнюю строку версию и сохраните

т.е. evince (3.2.1-0ubuntu2+fossfreedom)

собрать пакет

sudo apt-get build-dep evince
debuild -us -uc

NB это загрузит 161Mb зависимостей

Перейти на кофе ... и, вероятно, обед!

cd ..
sudo dpkg -i evince_3.2*.deb

В качестве отступления - чтобы не допустить обновления этой новой версии evince в будущем, используйте synaptic для закрепления этой версии evince.

свобода ископаемых
источник
Спасибо, теперь это работает. Я запустил synaptic и применил «Lock version» к пакету evince.
719016
4

К сожалению, из-за способа, которым диалог выбора файла был закодирован в GTK + 3.x, вы не можете последовательно изменять это поведение.

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

См. Этот ответ: Могу ли я запретить приложениям выбирать «Недавно использованные» по умолчанию в диалоговых окнах выбора файлов?

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

RolandiXor
источник
2

Вы можете использовать Libre Office для PDF, а в Libre Office вы можете изменить расположение по умолчанию для типов файлов, а его здесь ~/.libreoffice/3/user/gallery/и в Libre Office можно изменить в Сервис -> Параметры -> Пути -> Графика.

Плагины http://www.libreoffice.org/features/extensions/

Путем поиска в Google и поиска /superuser/220647/executing-the-default-application-assigned-to-a-file-type-from-terminal-given И http://www.packtpub.com/ article / control-of-file-types-in-ubuntu И http://silverwav.wordpress.com/2010/03/21/note-ubuntu-default-folders/ AND Файл, который нужно изменить, является файлом конфигурации в скрытом Папка в вашей домашней папке: gedit ~/.config/user-dirs.dirsвносите изменения по своему усмотрению , сохраняйте и закрывайте. А затем бегите, xdg-user-dirs-updateчтобы отразить изменения. Но как я не знаю, но кое-что из всего этого - то, что я думаю, должно быть таким образом возможным.

«Пользовательские места сохранения, вероятно, могут быть взломаны в Firefox, так как он может сохранять действия в зависимости от типа файла.

Вы также можете написать сценарий оболочки, а затем настроить Firefox для открытия нужных типов файлов с помощью этого сценария. Firefox загрузит файл во временный каталог и передаст имя файла в скрипт. Сценарий будет анализировать выходные данные file ${1}или выполнять какие-либо регулярные выражения для имени файла и предпринимать соответствующие действия, которые вы пожелаете (перейти к X, перейти к Y и т. Д.).

Этот уровень предпочтений типа пантомимы, скорее всего, не будет особенностью самого Gnome ».

Кстати, Libreoffice имеет такую ​​возможность https://bugs.launchpad.net/ubuntu/+source/libreoffice/+bug/801130

Также вы всегда можете сохранить в той же папке, но сделать проверку скрипта папки и перемещения файлов типа X.

Я думаю, что это было бы как-то сделано, если бы можно было сделать конкретный лаунчер для расширения .pdf и в лаунчере, чтобы сделать папку по умолчанию, которая вам нужна.

Как? Я не знаю, но я надеюсь, что это поможет вам найти ответ.

Kangarooo
источник