I would like to configure default applications using environment variables for use with exo-open. In my use case, I want to set Alacritty as the default terminal emulator, but with the environment variable WINIT_HIDPI_FACTOR=1. The way I've currently registered this in the Preferred Applications GUI, in the Utilites tab for the Terminal Emulator, is: bash -c 'env WINIT_HIDPI_FACTOR=1 alacritty' This works if I run the following: $ exo-open --launch TerminalEmulator However, if I pass additional arguments, they are ignored. For example: $ exo-open --launch TerminalEmulator htop This simply opens Alacritty without opening htop. Similarly, when certain .desktop files are set to open in the terminal, they will not open. Instead, only an ordinary terminal window opens. The above setting in the Preferred Applications GUI is the only way in which the first command can run. I have tried the following setups: bash -c 'env WINIT_HIDPI_FACTOR=1 alacritty "%s"' bash -c 'env WINIT_HIDPI_FACTOR=1 alacritty' "%s" bash -c env WINIT_HIDPI_FACTOR=1 alacritty "%s" None of them work. I have already configured the desktop file for Alacritty to have the required environment variables set. Is there a way to get exo-open to use the desktop file? Or is there another way to pass environment variables in the Preferred Applications GUI along with possible command line options ("%s")? This issue has been discussed here: https://forum.xfce.org/viewtopic.php?id=13829
Is this not a duplicate of Bug 16346?
This is very similar, but slightly different. That bug is for the command line exo-open, where as I would like this feature to be in the Preferred Applications GUI. I do not want to set the environment variable every time I run exo-open in the command line, but only once in the GUI. Also, sometimes I cannot set it manually, for eg. if a desktop file is set to run inside a terminal. I can manually edit every such desktop file, but it is annoying to keep doing this when I install a new program that has a desktop file set to open the program in the terminal.
I found a workaround to this. I created a new script to export any environment variables and control the "%s" options passed to exo-open. The contents are as follow: #!/usr/bin/bash export WINIT_HIDPI_FACTOR=1 if [ -z "$*" ]; then alacritty else alacritty -e $@ fi By passing the path to the script in the Preferred Applications GUI, I now have a workaround to the absence of desktop file support in the GUI. The only missing thing is an nice icon the GUI, but I'm not bothered by it.
-- GitLab Migration Automatic Message -- This bug has been migrated to xfce.org'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.xfce.org/xfce/exo/-/issues/22. Please create an account or use an existing account on one of our supported OAuth providers. If you want to fork to submit patches and merge requests please continue reading here: https://docs.xfce.org/contribute/dev/git/start#gitlab_forks_and_merge_requests Also feel free to reach out to us on the mailing list https://mail.xfce.org/mailman/listinfo/xfce4-dev