Index: MessageClient.cpp
===================================================================
--- MessageClient.cpp	(revision 6891)
+++ MessageClient.cpp	(working copy)
@@ -337,7 +337,7 @@
                                    , QString const& report, QString const& tx_mode
                                    , bool tx_enabled, bool transmitting, bool decoding
                                    , qint32 rx_df, qint32 tx_df, QString const& de_call
-                                   , QString const& de_grid, QString const& dx_grid)
+                                   , QString const& de_grid, QString const& dx_grid, bool watchdog_timeout)
 {
   if (m_->server_port_ && !m_->server_string_.isEmpty ())
     {
@@ -345,7 +345,7 @@
       NetworkMessage::Builder out {&message, NetworkMessage::Status, m_->id_, m_->schema_};
       out << f << mode.toUtf8 () << dx_call.toUtf8 () << report.toUtf8 () << tx_mode.toUtf8 ()
           << tx_enabled << transmitting << decoding << rx_df << tx_df << de_call.toUtf8 ()
-          << de_grid.toUtf8 () << dx_grid.toUtf8 ();
+          << de_grid.toUtf8 () << dx_grid.toUtf8 () << watchdog_timeout;
       m_->send_message (out, message);
     }
 }
Index: MessageClient.hpp
===================================================================
--- MessageClient.hpp	(revision 6891)
+++ MessageClient.hpp	(working copy)
@@ -49,7 +49,7 @@
   Q_SLOT void status_update (Frequency, QString const& mode, QString const& dx_call, QString const& report
                              , QString const& tx_mode, bool tx_enabled, bool transmitting, bool decoding
                              , qint32 rx_df, qint32 tx_df, QString const& de_call, QString const& de_grid
-                             , QString const& dx_grid);
+                             , QString const& dx_grid, bool watchdog_timeout);
   Q_SLOT void decode (bool is_new, QTime time, qint32 snr, float delta_time, quint32 delta_frequency
                       , QString const& mode, QString const& message);
   Q_SLOT void WSPR_decode (bool is_new, QTime time, qint32 snr, float delta_time, Frequency
Index: MessageServer.cpp
===================================================================
--- MessageServer.cpp	(revision 6891)
+++ MessageServer.cpp	(working copy)
@@ -203,6 +203,7 @@
                 QByteArray de_call;
                 QByteArray de_grid;
                 QByteArray dx_grid;
+                bool watchdog_timeout (false);
                 in >> f >> mode >> dx_call >> report >> tx_mode >> tx_enabled >> transmitting >> decoding
                    >> rx_df >> tx_df >> de_call >> de_grid >> dx_grid;
                 if (check_status (in) != Fail)
@@ -211,7 +212,7 @@
                                                  , QString::fromUtf8 (report), QString::fromUtf8 (tx_mode)
                                                  , tx_enabled, transmitting, decoding, rx_df, tx_df
                                                  , QString::fromUtf8 (de_call), QString::fromUtf8 (de_grid)
-                                                 , QString::fromUtf8 (dx_grid));
+                                                 , QString::fromUtf8 (dx_grid), watchdog_timeout);
                   }
               }
               break;
Index: MessageServer.hpp
===================================================================
--- MessageServer.hpp	(revision 6891)
+++ MessageServer.hpp	(working copy)
@@ -63,7 +63,7 @@
   Q_SIGNAL void status_update (QString const& id, Frequency, QString const& mode, QString const& dx_call
                                , QString const& report, QString const& tx_mode, bool tx_enabled
                                , bool transmitting, bool decoding, qint32 rx_df, qint32 tx_df
-                               , QString const& de_call, QString const& de_grid, QString const& dx_grid);
+                               , QString const& de_call, QString const& de_grid, QString const& dx_grid, bool watchdog_timeout);
   Q_SIGNAL void client_closed (QString const& id);
   Q_SIGNAL void decode (bool is_new, QString const& id, QTime time, qint32 snr, float delta_time
                         , quint32 delta_frequency, QString const& mode, QString const& message);
