mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 12:38:12 +00:00
WindowServer+wsctl: Add a simple utility for toggling "flash flush"
You can now put the WindowServer into "flash flush" mode by doing: $ wsctl -f 1 To disable it, somewhat obviously: $ wsctl -f 0
This commit is contained in:
parent
6032b2cb2b
commit
b027466f41
6 changed files with 36 additions and 1 deletions
|
@ -1099,4 +1099,9 @@ void ClientConnection::set_window_modified(i32 window_id, bool modified)
|
||||||
window.set_modified(modified);
|
window.set_modified(modified);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ClientConnection::set_flash_flush(bool enabled)
|
||||||
|
{
|
||||||
|
Compositor::the().set_flash_flush(enabled);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -162,6 +162,7 @@ private:
|
||||||
virtual void set_window_modified(i32, bool) override;
|
virtual void set_window_modified(i32, bool) override;
|
||||||
virtual Messages::WindowServer::IsWindowModifiedResponse is_window_modified(i32) override;
|
virtual Messages::WindowServer::IsWindowModifiedResponse is_window_modified(i32) override;
|
||||||
virtual Messages::WindowServer::GetDesktopDisplayScaleResponse get_desktop_display_scale(u32) override;
|
virtual Messages::WindowServer::GetDesktopDisplayScaleResponse get_desktop_display_scale(u32) override;
|
||||||
|
virtual void set_flash_flush(bool) override;
|
||||||
|
|
||||||
Window* window_from_id(i32 window_id);
|
Window* window_from_id(i32 window_id);
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
|
* Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org>
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: BSD-2-Clause
|
* SPDX-License-Identifier: BSD-2-Clause
|
||||||
*/
|
*/
|
||||||
|
@ -125,6 +125,8 @@ public:
|
||||||
void register_animation(Badge<Animation>, Animation&);
|
void register_animation(Badge<Animation>, Animation&);
|
||||||
void unregister_animation(Badge<Animation>, Animation&);
|
void unregister_animation(Badge<Animation>, Animation&);
|
||||||
|
|
||||||
|
void set_flash_flush(bool b) { m_flash_flush = b; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Compositor();
|
Compositor();
|
||||||
void init_bitmaps();
|
void init_bitmaps();
|
||||||
|
|
|
@ -144,4 +144,6 @@ endpoint WindowServer
|
||||||
get_double_click_speed() => (int speed)
|
get_double_click_speed() => (int speed)
|
||||||
|
|
||||||
get_desktop_display_scale(u32 screen_index) => (int desktop_display_scale)
|
get_desktop_display_scale(u32 screen_index) => (int desktop_display_scale)
|
||||||
|
|
||||||
|
set_flash_flush(bool enabled) =|
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,3 +99,4 @@ target_link_libraries(zip LibArchive LibCompress LibCrypto)
|
||||||
target_link_libraries(cpp-parser LibCpp LibGUI)
|
target_link_libraries(cpp-parser LibCpp LibGUI)
|
||||||
target_link_libraries(PreprocessorTest LibCpp LibGUI)
|
target_link_libraries(PreprocessorTest LibCpp LibGUI)
|
||||||
target_link_libraries(wasm LibWasm LibLine)
|
target_link_libraries(wasm LibWasm LibLine)
|
||||||
|
target_link_libraries(wsctl LibGUI)
|
||||||
|
|
24
Userland/Utilities/wsctl.cpp
Normal file
24
Userland/Utilities/wsctl.cpp
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2021, Andreas Kling <kling@serenityos.org>
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <LibCore/ArgsParser.h>
|
||||||
|
#include <LibGUI/Application.h>
|
||||||
|
#include <LibGUI/WindowServerConnection.h>
|
||||||
|
|
||||||
|
int main(int argc, char** argv)
|
||||||
|
{
|
||||||
|
auto app = GUI::Application::construct(argc, argv);
|
||||||
|
|
||||||
|
int flash_flush = -1;
|
||||||
|
Core::ArgsParser args_parser;
|
||||||
|
args_parser.add_option(flash_flush, "Flash flush (repaint) rectangles", "flash-flush", 'f', "0/1");
|
||||||
|
args_parser.parse(argc, argv);
|
||||||
|
|
||||||
|
if (flash_flush != -1) {
|
||||||
|
GUI::WindowServerConnection::the().async_set_flash_flush(flash_flush);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue