Por qué...
En esta respuesta me estoy concentrando en evidencia ya que mencionaste esto como tu aplicación clave en la pregunta.
Mirando el código fuente, el cuadro de diálogo Guardar como solo establece el nombre de archivo predeterminado. Como no se define ninguna carpeta, las bibliotecas GTK3 suponen que las carpetas utilizadas recientemente son la primera carpeta que se mostrará en el cuadro de diálogo.
Las aplicaciones GTK3 tienen que configurar explícitamente la carpeta para buscar primero.
Personalmente, creo que se debe definir la carpeta predeterminada para evince, por lo que debe archivar esto en bugzilla como una solicitud de lista de deseos / errores.
Cómo...
La siguiente es una forma de forzar a evince a que se ajuste de forma predeterminada a la carpeta Documentos en lugar de la anterior utilizada recientemente .
En resumen, la fuente se cambia para obtener la carpeta de documentos predeterminada y establecerla como la carpeta predeterminada para el cuadro de diálogo Guardar como .
instalar las herramientas de desarrollo básicas
sudo apt-get install devscripts build-essential fakeroot
obtener la fuente
cd ~/Downloads
mkdir build
cd build
apt-get source evince
cd evince*
Haz el cambio
Abra ev-window.c
gedit shell/ev-window.c
Copie y pegue lo siguiente en el archivo en la posición que se muestra en la imagen
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 ());
Guardar y cerrar gedit
darle un nombre de paquete único
OK, necesitamos darle un nombre único al paquete para evitar que las actualizaciones del repositorio sobrescriban su paquete modificado
gedit debian / changelog
ahora agregue +yourname
a la versión de la línea superior y guarde
es decir evince (3.2.1-0ubuntu2+fossfreedom)
construir el paquete
sudo apt-get build-dep evince
debuild -us -uc
NB esto descargará 161Mb de dependencias
Ir a tomar un café ... y probablemente almorzar!
cd ..
sudo dpkg -i evince_3.2*.deb
Como comentario aparte, para evitar que esta nueva versión de evince se actualice en el futuro, use synaptic para fijar esta versión de evince.