From: martin rudalics <rudalics@gmx.at>
To: Tassilo Horn <tsdh@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: Proposing changes to adjust_frame_size
Date: Mon, 10 May 2021 10:25:36 +0200 [thread overview]
Message-ID: <48753133-11a3-a21f-a1f9-4e58508079ac@gmx.at> (raw)
In-Reply-To: <87a6p3iv9q.fsf@gnu.org>
>> 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
next prev parent reply other threads:[~2021-05-10 8:25 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-25 17:11 Proposing changes to adjust_frame_size martin rudalics
2021-04-27 8:22 ` martin rudalics
2021-04-27 14:16 ` Yuuki Harano
2021-05-02 8:46 ` martin rudalics
2021-05-02 11:21 ` Alan Third
2021-05-02 16:17 ` martin rudalics
2021-05-05 8:51 ` martin rudalics
2021-05-05 10:47 ` Yuuki Harano
2021-05-05 11:24 ` martin rudalics
2021-05-05 14:07 ` Yuuki Harano
2021-05-05 15:01 ` martin rudalics
2021-05-05 16:45 ` martin rudalics
2021-05-05 18:54 ` Tassilo Horn
2021-05-06 7:44 ` martin rudalics
2021-05-06 7:59 ` Tassilo Horn
2021-05-06 8:39 ` martin rudalics
2021-05-06 8:49 ` Tassilo Horn
2021-05-06 12:10 ` martin rudalics
2021-05-06 12:31 ` Tassilo Horn
2021-05-06 14:10 ` martin rudalics
2021-05-06 14:47 ` Tassilo Horn
2021-05-07 8:03 ` martin rudalics
2021-05-08 7:02 ` Tassilo Horn
2021-05-08 7:16 ` martin rudalics
2021-05-08 14:03 ` Tassilo Horn
2021-05-08 15:17 ` martin rudalics
2021-05-08 20:32 ` Tassilo Horn
2021-05-09 8:41 ` martin rudalics
2021-05-09 10:09 ` Garjola Dindi
2021-05-09 10:12 ` Garjola Dindi
2021-05-09 18:48 ` Tassilo Horn
2021-05-10 8:25 ` martin rudalics [this message]
2021-05-10 12:27 ` martin rudalics
2021-05-10 19:05 ` Tassilo Horn
2021-05-10 19:21 ` martin rudalics
2021-05-10 19:28 ` Tassilo Horn
2021-05-11 8:29 ` martin rudalics
2021-05-11 9:25 ` Tassilo Horn
2021-05-12 8:44 ` martin rudalics
2021-05-12 14:53 ` Tassilo Horn
2021-05-12 16:40 ` martin rudalics
2021-05-12 19:06 ` Tassilo Horn
2021-05-13 7:55 ` martin rudalics
2021-05-13 8:08 ` Tassilo Horn
2021-05-16 8:29 ` martin rudalics
2021-05-16 8:33 ` Tassilo Horn
2021-05-16 9:14 ` martin rudalics
2021-05-16 9:16 ` Tassilo Horn
2021-05-16 12:24 ` martin rudalics
2021-05-16 19:08 ` Tassilo Horn
2021-05-17 7:33 ` martin rudalics
2021-05-06 14:41 ` Yuuki Harano
2021-05-09 9:32 ` Yuuki Harano
2021-05-09 13:47 ` martin rudalics
2021-05-09 15:30 ` Yuuki Harano
2021-05-10 8:24 ` martin rudalics
2021-05-10 13:18 ` Yuuki Harano
2021-05-10 14:16 ` martin rudalics
2021-05-10 15:41 ` Yuuki Harano
2021-05-10 19:20 ` martin rudalics
2021-05-11 14:32 ` Yuuki Harano
2021-05-12 8:47 ` martin rudalics
2021-05-13 8:48 ` Garjola Dindi
2021-05-01 18:59 ` Alan Third
2021-05-02 7:38 ` martin rudalics
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48753133-11a3-a21f-a1f9-4e58508079ac@gmx.at \
--to=rudalics@gmx.at \
--cc=emacs-devel@gnu.org \
--cc=tsdh@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).