Jak można gedit
zmusić do otwarcia nowego okna niezależnie od istniejących okien gedit za każdym razem, gdy plik tekstowy (.txt) zostanie dwukrotnie kliknięty na pulpicie Gnome w Debianie 8, Jessie?
Załóżmy, że a.txt jest już otwarty w oknie gedit i że b.txt jest dwukrotnie kliknięty na pulpicie Gnome w Debian 8 Jessie. Następnie, niestety, zgodnie z domyślnymi ustawieniami fabrycznymi, b.txt zostanie otwarty w zakładce w tym samym oknie, co a.txt.
Chcę b.txt
jednak otworzyć się w nowym oknie gedit, aby były dwa okna - istniejące okno dla a.txt i nowe okno dla b.txt.
Jeśli Gnome wywołał gedit z opcją „-s” jak w
gedit -s b.txt
następnie b.txt
zostanie otwarty w nowym oknie, a a.txt pozostanie w swoim istniejącym oknie.
Jednak domyślnie Gnome wydaje się wywoływać gedit bez opcji „-s”.
Plik konfiguracyjny
/usr/share/applications/org.gnome.gedit.desktop
zawiera dyrektywę wykonawczą
Exec=gedit %U
Więc zmieniłem to na
Exec=gedit -s %U
za pomocą następujących poleceń i ponownie uruchomił 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
Jednak ta metoda zawiodła. Plik b.txt nadal otwiera się na karcie w tym samym oknie, co plik a.txt. Utknąłem. Potrzebuję twojej pomocy.
Domyślny tryb gedit to „pojedyncze okno, wiele kart”. Chcę tryb „wielu okien”.
Nawiasem mówiąc, następująca bezużyteczna metoda zamienia gedit w tryb „pojedynczego okna, bez karty”, co nie jest tym, czego chcę.
gsettings set org.gnome.gedit.preferences.ui show-tabs-mode 'never'
Dzięki tej metodzie „gsettings” gedit automatycznie zamyka a.txt i ponownie wykorzystuje istniejące okno a.txt, aby otworzyć w nim b.txt za każdym razem, gdy b.txt zostanie dwukrotnie kliknięty na pulpicie. Zatem jest to tryb „pojedynczego okna, bez zakładki” (w przeciwieństwie do „wielu okien”).
(Nawiasem mówiąc, domyślną wartością dla „show-tabs-mode” jest „auto”.)