all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
To: Anders Lindgren <andlind@gmail.com>
Cc: Keith David Bershatsky <esq@lawlist.com>, 21415@debbugs.gnu.org
Subject: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame
Date: Mon, 28 Sep 2015 08:48:11 +0200	[thread overview]
Message-ID: <5608E2AB.7010407@gmx.at> (raw)
In-Reply-To: <CABr8ebYCc+OuxxyHit+Zf=OMcXWEaqyjeRSOC3FpVOVjQ_QyMw@mail.gmail.com>

 > I found one problem related to `toggle-to-maximized'. If this happened
 > right after `frame-resize-pixelwise' was set to a non-nil value, the
 > NSWindow parameter `resizeIncrement' must be updated. If this does not
 > occur, the frame size is rounded down to only accommodate full characters.
 > The extra space was distributed evenly above and below the frame. The
 > attached patch fixes this issue.

Makes sense.  Pushed as 73b0901..e55460e to master.

 > To see the difference, run Emacs -Q and evaluate the following. After the
 > patch is applied, the frame is no longer moves down.
 >
 >      (progn
 >        (setq frame-resize-pixelwise t)
 >        (toggle-frame-maximized))
 >
 > Unfortunately, the frame still doesn't cover the entire screen.

Usually it shouldn't, for maximizing.  The problem as far as I
understand is that NS doesn't have the concept of a "maximized" frame.

 > The
 > documentation to `windowWillUseStandardFrame' says:
 >
 >      "The size of the current screen, which is the screen containing the
 > largest part of the window's current frame, possibly reduced on the top,
 > bottom, left, or right, depending on the current interface style."
 >
 > Effectively, this mean that the frame is reduced one pixel on the top (if
 > the menu bar is visible) and four pixels at the bottom. This corresponds to
 > how other applications, like Chrome, works.

When you do what, in Chrome?  Try maximizing the Chrome window?  How do
you do that?

 > I think it would be relatively easy to override this (well, at least the
 > four pixels at the bottom), but I'm not sure if we should and, if so, under
 > which conditions. (I can image that some users would like Emacs to fill the
 > entire screen whereas others might prefer the standard four pixels to be
 > unused at the bottom.)

We have the concept of a "workarea" as it's returned by
‘display-monitor-attributes-list’.  On all systems I know of, a
"maximized" frame occupies the full workarea, a "fullwidth" frame the
full width of the workarea and a "fullheight" frame the full height of
the workarea. (I have no idea how these concepts expand to multiple
monitors though.)  How do the four unused pixels relate to your
workarea?

 > In the Info documentation to the `fullscreen' frame parameter, there are
 > two values missing: `nil' and `fullscreen'. The former indicates that the
 > frame is in non-maximized state

nil means "neither of ‘maximized’, ‘fullwidth’, ‘fullheight’ or
‘fullboth’".

 > and the latter seems to behave like
 > `fullboth'.

‘fullscreen’ should not be used.  I kept it in because I had the faint
feeling that at some time it was used isntead of ‘fullboth’.

 > Interestingly, the function `toggle-frame-fullscreen' seems to
 > use this undocumented parameter value.

It accepts it IIUC but it does not store it.  Or what do you mean?

Note that the documentations is still not very clear on the entire
subject, mostly so because I don't know how other systems handle it.
For example, xfce which I use on Debian seems to correctly cooperate
with Emacs via the extended window manager hints with one exception: The
state of the "resize" button in the title bar is the same for
‘fullheight’ and ‘maximized’.  Consequently, using that button doesn't
quite DTRT for a full height frame.

On Windows, Emacs controls ‘fullheight’ and ‘fullwidth’ and I see no
such problem.  But you will nowhere find a description of the semantics
of ‘toggle-frame-maximized’ when the frame is in the ‘fullboth’ state
and was ‘maximized’ before.

Note also in this context that Stefan's bug #10670 "`fullscreen' frame
parameter ill-named" is yet unresolved:

   The frame parameter `fullscreen' is ill-named: I think that it should be
   renamed to `maximized' with accepted values nil, `vertical',
   `horizontal', `both', or `fullscreen'.

I agree with his diagnosis but I disagree with the cure.  And for
compatibility reasons we would have to accept the old values anyway.

 > (In addition, there are some control
 > characters showing on the first line.)

