[mythtv-users] [RFC] Proposed settings rework

Michael T. Dean mtdean at thirdcontact.com
Thu Nov 5 05:24:35 UTC 2009

On 11/04/2009 10:18 PM, Rod Smith wrote:
> On Wednesday 04 November 2009 04:41:19 pm Michael T. Dean wrote:
>> On 11/04/2009 03:44 PM, Rod Smith wrote:
>>> On Tuesday 03 November 2009 07:49:03 pm Michael T. Dean wrote:
>>>> On 11/03/2009 07:27 PM, Rod Smith wrote:
>> Note that the settings work exactly the same in 0.21-fixes and
>> 0.22--that they work only in setup is /not/ a change caused by some
>> "selfish mythui coder ripping out settings."  That's the way they've
>> always worked.  Change them on your 0.21-fixes system and see for
>> yourself.  The real difference between 0.21-fixes and 0.22 is that there
>> are fewer Qt-/non-themed things in 0.22 (though what did exist in
>> 0.21-fixes was not-normal stuff like the "Pre-scaling theme images" and
>> "Do you really want to exit MythTV?" popups, etc).
> I've just tried making some changes, and they seem to affect some menus and 
> screens but not others. Some of the changed menus were certainly important 
> ones, such as the recorded-programs and upcoming-recordings lists. As I said, 
> I recall having to tweak these when I first set up MythTV (in version 0.20). 

In 0.20, they may have actually changed--because we had 
font-normalization issues that were fixed for 0.21.  See discussion below.

> Maybe that's a reflection of what you were referring to when you said that 
> many themes were incomplete because of the difficulty of testing all the 
> options. At the time, it looked to me as if the defaults were just set by 
> somebody who liked bigger fonts than I do, or whose screen size relative to 
> mine made the bigger fonts necessary.

Testing those screens in 0.21-fixes shows no difference with the Qt font 
sizes changed.  I think It's probably easiest to make my point with 

For these tests, I used the default font sizes:

http://imagebin.ca/view/ERNzqaqe.html (which I'll call "before" shots)

and some ludicrously-large font sizes:

http://imagebin.ca/view/LW5x1I.html (and I'll call "after" shots)

Since the settings screens are completely non-themed, they /are/ 
affected by the font size settings).  And, no, I did /not/ crop that 
image--the settings screens are completely unusable with inappropriate 
font sizes in 0.21-fixes.  It's not so bad in 0.22-fixes/trunk:

0.22-fixes before: http://imagebin.ca/view/626HNxkC.html
0.22-fixes after: http://imagebin.ca/view/w3UWnnF2.html

but I think you'll still agree it's broken by use of the wrong font 
sizes.  This is why, IMHO, dynamic-theme-resizing can't work.

Note, also, that themed screens do /not/ show any difference regardless 
of the specified font sizes (on the /Qt/ page of settings...).  Both of 
the following were taken with 0.21-fixes:

Watch Recordings before: http://imagebin.ca/view/RqJJfLc3.html
Watch Recordings after: http://imagebin.ca/view/Vj7oOF7Y.html
Upcoming Recordings before: http://imagebin.ca/view/qNLhqZsQ.html
Upcoming Recordings after: http://imagebin.ca/view/3zb9IC0m.html

(colors/content change in the "Upcoming Recordings after" shot because 
the shows that were recording finished recording)

However, any non-themed screen /does/ show a difference:

before: http://imagebin.ca/view/UnL53TF.html
after: http://imagebin.ca/view/HFR0PnkV.html

For the most part, though, those non-themed screens are just 
settings/setup and a couple of popups.  Note that the above exit dialog 
is now a themed popup in 0.22-fixes (so it's no longer affected by font 
changes).  If you think this is a change for the worse, look at the exit 
dialog in Terra, and I think you'll change your mind.


The new approach gives a /lot/ of new possibilities.

However, I did find out that the "Fine tune font size (%)" does change 
the Watch Recordings and Upcoming Recordings screens--in 0.21-fixes 
only--and affects the menu text.  In 0.22-fixes, it only affects the 
menu text in the old legacy themes, so I'm not sure what's different 
between them and the real mythui themes--and it does /not/ affect 
screens like Watch Recordings or Upcoming Recordings in any themes (even 
the legacy themes).

