GNOME Bugzilla – Bug 779315
Allow to create specific terminal applications
Last modified: 2021-06-10 21:13:20 UTC
This follows bug #775383. The same way GNOME Web (epiphany) allows to create web application, that encapsulate a specific web instance pointing to a specific page in a GNOME application (with a specific launcher icon and specific grouping when switching windows in GNOME), the Terminal should also allow to do that. Previously, this was possible to do it manually, with the WMClass= .desktop property and the --class command line argument. This is no longer possible however, due to the deprecation of --class. They do this using a switch --application-mode that probably changes the window manager class underneath, and by giving a profile location. Terminal could use profiles in the same way, with a similar switch to make it a specific application registered to the window manager. Basically, --application-mode has to lookup the profile for the window manager class before it initializes the Gtk application. So it can start the application with the proper WM class.
Note that the terminal is very similar to the web browser. Both are user interfaces for third party application. A web browser leverages the complete web stack for that. The terminal uses the tty and specific escape characters. But the intent is the same for both: show content that comes from elsewhere. So, it makes sense to have the same kind of features for both.
So --class is deprecated now? Then gnome-terminal --help-gtk should say so. I'm trying to repair my session init script. Terminal windows now spawn at random positions and with random sizes, because they get "gnome-terminal-server.Gnome-terminal" so my window manager can't tell them apart the way it used to. Any ideas how to fix? I use GT version 3.18.3 on Ubuntu Xenial and GT 3.6.2 on Ubuntu precise.
I tried --role= as suggested on the other thread, doesn't yield any visible effect, the window list still has just "gnome-terminal-server.Gnome-terminal".
Moved to https://gitlab.gnome.org/GNOME/gnome-terminal/issues/46
So this is how this should work: * g-t-server gets a new command line flag, --systemd-instance, that will encode the dbus name it will take * we install a gnome-terminal-server@.service file into the systemd user units directory, that calls g-t-server with --systemd-instance "%I". * gnome-terminal client gets a new command line flag, let's say --new-instance, which when passed will create a random name for the instance, and create a systemd user instance from g-t-server@.service, and then use that instance instead of the default org.gnome.Terminal instance.
Also see bug 719999
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gnome-terminal/-/issues/7734.