exo-open sets invalid $DISPLAY on Wayland
When exo-open
launches a preferred application from inside a Wayland session, it sets $DISPLAY
to $WAYLAND_DISPLAY
, which breaks programs that don't support Wayland. To demonstrate:
echo $DISPLAY
exo-open --launch TerminalEmulator
# echo $DISPLAY in new TerminalEmulator window
On my system echo $DISPLAY
prints :0
before exo-open
and wayland-1
in the new TerminalEmulator window.
This occurs due to the set_environment
function passed to g_spawn_async
by exo_execute_preferred_application_on_screen
which sets $DISPLAY
to the result of gdk_display_get_name
.