[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#14233: 24.3; Don't constrain frame size to character multiples
From: |
Eli Zaretskii |
Subject: |
bug#14233: 24.3; Don't constrain frame size to character multiples |
Date: |
Tue, 23 Apr 2013 19:28:51 +0300 |
> Date: Tue, 23 Apr 2013 08:52:08 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: jan.h.d@swipnet.se, esabof@gmail.com, 14233@debbugs.gnu.org
>
> >> change_frame_size has no idea whether it is called for a text or a
> >> graphical frame.
> >
> > That is done very easily, given the frame pointer (which
> > change_frame_size accepts as its 1st argument). E.g.:
> >
> > if (FRAME_WINDOW_P (f))
> > /* do the GUI thing */
>
> A couple of weeks ago I asked you whether HAVE_WINDOW_SYSTEM would be
> sufficient but got no answer :-( The problem is that I'm still not sure
> whether FRAME_WINDOW_P is sufficient. At least in frame.c all
> FRAME_WINDOW_P calls are guarded by HAVE_WINDOW_SYSTEM checks as
>
> #ifdef HAVE_WINDOW_SYSTEM
> if (FRAME_WINDOW_P (XFRAME (this)))
> ...
> #endif
That's because the members of 'struct frame' that are tested by
FRAME_WINDOW_P do not exist unless HAVE_WINDOW_SYSTEM is defined.
Emacs caters to TTY frames both in a build --without-x, where
HAVE_WINDOW_SYSTEM is not defined and none of the X code is compiled;
and in a build that does support GUI frames, but just created a
text-mode frame for some reason. Thus the need to have the code both
ifdef'ed away at compile time and tested at run time.
> so some doubt remains whether this predicate is correctly installed on
> every platform.
There's no doubt: it is, as described above.
> In any case I'd want either an #ifdef or a simple and robust
> predicate without having to care about #ifdefs.
Sorry, you can't, not with the current infrastructure. You must do it
with a predicate that is also protected with an ifdef.
> >> Text frames might want to call it as before using character sizes.
> >
> > On text-mode frames, each character is one pixel. Emacs knows that
> > already.
>
> In the past weeks I started to doubt whether Emacs really knows
> everything it pretends to know.
Maybe so, but "1 character == 1 pixel on TTY frames" does not belong
to any gray areas.
> >> In any case, the callers have to strip space used for tool- or
> >> menubars because change_frame_size does not know whether these are
> >> part of the frame or not.
> >
> > Why can't change_frame_size know that?
>
> The callers should know best whether a toolbar is part of their frames
> or not. But we could obviously teach change_frame_size to check that.
I think all the information is already stored in the frame object.
- bug#14233: 24.3; Don't constrain frame size to character multiples, (continued)
- bug#14233: 24.3; Don't constrain frame size to character multiples, E Sabof, 2013/04/20
- bug#14233: 24.3; Don't constrain frame size to character multiples, martin rudalics, 2013/04/21
- bug#14233: 24.3; Don't constrain frame size to character multiples, Jan Djärv, 2013/04/21
- bug#14233: 24.3; Don't constrain frame size to character multiples, martin rudalics, 2013/04/22
- bug#14233: 24.3; Don't constrain frame size to character multiples, Jan Djärv, 2013/04/22
- bug#14233: 24.3; Don't constrain frame size to character multiples, martin rudalics, 2013/04/22
- bug#14233: 24.3; Don't constrain frame size to character multiples, Jan Djärv, 2013/04/22
- bug#14233: 24.3; Don't constrain frame size to character multiples, martin rudalics, 2013/04/22
- bug#14233: 24.3; Don't constrain frame size to character multiples, Eli Zaretskii, 2013/04/22
- bug#14233: 24.3; Don't constrain frame size to character multiples, martin rudalics, 2013/04/23
- bug#14233: 24.3; Don't constrain frame size to character multiples,
Eli Zaretskii <=
- bug#14233: 24.3; Don't constrain frame size to character multiples, martin rudalics, 2013/04/24
- bug#14233: 24.3; Don't constrain frame size to character multiples, Eli Zaretskii, 2013/04/24
- bug#14233: 24.3; Don't constrain frame size to character multiples, Jan Djärv, 2013/04/23
- bug#14233: 24.3; Don't constrain frame size to character multiples, martin rudalics, 2013/04/23
- bug#14233: 24.3; Don't constrain frame size to character multiples, Eli Zaretskii, 2013/04/23
- bug#14233: 24.3; Don't constrain frame size to character multiples, martin rudalics, 2013/04/24
- bug#14233: 24.3; Don't constrain frame size to character multiples, Jan Djärv, 2013/04/24
- bug#14233: 24.3; Don't constrain frame size to character multiples, martin rudalics, 2013/04/25
- bug#14233: 24.3; Don't constrain frame size to character multiples, Jan Djärv, 2013/04/25
- bug#14233: 24.3; Don't constrain frame size to character multiples, martin rudalics, 2013/04/25