GNU bug report logs -
#62164
29.0.60; ediff behaves poorly by default on tiling window managers
Previous Next
Reported by: Spencer Baugh <sbaugh <at> janestreet.com>
Date: Mon, 13 Mar 2023 16:45:02 UTC
Severity: normal
Found in version 29.0.60
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #11 received at 62164 <at> debbugs.gnu.org (full text, mbox):
Po Lu <luangruo <at> yahoo.com> writes:
> Spencer Baugh <sbaugh <at> janestreet.com> writes:
>
>> ediff defaults to a multiframe UI on graphical displays. If the user is
>> running a tiling window manager on X, the control panel frame gets tiled
>> and the whole thing becomes either very ugly or unusable.
>>
>> This is a very long-standing bug, but it should be fixed. Most tiling
>> window manager users work around this with:
>>
>> (setq ediff-window-setup-function 'ediff-setup-windows-plain)
>>
>> But I would rather the multiframe UI just work correctly by default.
>
> Maybe such users could be taught to make the utility window
> override-redirect instead.
>
>> On X, perhaps we should set _NET_WM_WINDOW_TYPE to
>> _NET_WM_WINDOW_TYPE_UTILITY for the ediff control panel frame, so that
>> tiling window managers float the control panel frame frame by default.
>> This would probably need to be a new frame parameter specific to X. I
>> can try to make that change if that seems reasonable. (This would also
>> be useful for allowing other packages to have multiframe UI modes.)
>
> The ediff control frame is not a utility frame because you are supposed
> to type in it.
>
> One window manager which extensively uses keyboard navigation (I'm not
> sure I remember which) applies the No Input focus model to
> _NET_WM_WINDOW_TYPE_UTILITY, not letting you type in such toplevel
> windows.
>
>> I'm not sure what we'd do for other windowing systems. Probably the
>> only other platform where tiling window managers are at all common is
>> Wayland; perhaps there's some way to set this hint through PGTK?
>
> No, Wayland doesn't provide any of this, unless you use a protocol that
> is exclusive to GNOME Shell. Popups are instead supposed to be
> implemented as xdg_popup windows and not xdg_toplevels, or toplevels
> transient for another toplevel. The former is technically infeasible
> under GTK, and the latter results in the control frame obscuring
> everything else.
BTW, `x-change-window-property' lets you mess around with window
properties if you want. No frame parameter needed.
This bug report was last modified 2 years and 13 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.