Just a quick follow-up about my earlier post – it looks like I mis-read the
systemd.exec man page and “PassEnvironment” is not necessary for system services.
Also, since PassEnvironment is not necessary, you could probably use
EnvironmentFile=-/etc/environment to make all the variables listed in /etc/environment available to all GNOME processes (it might be cool to get that added to /usr/lib/systemd/system/gdm.service on Fedora Linux so it works by default).
Lastly, it probably isn’t useful to you since you want the same behavior as macOS and Windows, but for those who use only Linux, the package
ibus-typing-booster provides an optional input source/method that can be added under
Region & Language. If you add
Other (Typing Booster), then click the gear icon and add the
t-latn-pre input method above your native keyboard and save your settings, then you can toggle between this auxiliary input method and your normal one with
Super+Space (configurable under keyboard shortcuts). When the Typing Booster input method is enabled, a rocket icon will appear in your system tray and accented characters like ç and ê can be entered by prefixing the letters with ~ and ^ respectively. Here is the full list of modifiers that the t-latn-pre input method provides:
(I had to do a screenshot because discourse couldn’t handle all the characters)
If you don’t like the auto-completion popup dialog that Typing Booster displays by default as you type, you can disable that by checking
Enable suggestions by key under the options tab. Here are some more screenshots showing my preferred configuration:
P.S. I just noticed while writing this that there is also a
t-latn1-pre input method that appears to provide the '+c modifier that you are interested in, so maybe it would work for you afterall?:
Hope that helps.