Index: UDPExamples/ClientWidget.cpp
===================================================================
--- UDPExamples/ClientWidget.cpp	(revision 6891)
+++ UDPExamples/ClientWidget.cpp	(working copy)
@@ -194,7 +194,7 @@
 void ClientWidget::update_status (QString const& id, Frequency f, QString const& mode, QString const& /*dx_call*/
                                   , QString const& report, QString const& tx_mode, bool tx_enabled
                                   , bool transmitting, bool decoding, qint32 rx_df, qint32 tx_df
-                                  , QString const& de_call, QString const& /*de_grid*/, QString const& /*dx_grid*/)
+                                  , QString const& de_call, QString const& /*de_grid*/, QString const& /*dx_grid*/, bool watchdog_timeout)
 {
   if (id == id_)
     {
@@ -211,6 +211,7 @@
         auto_off_button_->setEnabled (tx_enabled);
         halt_tx_button_->setEnabled (transmitting);
         update_dynamic_property (mode_label_, "decoding", decoding);
+        update_dynamic_property (tx_df_label_, "watchdog_timeout", watchdog_timeout);
     }
 }
 
Index: UDPExamples/ClientWidget.hpp
===================================================================
--- UDPExamples/ClientWidget.hpp	(revision 6891)
+++ UDPExamples/ClientWidget.hpp	(working copy)
@@ -26,7 +26,7 @@
   Q_SLOT void update_status (QString const& id, Frequency f, QString const& mode, QString const& dx_call
                              , QString const& report, QString const& tx_mode, bool tx_enabled
                              , bool transmitting, bool decoding, qint32 rx_df, qint32 tx_df
-                             , QString const& de_call, QString const& de_grid, QString const& dx_grid);
+                             , QString const& de_call, QString const& de_grid, QString const& dx_grid, bool watchdog_timeout);
   Q_SLOT void decode_added (bool /*is_new*/, QString const& client_id, QTime /*time*/, qint32 /*snr*/
                             , float /*delta_time*/, quint32 /*delta_frequency*/, QString const& /*mode*/
                             , QString const& /*message*/);
Index: UDPExamples/UDPDaemon.cpp
===================================================================
--- UDPExamples/UDPDaemon.cpp	(revision 6891)
+++ UDPExamples/UDPDaemon.cpp	(working copy)
@@ -49,7 +49,7 @@
   Q_SLOT void update_status (QString const& id, Frequency f, QString const& /*mode*/, QString const& /*dx_call*/
                              , QString const& /*report*/, QString const& /*tx_mode*/, bool /*tx_enabled*/
                              , bool /*transmitting*/, bool /*decoding*/, qint32 /*rx_df*/, qint32 /*tx_df*/
-                             , QString const& /*de_call*/, QString const& /*de_grid*/, QString const& /*dx_grid*/)
+                             , QString const& /*de_call*/, QString const& /*de_grid*/, QString const& /*dx_grid*/, bool /* watchdog_timeout */)
   {
     if (id == id_)
       {
Index: UDPExamples/qss/default.qss
===================================================================
--- UDPExamples/qss/default.qss	(revision 6891)
+++ UDPExamples/qss/default.qss	(working copy)
@@ -7,3 +7,7 @@
 [decoding="true"] {
        background-color: cyan
 }
+
+[watchdog_timeout="true"] {
+       background-color: red
+}
\ No newline at end of file
Index: mainwindow.cpp
===================================================================
--- mainwindow.cpp	(revision 6891)
+++ mainwindow.cpp	(working copy)
@@ -5717,6 +5717,7 @@
 {
   if (ui)
     {
+      bool watchdog_timeout = !m_mode.startsWith("WSPR") && m_config.watchdog () && m_repeatMsg >= m_config.watchdog ();
       m_messageClient->status_update (m_freqNominal, m_mode, m_hisCall,
                                       QString::number (ui->rptSpinBox->value ()),
                                       m_modeTx, ui->autoButton->isChecked (),
@@ -5723,7 +5724,7 @@
                                       m_transmitting, m_decoderBusy,
                                       ui->RxFreqSpinBox->value (), ui->TxFreqSpinBox->value (),
                                       m_config.my_callsign (), m_config.my_grid (),
-                                      m_hisGrid);
+                                      m_hisGrid, watchdog_timeout);
     }
 }
 
