--- service.c.orig 2014-04-11 16:01:15.000000000 +0200 +++ service.c 2014-05-02 19:11:03.009471039 +0200 @@ -173,12 +173,20 @@ const IndicatorPowerDevice * b = gb; const int a_state = indicator_power_device_get_state (a); const int b_state = indicator_power_device_get_state (b); + const int a_kind = indicator_power_device_get_kind (a); + const int b_kind = indicator_power_device_get_kind (b); const gdouble a_percentage = indicator_power_device_get_percentage (a); const gdouble b_percentage = indicator_power_device_get_percentage (b); const time_t a_time = indicator_power_device_get_time (a); const time_t b_time = indicator_power_device_get_time (b); ret = 0; + + /* Battery has highest priority! */ + if (a_kind == UP_DEVICE_KIND_BATTERY) + ret = -1; + else if (b_kind == UP_DEVICE_KIND_BATTERY) + ret = 1; state = UP_DEVICE_STATE_DISCHARGING; if (!ret && ((a_state == state) || (b_state == state)))