all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
To: Augusto Stoffel <arstoffel@gmail.com>
Cc: Po Lu <luangruo@yahoo.com>,
	Stephen Berman <stephen.berman@gmx.net>,
	53793@debbugs.gnu.org
Subject: bug#53793: 29.0.50; 'fullscreen' frame parameter on pgtk
Date: Wed, 9 Feb 2022 19:25:12 +0100	[thread overview]
Message-ID: <73b1c734-06f8-aeef-7b0d-865a8939c7ba@gmx.at> (raw)
In-Reply-To: <87sfssnowt.fsf@gmail.com>

 >> 'move-frame-functions' has one modest purpose: Catch the case where a
 >> frame gets moved but _not_ resized.  This should be useful to avoid a
 >> timer when trying to synchronize side by side frames like a speedbar
 >> attached to a normal frame (without resorting to a timer)
 >
 > The speedbar is created with the same height as the attached frame.  For
 > sure you would also want to synchronize their heights in the event of a
 > resize?  (And not only if the main frame is resized from the top edge,
 > of course.)

Obviously.  Any such mechanism would have to hook into
'move-frame-functions', call 'set-frame-window-state-change' and act
accordingly the next time 'window-state-change-functions' is run.

 >> or a frame that should be positioned at a precise location on top of a
 >> normal frame (like a native tooltip frame that doesn't vanish on
 >> input).
 >
 > What if the “precise location” is stipulated relative to the bottom
 > right corner of the frame?  I wish I could stick a clock at the bottom
 > right of the main frame, as if it was part of the echo area but right
 > aligned.

I'd use a child frame for that purpose which means that frame movement
won't affect it at all.  And act accordingly when the size of the echo
area changes.

 >> To catch resizing 'move-frame-functions' is much too noisy.
 >
 > Any of the things above can be achieve by adding the same function to
 > both 'move-frame-functions' and 'window-size-change-functions', but that
 > indeed seems to much noise.

'move-frame-functions' should trigger 'window-state-change-functions' via
'set-frame-window-state-change' as sketched above.  Moving or resizing a
frame by dragging its decorations with the mouse is way too noisy - our
redisplay engine would not have the slightest chance to catch up with
it.  Note that our C code even drops the corresponding events when there
are too many so Lisp code wouldn't even see them in the first place.

 > Resizing a frame is just as rare as moving it, and much less common than
 > changing window configurations, so I don't understand the concern.

It's rare but when it happens it puts a high stress on the internals of
any application.

martin

  reply	other threads:[~2022-02-09 18:25 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-05  8:50 bug#53793: 29.0.50; 'fullscreen' frame parameter on pgtk Augusto Stoffel
2022-02-06  0:59 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
     [not found]   ` <875ypspe4n.fsf@gmail.com>
2022-02-06  9:38     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-06 10:02       ` Augusto Stoffel
2022-02-06 14:02       ` Stephen Berman
2022-02-07  1:23         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-07 19:33           ` Augusto Stoffel
2022-02-08  0:53             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-08  8:56             ` martin rudalics
2022-02-09  8:20               ` Augusto Stoffel
2022-02-09  8:45                 ` martin rudalics
2022-02-09 13:35                   ` Augusto Stoffel
2022-02-09 18:25                     ` martin rudalics [this message]
2022-02-10  7:43                       ` Augusto Stoffel
2022-02-07 22:33           ` Stephen Berman
2022-02-08  0:53             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-08 10:24               ` Stephen Berman

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=73b1c734-06f8-aeef-7b0d-865a8939c7ba@gmx.at \
    --to=rudalics@gmx.at \
    --cc=53793@debbugs.gnu.org \
    --cc=arstoffel@gmail.com \
    --cc=luangruo@yahoo.com \
    --cc=stephen.berman@gmx.net \
    /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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.