Ganti dialog file GTK + dengan alternatif

26

Apakah ada setiap cara untuk mengkonfigurasi GTK + program untuk menggunakan dialog file yang berbeda?

Membaca artikel kuno pada dialog default dan melihat tidak ada perbedaan pada versi saat ini tidak menjadi pertanda baik untuk perbaikan dalam waktu dekat.

Saya sudah membaca pertanyaan ini , tetapi saya tampaknya salah satu dari sedikit yang melakukannya dalam hampir satu tahun. Seperti yang saya sebutkan di komentar pada pertanyaan itu:

Untuk archlinux ada versi patch FF untuk KDE. Ini berfungsi dengan baik jika Anda berada di KDE dan menyukai versi lumba-lumba yang dipreteli / apa pun itu, tetapi sayangnya tampaknya tidak mengubah pemilih file jika Anda tidak menggunakan KDE

Karena saya saat ini sedang dalam pengaturan openbox khusus, Firefox kembali menggunakan dialog GTK + yang tidak disukai. Tetapi solusi ini hanya berfungsi untuk Firefox, jadi saya lebih suka cara membersihkan ini dari sistem saya secara global.

gandalf3
sumber
1
Jika saya mengerti dengan benar, dialog GTK yang Anda miliki di Openbox tidak memungkinkan Anda mengetikkan nama file atau mengedit bilah lokasi? Bagaimana bisa? Saya pikir lebih baik memposting tangkapan layar dialog GTK di sistem Anda untuk dilihat orang lain.
clearkimura
@clearkimura Itu memang memiliki bilah lokasi, setidaknya sebagian besar waktu (saya belum dapat menentukan apa yang menyebabkannya menghilangkannya begitu sering ..). Keluhan saya yang sebenarnya adalah waktu pemuatan yang sangat lama yang kadang-kadang diperlukan saat membuka direktori besar (beberapa ratus file gambar)
gandalf3
1
@clearkimura Bagi saya menavigasi ke direktori yang berisi ~ 1000 file gambar rata-rata 100 kB dalam dialog yang disajikan oleh misalnya gimp (GTK 2) menyebabkannya hang selama> 20 detik. Menavigasi ke direktori yang sama di lumba-lumba memuat secara instan.
gandalf3

Jawaban:

8

Jawaban ini direvisi dari pos asli yang pertama kali dijawab pada akhir 2015. Konten sekarang disusun ulang, beberapa teks yang berlebihan telah dihapus dan teks yang relevan ditambahkan.

Beberapa klarifikasi

Dialog [...] yang disajikan oleh eg GIMP (GTK + 2) menyebabkannya hang lebih dari 20 detik. Menavigasi ke direktori yang sama di Dolphin dimuat secara instan.

Agak aneh untuk membandingkan pemilih file GTK + dari editor gambar dengan manajer file Qt (bukan pemilih file Qt). Juga, aplikasi ini tidak menggunakan toolkit yang sama; Jelaslah bahwa berbagai hal ditangani secara berbeda satu sama lain.

Itu memang memiliki bilah lokasi, setidaknya sebagian besar waktu (saya belum dapat menentukan apa yang menyebabkannya menghilangkannya begitu sering ..)

Untuk dialog GTK +, bilah lokasi tidak akan muncul saat melihat "Baru Digunakan" di pemilih file. Dalam tampilan ini, bahkan Ctrl+ Ltombol pintas tidak akan berfungsi. Ini kemungkinan alasan mengapa OP mengklaim pemilih file terkadang mengabaikan bilah lokasi.

Jawaban langsung

KGtk adalah cara peretasan untuk menggunakan dialog KDE di aplikasi GTK +. Ini pertama kali dirilis pada pertengahan 2006 dan tersedia di KDE-Apps.org sebagai upstream dan juga melalui paket AUR .

Meskipun ini kedengarannya menjanjikan, perhatikan bahwa niat kerja ini adalah untuk memberikan tampilan yang seragam untuk aplikasi Qt dan GTK + . Kemungkinan besar, itu tidak mengatasi masalah lambat yang telah diperdebatkan oleh pengguna.

Jawaban yang diperluas (2015-11-23)

Jawaban yang diperluas ini akan membahas dua masalah yang muncul dalam pertanyaan: dialog GTK + yang tidak disukai (masalah kegunaan) dan dialog hang untuk beberapa waktu (masalah responsif).

Berikut ini adalah laporan bug yang menyebutkan masalah yang relevan, yang relevan dengan GTK +.

Berikut ini adalah laporan bug yang menyebutkan masalah yang relevan (masalah responsif), yang relevan dengan KDE.

Terlepas dari dialog GTK + atau KDE, masalah respons tidak jarang terjadi dan menjadi jelas ketika kondisi tertentu dipenuhi (seperti ikon yang tidak di-cache, dll.).

Jawaban yang diperluas (2017-02-12)

Mengenai masalah kegunaan, baik dialog GTK + dan KDE telah mengalami perubahan selama beberapa tahun terakhir di lingkungan desktop masing-masing.

Untuk dialog GTK +, toolbar lokasi digunakan untuk ditampilkan secara default. Namun, sekarang tersembunyi secara default di versi toolkit yang lebih baru.

  • GTK + 2.X memungkinkan untuk mengedit lokasi, dengan menggunakan Ctrl+ Ltombol pintas, atau tombol UI "Edit lokasi".

  • GTK + 3.X memungkinkan untuk mengedit lokasi, dengan menggunakan Ctrl+ Ltombol pintas (tombol UI "Edit lokasi" mungkin tidak ditampilkan sama sekali).

