[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Proposing changes to adjust_frame_size
From: |
martin rudalics |
Subject: |
Re: Proposing changes to adjust_frame_size |
Date: |
Mon, 10 May 2021 10:25:36 +0200 |
>> Elementary. But why should it react so allergically to our resize
>> request?
>
> Sorry, I'm a layman in WMs. What does or doesn't it do?
If I only knew. From what I've been able to understand till now, a
tiling WM on X that sends Emacs a MapNotify event when displaying a
frame, doesn't like to be told by Emacs that the size it allots to the
Emacs frame is not the size Emacs actually wants (with emacs -Q that's
the default 80 columns 36 lines frame).
>> Basically, we have no choice: For some "normal" WMs we have to tell
>> them the size we want when the frame is mapped because before that
>> they may ignore our resize requests and after that the frame has
>> already appeared with its wrong size. For a tiling WM requesting a
>> size when the frame is mapped is apparently a mortal sin.
>
> If you think that the window manager does something wrong or could at
> least so something better, I'm happy to file a sway bug report or ask
> the sway devs on IRC.
That would not help because IIUC XMonad and EXWM do the same.
>> Whatever it be, I attach a patch to address this issue.
>
> Hm, I can see no difference with your patch applied. Still emacs -Q has
> just a menubar and the toolbar is not shown until I move focus to
> another WM window and back to the emacs frame.
Darn. It could not have worked because `x-create-frame-with-faces'
removes any visibility spec, creates the frame as invisible and re-adds
the visibility spec later on
(let* (...
(visibility-spec (assq 'visibility parameters))
...
(setq frame (x-create-frame `((visibility . nil) . ,params)))
...
(if (null visibility-spec)
(make-frame-visible frame)
(modify-frame-parameters frame (list visibility-spec)))
so I could never have caught this anyway and the entire
if (EQ (visibility, Qicon))
x_iconify_frame (f);
else
{
if (EQ (visibility, Qunbound))
visibility = Qt;
if (!NILP (visibility))
x_make_frame_visible (f);
else
f->was_invisible = true;
}
store_frame_param (f, Qvisibility, visibility);
block in Fx_create_frame is for the birds when this is called from
`x-create-frame-with-faces'. This kludge needs additional surgery in
the Lisp part so please bear with me.
martin
- Re: Proposing changes to adjust_frame_size, (continued)
- Re: Proposing changes to adjust_frame_size, martin rudalics, 2021/05/07
- Re: Proposing changes to adjust_frame_size, Tassilo Horn, 2021/05/08
- Re: Proposing changes to adjust_frame_size, martin rudalics, 2021/05/08
- Re: Proposing changes to adjust_frame_size, Tassilo Horn, 2021/05/08
- Re: Proposing changes to adjust_frame_size, martin rudalics, 2021/05/08
- Re: Proposing changes to adjust_frame_size, Tassilo Horn, 2021/05/08
- Re: Proposing changes to adjust_frame_size, martin rudalics, 2021/05/09
- Re: Proposing changes to adjust_frame_size, Garjola Dindi, 2021/05/09
- Re: Proposing changes to adjust_frame_size, Garjola Dindi, 2021/05/09
- Re: Proposing changes to adjust_frame_size, Tassilo Horn, 2021/05/09
- Re: Proposing changes to adjust_frame_size,
martin rudalics <=
- Re: Proposing changes to adjust_frame_size, martin rudalics, 2021/05/10
- Re: Proposing changes to adjust_frame_size, Tassilo Horn, 2021/05/10
- Re: Proposing changes to adjust_frame_size, martin rudalics, 2021/05/10
- Re: Proposing changes to adjust_frame_size, Tassilo Horn, 2021/05/10
- Re: Proposing changes to adjust_frame_size, martin rudalics, 2021/05/11
- Re: Proposing changes to adjust_frame_size, Tassilo Horn, 2021/05/11
- Re: Proposing changes to adjust_frame_size, martin rudalics, 2021/05/12
- Re: Proposing changes to adjust_frame_size, Tassilo Horn, 2021/05/12
- Re: Proposing changes to adjust_frame_size, martin rudalics, 2021/05/12
- Re: Proposing changes to adjust_frame_size, Tassilo Horn, 2021/05/12