Pourquoi...
Dans cette réponse, je me concentre sur evince puisque vous l'avez mentionné comme votre application clé dans la question.
En regardant le code source, la boîte de dialogue Enregistrer sous définit uniquement le nom de fichier par défaut. Puisqu'aucun dossier n'est défini, les bibliothèques GTK3 supposent que les dossiers récemment utilisés sont le premier dossier à afficher dans la boîte de dialogue.
Les applications GTK3 doivent définir explicitement le dossier pour une première recherche.
Personnellement, je pense que le dossier par défaut pour evince devrait être défini - en tant que tel, vous devez le déposer sur bugzilla comme une demande de bug / liste de souhaits.
Comment...
Ce qui suit est un moyen de forcer evince à utiliser par défaut le dossier Documents plutôt que le précédent récemment utilisé .
En résumé, la source est modifiée pour obtenir le dossier Document par défaut et le définir comme dossier par défaut pour la boîte de dialogue Enregistrer sous .
installer les outils de développement de base
sudo apt-get install devscripts build-essential fakeroot
obtenir la source
cd ~/Downloads
mkdir build
cd build
apt-get source evince
cd evince*
faire le changement
Ouvrez ev-window.c
gedit shell/ev-window.c
Copiez et collez ce qui suit dans le fichier à la position indiquée dans l'image
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 ());
Enregistrer et fermer gedit
lui donner un nom de package unique
OK, nous devons donner au package un nom unique pour empêcher les mises à jour du référentiel d'écraser votre package modifié
gedit debian / changelog
maintenant ajouter +yourname
à la version de ligne supérieure et enregistrer
c'est à dire evince (3.2.1-0ubuntu2+fossfreedom)
construire le package
sudo apt-get build-dep evince
debuild -us -uc
NB cela va télécharger 161 Mo de dépendances
Allez prendre un café ... et probablement un déjeuner!
cd ..
sudo dpkg -i evince_3.2*.deb
En passant - pour éviter que cette nouvelle version d'Evince ne soit mise à niveau à l'avenir, utilisez Synaptic pour épingler cette version d'Evince.