[mythtv-users] [RFC] Proposed settings rework

Rod Smith mythtv at rodsbooks.com
Thu Nov 5 03:18:40 UTC 2009

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:
> >>> On Tuesday 03 November 2009 04:07:22 pm Robert McNamara wrote:
> >>>> Fine Tune Font Size (should be theme controlled)
> >>>
> >  The others, I think, should definitely be retained, for
> > the reasons I specified. Your comments below make me think you may have
> > eliminated these in 0.22 or 0.23, but I'm not sure of that.
> The '"Small" font', '"Medium" font', and '"Big" font' settings are /all/
> Qt-only settings for non-themed portions of MythTV (actually having
> names, "QtFontSmall", "QtFontMedium", and "QtFontBig", respectively).
> Therefore, they are all useless in any mythui'ed portion of Myth--which
> will soon (I hope) include all the settings pages.

Since my experience is with the (still) current official release version of 
0.21, I don't know how all the new MythUI stuff works. You may be steeped in 
the latest development code, but not everybody who reads this list is.

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

> >  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, 

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

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.

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

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

> >>>> Display live preview of recordings (will be theme controlled)
> >>>
> >>> This is another item that really does vary a lot from one installation
> >>> to another. I found the previews distracting, and worse, they slowed
> >>> things down enough that I didn't like them. (They made the UI
> >>> sluggish.) This performance degradation is likely to be worse on
> >>> systems with weaker CPUs, so it's perfectly reasonable for a person to
> >>> want to disable live previews in favor of static or no previews.
> >>
> >> sed -i -e '/<livepreview/d' CPUHungryTheme/*.xml
> >>
> >> (making up tag names, but you get the point--just edit the theme if you
> >> must use a theme whose author likes live preview, but you don't want it)
> >
> > Using sed (or any other editor) to alter a theme is hardly user friendly!
> > This is exactly the sort of complicated technical mumbo-jumbo that user
> > interface settings are supposed to eliminate.
> Though changing the selected theme is extremely easy.  Someone, however,
> has to fix the theme (and sign off on the fix) to work with
> differently-sized fonts.

Please note that this quoted segment is referring to the live preview vs. 
static preview vs. no preview issue, not the font issue. 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.

> >  Even somebody who's familiar with sed
> > would need instructions to know what to change in the theme file --
> > certainly I wouldn't know what to change, and as I'm not a theme author,
> > I'd need to spend quite a while to track it down. A settings option like
> > what we've got now, OTOH, is easy enough for anybody to tweak.
> and for those people to use to break Myth--if it worked like you think
> it works.  Since it's only used in settings/setup, though, it doesn't,
> so the point is moot.

Again, I was referring to the live preview feature, although the basic issue 
of configurability certainly applies to fonts, as well.

Rod Smith

More information about the mythtv-users mailing list