Please elaborate.

 > On a side note, the NSTRACE rewrite is coming along nicely (it really
 > helped in tracking down this problem) but it's not yet ready for release.

Fine.  Can you please get yourself write access to the git repository so
you can install it when it's ready?  I feel some unease installing
larger changes on systems where I cannot check the consequences myself
immediately.

martin






  reply	other threads:[~2015-09-28  6:48 UTC|newest]

Thread overview: 141+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-04 17:41 bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame Keith David Bershatsky
2015-09-04 19:17 ` martin rudalics
2015-09-05  0:31 ` Keith David Bershatsky
2015-09-05  9:59   ` martin rudalics
2015-09-06 17:18 ` Keith David Bershatsky
2015-09-06 19:26   ` martin rudalics
2015-09-06 17:56 ` Keith David Bershatsky
2015-09-06 19:26   ` martin rudalics
2015-09-06 22:01 ` Keith David Bershatsky
2015-09-07  7:05   ` martin rudalics
2015-09-07 17:53 ` Keith David Bershatsky
2015-09-08  8:29   ` martin rudalics
2015-09-08 16:13 ` Keith David Bershatsky
2015-09-08 19:22   ` martin rudalics
2015-09-09  0:38 ` Keith David Bershatsky
2015-09-09  6:27   ` martin rudalics
2015-09-09 14:30 ` Keith David Bershatsky
2015-09-09 15:53   ` martin rudalics
2015-09-09 16:26 ` Keith David Bershatsky
2015-09-09 17:11   ` martin rudalics
2015-09-10  0:46 ` Keith David Bershatsky
2015-09-10  6:57   ` martin rudalics
2015-09-10 18:39 ` Keith David Bershatsky
2015-09-12 11:11   ` martin rudalics
2015-09-12 19:57     ` Anders Lindgren
2015-09-13  9:02       ` martin rudalics
2015-09-12 11:12   ` martin rudalics
2015-09-12 18:11 ` Keith David Bershatsky
2015-09-12 23:09 ` Keith David Bershatsky
2015-09-13  9:02   ` martin rudalics
2015-09-12 23:13 ` Keith David Bershatsky
2015-09-13  7:10   ` Anders Lindgren
2015-09-13  9:02     ` martin rudalics
2015-09-13 16:17 ` Keith David Bershatsky
2015-09-13 18:01   ` martin rudalics
     [not found]     ` <CABr8ebYkM02NHh9BeU8tNfw0=eMtqJfQALAhN17VfOQtzfq9CQ@mail.gmail.com>
2015-09-13 20:21       ` bug#21415: Fwd: " Anders Lindgren
     [not found]       ` <55F6860D.9060503@gmx.at>
2015-09-14  9:37         ` Anders Lindgren
2015-09-14 13:39           ` martin rudalics
2015-09-14 14:45             ` Anders Lindgren
2015-09-14 17:37               ` martin rudalics
2015-09-14 19:03                 ` Anders Lindgren
2015-09-15  8:29                   ` martin rudalics
2015-09-19 21:12                     ` Anders Lindgren
2015-09-19 22:17                       ` martin rudalics
2015-09-20  7:25                         ` Anders Lindgren
2015-09-20  8:44                           ` martin rudalics
2015-09-20  9:27                             ` Anders Lindgren
2015-09-20  9:54                               ` martin rudalics
2015-09-20 18:29                                 ` Anders Lindgren
2015-09-21  9:42                       ` martin rudalics
2015-09-13 18:36 ` Keith David Bershatsky
2015-09-14  8:31   ` martin rudalics
2015-09-14  8:32   ` martin rudalics
2015-09-13 18:53 ` Keith David Bershatsky
2015-09-14 15:25 ` Keith David Bershatsky
2015-09-14 17:37   ` martin rudalics
2015-09-20 16:47 ` Keith David Bershatsky
2015-09-20 18:31   ` Anders Lindgren
2015-09-21  9:43     ` martin rudalics
2015-09-21 18:56       ` Anders Lindgren
2015-09-22  6:38         ` martin rudalics
2015-09-22  8:54           ` Anders Lindgren
2015-09-22  9:36             ` martin rudalics
2015-09-27 18:53               ` Anders Lindgren
2015-09-28  6:48                 ` martin rudalics [this message]
2015-09-28 21:35                   ` Anders Lindgren
2015-09-29  7:23                     ` martin rudalics
2015-09-29  7:50                       ` Eli Zaretskii
2015-09-30 17:54                       ` Anders Lindgren
2015-09-30 18:57                         ` martin rudalics
2015-09-30 21:29                           ` Anders Lindgren
2015-10-02  8:37                             ` martin rudalics
2015-10-03  6:16                               ` Anders Lindgren
2015-10-03  8:32                                 ` martin rudalics
2015-09-20 19:14 ` Keith David Bershatsky
2015-09-28 14:32 ` Keith David Bershatsky
2015-09-28 15:31   ` martin rudalics
2015-09-28 17:49 ` Keith David Bershatsky
2015-09-28 18:00   ` martin rudalics
2015-09-28 18:13 ` Keith David Bershatsky
2015-09-29  7:22   ` martin rudalics
2015-09-29 17:09 ` Keith David Bershatsky
2015-09-29 17:14   ` martin rudalics
2015-10-01  6:43 ` Keith David Bershatsky
2015-10-02  8:37   ` martin rudalics
2015-10-03 11:28 ` Andy Moreton
2015-10-03 12:31   ` martin rudalics
2015-10-05 21:02 ` Andy Moreton
2015-10-06  7:57   ` martin rudalics
2015-10-07  3:42 ` Keith David Bershatsky
2015-10-13 10:21   ` martin rudalics
2015-10-13 17:23 ` Keith David Bershatsky
2015-10-13 17:59   ` Anders Lindgren
2015-10-14  8:49   ` martin rudalics
2015-10-14 15:58 ` Keith David Bershatsky
2015-10-14 17:37   ` martin rudalics
2015-10-14 21:53     ` Anders Lindgren
2015-10-15 10:00       ` martin rudalics
2015-10-20 17:20         ` Anders Lindgren
2015-10-21  8:02           ` martin rudalics
2015-10-21 16:07             ` martin rudalics
2015-10-22 14:54               ` Anders Lindgren
2015-10-22 15:35                 ` martin rudalics
2015-10-23  9:13                   ` Anders Lindgren
2015-10-23 18:00                     ` martin rudalics
2015-10-24 15:33                       ` Anders Lindgren
2015-10-24 18:57                 ` martin rudalics
2015-10-24 21:43                   ` Anders Lindgren
2015-10-27 21:42                     ` Anders Lindgren
2015-10-28  7:54                       ` Anders Lindgren
2015-10-28  9:55                         ` martin rudalics
2015-10-28 11:25                           ` Anders Lindgren
2015-10-28 19:19                             ` martin rudalics
2015-10-29 22:53                               ` Anders Lindgren
2015-10-30  7:59                                 ` martin rudalics
2015-10-30  8:10                                   ` martin rudalics
2015-10-30  9:00                                     ` Anders Lindgren
2015-10-30  9:34                                       ` martin rudalics
2015-10-30 10:18                                         ` Anders Lindgren
2015-10-28  9:54                       ` martin rudalics
2015-10-14 20:34 ` Keith David Bershatsky
2015-10-15  9:59   ` martin rudalics
2015-10-21  1:03 ` Keith David Bershatsky
2015-10-21  2:07   ` Anders Lindgren
2015-10-29  2:47 ` Keith David Bershatsky
2015-11-14 19:42   ` Anders Lindgren
2015-11-01 16:53 ` Keith David Bershatsky
2015-11-01 21:08   ` Anders Lindgren
2015-11-02  5:18 ` Keith David Bershatsky
2015-11-02 20:50   ` Anders Lindgren
2015-11-03  6:29 ` Keith David Bershatsky
2015-11-03  8:54   ` Anders Lindgren
2015-11-04  2:21 ` Keith David Bershatsky
2015-11-04  5:53   ` Anders Lindgren
2015-11-16  3:06 ` Keith David Bershatsky
2015-11-16  9:11   ` Anders Lindgren
2020-09-17 17:53   ` Lars Ingebrigtsen
2015-11-16  3:16 ` Keith David Bershatsky
2015-11-16  7:54   ` Anders Lindgren
2015-11-16 17:25 ` Keith David Bershatsky
2015-11-16 23:52 ` Keith David Bershatsky

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=5608E2AB.7010407@gmx.at \
    --to=rudalics@gmx.at \
    --cc=21415@debbugs.gnu.org \
    --cc=andlind@gmail.com \
    --cc=esq@lawlist.com \
    /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.