22#include "nativeapi.h"
33
44using nativeapi::AppRunner;
5+ using nativeapi::Display;
6+ using nativeapi::DisplayAddedEvent;
7+ using nativeapi::DisplayManager;
8+ using nativeapi::DisplayRemovedEvent;
59using nativeapi::Tray;
610using nativeapi::TrayManager;
711using nativeapi::Window;
812using nativeapi::WindowManager;
913using nativeapi::WindowOptions;
1014
1115int main() {
16+ DisplayManager display_manager = DisplayManager();
1217 TrayManager tray_manager = TrayManager();
1318 WindowManager window_manager = WindowManager();
1419
1520 // Create a new window with options
16- WindowOptions options;
17- options.title = "My Window";
18- options.size.width = 800;
19- options.size.height = 600;
21+ WindowOptions options = {.title = "Window Example",
22+ .size = {800, 600},
23+ .minimum_size = {400, 300},
24+ .maximum_size = {1920, 1080},
25+ .centered = true};
2026 std::shared_ptr<Window> window_ptr = window_manager.Create(options);
2127
2228 std::shared_ptr<Tray> tray_ptr = tray_manager.Create();
@@ -29,6 +35,15 @@ int main() {
2935 std::cerr << "Failed to create tray." << std::endl;
3036 }
3137
38+ display_manager.AddListener<nativeapi::DisplayAddedEvent>(
39+ [](const nativeapi::DisplayAddedEvent& event) {
40+ std::cout << "Display added: " << event.GetDisplay().id << std::endl;
41+ });
42+ display_manager.AddListener<nativeapi::DisplayRemovedEvent>(
43+ [](const nativeapi::DisplayRemovedEvent& event) {
44+ std::cout << "Display removed: " << event.GetDisplay().id << std::endl;
45+ });
46+
3247 AppRunner runner;
3348 runner.Run(window_ptr);
3449
0 commit comments