{"push_id":682069795,"size":5,"distinct_size":5,"ref":"refs/heads/release2","head":"5e022ee62e8b79718074bd4f13b1d89f5d8ab9e8","before":"8c54eb4127b62ee1ada4d6c2ea89b5373bd00579","commits":[{"sha":"97ead91cb70f03e2532067a6d89d8714a33109ab","author":{"email":"b37867d4e08020cf5bb17f05a2c036fbc82d5481@invisiblethingslab.com","name":"Marek Marczykowski-Górecki"},"message":"gitignore pkgs","distinct":true,"url":"https://api.github.com/repos/marmarek/qubes-gui-daemon/commits/97ead91cb70f03e2532067a6d89d8714a33109ab"},{"sha":"4d0a493b198327a02e85f91119e8bea4d08aae80","author":{"email":"b37867d4e08020cf5bb17f05a2c036fbc82d5481@invisiblethingslab.com","name":"Marek Marczykowski-Górecki"},"message":"Do not sent excessive focus events (#738)\n\nDuring task switching some window managers (at least KDE) uses input\ngrab. This in turn generates some additional focus in/out events, which\nif processed out of order, could lead to wrong VM window having focus. For\nexample this sequence is happening on Alt-Tab on KDE (switching from\nwindow A to B):\ntype     w mode          detail\nFocusOut A NotifyGrab    NotifyAncestor\nFocusOut A NotifyUngrab  NotifyPointer\nFocusIn  A NotifyUngrab  NotifyAncestor\nFocusOut A NotifyGrab    NotifyAncestor\nFocusOut A NotifyUngrab  NotifyPointer\nFocusIn  A NotifyUngrab  NotifyAncestor\nFocusOut A NotifyNormal  NotifyNonlinear\nFocusIn  B NotifyNormal  NotifyNonlinear\n\nNow, when processing one of those \"FocusIn A\" is delayed(*), the A\nwindow in VM can retake focus after window B already received it.\n\nSwitching using \"present windows\" feature is even more complicated:\ntype     w mode                detail\nFocusOut A NotifyGrab          NotifyAncestor\nFocusOut A NotifyUngrab        NotifyPointer\nFocusIn  A NotifyUngrab        NotifyAncestor\nFocusOut A NotifyGrab          NotifyAncestor\nFocusOut A NotifyWhileGrabbed  NotifyNonlinear\nFocusIn  B NotifyWhileGrabbed  NotifyNonlinear\nFocusOut B NotifyUngrab        NotifyPointer\nFocusIn  B NotifyUngrab        NotifyAncestor\n\n(*) In Linux GUI agent it may be implemented as asynchronously sending\nWM_TAKE_FOCUS message to the application (depending on advertised\nfeatures) - the application can process this message with unpredictable\ndelay.\n\nVM have no way to grab focus (which is intended feature), so it\nshouldn't care about all those NotifyGrab/NotifyUngrab events. When\nfiltered out, the only events left are simple FocusOut for previous\nwindows and FocusIn for the new one.\n\nFixes qubesos/qubes-issues#738\n\n(cherry picked from commit 0a9dace589d3a00f58690fbe7d1173260b678f4f)","distinct":true,"url":"https://api.github.com/repos/marmarek/qubes-gui-daemon/commits/4d0a493b198327a02e85f91119e8bea4d08aae80"},{"sha":"124ba7edb8422811a5a87f022aa2930f9551368c","author":{"email":"b37867d4e08020cf5bb17f05a2c036fbc82d5481@invisiblethingslab.com","name":"Marek Marczykowski-Górecki"},"message":"pulse: fix stream parameters for low latency mode\n\nThere is 'fragsize', which set to 0 was invalid - caused sound sent\nsample-by-sample, which was fatal in terms of performance. Additionally\nset PA_STREAM_ADJUST_LATENCY flag to really have those latency\nconstraints, including hardware buffers - not only on pulseaudio\nconnection.\n\nAlso do not limit buffer size, even in low latency mode - its 'tlength'\nthat's important.\n\n(cherry picked from commit 65f1c37144576662e30b4c16fd1b4ae50e9f9b4e)","distinct":true,"url":"https://api.github.com/repos/marmarek/qubes-gui-daemon/commits/124ba7edb8422811a5a87f022aa2930f9551368c"},{"sha":"8e6510d3471555cb5be1c8a44dd21923afe12487","author":{"email":"b37867d4e08020cf5bb17f05a2c036fbc82d5481@invisiblethingslab.com","name":"Marek Marczykowski-Górecki"},"message":"pulse: try to not miss any record start/stop command\n\n(cherry picked from commit 1e0129da324519d28ee953a57a7ec4572949d33b)","distinct":true,"url":"https://api.github.com/repos/marmarek/qubes-gui-daemon/commits/8e6510d3471555cb5be1c8a44dd21923afe12487"},{"sha":"5e022ee62e8b79718074bd4f13b1d89f5d8ab9e8","author":{"email":"b37867d4e08020cf5bb17f05a2c036fbc82d5481@invisiblethingslab.com","name":"Marek Marczykowski-Górecki"},"message":"version 2.1.37","distinct":true,"url":"https://api.github.com/repos/marmarek/qubes-gui-daemon/commits/5e022ee62e8b79718074bd4f13b1d89f5d8ab9e8"}]}