Bagaimana cara memaksa gedit untuk membuka jendela baru secara independen dari jendela gedit yang ada setiap kali file teks diklik dua kali pada desktop Gnome dari Debian 8?

9

Bagaimana bisa geditdipaksa untuk membuka jendela baru secara independen dari jendela gedit yang ada setiap kali file teks (.txt) diklik ganda pada desktop Gnome dari Debian 8, Jessie?

Misalkan a.txt sudah terbuka di jendela gedit, dan b.txt diklik dua kali pada desktop Gnome dari Debian 8 Jessie. Kemudian, sayangnya, secara default pabrik, b.txt akan dibuka di tab di jendela yang sama dengan a.txt.

Namun, saya ingin b.txtdibuka di jendela baru gedit sehingga akan ada dua jendela - jendela yang ada untuk a.txt dan jendela baru untuk b.txt.

Jika Gnome memanggil gedit dengan opsi "-s" seperti pada

gedit -s b.txt

kemudian b.txtakan dibuka di jendela baru, sementara a.txt tetap di jendela yang ada.

Namun, secara default, Gnome tampaknya memanggil gedit tanpa opsi "-s".

File konfigurasi

/usr/share/applications/org.gnome.gedit.desktop

berisi arahan eksekusi

Exec=gedit %U

Jadi, saya mengubahnya menjadi

Exec=gedit -s %U

oleh perintah berikut, dan restart komputer.

cd /usr/share/applications
su # similar to sudo
mv org.gnome.gedit.desktop org.gnome.gedit.desktop.bak
perl -pe 's/Exec=gedit %U/Exec=gedit -s %U/' org.gnome.gedit.desktop.bak > org.gnome.gedit.desktop
diff org.gnome.gedit.desktop org.gnome.gedit.desktop.bak

Namun, metode ini gagal. B.txt masih terbuka di tab di jendela yang sama dengan a.txt. Aku terjebak. Saya membutuhkan bantuan Anda.

Mode default gedit adalah "jendela tunggal, banyak tab". Saya ingin mode "beberapa jendela".

Omong-omong, metode tidak berguna berikut ini mengubah gedit menjadi mode "jendela tunggal, tanpa tab", yang bukan yang saya inginkan.

gsettings set org.gnome.gedit.preferences.ui show-tabs-mode 'never'

Dengan metode "gsettings" ini, gedit secara otomatis menutup a.txt dan menggunakan kembali jendela a.txt yang ada untuk membuka b.txt di dalamnya setiap kali b.txt diklik dua kali pada desktop. Jadi, ini adalah mode "jendela tunggal, tanpa tab" (sebagai lawan dari "banyak jendela").

(Omong-omong, nilai default untuk "show-tabs mode" adalah 'otomatis'.)

i7pj3qnuz
sumber
@don saya tidak terlalu terbiasa dengan launcher. Apa perintah untuk memanggil peluncur terpisah?
i7pj3qnuz

Jawaban:

5

Alasan mengapa modifikasi Anda dari Execkunci dalam file .desktop tidak berfungsi adalah gedit diaktifkan DBus. Ini berarti diluncurkan melalui daemon DBus sesi Anda dan kemudian menyediakan antarmuka DBus umum untuk program yang dapat diaktifkan untuk menentukan file yang akan dibuka. Anda dapat mencegah hal ini dengan mengubah DBusActivatablekunci ke false.

Selain itu, jauh lebih baik untuk membuat salinan file .desktop yang ingin Anda modifikasi di direktori home Anda dan menggunakannya untuk mengganti yang lebar sistem daripada mengubah yang lebar sistem secara langsung. Dengan begitu sistem yang satu tidak akan ditimpa pada pembaruan paket distro. Untuk melakukan itu cukup salin /usr/share/applications/org.gnome.gedit.desktopke ~/.local/share/applications/org.gnome.gedit.desktop. File di jalur ini akan menimpa file dengan nama yang sama dari direktori seluruh sistem.

Lalu ada juga perbedaan penting antara dua flag yang mungkin digunakan untuk membuka jendela baru: --new-windowatau -s. Keduanya akan menghasilkan file yang dibuka di jendela baru, tetapi dengan -ssetiap jendela juga akan menjadi milik prosesnya sendiri. Saat menggunakan --new-windowsemua jendela berbagi proses gedit yang sama.

Dan akhirnya untuk memastikan bahwa ini juga berfungsi jika Anda memilih beberapa file di manajer file Anda dan membukanya, Anda perlu modifikasi Execkunci lainnya. The %Uberarti bahwa beberapa URL diperbolehkan sebagai argumen untuk perintah ini, yang berarti bahwa file manager akan mulai seperti ini: gedit --new-window file1.txt file2.txt. Ini menghasilkan satu jendela baru dengan dua tab. Jika Anda mengubah ini menjadi %usekarang, itu memberitahu manajer file, bahwa aplikasi hanya menerima URL tunggal sebagai argumen dan karenanya menyebabkannya menjalankan perintah beberapa kali, setiap kali dengan file yang berbeda sebagai argumennya. Untuk detail lebih lanjut tentang ini lihat spesifikasi entri desktop freedesktop .

Sebastian
sumber
0

Berdasarkan jawaban Sebastians , lakukan hal berikut:

  1. Buat salinan lokal dari konfigurasi gedit. Perubahan yang Anda lakukan, hanya berlaku untuk pengguna saat itu.

    cp /usr/share/applications/org.gnome.gedit.desktop ~ / .local / share / Applications / geditNewWin.desktop

  2. Dalam file ~ / .local / share / application / geditNewWin.desktop: Buka semua EXEC=baris (ada beberapa) dan atur Exec=gedit -s %U. Perubahan lebih lanjut Name=Text Editorke Name=Text Editor (new window).

  3. Di Nautilus File Manager (pengelola file standar di Gnome, sering disebut hanya 'File' atau File Gnome ) kaitkan filetypes (.txt, .csv, ...) dengan aplikasi yang baru Anda buat:

    • klik kanan pada file .txt (atau jenis file apa pun yang Anda inginkan)
    • klik 'Properti'
    • pilih tab 'Open With'
    • pilih 'Editor Teks (jendela baru)' dari daftar
    • klik 'Set as default'
Markus Dutschke
sumber