Як змусити gedit відкривати нове вікно незалежно від існуючих вікон gedit кожного разу, коли текстовий файл двічі клацнути на робочому столі Gnome Debian 8?


9

Як можна geditзмусити відкривати нове вікно незалежно від існуючих вікон gedit кожного разу, коли текстовий файл (.txt) двічі клацне на робочому столі Gnome Debian 8, Jessie?

Припустимо, що a.txt вже відкрито у вікні gedit, і що b.txt двічі клацнув на робочому столі Gnome Debian 8 Jessie. Тоді, на жаль, за замовчуванням b.txt буде відкрито на вкладці у тому ж вікні, що й a.txt.

Однак я хочу, b.txtщоб мене відкрили в новому вікні gedit, щоб було два вікна - існуюче вікно для a.txt та нове вікно для b.txt.

Якщо Gnome викликав gedit з опцією "-s", як у

gedit -s b.txt

тоді b.txtбуде відкрито у новому вікні, тоді як a.txt залишатиметься у існуючому вікні.

Однак за замовчуванням Gnome, схоже, викликає gedit без параметра "-s".

Файл конфігурації

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

містить директиву про виконання

Exec=gedit %U

Отже, я змінив його на

Exec=gedit -s %U

наступними командами та перезавантажте комп'ютер.

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

Однак цей метод провалився. B.txt як і раніше відкривається на вкладці в тому ж вікні, що й a.txt. Я застряг. Мені потрібна твоя допомога.

Типовим режимом gedit є "одне вікно, кілька вкладок". Я хочу режим "декількох вікон".

До речі, наступний марний метод перетворює gedit в режим "єдиного вікна, без вкладки", що не є тим, що я хочу.

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

За допомогою цього методу "gsettings" gedit автоматично закриває a.txt і повторно використовує існуюче вікно a.txt, щоб відкрити в ньому b.txt кожного разу, коли b.txt двічі клацнути на робочому столі. Таким чином, це режим "єдине вікно, без вкладки" (на відміну від "декількох вікон").

(До речі, типовим значенням для режиму "show-tabs" є "auto".)


@don Я не дуже знайомий з пусковим пристроєм. Які команди викликати окремий пусковий апарат?
i7pj3qnuz

Відповіді:


5

Причина, через яку ваша модифікація Execключа у файлі .desktop не працювала, полягає в тому, що gedit активовано DBus. Це означає, що він запускається через демон DBus вашого сеансу, а потім надає загальний інтерфейс DBus для таких активованих програм, щоб вказати файли, які потрібно відкрити. Ви можете запобігти цьому, змінивши DBusActivatableключ на false.

Крім того, набагато краще створити копію файлу .desktop, який ви хочете змінити у вашому домашньому каталозі, і використовувати його для заміщення загальносистемного, ніж безпосередньо для зміни системного. Таким чином система не буде перезаписана в оновленнях пакетів distro. Для цього просто скопіюйте /usr/share/applications/org.gnome.gedit.desktopв ~/.local/share/applications/org.gnome.gedit.desktop. Файли на цьому шляху замінять файли з тим самим іменем із загальносистемного каталогу.

Тоді також є важлива різниця між двома можливими прапорами, які використовуються для відкриття нового вікна: --new-windowабо -s. В обох випадках файли будуть відкриті в новому вікні, але з -sкожним вікном також буде належати власний процес. При використанні --new-windowвсіх вікон використовуйте один і той же процес gedit.

І нарешті, щоб переконатися, що це також працює, якщо ви обрали кілька файлів у своєму файловому менеджері та відкрили їх, вам потрібна ще одна модифікація Execключа. В %Uозначає , що кілька URL - адреса дозволені в якості аргументів для цієї команди, а це означає , що файловий менеджер почав би так: gedit --new-window file1.txt file2.txt. Це призводить до появи одного нового вікна з двома вкладками. Якщо ви зміните це на %uтепер, це повідомляє менеджеру файлів, що програма приймає лише одну URL-адресу як аргумент, і тому змушує її виконувати команду кілька разів, кожен раз із іншим файлом як аргументом. Більш детальну інформацію про це див. У специфікації входу для настільних файлів freedesktop .


0

На основі відповіді Себастьян зробіть наступне:

  1. Зробіть локальну копію конфігурацій gedit. Внесені вами зміни стосуються лише поточного користувача.

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

  2. У файлі ~ / .local / share / applications / geditNewWin.desktop: Перейдіть до всіх EXEC=рядків (їх декілька) та встановіть їх на Exec=gedit -s %U. Подальші зміни Name=Text Editorдо Name=Text Editor (new window).

  3. У вашому Nautilus File Manager (стандартний файловий менеджер у Gnome, який часто називають просто файлами або файлами Gnome ) пов'язуйте файли (.txt, .csv, ...) з вами нещодавно створеним додатком:

    • клацніть правою кнопкою миші на .txt файл (або будь-який тип файлу)
    • натисніть "Властивості"
    • вибрав вкладку "Відкрити"
    • виберіть "Редактор тексту (нове вікно)" зі списку
    • натисніть "Встановити за замовчуванням"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.