mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 00:17:46 +00:00
WindowServer: Add the screen mode property in the screen configuration
This will allow us to change between a couple of properties, for now it's only Device and Virtual. (How about Remote :^) ) These get handled by a different screen backend in the Screen.
This commit is contained in:
parent
e95ae4a143
commit
be98ce0f9f
6 changed files with 72 additions and 22 deletions
|
@ -144,14 +144,22 @@ void MonitorSettingsWidget::load_current_settings()
|
|||
|
||||
m_screens.clear();
|
||||
m_screen_edids.clear();
|
||||
|
||||
size_t virtual_screen_count = 0;
|
||||
for (size_t i = 0; i < m_screen_layout.screens.size(); i++) {
|
||||
String screen_display_name;
|
||||
if (auto edid = EDID::Parser::from_framebuffer_device(m_screen_layout.screens[i].device, 0); !edid.is_error()) { // TODO: multihead
|
||||
screen_display_name = display_name_from_edid(edid.value());
|
||||
m_screen_edids.append(edid.release_value());
|
||||
if (m_screen_layout.screens[i].mode == WindowServer::ScreenLayout::Screen::Mode::Device) {
|
||||
if (auto edid = EDID::Parser::from_framebuffer_device(m_screen_layout.screens[i].device.value(), 0); !edid.is_error()) { // TODO: multihead
|
||||
screen_display_name = display_name_from_edid(edid.value());
|
||||
m_screen_edids.append(edid.release_value());
|
||||
} else {
|
||||
dbgln("Error getting EDID from device {}: {}", m_screen_layout.screens[i].device.value(), edid.error());
|
||||
screen_display_name = m_screen_layout.screens[i].device.value();
|
||||
m_screen_edids.append({});
|
||||
}
|
||||
} else {
|
||||
dbgln("Error getting EDID from device {}: {}", m_screen_layout.screens[i].device, edid.error());
|
||||
screen_display_name = m_screen_layout.screens[i].device;
|
||||
dbgln("Frame buffer {} is virtual.", i);
|
||||
screen_display_name = String::formatted("Virtual screen {}", virtual_screen_count++);
|
||||
m_screen_edids.append({});
|
||||
}
|
||||
if (i == m_screen_layout.main_screen_index)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue