tint2/src/battery/battery.h

76 lines
1.5 KiB
C
Raw Normal View History

/**************************************************************************
* Copyright (C) 2009 Sebastian Reichel <elektranox@gmail.com>
*
* Battery with functional data (percentage, time to life) and drawing data
* (area, font, ...). Each panel use his own drawing data.
* Need kernel > 2.6.23.
*
**************************************************************************/
#ifndef BATTERY_H
#define BATTERY_H
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include "common.h"
#include "area.h"
// battery drawing parameter (per panel)
typedef struct Battery {
// always start with area
Area area;
Color font;
int bat1_posy;
int bat2_posy;
} Battery;
enum chargestate {
BATTERY_UNKNOWN,
BATTERY_CHARGING,
BATTERY_DISCHARGING,
BATTERY_FULL
};
typedef struct battime {
int16_t hours;
int8_t minutes;
int8_t seconds;
} battime;
typedef struct batstate {
int percentage;
struct battime time;
enum chargestate state;
} batstate;
extern struct batstate battery_state;
extern PangoFontDescription *bat1_font_desc;
extern PangoFontDescription *bat2_font_desc;
extern int battery_enabled;
extern int percentage_hide;
extern int8_t battery_low_status;
extern char *battery_low_cmd;
extern char *path_energy_now, *path_energy_full, *path_current_now, *path_status;
// default values
void default_battery();
// freed memory
void cleanup_battery();
// initialize clock : y position, ...
void update_battery();
void init_battery();
void init_battery_panel(void *panel);
void draw_battery(void *obj, cairo_t *c);
void resize_battery(void *obj);
#endif