Beispiel #1
0
int BatteryMonitor::update_icon_and_tooltip(void) {
	/* in case connection failed somehow */
	if(!con.connected()) {
		label("0");
		return 0;
	}

	E_RETURN_VAL_IF_FAIL(batts.size() > 0, 0);
	double p = 0, ret = 0;

	if(batts.size() == 1) {
		E_RETURN_VAL_IF_FAIL(get_percentage(con, batts.front().path(), &ret), 0);
		p = ret;
		tooltip_printf(_("Battery %s: %i%%"), get_state_str(con, batts.front().path()), (int)ret);
	} else {
		for(BatteryListIt it = batts.begin(), ite = batts.end(); it != ite; ++it) {
			if(!get_percentage(con, it->path(), &ret)) continue;
			p += ret;
		}
	
		p /= batts.size();
		tooltip_printf(_("%i batteries: %i%%"), batts.size(), (int)p);
	}

	set_icon(p);
	/* returning state is mainly for signal_cb() */
	return 1;
}
static void enumerate_processes(void)
{
	struct task_struct *p;
	unsigned int p_count = 0;

	for_each_process(p) {
		pr_info("%s: PID=%d, state=\'%s\'\n", 
				__func__, p->pid, get_state_str(p->state));
		p_count++;
	}

	pr_info("%s: total %u processes enumerated\n", __func__, p_count);
}