|
From: | Davide Masserut |
Subject: | bug#65509: [PATCH] Use correct env var when opening frames with freedesktop menu entries |
Date: | Tue, 05 Sep 2023 16:46:30 +0200 |
Po Lu <luangruo@yahoo.com> writes:
Davide Masserut <dm@mssdvd.com> writes:X DEs don't set the $WAYLAND_DISPLAY environment variable, so querying for it returns an empty string. If I run this in X:emacsclient --alternate-editor= --display=$WAYLAND_DISPLAY .emacs.elthe following occurs.When the --display argument is an empty string, Emacs first tries toreuse an exiting frame and, if doesn't find one, it falls back toopen it in the same terminal. The problem arises when an instance islaunched through the DE facilities: Emacs can't use a terminal as afallback and therefore it opens in the background without showing theframe. If we decide that handling such case is not worth the trouble, an error in system log should warn the user to use the X backend.I don't quite follow: if neither of the display environment variablesare present, then Emacs deduces that no display server is running, whereupon it resorts to displaying a TTY frame.
Correct. However, that TTY is occupied by the X window manager, which hides the Emacs interface.
When the argument of --display doesn't exits or is empty, should we check if $DISPLAY is present in the environment and use its value?
When PGTK is enabled, we could check $WAYLAND_DISPLAY and then $DISPLAY before resorting to displaying the frame in a terminal or in a TTY.
I tested this with Gnome and i3, both started from a TTY using startx. I'm not sure how this behaves when using a display manager.
[Prev in Thread] | Current Thread | [Next in Thread] |