Untuk dialog KDE, fitur unik adalah bidang teks "Nama file:" yang selalu terlihat di UI setengah bawah dan bilah jalur lokasi yang dikonversi menjadi bilah alat lokasi saat mengedit.

  • KDE 3.X memungkinkan untuk mengedit lokasi, dengan menggunakan Ctrl+ Latau /tombol pintas, atau bidang teks "Nama file:" (bilah lokasi tidak dapat langsung diedit di beberapa program).

  • KDE 4.X memungkinkan untuk mengedit lokasi, dengan menggunakan tombol pintas Ctrl+ L, atau bidang teks "Nama file:", atau menggunakan kursor mouse untuk mengklik bilah jalur lokasi.

  • KDE 5.X memungkinkan untuk mengedit lokasi yang mirip dengan KDE 4.X

Sebaliknya, dialog Qt biasanya dapat disesuaikan dan dapat menggunakan gaya dialog GTK + atau KDE. Gaya dialog dapat diubah dengan salah satu metode berikut.

  • konfigurasi manual, spesifik program (oleh pemutar media VLC, dll.)

  • konfigurasi manual, lebar sistem (menurut Pengaturan Qt, sejauh ini hanya berlaku untuk program yang bergantung pada Qt 4 di rilis Ubuntu yang lebih lama yaitu 14,04)

  • konfigurasi otomatis, lebar sistem (dengan menginstal paket toolkit tertentu yang terdeteksi secara otomatis di rilis Ubuntu yang lebih baru yaitu 16.04)

Meskipun toolkit berbeda menawarkan pengalaman dan gaya dialog yang berbeda, semua toolkit yang disebutkan (GTK +, KDE dan Qt) memungkinkan pengguna untuk mengedit lokasi dalam dialog pemilih file.

TL; DR Sampai saat ini, KGtk tampaknya menjadi satu-satunya cara untuk menggantikan dialog GTK + dan harus diterapkan per aplikasi. Tidak ada alternatif yang diketahui untuk benar-benar mengganti dialog untuk kasus sistem-lebar. Lain, cari solusi untuk membuat pemilih file GTK + lebih cepat (Ini akan menjadi pertanyaan lain).


Catatan Penjawab: Jawaban ini pertama kali ditulis untuk mengatasi masalah kegunaan dan responsif dari dialog file di GTK +, KDE, dan Qt. Segalanya mungkin telah berubah sejak saat itu dan jawaban ini mungkin sudah usang. Karenanya jawaban ini sekarang adalah wiki komunitas, sehingga siapa pun dengan reputasi minimum dapat memperbaiki pos ini atau setidaknya sekarang lebih terbuka untuk pengeditan komunitas.

clearkimura
sumber
Terima kasih atas jawabannya! Saya tidak tahu mengapa, tetapi pada sistem saya dialog kde / qt jauh lebih cepat / responsif daripada dialog GTK. Adapun kegunaan, dialog GTK memiliki sejumlah perilaku tidak konvensional yang saya tidak suka / tidak suka (misalnya perlu menekan enter setelah menyelesaikan tab, yang kemudian menyebabkan penundaan 2-3 detik sebelum saya dapat mengetik lagi). Saya akan melihat KGtk.
gandalf3
Jawaban Anda tidak masuk akal. "Lambat" tidak masalah untuk UI. Ini bukan simulasi partikel. Dan KDE yang memungkinkan untuk mengedit jalan, itu adalah GTK yang tidak mudah membiarkan Anda melakukan itu.
LtWorf
Akhirnya, saya berhasil meluangkan waktu untuk memperbaiki jawaban secara keseluruhan. Saya telah mengkonfirmasi bahwa dialog KDE memiliki lebih banyak opsi untuk mengedit lokasi dalam pemilih file sehingga, mungkin lebih mudah daripada GTK +.
clearkimura
6

Sejak sekitar 2016 jawabannya adalah ya ! Setidaknya untuk menggunakan pemilih file KDE dengan aplikasi GTK3.

Pengembang Gtk + menyebut ini " pemilih file asli " untuk "aplikasi kotak pasir", sementara target utama untuk ini adalah Flatpak juga memungkinkan untuk menggunakannya pada Windows. Namun Anda juga dapat menggunakan ini untuk aplikasi non-sandboxed / flatpak menggunakan trik:

  1. Instal xdg-desktop-portal-kdepaket: Arch Linux , Debian , Fedora , KDE Neon , Ubuntu ( tautan Instalasi Langsung )
  2. Jika Anda tidak benar-benar menggunakan KDE, mengedit /usr/share/xdg-desktop-portal/portals/kde.portaldan menambahkan nilai $XDG_CURRENT_DESKTOP, dipisahkan oleh semi-colon ke UseIn=KDEbaris (yaitu: UseIn=KDE;xfce)
  3. Tambahkan baris GTK_USE_PORTAL=1ke ~/.pam_environmentsehingga GTK akan selalu berperilaku seolah-olah berada di lingkungan berpasir
  4. Logout dan kembali untuk menerapkan perubahan ini
ntninja
sumber
Saya mungkin harus menambahkan bahwa ini tidak akan berfungsi untuk aplikasi yang menggunakan klasik GtkFileChooserDialogatau GtkFileChooserWidgetAPI: Ini memaparkan GtkWidgets yang mendasari aplikasi yang tidak akan tersedia saat membuat pemilih file menggunakan apa pun selain GTK. Oleh karena itu, hanya GtkFileChooserNativedan GtkFileChooserButtonakan bekerja dan jika Anda melihat aplikasi GTK masih menggunakan pemilih file GTK setelah melakukan langkah-langkah di atas, Anda mungkin ingin mengirim mereka tambalan. ;-)
ntninja