This patch disables the code that (wrongly) attempts to sort out which events that don't need processing at startup time (during readConfiguration). This is wrong because at that time m_battery_level hasn't been initialised yet. It also disables the code that moves processed events to another vector. This results in notification being shown only once, no good. We want notifications to pop-up as long as the condition persists (so I am always reminded to plug my charger). James 2014 diff -ur batterymeter/src/batterymetergui.cpp batterymeter-new/src/batterymetergui.cpp --- batterymeter/src/batterymetergui.cpp 2011-01-02 03:18:53.000000000 +0700 +++ batterymeter-new/src/batterymetergui.cpp 2014-06-16 00:31:25.436046067 +0700 @@ -279,14 +279,21 @@ void BatteryMeterGui::dischargeActions() { +/** james note: we want notifications to repeat, not only once. while (!m_unprocessed_actions.isEmpty() && (static_cast (m_unprocessed_actions.last().level()) >= m_battery_meter.percentage())) +**/ + for (int i=0; isetVisible(m_logging); m_act_log->setVisible(false); +/** james note: this is unnecessary. Upon startup all events should be active regardless of battery state // move passed events into processed list while (!m_unprocessed_actions.isEmpty() && (static_cast (m_unprocessed_actions.last().level()) @@ -393,6 +401,7 @@ m_unprocessed_actions.pop_back(); m_processed_actions.push_front(action); } +**/ #ifdef USE_LOGGING if (m_logging) m_logger.start();