Neden...
Bu cevapta, bunu sorudaki kilit uygulama olarak belirttiğinizden beri evince üzerine yoğunlaşıyorum.
Kaynak koduna bakarak, Farklı Kaydet iletişim kutusu yalnızca varsayılan dosya adını ayarlar. Hiçbir klasör tanımlanmadığından, GTK3 kitaplıkları Son Kullanılan klasörlerin iletişim kutusunda görüntülenen ilk klasör olduğunu varsayar .
GTK3 uygulamaları, ilk arama yapılacak klasörü açıkça ayarlamalıdır.
Şahsen evince için varsayılan klasörün tanımlanması gerektiğini düşünüyorum - bu yüzden bugzilla bir hata / istek listesi isteği olarak bu dosya gerekir.
Nasıl...
Aşağıdakileri, son kullanılanlar yerine varsayılan olarak Belgeler klasörüne yüklemeyi zorlamanın bir yoludur .
Özetle, kaynak varsayılan Belge klasörünü almak ve bunu Farklı Kaydet iletişim kutusu için varsayılan klasör olarak ayarlamak üzere değiştirilir .
temel geliştirme araçlarını kurmak
sudo apt-get install devscripts build-essential fakeroot
kaynağı al
cd ~/Downloads
mkdir build
cd build
apt-get source evince
cd evince*
değişikliği yap
Ev-window'u açın. C
gedit shell/ev-window.c
Aşağıdakileri kopyalayıp resimde gösterilen konumda dosyaya yapıştırın
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 ());
Kaydet ve kapat gedit
benzersiz bir paket adı verin
Tamam, depo güncellemelerinin değiştirilen paketinizin üzerine yazmasını önlemek için pakete benzersiz bir ad vermemiz gerekiyor
gedit debian / changelog
şimdi +yourname
en üst satır sürümüne ekleyin ve kaydedin
yani evince (3.2.1-0ubuntu2+fossfreedom)
paketi inşa et
sudo apt-get build-dep evince
debuild -us -uc
Not bu bağımlılık 161 Mb indirecek
Bir kahve için git ... ve muhtemelen öğle yemeği!
cd ..
sudo dpkg -i evince_3.2*.deb
Bir yana - evince'nin bu yeni versiyonunun gelecekte yükseltilmesini önlemek için, bu evince versiyonunu sabitlemek için sinaptik kullanın.