feat: add system monitor feature with panel toggle and event handling

- Introduce SystemMonitor struct and typedef in dwn.h, add sysmon pointer to Monitor struct
- Include sysmon.h in main.c, integrate sysmon_find_by_window and sysmon_set_client into map request handling
- Add sysmon_render call in expose handler and sysmon_handle_event in button press and motion notify handlers
- Implement clickable stats and top process areas in bottom panel to toggle system monitor via sysmon_toggle
- Update build/main.d dependency file to include sysmon.h
This commit is contained in:
2026-01-29 13:36:28 +00:00
parent 5404adfcd5
commit 1ba5fae79b
20 changed files with 74 additions and 2 deletions
+3
View File
@@ -107,6 +107,7 @@ typedef struct Workspace Workspace;
typedef struct Monitor Monitor;
typedef struct Panel Panel;
typedef struct Config Config;
typedef struct SystemMonitor SystemMonitor;
struct Client {
Window window;
@@ -176,6 +177,8 @@ typedef struct {
Panel *top_panel;
Panel *bottom_panel;
SystemMonitor *sysmon;
Config *config;
bool running;