>>>  then I view it as a
>>> backward step. A big home-theater setup using 1080i resolution is likely
>>> to work better with smaller fonts than a little 9-inch analog set in a
>>> kitchen running 640x480 via composite cables. Different themes can, of
>>> course, be customized for different screen sizes, but that'll just force
>>> unpleasant choices on users regarding what themes to use.
>> How do you make a 24-point font fit into the same space that was
>> designed for a 12-point font?
> This can be turned around: How do you make a 24-point font that looks good on 
> a 1080i HDTV look good on a 640x480 SD set? Both questions may be premature, 
> though....

True...  It doesn't relaly work either way--as evidenced by the above 
screen shots.  :)

> As usual when discussing fonts on computers, there are a lot of interacting 
> variables that leads to ambiguity. Specifically, is point size in MythTV 
> determined by absolute pixel size of the font, by the percentage of screen 
> size consumed by the font, by the physical size of the font on the screen (in 
> inches, millimeters, or whatever), or by some other measure?

All fonts in MythTV 0.21 and above are normalized to assume a 100dpi 
theme size--and physical screen size is irrelevant.  Therefore, for 
0.21-fixes, all non-wide themes were required to be 800x600 and assumed 
to be 100dpi square, so the "logical" screen we used for font-sizing was 
8x6 inches or 576x432 points.  All wide themes were required to be 
1280x720 and assumed to be 100dpi square, so the logical screen was 
12.8x7.2 inches or 921.6x518.4 points.

>  The physical 
> size will of course require correct screen screen dpi values to be stored 
> somewhere. Traditionally, font point sizes are measured in terms of physical 
> size, but this often isn't the case in computers -- or if it is, dodgy 
> assumptions are made about screen dpi values. I honestly don't know how 
> MythTV defines its font point size.
> If it's absolute pixel size, then a font that looks good on a big 1080i set 
> will be ridiculously large on an analog SD set running at, say, 640x480. If 
> it's percentage of screen size, then the font will be the same relative size, 
> which will probably work better, but you'll still have the issue that a font 
> choice that works well for one screen size and viewing distance will be 
> inappropriate for another one. If you use physical size, then viewing 
> distance will be a critical factor in what font size is best.

See, and that's the thing.  Up until 0.21-fixes, Myth's font usage was 
broken and /very/ much (non-Myth screen-) configuration dependent.  I 
think that all the times you needed this flexibility were due to font 
breakage in 0.20 and/or themes designed when fonts /were/ broken.  In 
0.21-fixes and above, the font you see is the same face and size that 
the (0.21-fixes-using) theme author intended.

The one exception being that some helpful distros give font-replacement 
rules that replace "undesirable" (i.e. non-free) fonts with "close" 
approximations (where close means close enough for horseshoes and web 
browsers).  Assuming the distro is properly designed, when you install 
the desired font (such as Arial from the MS core web fonts), the font 
replacement rule will be removed and /then/ things will work as designed 
and you won't need to adjust font sizes to make things fit.  I can't 
guarantee, though, that all distros properly remove said font replacements.

> IMHO, if a user finds that a font is inappropriate for his or her setup, the 
> user should be able to change it. Changing the theme can be one way to do 
> this, but that will bring in a bunch of other changes that may be unwanted. 
> If the user interface permits a theme to set a default font and size when 
> it's first activated, then that's fine, but if the user wants to change it, 
> that should be possible, IMHO. Whether the text fits in the allotted space or 
> not is then the user's problem.

That's what FOSS is all about--the user can change whatever he/she 
wants.  IMHO, making it easy to break a theme is not any better than 
making it hard for a person who can't figure out how to use a text 
editor and read markup to break a theme.

