1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 09:48:11 +00:00
serenity/Userland/Services/WindowServer
Tom dbb9f891fb WindowServer: Re-use existing Screen instances and improve fallbacks
If a screen layout cannot be applied, instead of failing to start
WindowServer try to fall back to an auto-generated screen layout with
the devices that are detected.

Also, be a bit smarter about changing the current screen layout.
Instead of closing all framebuffers and bringing them back up, keep
what we can and only change resolution on those that we need to change
them on. To make this work we also need to move away from using an
array of structures to hold compositor related per-screen data to
attaching it to the Screen itself, which makes re-using a screen much
simpler.
2021-07-21 00:06:58 +02:00
..
Animation.cpp WindowServer: Fix animations not triggering rendering 2021-06-29 10:03:53 +02:00
Animation.h WindowServer: Change animation time to duration 2021-06-28 22:29:39 +02:00
AppletManager.cpp WindowServer: Fix menu over-drawing 2021-07-18 23:55:13 +02:00
AppletManager.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Button.cpp WindowServer: Load multiple scaled versions of Bitmaps and Cursors 2021-06-20 14:57:26 +02:00
Button.h WindowServer: Load multiple scaled versions of Bitmaps and Cursors 2021-06-20 14:57:26 +02:00
ClientConnection.cpp WindowServer: Let clients mark windows as stealable by specific clients 2021-07-18 17:21:28 +02:00
ClientConnection.h WindowServer: Let clients mark windows as stealable by specific clients 2021-07-18 17:21:28 +02:00
CMakeLists.txt WindowServer: Add a more generic mechanism for animations 2021-06-27 19:38:11 +02:00
Compositor.cpp WindowServer: Re-use existing Screen instances and improve fallbacks 2021-07-21 00:06:58 +02:00
Compositor.h WindowServer: Re-use existing Screen instances and improve fallbacks 2021-07-21 00:06:58 +02:00
Cursor.cpp AK+Everywhere: Remove StringView::find_{first,last}_of(char) methods 2021-07-02 21:54:21 +02:00
Cursor.h WindowServer: Fix animated cursor regression 2021-06-21 16:52:29 +02:00
Event.h WindowServer: Preserve all members in MouseEvent::translated() 2021-06-18 17:40:05 +02:00
EventLoop.cpp WindowServer: Add initial support for rendering on multiple screens 2021-06-20 14:57:26 +02:00
EventLoop.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
HitTestResult.h WindowServer: Make hit test results richer 2021-06-18 17:40:05 +02:00
main.cpp WindowServer: Re-use existing Screen instances and improve fallbacks 2021-07-21 00:06:58 +02:00
Menu.cpp WindowServer: Fix menu over-drawing 2021-07-18 23:55:13 +02:00
Menu.h WindowServer: Fix menu over-drawing 2021-07-18 23:55:13 +02:00
Menubar.cpp Everywhere: Replace Vector<T*> with nonnull entries with Vector<T&> 2021-06-08 19:14:24 +02:00
Menubar.h Everywhere: Replace Vector<T*> with nonnull entries with Vector<T&> 2021-06-08 19:14:24 +02:00
MenuItem.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MenuItem.h WindowServer: Fix a handful of clang-tidy warnings in the menu code 2021-05-09 15:47:21 +02:00
MenuManager.cpp WindowServer: Fix menu over-drawing 2021-07-18 23:55:13 +02:00
MenuManager.h WindowServer: Fix menu over-drawing 2021-07-18 23:55:13 +02:00
MultiScaleBitmaps.cpp WindowServer: Add an Overlay class for flicker-free overlay rendering 2021-06-25 20:38:13 +02:00
MultiScaleBitmaps.h WindowServer: Add an Overlay class for flicker-free overlay rendering 2021-06-25 20:38:13 +02:00
Overlays.cpp WindowServer: Add basic virtual desktop support 2021-07-03 12:27:23 +02:00
Overlays.h WindowServer: Add basic virtual desktop support 2021-07-03 12:27:23 +02:00
Screen.cpp WindowServer: Re-use existing Screen instances and improve fallbacks 2021-07-21 00:06:58 +02:00
Screen.h WindowServer: Re-use existing Screen instances and improve fallbacks 2021-07-21 00:06:58 +02:00
ScreenLayout.cpp WindowServer: Add API to set/get screen layouts 2021-06-20 14:57:26 +02:00
ScreenLayout.h WindowServer: Re-use existing Screen instances and improve fallbacks 2021-07-21 00:06:58 +02:00
ScreenLayout.ipp WindowServer: Re-use existing Screen instances and improve fallbacks 2021-07-21 00:06:58 +02:00
Window.cpp WindowServer: Fix compositor overdraw issues related to transparency 2021-07-18 18:39:20 +02:00
Window.h WindowServer: Fix compositor overdraw issues related to transparency 2021-07-18 18:39:20 +02:00
WindowClient.ipc LibGUI+WindowServer: Expose WindowServer client id to the client 2021-07-18 17:21:28 +02:00
WindowFrame.cpp WindowServer: Allow partial repaints in window frame & menubars 2021-07-08 01:17:06 +02:00
WindowFrame.h WindowServer: Add WindowFrame::invalidate_menubar() and use it 2021-07-07 21:06:15 +02:00
WindowManager.cpp WindowServer: Fix menu over-drawing 2021-07-18 23:55:13 +02:00
WindowManager.h WindowServer: Add set_virtual_dekstop WindowManager message 2021-07-19 18:21:40 +02:00
WindowManagerClient.ipc WindowServer: Add API to change virtual desktop settings 2021-07-03 12:27:23 +02:00
WindowManagerServer.ipc WindowServer: Add set_virtual_dekstop WindowManager message 2021-07-19 18:21:40 +02:00
WindowServer.ipc WindowServer: Let clients mark windows as stealable by specific clients 2021-07-18 17:21:28 +02:00
WindowStack.cpp WindowServer: Allow windows to be pinnable (always on top) 2021-07-07 15:38:59 +02:00
WindowStack.h WindowServer: Add missing minimize check to highlighted window callback 2021-07-08 22:31:21 +02:00
WindowSwitcher.cpp WindowServer: Remove rect behind window icon in WindowSwitcher 2021-07-08 20:15:23 +02:00
WindowSwitcher.h WindowServer: Show window's desktop in window switcher if needed 2021-07-03 12:27:23 +02:00
WindowType.h WindowServer: Add sanity checks to create_window IPC 2021-06-03 08:27:57 +02:00
WMClientConnection.cpp WindowServer: Add set_virtual_dekstop WindowManager message 2021-07-19 18:21:40 +02:00
WMClientConnection.h WindowServer: Add set_virtual_dekstop WindowManager message 2021-07-19 18:21:40 +02:00