1 #include <msp/core/application.h>
2 #include <msp/graphics/display.h>
3 #include <msp/io/print.h>
8 class LsModes: public RegisteredApplication<LsModes>
11 Graphics::Display display;
14 LsModes(int, char **);
19 LsModes::LsModes(int, char **)
25 const vector<Graphics::Monitor> &monitors = display.get_monitors();
26 const Graphics::VideoMode &desktop_mode = display.get_desktop_mode();
28 for(auto i=monitors.begin(); i!=monitors.end(); ++i, ++n)
30 IO::print("Monitor #%d", n);
31 if(&*i==desktop_mode.monitor)
32 IO::print(" (primary)");
33 IO::print(": %s\n", i->name);
35 const Graphics::VideoMode *prev_mode = 0;
36 for(const Graphics::VideoMode *m: i->video_modes)
38 if(!prev_mode || m->width!=prev_mode->width || m->height!=prev_mode->height)
42 IO::print(" %dx%d", m->width, m->height);
44 IO::print(" %c%d", (m==i->desktop_settings.mode ? '*' : ' '), m->rate);
48 if(!i->video_modes.empty())