diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Overlay.cpp | 10 | ||||
-rw-r--r-- | src/main.cpp | 4 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/Overlay.cpp b/src/Overlay.cpp index ed5c3a7..f8148bf 100644 --- a/src/Overlay.cpp +++ b/src/Overlay.cpp @@ -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() { diff --git a/src/main.cpp b/src/main.cpp index 3d367fa..0cc8076 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -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"); |