>>> I do understand the point you're making, and I have two
>>> comments/suggestions, one of which will admittedly be a pain to
>>> implement:
>>> - Themes might set suggested/default font sizes, but users could still
>>>   override these defaults as they see fit. This should at least help
>>>   take the heat off theme designers.
>>> - The sizes of on-screen elements could be adjusted depending on the font
>>>   size (or the space consumed by the formatted text to be displayed).
>>> Then if somebody selects a tiny font, the OSD information display could
>>> be made smaller; and if a huge font is selected, it could be made bigger.
>>> This would eliminate your doesn't fit/wasted space objection. I don't
>>> know how much effort this would take to implement, though -- perhaps
>>> enough that it's not a practical possibility.
>> This does sound nice.  Then we could just replace all these theme
>> authors with code.  ;)
> My suggestion comes nowhere near to covering every theme setting. What I'm 
> suggesting is more like what various desktop GUIs provide. For instance:
> 1) Log into a GNOME desktop. (I'm using an Ubuntu 8.04 system for reference;
>    some details may vary on other systems.)
> 2) Select System->Preferences->Appearance to get the Appearance dialog
>    box.
> 3) Click the Fonts tab.
> 4) Select a larger font for the Application Font. Note that the dialog box
>    resizes itself to accommodate the larger font.
> 5) Select a smaller font for the Application Font. Although the dialog box
>    doesn't shrink, the various elements within the dialog box shift their
>    positions to accommodate the new font size.
> To do something similar, MythTV obviously wouldn't be resizing the screen to 
> accommodate new font sizes, but it could resize the various screen 
> elements -- making an OSD larger, for instance, or increasing the space 
> devoted to program lists if the font is small enough to render program 
> descriptions in just a line or two in the list of recorded programs. I don't 
> know enough about how MythTV handles the positioning of text and other UI 
> elements to know how difficult it would be to implement this sort of 
> functionality, although I suspect it would be, as I said up-front, a pain to 
> do.

The system dialogs in GNOME are a /lot/ simpler than the 
multi-element/multi-image UI where text and images need to line up 
properly in Myth.  It may be possible to do what you're suggesting, but 
I have a feeling that none of the theme artists would like the results.  
And, it would be a huge amount of code that (in my opinion) would result 
in just making themes look worse /unless/ you happen to use the exact 
same settings as the theme author--which is exactly the problem we had 
before the 0.21 font-normalization fixes.

>>> I acknowledge that this is a problem. I just think that removing
>>> font-size options from the user interface ends up trading one set of
>>> problems (for developers) for another set of problems (for users). OTOH,
>>> since I'm using 0.21, which still has the font options, and since I've
>>> got my system set up the way I like it, I may be overestimating the
>>> seriousness of the issues created for users.
>> Actually, it makes Myth just work--and prevents users from breaking it.
> At the expense of reduced flexibility -- flexibility that I personally have 
> found useful (admittedly with 0.20 and 0.21, not having tried the 
> still-experimental 0.22 line).

I really think you'll see all your concerns about a need to adjust font 
sizes/faces are unfounded with the changes in 0.22-fixes.  The only 
exception being in the settings/setup pages (where you can /still/ break 
usability with the wrong font size).

It is true that some people may need larger fonts to be able to see/read 
the text.  And, IMHO, there should be themes designed with that in 
mind.  As a very wise man said earlier today, someone is already working 
on a theme for children, so why not have "accessible" or "large-font" 
themes, too.  And, I firmly believe that rather than trying to 
automatically force large fonts into themes designed for small fonts, 
we're /much/ better off having someone go through and modify any given 
theme to work properly with large fonts.

>>>>>> Display live preview of recordings (will be theme controlled)
> Please note that this quoted segment is referring to the live preview vs. 
> static preview vs. no preview issue, not the font issue.

Oops.  I missed the topic change in all the quotes (not that the quoting 
wasn't relevant--I just missed it).

>  To my 
> non-Myth-developer eye, this seems like a much less thorny issue from a 
> programming perspective, and it's one that doesn't greatly impact the overall 
> theme design, unlike fonts.

Yeah.  I'm not so concerned about this one--and for the reason you 
mention (the theme design isn't really affected by the change).


More information about the mythtv-users mailing list