ขอบคุณ saji89 ที่เชื่อมโยงไปยังไฟล์ที่ได้รับผลกระทบ ในกรณีที่ใคร ๆ ก็ยังใส่ใจ (และสำหรับตัวฉันเองเพราะการอัพเกรดล่าสุดอนุญาตให้ย้อนกลับไป) ฉันได้สร้างแพทช์ ( http://pastebin.com/VE4STB6M ) เพื่อแก้ไขข้อผิดพลาดที่น่ารำคาญนี้ gtk ที่ได้รับการแก้ไขจะยังคงแสดง "ใช้แล้วล่าสุด" ในกล่องโต้ตอบ แต่จะไม่ถูกเลือกในกล่องโต้ตอบตามค่าเริ่มต้น (ซึ่งจะเป็นค่าเริ่มต้นสำหรับไดเรกทอรีสุดท้ายที่ใช้ สำหรับฉันนี่เป็นการแก้ไขปัญหาได้เนื่องจากมือจับหลักของฉันกำลังปรากฏขึ้นบนใบหน้าของฉันโดยเฉพาะเมื่อพยายามบันทึกบางอย่าง
คำแนะนำทีละขั้นตอน:
1) เปิดหน้าต่างเทอร์มินัลและป้อนคำสั่งต่อไปนี้:
mkdir recently_used_fix
cd recently_used_fix/
sudo apt-get build-dep gtk+2.0
apt-get source gtk+2.0
wget -O deselect_recently_used.patch http://pastebin.com/download.php?i=VE4STB6M
patch -p0 < deselect_recently_used.patch
cd gtk+2.0-2.24.10/
echo jlj | dpkg-source --commit
sudo dpkg-buildpackage
cd ..
2) ปิดตัวจัดการแพ็กเกจใด ๆ (เช่น Synaptic) และป้อนคำสั่งต่อไปนี้ในหน้าต่างเทอร์มินัล:
sudo dpkg -i *.deb
3) หากdpkg -i
คำสั่งให้ข้อผิดพลาดเกี่ยวกับการเขียนทับไฟล์ที่มีอยู่จำนวนหนึ่ง (changelogs และอื่น ๆ ) ให้ใช้เพื่อลบไฟล์แต่ละไฟล์ที่ถูกร้องเรียนจากนั้นทำซ้ำขั้นตอนที่ 2 ฉันสังเกตว่าไม่ได้ทำงานด้วยเหตุผลใดก็ตามsudo rm FILENAME
--force-overwrite
4) ทางเลือก: เมื่อติดตั้งแพคเกจสำเร็จแล้วให้ใช้ Synaptic เพื่อตรึง / ( Package > Lock Version
) แต่ละแพ็คเกจที่ติดตั้งไว้เพื่อหลีกเลี่ยงการทำสิ่งเหล่านี้อีกครั้ง (แน่นอนว่าคุณจะพลาดการอัพเดทความปลอดภัยด้วย)
5) ปิดและเปิดแอปที่ได้รับผลกระทบใด ๆ (pluma, gedit, gimp, ฯลฯ ) และเพลิดเพลินไปกับกล่องโต้ตอบเปิด / บันทึกที่น่ารำคาญ!
6) ทางเลือก: ป้อนคำสั่งต่อไปนี้ในหน้าต่างเทอร์มินัลเพื่อลบไฟล์และไดเรกทอรีที่เราสร้าง (การแก้ไขจะยังคงติดตั้งอยู่):
cd ..
sudo rm -rf recently_used_fix/
ในกรณีที่ไม่สามารถดาวน์โหลดโปรแกรมแก้ไขได้นี่เป็นสำเนาสำรอง:
--- gtk + 2.0-2.24.10 / gtk / gtkfilechooserdefault.c 2011-11-08 10: 20: 20.000000000 -0700
+++ ดาวน์โหลด / gtk / gtk + 2.0-2.24.10 / gtk / gtkfilechooserdefault.c 2012-07-10 17: 20: 38.000000000 -0700
@@ -5971,10 +5971,18 @@ gtk_file_chooser_default_map (GtkWidget
if (impl-> operation_mode == OPERATION_MODE_BROWSE)
{
+ GFile * โฟลเดอร์;
+
สวิตช์ (impl-> reload_state)
{
กรณี RELOAD_EMPTY:
- latest_shortcut_handler (impl);
+ / * ผู้ใช้ไม่ได้ให้โฟลเดอร์ที่จะแสดงกับเราอย่างชัดเจนดังนั้นเราจะ
+ * ใช้อันที่บันทึกไว้จากการเรียกใช้ครั้งสุดท้ายของตัวเลือกไฟล์
+ * /
+ folder = get_file_for_last_folder_opened (impl);
+ gtk_file_chooser_set_current_folder_file (GTK_FILE_CHOOSER (impl), โฟลเดอร์, NULL);
+ g_object_unref (โฟลเดอร์);
+ / * recent_shortcut_handler (impl); * /
ทำลาย;
กรณี RELOAD_HAS_FOLDER:
@@ -6005,8 +6013,8 @@ gtk_file_chooser_default_unmap (GtkWidge
settings_save (impl);
- cancel_all_operations (impl);
- impl-> reload_state = RELOAD_EMPTY;
+ / * cancel_all_operations (impl);
+ impl-> reload_state = RELOAD_EMPTY; * /
GTK_WIDGET_CLASS (_gtk_file_chooser_default_parent_class) -> unmap (วิดเจ็ต);
}