GNOME Bugzilla – Bug 719999
better profile support
Last modified: 2021-06-10 20:38:23 UTC
I only recently got around to properly dealing with the removal of --disable-factory and such. I've gotten my gnome-terminal setup to a place where it's working very nice again (probably even better than before), but it could be a bit better. Here's what I have so far: - I have 5 different terminal profiles: - default, spadina, jhbuild, lcl, white - default is pretty typical. - spadina sshs to my server and connects to my screen (for irssi) - jhbuild runs 'jhbuild shell' - lcl runs 'lcl' which is something similar to jhbuild shell spadina has a black background. default has a dark blue background. jhbuild has a dark green background. lcl has a dark red background. I use this to tell them apart when I have lots of windows open. When I'm outside in bright sunlight and it's difficult to see the screen, I sometimes switch any one of these to 'white', which has a large font and is black-on-white in order to improve visibility. I never want to start a 'white' terminal on its own -- I consider it to be a variation of the other profiles, in a way (I mention it to show that I'm using profiles in two different ways). For each profile (taking spadina as an example) I have a setup like this: ==> .local/share/applications/ca.desrt.Terminals.spadina.desktop <== [Desktop Entry] Name=spadina Exec=gnome-terminal --app-id ca.desrt.Terminals.spadina --profile=spadina Icon=/home/desrt/.local/share/icons/spadina.png Type=Application Categories=GNOME;GTK;Utility;TerminalEmulator;System; StartupNotify=true X-Desktop-File-Install-Version=0.18 ==> .local/share/dbus-1/services/ca.desrt.Terminals.spadina.service <== [D-BUS Service] Name=ca.desrt.Terminals.spadina Exec=/usr/libexec/gnome-terminal-server --app-id ca.desrt.Terminals.spadina --class ca.desrt.Terminals.spadina This is working pretty nicely. The --class argument is currently being ignored because of bug 685742 but it doesn't matter that much because gnome-shell prefers _GTK_APPLICATION_ID to WMCLASS, if it is set. Ideally, I'd like to be able to make the following changes: - remove the Exec line from the .desktop file - change the .desktop file to DBusActivatable=true - add a --default-profile= argument to the .service file - perhaps prevent profiles other than this one from being started with that instance of the service (but note: should be able to change during runtime to 'white') - for the profile 'spadina', this consists of an ssh to my server and connection to my running screen instance. I never want to have more than one of these, so the ability to disable Ctrl+Shift+N and Ctrl+Shift+T for this case would be nice. This is sort of like a single-instance app for which you only ever want one window. It would also be nice if there was some sort of a UI to automatically configure this for a given profile ("Install profile as application" or so). This could perhaps create an appid org.gnome.Terminal.Profile.UUID_GOES_HERE. This could also be used to find the correct profile when gnome-terminal-server is started with that app-id, instead of having to use --default-profile. I guess the main TODOs here break down to: - add --default-profile to the server - implement GApplication::activate - add the profile saving UI
Also see bug 779315
-- 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/7392.