WindowServer+DisplaySettings: Remove the weird "simple" wallpaper mode
Painting the wallpaper at 100% scale in the top left corner is a weird mode and I don't think we need it. :^)
This commit is contained in:
parent
3046b3467c
commit
93ef661914
Notes:
sideshowbarker
2024-07-18 17:42:45 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/93ef6619148
4 changed files with 9 additions and 17 deletions
Userland
Applications/DisplaySettings
Services/WindowServer
|
@ -26,7 +26,6 @@ namespace DisplaySettings {
|
|||
|
||||
BackgroundSettingsWidget::BackgroundSettingsWidget()
|
||||
{
|
||||
m_modes.append("simple");
|
||||
m_modes.append("tile");
|
||||
m_modes.append("center");
|
||||
m_modes.append("stretch");
|
||||
|
@ -96,10 +95,10 @@ void BackgroundSettingsWidget::load_current_settings()
|
|||
m_monitor_widget->set_wallpaper(selected_wallpaper);
|
||||
}
|
||||
|
||||
auto mode = ws_config->read_entry("Background", "Mode", "simple");
|
||||
auto mode = ws_config->read_entry("Background", "Mode", "center");
|
||||
if (!m_modes.contains_slow(mode)) {
|
||||
warnln("Invalid background mode '{}' in WindowServer config, falling back to 'simple'", mode);
|
||||
mode = "simple";
|
||||
warnln("Invalid background mode '{}' in WindowServer config, falling back to 'center'", mode);
|
||||
mode = "center";
|
||||
}
|
||||
m_monitor_widget->set_wallpaper_mode(mode);
|
||||
m_mode_combo->set_selected_index(m_modes.find_first_index(mode).value_or(0));
|
||||
|
|
|
@ -104,9 +104,7 @@ void MonitorWidget::redraw_desktop_if_needed()
|
|||
auto scaled_size = m_wallpaper_bitmap->size().to_type<float>().scaled_by(sw, sh).to_type<int>();
|
||||
auto scaled_bitmap = m_wallpaper_bitmap->scaled(sw, sh);
|
||||
|
||||
if (m_desktop_wallpaper_mode == "simple") {
|
||||
painter.blit({}, *scaled_bitmap, scaled_bitmap->rect());
|
||||
} else if (m_desktop_wallpaper_mode == "center") {
|
||||
if (m_desktop_wallpaper_mode == "center") {
|
||||
Gfx::IntRect centered_rect { {}, scaled_size };
|
||||
centered_rect.center_within(m_desktop_bitmap->rect());
|
||||
painter.blit(centered_rect.location(), *scaled_bitmap, scaled_bitmap->rect());
|
||||
|
|
|
@ -30,15 +30,13 @@ Compositor& Compositor::the()
|
|||
|
||||
static WallpaperMode mode_to_enum(const String& name)
|
||||
{
|
||||
if (name == "simple")
|
||||
return WallpaperMode::Simple;
|
||||
if (name == "tile")
|
||||
return WallpaperMode::Tile;
|
||||
if (name == "center")
|
||||
return WallpaperMode::Center;
|
||||
if (name == "stretch")
|
||||
return WallpaperMode::Stretch;
|
||||
return WallpaperMode::Simple;
|
||||
if (name == "center")
|
||||
return WallpaperMode::Center;
|
||||
return WallpaperMode::Center;
|
||||
}
|
||||
|
||||
Compositor::Compositor()
|
||||
|
@ -92,7 +90,7 @@ void Compositor::init_bitmaps()
|
|||
void Compositor::did_construct_window_manager(Badge<WindowManager>)
|
||||
{
|
||||
auto& wm = WindowManager::the();
|
||||
m_wallpaper_mode = mode_to_enum(wm.config()->read_entry("Background", "Mode", "simple"));
|
||||
m_wallpaper_mode = mode_to_enum(wm.config()->read_entry("Background", "Mode", "center"));
|
||||
m_custom_background_color = Color::from_string(wm.config()->read_entry("Background", "Color", ""));
|
||||
|
||||
invalidate_screen();
|
||||
|
@ -226,9 +224,7 @@ void Compositor::compose()
|
|||
// FIXME: If the wallpaper is opaque and covers the whole rect, no need to fill with color!
|
||||
painter.fill_rect(rect, background_color);
|
||||
if (m_wallpaper) {
|
||||
if (m_wallpaper_mode == WallpaperMode::Simple) {
|
||||
painter.blit(rect.location(), *m_wallpaper, rect);
|
||||
} else if (m_wallpaper_mode == WallpaperMode::Center) {
|
||||
if (m_wallpaper_mode == WallpaperMode::Center) {
|
||||
Gfx::IntPoint offset { (ws.width() - m_wallpaper->width()) / 2, (ws.height() - m_wallpaper->height()) / 2 };
|
||||
painter.blit_offset(rect.location(), *m_wallpaper, rect, offset);
|
||||
} else if (m_wallpaper_mode == WallpaperMode::Tile) {
|
||||
|
|
|
@ -20,7 +20,6 @@ class Window;
|
|||
class WindowManager;
|
||||
|
||||
enum class WallpaperMode {
|
||||
Simple,
|
||||
Tile,
|
||||
Center,
|
||||
Stretch,
|
||||
|
|
Loading…
Add table
Reference in a new issue