feat: add directional window resize constants and multi-battery monitoring with per-battery breakdown in panel
This commit is contained in:
@@ -25,6 +25,11 @@
|
||||
#define MAX_NOTIFICATIONS 32
|
||||
#define MAX_KEYBINDINGS 64
|
||||
|
||||
#define RESIZE_LEFT 1
|
||||
#define RESIZE_RIGHT 2
|
||||
#define RESIZE_TOP 4
|
||||
#define RESIZE_BOTTOM 8
|
||||
|
||||
#define DEFAULT_BORDER_WIDTH 0
|
||||
#define DEFAULT_TITLE_HEIGHT 28
|
||||
#define DEFAULT_PANEL_HEIGHT 32
|
||||
@@ -168,6 +173,7 @@ typedef struct {
|
||||
int drag_orig_x, drag_orig_y;
|
||||
int drag_orig_w, drag_orig_h;
|
||||
bool resizing;
|
||||
int drag_direction;
|
||||
|
||||
Client *pending_focus_client;
|
||||
long pending_focus_time;
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <stdbool.h>
|
||||
|
||||
#define MAX_TRAY_ICONS 32
|
||||
#define MAX_BATTERIES 4
|
||||
#define TRAY_ICON_SIZE 22
|
||||
#define TRAY_ICON_SPACING 4
|
||||
|
||||
@@ -59,6 +60,22 @@ typedef struct {
|
||||
int time_remaining;
|
||||
} BatteryState;
|
||||
|
||||
typedef struct {
|
||||
char name[32];
|
||||
bool present;
|
||||
bool charging;
|
||||
int percentage;
|
||||
unsigned long energy_now;
|
||||
unsigned long energy_full;
|
||||
} SingleBattery;
|
||||
|
||||
typedef struct {
|
||||
int count;
|
||||
SingleBattery batteries[MAX_BATTERIES];
|
||||
bool any_charging;
|
||||
int combined_percentage;
|
||||
} MultiBatteryState;
|
||||
|
||||
typedef struct {
|
||||
Window window;
|
||||
int x, y;
|
||||
@@ -70,6 +87,7 @@ typedef struct {
|
||||
extern WifiState wifi_state;
|
||||
extern AudioState audio_state;
|
||||
extern BatteryState battery_state;
|
||||
extern MultiBatteryState multi_battery_state;
|
||||
extern VolumeSlider *volume_slider;
|
||||
|
||||
void systray_init(void);
|
||||
@@ -106,6 +124,7 @@ void systray_lock(void);
|
||||
void systray_unlock(void);
|
||||
|
||||
BatteryState systray_get_battery_snapshot(void);
|
||||
MultiBatteryState systray_get_multi_battery_snapshot(void);
|
||||
AudioState systray_get_audio_snapshot(void);
|
||||
|
||||
void xembed_init(void);
|
||||
|
||||
Reference in New Issue
Block a user