Reduce cpu usage when ui is not visible

This commit is contained in:
dec05eba
2024-10-27 15:07:24 +01:00
parent 3206458c8d
commit cd89668d0c
3 changed files with 11 additions and 6 deletions

View File

@@ -279,20 +279,20 @@ namespace gsr {
process_key_bindings(event);
}
void Overlay::draw() {
bool Overlay::draw() {
update_notification_process_status();
update_gsr_process_status();
if(!visible)
return;
return false;
if(page_stack.empty()) {
hide();
return;
return false;
}
if(!window)
return;
return false;
window->clear();
@@ -312,6 +312,8 @@ namespace gsr {
page_stack.draw(*window, mgl::vec2f(0.0f, 0.0f));
window->display();
return true;
}
void Overlay::show() {

View File

@@ -7,6 +7,7 @@
#include <unistd.h>
#include <signal.h>
#include <thread>
#include <X11/keysym.h>
#include <mglpp/mglpp.hpp>
@@ -160,7 +161,8 @@ int main(int argc, char **argv) {
global_hotkeys.poll_events();
overlay->handle_events();
overlay->draw();
if(!overlay->draw())
std::this_thread::sleep_for(std::chrono::milliseconds(50));
}
fprintf(stderr, "info: shutting down!\n");