[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#61525: 29.0.60; delete-frame will raise frames in another virtual de
From: |
Daniel Martín |
Subject: |
bug#61525: 29.0.60; delete-frame will raise frames in another virtual desktop |
Date: |
Thu, 16 Feb 2023 00:48:59 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (darwin) |
Eli Zaretskii <eliz@gnu.org> writes:
>> +void ns_make_frame_key_window (struct frame *f)
>> +{
>> + [[FRAME_NS_VIEW (f) window] makeKeyWindow];
>> +}
>
> Is this new call guaranteed to exist and work well on all the
> supported OS versions where we have the NS build? I wouldn't want to
> fix this on some systems and break it on others at the same time.
makeKeyWindow is a very old API that should be available on every macOS
and GNUstep we support, AFAIK. I see usages of that API in other parts
of the NS build, in things as central as frame creation, and they are
not protected by any version or system check.
>
> Alternatively, can we come up with a change that does both what the
> old code did and this addition? That old code did work at some point,
> I presume?
This is not the case of the old code breaking at some point. It's a
difference in behavior between the GNU/Linux version of Emacs and the NS
version of Emacs. In GNU/Linux, if you place an Emacs frame in a
separate desktop and press C-x 5 0, the window manager does not
automatically switch to the desktop where the other Emacs frames reside.
I don't know the reason why the NS build has been calling raise-frame
for so long. I presume it was considered a good enough way to refocus
to another frame after closing one, in a world where virtual desktops
were not very common and the behavior reported by the OP was ignored.
I've attached a revised version of the patch, to fix a couple of code
style issues.
0001-NS-Do-not-raise-a-different-frame-when-closing-a-fra.patch
Description: Text Data
- bug#61525: 29.0.60; delete-frame will raise frames in another virtual desktop, Kai Ma, 2023/02/14
- bug#61525: 29.0.60; delete-frame will raise frames in another virtual desktop, Daniel Martín, 2023/02/15
- bug#61525: 29.0.60; delete-frame will raise frames in another virtual desktop, Daniel Martín, 2023/02/15
- bug#61525: 29.0.60; delete-frame will raise frames in another virtual desktop, Kai Ma, 2023/02/15
- bug#61525: 29.0.60; delete-frame will raise frames in another virtual desktop, Eli Zaretskii, 2023/02/15
- bug#61525: 29.0.60; delete-frame will raise frames in another virtual desktop,
Daniel Martín <=
- bug#61525: 29.0.60; delete-frame will raise frames in another virtual desktop, Eli Zaretskii, 2023/02/16
- bug#61525: 29.0.60; delete-frame will raise frames in another virtual desktop, Kai Ma, 2023/02/16
- bug#61525: 29.0.60; delete-frame will raise frames in another virtual desktop, Daniel Martín, 2023/02/16
- bug#61525: 29.0.60; delete-frame will raise frames in another virtual desktop, Eli Zaretskii, 2023/02/17
- bug#61525: 29.0.60; delete-frame will raise frames in another virtual desktop, Po Lu, 2023/02/15
- bug#61525: 29.0.60; delete-frame will raise frames in another virtual desktop, Daniel Martín, 2023/02/16