unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Screen real estate utiliziation
@ 2005-09-16 16:27 Daniel Brockman
  2005-09-18 12:14 ` Richard M. Stallman
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Brockman @ 2005-09-16 16:27 UTC (permalink / raw)


Hi list,

Under a window system, Emacs frames want to be resized in
certain increments.  The window manager usually respects this,
so an Emacs frame is usually w * W pixels wide and h * H
pixels tall, where w and h are integers and W and H represent
the character width and height, respectively.

This usually results in each Emacs frame displaying a whole
number of lines of text.  But I've got my `mode-line' face
set to make it draw a two-pixel border around the mode line.
This means that my Emacs frames are not displaying a whole
number of lines of text.

Assuming plain-text buffers, I always see only part of the
bottom-most line of the bottom-most window of each frame.

This in itself doesn't bother me.  What does bother me is
what happens when Emacs is forced to be a certain height.
If an Emacs frame that is displaying a partial line
immediately above the mode line is forced to be a single
pixel taller, that one pixel goes to waste.

This screenshot demonstrates the phenomenon:
<http://www.brockman.se/software/emacs/dead-space.png>

Notice the dead space at the very bottom of the frame.
Those ca. 10 pixels could be put to better use by extending
the main window height by 10 pixels, so that the dead space
would be eliminated.

The same thing happens for the frame width (in the above
screenshot, I believe there are two pixels of dead space to
the far right), but that doesn't bother me as much.

You can reproduce this easily by bringing up a buffer with
large headings, such as the Info system, and then maximizing
the Emacs frame in, e.g., GNOME.  Unless you are very lucky
and the pixels add up just right, you should be able to
observe the partial line and dead space.

I have been strolling through the source code trying to
figure out how difficult this would be to fix, but I'm not
sufficiently familiar with the code so I have to give up.
I'd appreciate it if someone who knows this code better
could evaluate the difficulty of fixing the problem.

Please let me know if any part of the problem is unclear.


Best regards,

-- 
Daniel Brockman <daniel@brockman.se>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Screen real estate utiliziation
  2005-09-16 16:27 Screen real estate utiliziation Daniel Brockman
@ 2005-09-18 12:14 ` Richard M. Stallman
  2005-09-23  5:56   ` Daniel Brockman
  0 siblings, 1 reply; 5+ messages in thread
From: Richard M. Stallman @ 2005-09-18 12:14 UTC (permalink / raw)
  Cc: emacs-devel

One of the items in TODO is to eliminate the requirement for windows
and frames to have heights a multiple of a line.  That should
make it much easier to deal with this kind of issue.

Would you like to try working on that?  If you could do it in
a few months, that would be fine for installing it after Emasc 22.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Screen real estate utiliziation
  2005-09-18 12:14 ` Richard M. Stallman
@ 2005-09-23  5:56   ` Daniel Brockman
  2005-09-23 18:13     ` Richard M. Stallman
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Brockman @ 2005-09-23  5:56 UTC (permalink / raw)


Richard,

> One of the items in TODO is to eliminate the requirement for
> windows and frames to have heights a multiple of a line.
> That should make it much easier to deal with this kind
> of issue.

You're right --- that does need to be done first.

So do we add `window-pixel-height' and `window-pixel-width'
functions, or do we add `window-lines' and `window-columns'
and then make `window-height' and `window-width' return the
pixel sizes?

> Would you like to try working on that?

I'm going to play around with the code some more and see if I
get anywhere, but I definitely can't promise any results.

> If you could do it in a few months, that would be fine for
> installing it after Emasc 22.

-- 
Daniel Brockman <daniel@brockman.se>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Screen real estate utiliziation
  2005-09-23  5:56   ` Daniel Brockman
@ 2005-09-23 18:13     ` Richard M. Stallman
  2005-09-23 19:14       ` Stefan Monnier
  0 siblings, 1 reply; 5+ messages in thread
From: Richard M. Stallman @ 2005-09-23 18:13 UTC (permalink / raw)
  Cc: emacs-devel

    So do we add `window-pixel-height' and `window-pixel-width'
    functions,

I think that is best, since it would not break things.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Screen real estate utiliziation
  2005-09-23 18:13     ` Richard M. Stallman
@ 2005-09-23 19:14       ` Stefan Monnier
  0 siblings, 0 replies; 5+ messages in thread
From: Stefan Monnier @ 2005-09-23 19:14 UTC (permalink / raw)
  Cc: Daniel Brockman, emacs-devel

>     So do we add `window-pixel-height' and `window-pixel-width'
>     functions,

> I think that is best, since it would not break things.

We already have window-pixel-edges.


        Stefan

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-09-23 19:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-16 16:27 Screen real estate utiliziation Daniel Brockman
2005-09-18 12:14 ` Richard M. Stallman
2005-09-23  5:56   ` Daniel Brockman
2005-09-23 18:13     ` Richard M. Stallman
2005-09-23 19:14       ` Stefan Monnier

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).