unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: lekktu@gmail.com, 10960@debbugs.gnu.org, l26wang@gmail.com
Subject: bug#10960: linum-mode does not work properly when changing font size
Date: Sun, 11 Mar 2012 19:14:07 +0200	[thread overview]
Message-ID: <83fwdfxdpc.fsf@gnu.org> (raw)
In-Reply-To: <jwv8vj7yznp.fsf-monnier+emacs@gnu.org>

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: lekktu@gmail.com,  10960@debbugs.gnu.org,  l26wang@gmail.com
> Date: Sun, 11 Mar 2012 10:37:45 -0400
> 
> The way I see it, set-window-margins can only set the margin's size
> either to "no margin" or to a fixed size given as an integer.

That's correct, but all set-window-margins does is set two attributes
of the window object.  How to use that is entirely up to the display
engine.

When the time comes to display the window, the margins come into play
through the pixel coordinates where we draw the fringe bitmap.  The
code which computes those coordinates eventually calls
window_box_left_offset or window_box_right_offset, which call
window_box_width.  The latter is the single place in the code, AFAICS,
that converts the margin width from character cell units to pixel
units.

> So you'd have to let the Elisp code somehow figure out the *display*
> size of the margin's text (either in pixels or in
> char-cell-equivalent), and I don't know of any way Elisp can do that
> currently.

I didn't suggest to do this in Lisp.  (I don't think Lisp programs
should control the display at this low level.)  What I suggested is to
modify the calculation of the fringe pixel position based on how many
pixels are actually needed for the glyphs (character glyphs, stretch
glyphs, image glyphs, etc.) displayed in the fringe.  Isn't that what
you wanted?





  reply	other threads:[~2012-03-11 17:14 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-06 16:27 bug#10960: linum-mode does not work properly when changing font size Le Wang
2012-03-06 17:07 ` Glenn Morris
2012-03-06 18:11   ` Eli Zaretskii
2012-03-06 21:05     ` Juanma Barranquero
2012-03-10  9:59     ` Eli Zaretskii
2012-03-10 14:38       ` Stefan Monnier
2012-03-10 15:06         ` Eli Zaretskii
2012-03-10 15:38           ` Juanma Barranquero
2012-03-10 17:18             ` Eli Zaretskii
2012-03-10 18:28             ` Stefan Monnier
2012-03-10 21:50               ` Eli Zaretskii
2012-03-11  1:36                 ` Stefan Monnier
2012-03-11  3:57                   ` Eli Zaretskii
2012-03-11 14:37                     ` Stefan Monnier
2012-03-11 17:14                       ` Eli Zaretskii [this message]
2012-03-12  1:54                         ` Stefan Monnier
2012-03-13 19:35                           ` Eli Zaretskii
2012-03-11 16:01               ` Juanma Barranquero

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=83fwdfxdpc.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=10960@debbugs.gnu.org \
    --cc=l26wang@gmail.com \
    --cc=lekktu@gmail.com \
    --cc=monnier@iro.umontreal.ca \
    /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).