Index: programs/mythfrontend/globalsettings.cpp
===================================================================
--- programs/mythfrontend/globalsettings.cpp	(revision 10186)
+++ programs/mythfrontend/globalsettings.cpp	(working copy)
@@ -2961,6 +2961,15 @@
     return gc;
 }
 
+static HostCheckBox *LCDBigClock()
+{
+    HostCheckBox *gc = new HostCheckBox("LCDBigClock");
+    gc->setLabel(QObject::tr("Display Large Clock"));
+    gc->setHelpText(QObject::tr("On multiline displays try and display the time as large as possible."));
+    gc->setValue(true);
+    return gc;
+}
+
 static HostLineEdit *LCDKeyString()
 {
     HostLineEdit *ge = new HostLineEdit("LCDKeyString");
@@ -3008,11 +3017,12 @@
          setLeft->addChild(LCDShowMusic());
          setLeft->addChild(LCDShowMusicItems());
          setLeft->addChild(LCDShowChannel());
-         setRight->addChild(LCDShowRecStatus());
+         setLeft->addChild(LCDShowRecStatus());
          setRight->addChild(LCDShowVolume());
          setRight->addChild(LCDShowGeneric());
          setRight->addChild(LCDBacklightOn());
          setRight->addChild(LCDHeartBeatOn());
+         setRight->addChild(LCDBigClock());
          setRight->addChild(LCDKeyString());
          setHoriz->addChild(setLeft);
          setHoriz->addChild(setRight);
Index: programs/mythlcdserver/lcdprocclient.cpp
===================================================================
--- programs/mythlcdserver/lcdprocclient.cpp	(revision 10186)
+++ programs/mythlcdserver/lcdprocclient.cpp	(working copy)
@@ -400,6 +400,15 @@
     sendToServer("widget_add Time timeWidget string");
     sendToServer("widget_add Time topWidget string");
 
+    // overload with Big Clock - spans multiple lines
+    sendToServer("widget_add Time d0 num");
+    sendToServer("widget_add Time d1 num");
+    sendToServer("widget_add Time sep num");
+    sendToServer("widget_add Time d2 num");
+    sendToServer("widget_add Time d3 num");
+    dobigclock(1);
+
+
     // The Menu Screen    
     // I'm not sure how to do multi-line widgets with lcdproc so we're going 
     // the ghetto way
@@ -498,6 +507,7 @@
     lcd_heartbeaton=(gContext->GetSetting("LCDHeartBeatOn", "1")=="1");
     aString = gContext->GetSetting("LCDPopupTime", "5");
     lcd_popuptime = aString.toInt() * 1000;
+    lcd_bigclock = (gContext->GetSetting("LCDBigClock", "1")=="1");
     lcd_keystring = gContext->GetSetting("LCDKeyString", "ABCDEF");
 
     if (old_keystring != "")
@@ -1667,6 +1677,61 @@
     sendToServer(aString);
 }
 
+
+void LCDProcClient::dobigclock (bool init)
+{
+    // kludge ahead: use illegal number to clear num display type
+    QString aString;
+
+    QString time = QTime::currentTime().toString("hh:mm");
+    // each char is 3 wide, colon is 1
+    aString = "widget_set Time d0 ";
+    aString += QString::number(lcdWidth/2 - 6) + " ";
+    if (init)
+        aString += "11";
+    else
+        aString += time.at(0);
+    sendToServer(aString);
+
+    aString = "widget_set Time d1 ";
+    aString += QString::number(lcdWidth/2 - 3) + " ";
+    if (init)
+        aString += "11";
+    else
+        aString += time.at(1);
+    sendToServer(aString);
+
+    aString = "widget_set Time d2 ";
+    aString += QString::number(lcdWidth/2 + 1) + " ";
+    if (init)
+        aString += "11";
+    else
+        aString += time.at(3);
+    sendToServer(aString);
+
+    aString = "widget_set Time d3 ";
+    aString += QString::number(lcdWidth/2 + 4) + " ";
+    if (init)
+        aString += "11";
+    else
+        aString += time.at(4);
+    sendToServer(aString);
+
+    aString = "widget_set Time sep ";
+    aString += QString::number(lcdWidth/2);
+    if (timeFlash) {	// 10 means: colon
+        aString += " 10";
+        timeFlash = false;
+    }
+    else {
+	aString += " 11";
+        timeFlash = true;
+    }	
+    sendToServer(aString);
+
+}
+
+
 void LCDProcClient::outputTime()
 {
     if (isRecording)
@@ -1674,6 +1739,15 @@
     else
         outputCenteredText("Time", "", "topWidget", 1);
 
+    if (lcd_bigclock)
+	dobigclock(0);
+    else
+	dostdclock();
+
+}
+
+void LCDProcClient::dostdclock()
+{
     QString aString;
     int x, y;
     
@@ -2094,6 +2168,11 @@
     
     sendToServer("widget_del Time timeWidget");
     sendToServer("widget_del Time topWidget");
+    sendToServer("widget_del Time d0");
+    sendToServer("widget_del Time d1");
+    sendToServer("widget_del Time sep");
+    sendToServer("widget_del Time d2");
+    sendToServer("widget_del Time d3");
     sendToServer("screen_del Time");
     
     sendToServer("widget_del RecStatus textWidget1");
Index: programs/mythlcdserver/lcdprocclient.h
===================================================================
--- programs/mythlcdserver/lcdprocclient.h	(revision 10186)
+++ programs/mythlcdserver/lcdprocclient.h	(working copy)
@@ -72,6 +72,8 @@
     void checkConnections();       // check connections to LCDd and mythbackend
                                    // every 10 seconds
 
+    void dobigclock(bool);         // Large display
+    void dostdclock();             // Small display
     void outputTime();             // Fire from a timer
     void outputMusic();            // Short timer (equalizer)
     void outputChannel();          // Longer timer (progress bar)
@@ -219,6 +221,7 @@
     bool lcd_showrecstatus;
     bool lcd_backlighton;
     bool lcd_heartbeaton;
+    bool lcd_bigclock;
     int  lcd_popuptime;    
     QString lcd_showmusic_items;
     QString lcd_keystring;
