diff options
author | dec05eba <dec05eba@protonmail.com> | 2022-07-18 00:13:14 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2022-07-18 00:13:14 +0200 |
commit | be69d51f25189dba52f0c0d97906e9d1af3986fd (patch) | |
tree | 711dd1d357cc5ef59a0223f5de84e711bde96891 | |
parent | db4944cd08381345df322d2f0b62383f899674b7 (diff) |
Use expose instead of visibility event
-rw-r--r-- | src/main.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/main.cpp b/src/main.cpp index 6afbc82..5d06268 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1173,7 +1173,7 @@ int main(int argc, char **argv) { // avcodec_close(av_codec_context); if(dpy) - XSelectInput(dpy, src_window_id, StructureNotifyMask | VisibilityChangeMask); + XSelectInput(dpy, src_window_id, StructureNotifyMask | ExposureMask); /* int damage_event; @@ -1245,7 +1245,6 @@ int main(int argc, char **argv) { double record_start_time = glfwGetTime(); std::deque<AVPacket> frame_data_queue; bool frames_erased = false; - int prev_visibility_state = VisibilityFullyObscured; SoundDevice sound_device; uint8_t *audio_frame_buf; @@ -1319,12 +1318,9 @@ int main(int argc, char **argv) { running = 0; } - if (XCheckTypedWindowEvent(dpy, src_window_id, VisibilityNotify, &e)) { - if((prev_visibility_state == VisibilityFullyObscured && e.xvisibility.state != VisibilityFullyObscured) || (e.xvisibility.state == prev_visibility_state)) { - window_resize_timer = glfwGetTime(); - window_resized = true; - } - prev_visibility_state = e.xvisibility.state; + if (XCheckTypedWindowEvent(dpy, src_window_id, Expose, &e) && e.xexpose.count == 0) { + window_resize_timer = glfwGetTime(); + window_resized = true; } if (XCheckTypedWindowEvent(dpy, src_window_id, ConfigureNotify, &e) && e.xconfigure.window == src_window_id) { |