commit c697a54ada6d3c915106a061e18f3cf1135b1eef
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sun Dec 20 14:12:59 2020 +0100

    common: Avoid zero refresh rate for monitor
    
    The function gdk_monitor_get_refresh_rate() can return 0 if there is no
    real monitor attached (as with Xephyr or VNC for example).
    
    The compositor use the value as a divisor to compute the frequency of
    refresh when zooming, and if the value is 0, xfwm4 will crash with a
    floating point exception (division by zero error).
    
    Make sure we return something even if gdk_monitor_get_refresh_rate()
    cannot get us a real refresh rate.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 98abe9250bce568d2775f4e74e7463842ab4a764
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Fri Dec 18 20:45:06 2020 +0100

    hints: Protect against XError from XGetTransientFor()
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>
    Closes: https://gitlab.xfce.org/xfce/xfwm4/-/issues/472

commit 533fc5866023b39b770239035c473ac35cb76ddf
Author: Kjell Cato Heskjestad <cato@heskjestad.xyz>
Date:   Fri Dec 18 12:51:54 2020 +0100

    I18n: Update translation nb (100%).
    
    176 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 16bdd7f22221ac0e62384883a6aeab0d7d998733
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Thu Dec 17 20:23:57 2020 +0100

    netwm: Allow above/below only for regular windows
    
    That makes it consistent with what xfwm4 allows from its own UI.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 9b77e0719a1478a106835448793a4d1ae20309dc
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Thu Dec 17 20:18:11 2020 +0100

    netwm: Mark splashscreen as transient for groups
    
    KDE applications such as Krita place their splashscreen window above
    other windows, but may display a dialog at startup, and that dialog
    would end up underneath the splashscreen.
    
    Make the splashscreen windows transient for groups, so that if another
    window from the same applications is eventually mapped, the splashscreen
    will be sent back automatically at the same layer as the application and
    will not hide it.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>
    Fixes: https://gitlab.xfce.org/xfce/xfwm4/-/issues/470

commit e1cbe04b306334afc9aad873eac18f773df344c2
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Wed Dec 16 18:24:44 2020 +0100

    client: Complete client state even on different workspaces
    
    When a client is restored from session management and ends up on
    another, non visible workspace, xfwm4 would simply not show it.
    
    But that's not sufficient, when the client is eventually shown on
    workspace switch, the client window would end up in a weird state,
    marked as "IsViewable" and showing reparented in "xwininfo -tree", yet
    xprop would still return the properties from the WM parent window which
    has no property set.
    
    Many X11 mechanisms, including drag and drop, rely on X11 properties and
    those would simply fail when that happens.
    
    Make sure to complete the client frame even for windows placed on a
    separate workspace, the clientShow() will eventually take care of not
    making those visible, but the client window will be in a correct state.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>
    Closes: https://gitlab.xfce.org/xfce/xfwm4/-/issues/469

commit e4f9cdc0d97086a5f5e393859b83c66a7b8428a9
Author: Dridi Boukelmoune <dridi@fedoraproject.org>
Date:   Wed Dec 16 16:54:30 2020 +0100

    build: Increase GTK+ requirement to 3.22
    
    Since 4.14 this is the minimum version for all of Xfce, which allows to
    remove a bunch of dead code.
    
    Refs !3
    
    Signed-off-by: Dridi Boukelmoune <dridi@fedoraproject.org>

commit be5bfa2d2a3fefe9e64f8300c2b31833e581d166
Author: Саша Петровић <salepetronije@gmail.com>
Date:   Wed Dec 16 12:50:37 2020 +0100

    I18n: Update translation sr (100%).
    
    176 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit c74369953d6ae7cd289aa742b21991713c2ea7f2
Author: Emin Tufan Çetin <etcetin@gmail.com>
Date:   Wed Dec 16 00:48:13 2020 +0100

    I18n: Update translation tr (100%).
    
    176 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 2a01be70282089711121cdd609752a15e09bc7e3
Author: Yannick Le Guen <leguen.yannick@gmail.com>
Date:   Wed Dec 16 00:48:13 2020 +0100

    I18n: Update translation fr (100%).
    
    176 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 889ba964c6d152260f803f275143cc80b8062483
Author: Anonymous <noreply@xfce.org>
Date:   Wed Dec 16 00:48:13 2020 +0100

    I18n: Update translation es (100%).
    
    176 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 841fcf27ea7d83fcfdafa28e4ee759ce6f5fc87b
Author: x4e <x4e_x4e@protonmail.com>
Date:   Sat Dec 12 17:31:50 2020 +0000

    Add `cycle_minimized` option
    
    This option allows minimized windows to be cycled in their MRU (Most Recently
    Used) order along side non minimized windows.
    
    With this option disabled the old behaviour will continue, where minimized
    windows are always at the end of the MRU cycle order.
    
    This option is disabled by default.
    The code in this commit was provided by @evandrocoan .
    
    Closes: https://gitlab.xfce.org/xfce/xfwm4/-/issues/438

commit 78571293bc911db680037deba17b0c6c6fba46f0
Author: Hugo Carvalho <hugokarvalho@hotmail.com>
Date:   Tue Dec 15 00:48:01 2020 +0100

    I18n: Update translation pt (100%).
    
    176 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 1412f1ea679f7744009a38fa6c8de0e69ce7308d
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Mon Dec 14 20:33:56 2020 +0100

    compositor: Release overlay window last
    
    The root picture applies to the output window, which in turn is the
    overlay window (when supported), therefore the overlay window should be
    released last to avoid XErrors when disabling the compositor.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 8f97f962b4c20e46a105e74e4f97b0aad3b03c17
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Mon Dec 14 20:32:11 2020 +0100

    compositor: Free GLX data when really using GLX
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 5264e1fa5deb54b6269e2d65b906460a8993da55
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Mon Dec 14 20:30:44 2020 +0100

    compositor: Remove useless trace message
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 3850e110d0a4537c7c6cc3787258635935d8e021
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Mon Dec 14 19:57:25 2020 +0100

    compositor: Release current GLX context on teardown
    
    Prior to freeing the GLX context, make sure it's released.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 11c59d3dba57646c9263146a340992438b171940
Author: 玉堂白鹤 <yjwork@qq.com>
Date:   Mon Dec 14 12:50:22 2020 +0100

    I18n: Update translation zh_CN (100%).
    
    176 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 6aed6d7489a3a01d9ad37996caaea3f7ed00dc49
Author: Lucas Wilm <lucaswilm@gmail.com>
Date:   Mon Dec 14 12:50:22 2020 +0100

    I18n: Update translation pt_BR (100%).
    
    176 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit cddf2b5906dfaf46427f6b0ec3ea2fd4e8438b3d
Author: Anonymous <noreply@xfce.org>
Date:   Mon Dec 14 12:50:21 2020 +0100

    I18n: Update translation lt (100%).
    
    176 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit de02ed36e9bee10c85f0a2fb5e71d9d402294dab
Author: Dmitry Unruh <dmitryunruh@googlemail.com>
Date:   Mon Dec 14 00:48:12 2020 +0100

    I18n: Update translation ru (100%).
    
    176 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit d9321f3e93072ee356959440ffbff30be1c026a6
Author: UTUMI Hirosi <utuhiro78@yahoo.co.jp>
Date:   Mon Dec 14 00:48:12 2020 +0100

    I18n: Update translation ja (100%).
    
    176 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 3aead6fc3b09e4bc1f16d6e9df7cb355b8d467f7
Author: Andreas Eitel <github-aneitel@online.de>
Date:   Mon Dec 14 00:48:12 2020 +0100

    I18n: Update translation de (100%).
    
    176 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit d62c91a5e43d8e4cba346818e6c04a08d5d5a05c
Author: Michael Martins <michaelfm21@gmail.com>
Date:   Sun Dec 13 00:49:46 2020 +0100

    I18n: Update translation pt_BR (100%).
    
    175 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 884a799ef5ed3fe7ad3ff0757f886b239909191e
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Dec 12 20:58:47 2020 +0100

    display: Remove custom XError handler
    
    GDK already implements its own XError handler mechanisnm, using a custom
    one is not only useless, but discouraged as well.
    
    Remove our own custom XError handler.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit a082a6e368d85258b86597eb19268533c94a9a26
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Dec 12 20:58:30 2020 +0100

    compositor: Check for XError when adding windows
    
    When adding windows, the compositor needs to get various attributes, and
    that can fail if the client window is already gone.
    
    Check and protect against any XError when adding windows to the
    compositor as well.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 0e30ccc211d90920909fec9ca7b913004a13606f
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Dec 12 20:42:44 2020 +0100

    compositor: Trap XErrors when disabling compositor
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 9a4db3888c0cead24bf6206febf1a7689f04dfa3
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Dec 12 16:09:40 2020 +0100

    main: Enable compositor by default
    
    Previous commit inadvertently disabled the compositor by default,
    restore expected behavior.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 124d07ceb9ec19d7ef113a332e9b52f53842a29f
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Dec 12 15:44:58 2020 +0100

    compositor: Remove automatic redirect support
    
    Automatic redirection is of little use for xfwm4, remove support for it
    and save a significant amount of code and complexity.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 92056d2e3689415fab9f96ebdf9a0b25112c4f5c
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Dec 12 14:43:42 2020 +0100

    main: Add short command line options
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 3db15d9fe30b55b287ccd04d64727210b3983105
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Dec 12 14:38:07 2020 +0100

    main: Add debug command line option
    
    When building from git, debug mode is now automatically enabled, meaning
    that xfwm4 will log debug messages to a file which can quickly grow
    fast.
    
    To avoid filling innocent users' home directories with debug messages
    from xfwm4, add a "--debug" command line option to enable logging to a
    file.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 67968d839b1ea9160435a33b6dfa6919d3396f96
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Dec 12 09:54:20 2020 +0100

    pixmap: Use a safer strncpy()
    
    strncpy() may not copy the trailing NULL terminator and newer gcc warns
    about it.
    
    Add a safer strncpy() implementation which makes sure to always put a
    NULL terminator and mute gcc warning.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 4ad761b5495c6f9855e0def81941b93ca81593cc
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Dec 12 09:33:46 2020 +0100

    settings: Fix compiler warning
    
    The _init() and _class_init() definitions are automatically generated by
    GLib's G_DEFINE_TYPE_WITH_PRIVATE macro.
    
    Remove the redundant definitions to avoid a compiler warning.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit bf29a76fdc718ae93df61c596ce49a3aba965460
Author: Romain Bouvier <skunnyk@alteroot.org>
Date:   Thu Dec 10 00:51:15 2020 +0100

    Remove useless autotools macros and Makefile targets

commit 9099ca4cfaf5a0dd7fa22b3969ed0baa4beb9523
Author: Romain Bouvier <skunnyk@alteroot.org>
Date:   Thu Dec 10 00:50:14 2020 +0100

    Use --enable-debug=yes when compiling from git

commit 9a4be9ba143e138c31c44d1d428e459cf5ac258d
Author: Anonymous <noreply@xfce.org>
Date:   Wed Dec 9 00:49:16 2020 +0100

    I18n: Update translation pt_BR (100%).
    
    175 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 5f66a4205f62d17c3c8814bb08259ba44def3765
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Tue Dec 8 20:33:35 2020 +0100

    Revert "compositor: Do not damage on opaque region update"
    
    Thunderbird is acting really weird with its opaque region, it sometimes
    set a (wrong) opaque region for a very short time during resize and
    immediately remove it, but that can prevent non-opaque regions such as
    drop shadows with client side decorations from being damaged correctly.
    
    While this is clearly a client bug, it shows that damaging the
    difference on opaque region update can be useful.
    
    This reverts commit 1e80481ac8da9cdeddc204c2c8e9c2f5841564ef.

commit 042346049a851feff890f86355b086eb15d59c0f
Author: Triyan W. Nugroho <triyan.wn@gmail.com>
Date:   Tue Dec 8 00:48:26 2020 +0100

    I18n: Update translation id (100%).
    
    175 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 732e08ce6c3c8aa71af69dfe52b07c96ad60bd26
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Mon Dec 7 20:52:07 2020 +0100

    themes: Use smaller, lighter shadows
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 44b1a730e43967d10aa7d38f49990befa55c93be
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Mon Dec 7 20:47:39 2020 +0100

    compositor: Check if compositor is enabled
    
    Add more check for the compositor being enabled, to avoid running into
    potential XErrors.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 8c86c4eeb92eaa8bfd26a5a4212eb4df6f117376
Author: Emin Tufan Çetin <etcetin@gmail.com>
Date:   Sun Dec 6 00:48:35 2020 +0100

    I18n: Update translation tr (100%).
    
    175 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit b5d785b44852b078c1bf56693c84a3d729c0f319
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Dec 5 14:06:57 2020 +0100

    compositor: Avoid XError when disabling compositor
    
    When disabling the compositor, X11 events may still be queued and
    trigger and XError after the compositor output is disabled.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>
    https://gitlab.xfce.org/xfce/xfwm4/-/issues/462

commit 7519631670fd432275a00e330548b5b217221f82
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Dec 5 14:02:25 2020 +0100

    compositor: Warn for missing epoxy GL function
    
    Older epoxy versions may miss some GL functions, warn at build time if
    that occurs.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 1428477b436930d6cd205b1d744ad5fa20f1dcbb
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Dec 5 13:49:22 2020 +0100

    netwm: Do not raise window if activate is set to none
    
    If activate action is set to "none" and focus stealing prevention is
    enabled, set the demand attention flag rather that raising the window,
    so it doesn't come into the way of the user.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>
    Closes: https://gitlab.xfce.org/xfce/xfwm4/-/issues/441

commit f1f845821deff364ebbeac27ef41f2dc3969ab83
Author: Olexandr Nesterenko <nolexndr@gmail.com>
Date:   Sat Dec 5 00:49:20 2020 +0100

    I18n: Update translation uk (98%).
    
    173 translated messages, 2 untranslated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 085240622a781b6691d7fb27d650e0b7231aa8ff
Author: Anonymous <noreply@xfce.org>
Date:   Wed Dec 2 12:51:28 2020 +0100

    I18n: Update translation es (100%).
    
    175 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit b8bad2c35202e35b696868f5af710380e54ebb86
Author: Olaf Hering <olaf@aepfle.de>
Date:   Sun Nov 29 22:03:18 2020 +0100

    Remove GSourceFunc casts
    
    The function prototypes are already a GSourceFunc, no need to cast the pointer.
    Remove a gpointer casts.
    
    Signed-off-by: Olaf Hering <olaf@aepfle.de>

commit 7cff67d17364b9db824ca7fa036ff15ad4a1214f
Author: Luna Jernberg <bittin@cafe8bitar.se>
Date:   Tue Dec 1 00:47:46 2020 +0100

    I18n: Update translation sv (98%).
    
    173 translated messages, 2 untranslated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 606d77c4e6b1615917c9082e0237f2072301bb74
Author: Anonymous <noreply@xfce.org>
Date:   Tue Dec 1 00:47:46 2020 +0100

    I18n: Update translation sl (100%).
    
    175 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit dcd7fc9d567f8890c0536b0d053565a4005d6bcf
Author: Yannick Le Guen <leguen.yannick@gmail.com>
Date:   Tue Dec 1 00:47:46 2020 +0100

    I18n: Update translation fr (100%).
    
    175 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit f4eb01dd86f27384f88686d9c58fcb4ba16617ee
Author: Саша Петровић <salepetronije@gmail.com>
Date:   Mon Nov 30 12:50:17 2020 +0100

    I18n: Update translation sr (100%).
    
    175 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 30d074d43322d28f23d24e6a93bdac63b52976d0
Author: UTUMI Hirosi <utuhiro78@yahoo.co.jp>
Date:   Mon Nov 30 12:50:17 2020 +0100

    I18n: Update translation ja (100%).
    
    175 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 4b59519b7c4213f53b29ceb395a863f61fb9e370
Author: Emanuele Petriglia <transifex@emanuelepetriglia.com>
Date:   Mon Nov 30 12:50:17 2020 +0100

    I18n: Update translation it (100%).
    
    175 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 9553cd7000b2eff8e9db750414d68893743f6583
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sun Nov 29 14:54:28 2020 +0100

    compositor: Fix build with older epoxy versions
    
    Older epoxy versions may not provide all GL functions, causing the build
    to fail.
    
    Make sure to check for function availability.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 85db8e89eaa3c9bf4b092ea1cb5ba8b07b71218e
Author: Peter de Ridder <peter@xfce.org>
Date:   Thu Oct 11 22:27:11 2012 +0200

    settings: Add 'Always on top' to the double click action
    
    Note: This cannot work with CSD (client-side decoration), as double-
    click is handled by the client and not by the window manager with CSD.
    
    Closes: https://gitlab.xfce.org/xfce/xfwm4/-/issues/1

commit 0f863657b96319847d2221f061d6dc69c9c322cb
Author: DarkTrick <notebook22312@gmail.com>
Date:   Mon Nov 23 13:29:09 2020 +0900

    Settings: Remove default alphabetical sorting of keyboard shortcuts
    Closes: #451 (Disable initial sorting of keyboard shortcuts)
    
    
    Signed-off-by: DarkTrick <notebook22312@gmail.com>

commit 4507fe4322f428e065986e8a0ab3dc9d829ca312
Author: Triyan W. Nugroho <triyan.wn@gmail.com>
Date:   Sun Nov 29 00:48:51 2020 +0100

    I18n: Update translation id (100%).
    
    174 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 69fa9cf5f17a25e48fb87cf4f92d8a64e8ae44f7
Author: Elishai Eliyahu <elishai@mailfence.com>
Date:   Sun Nov 29 00:48:51 2020 +0100

    I18n: Update translation he (100%).
    
    174 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 3b29c7adfce5e470785f182e7be4d21a199f64f3
Author: Yannick Le Guen <leguen.yannick@gmail.com>
Date:   Sun Nov 29 00:48:51 2020 +0100

    I18n: Update translation fr (100%).
    
    174 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit c255a406bd353a24a9143b152f91e5eb39f69f1f
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Nov 28 21:16:20 2020 +0100

    compositor: Handle XFixes XError
    
    XFixesSetPictureClipRegion() with the region from the client window can
    cause a RenderBadPicture error.
    
    Make sure to include it within the XError trap.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>
    https://gitlab.xfce.org/xfce/xfwm4/-/issues/460

commit 7e75a83de3ac86921c148936ffdeffba4e49ea9f
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Nov 28 15:21:49 2020 +0100

    compositor: Add support for GL_ARB_sync
    
    When using GLX, xfwm4 relies on glXSwapBuffers() for vblank. Normally,
    glXSwapBuffers() is non blocking, unless the previous call is still
    pending.
    
    That means that if xfwm4 queues glXSwapBuffers() faster than the refresh
    rate, the following calls will be blocking, stalling the window manager
    completely, which is bad for obvious reasons.
    
    To avoid queuing a new glXSwapBuffers() before the previous one is
    complete, use a GL sync mechanism.
    
    Typically, we insert a GL Sync object just after the glXSwapBuffers()
    command, and check if the GL Sync is triggered before redrawing again,
    just like we do with Xpresent.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 345725c6b5efe5715999223236e755b0be87329b
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Nov 28 15:16:12 2020 +0100

    compositor: Return early if a Present swap is pending
    
    Just a small code rework, no functional change. This is a preparation
    work for GL Sync which will do something similar for the GLX backend.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit f654c08bb6b83d4cd8f9e472f33fd96721d9eff2
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Nov 28 15:13:06 2020 +0100

    debug: Fix build in debug mode
    
    Debug mode means compiling with "-Werror", clean up various leftovers
    breaking the build in debug.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit f29b8b4a01c65d890e924d1a225ff16dae405ae1
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Nov 28 15:06:09 2020 +0100

    compositor: Fix compilation issue with Xpresent
    
    The Xpresent header check for PRESENT_FUTURE_VERSION but it's not set
    anywhere.
    
    Just set it to avoid a compilation issue with WError.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit e30c8e7f0957b5fe7d29a25292458674e3443b26
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Nov 28 15:00:06 2020 +0100

    compositor: Log fence and GLX swap time in debug mode
    
    For debugging purpose, log the time spent waiting on the fence sync and
    the redrawing time, including the time spent in glXSwapBuffers().
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit e80e54ac345bad71ef48acd4cceb7195810a57b1
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Nov 28 14:52:18 2020 +0100

    compositor: Move fence sync to redraw_glx
    
    Just a small code rework, no functional change.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 185eb00d6065a1a13118ec9f6aae72cf9762c2ae
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Nov 28 14:32:00 2020 +0100

    compositor: Move fence triggered to its own function
    
    Just a small code rework, no functional change.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 5534a5f8c0d54e349c65f1510ed13ae1fba4904d
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Nov 28 14:25:54 2020 +0100

    compositor: Set swap control if possible
    
    If either the GLX_MESA_swap_control or the GLX_EXT_swap_control
    extension is available, use it to set the swap interval to 1.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 233e4cad60d248454cbb276796a18e966fe27cd2
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Nov 28 14:18:00 2020 +0100

    compositor: Adjust to the actual number of buffers
    
    When using multiple buffers, no need to set all possible buffers, just
    set the right number of buffers actually used per vblank backend.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 9018b78b1c600bb6d56987b958138a60ee352503
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Nov 28 14:10:36 2020 +0100

    compositor: Use a GLX drawable per buffer
    
    If GLX was configured (at build time) to use multiple buffers, we would
    still use a single GLX drawable.
    
    Assign a GLX drawable per buffer instead - Note that this doesn't make
    any difference in the default case, as GLX uses a single buffer anyway.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit cdeaa15aaa85f9079e3c182565658184e87464bc
Author: ivmazurenko <ivmazurenko@yandex.ru>
Date:   Sat Nov 28 00:47:49 2020 +0100

    I18n: Update translation ru (100%).
    
    174 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 2ec9139f6acd9163c7fc9f584fad4ab028459821
Author: Саша Петровић <salepetronije@gmail.com>
Date:   Fri Nov 27 00:48:25 2020 +0100

    I18n: Update translation sr (100%).
    
    174 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 2f1aab8d6b24aa888428543f4f6d3092c64c8d77
Author: Hugo Carvalho <hugokarvalho@hotmail.com>
Date:   Wed Nov 25 00:48:11 2020 +0100

    I18n: Update translation pt (100%).
    
    174 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 903f5b80dda7d8930401188ff53480d6a975ed39
Author: Kjell Cato Heskjestad <cato@heskjestad.xyz>
Date:   Tue Nov 24 12:49:42 2020 +0100

    I18n: Update translation nb (100%).
    
    174 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit abcb126743f237c4e5561c59d041a7a516059827
Author: Anonymous <noreply@xfce.org>
Date:   Tue Nov 24 12:49:42 2020 +0100

    I18n: Update translation es (100%).
    
    174 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit df1a95a677b980601d2a8155b380c7dcefe3fe62
Author: Michael Martins <michaelfm21@gmail.com>
Date:   Tue Nov 24 00:47:58 2020 +0100

    I18n: Update translation pt_BR (100%).
    
    174 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 758218196298fe8bb46e779c6840c7ff0358b965
Author: Anonymous <noreply@xfce.org>
Date:   Tue Nov 24 00:47:58 2020 +0100

    I18n: Update translation lt (100%).
    
    174 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 0541a2a04b3add19c618c3b21d6f646dd1c53f69
Author: 玉堂白鹤 <yjwork@qq.com>
Date:   Mon Nov 23 00:47:38 2020 +0100

    I18n: Update translation zh_CN (100%).
    
    174 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 992f0839ba6581eeafb6388ee852c2285752a089
Author: Lucas Wilm <lucaswilm@gmail.com>
Date:   Mon Nov 23 00:47:38 2020 +0100

    I18n: Update translation pt_BR (100%).
    
    174 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 23a60f181583350cf93f37ee091760fa18f6b453
Author: Emanuele Petriglia <transifex@emanuelepetriglia.com>
Date:   Mon Nov 23 00:47:38 2020 +0100

    I18n: Update translation it (100%).
    
    174 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit 5a509f28e09612930b342d20c26b2af6199cfec2
Author: Kiril Kirilov <cybercop_montana@abv.bg>
Date:   Mon Nov 23 00:47:38 2020 +0100

    I18n: Update translation bg (100%).
    
    174 translated messages.
    
    Transifex (https://www.transifex.com/xfce/public/).

commit a1efc69f70ecb06c3469fa49761f14d7a15f2264
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sun Nov 22 20:07:15 2020 +0100

    client: Allow transients for group to be minimized
    
    We would not allow transients for group to be minimized as long as a
    parent is still visible.
    
    Be more lenient with those, allow those to be minimized independently
    of their parents.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>
    Closes: https://gitlab.xfce.org/xfce/xfwm4/-/issues/349

commit 65c168ab5ef49e817c84b8c8c6e26246be128010
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Nov 21 20:57:59 2020 +0100

    settings: Add a UI option for desktop zooming
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit bb4a8db76ac4db158558b1f48f391054050ab600
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Nov 21 18:29:41 2020 +0100

    themes: Remove title shadow
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit d1f3f0c74283dd5f96b5191b6db6d51e22dd32af
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Nov 21 18:27:05 2020 +0100

    themes: Adjust shadows size/opacity
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 8d027c1d6a878b0c19d4d0c33096c9917bb8c6e3
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Nov 21 17:57:51 2020 +0100

    client: Make above/below consistent
    
    The window menu entries would check for valid transients or modal dialog
    window to enable or disable the above/below entries.
    
    Yet the actual above/below function would simply check for any transient
    or modal dialog, hence denying the request for fake dialogs without an
    actual parent window.
    
    Fix the logic to remain consistent, and allows fake dialogs to be placed
    above or below other windows.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>
    Closes:https://gitlab.xfce.org/xfce/xfwm4/-/issues/458

commit 298c2d54e27ec76c16c494993fe688eb18d0ae28
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Nov 21 14:53:13 2020 +0100

    compositor: Limit damage region to the screen
    
    When an offscreen window is damaged, there is no need to repaint any
    screen region.
    
    Limit damage to the screen region only.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit a33c23b21bcb293bee2130bf5be5017577f6fedb
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Nov 21 14:46:25 2020 +0100

    compositor: Optimize repaint without vblank
    
    When using no vblank, with a single buffer, no need to render the entire
    screen.
    
    Optimize rendering by limiting the repaint to the damage region.
    
    Signed-off-by: Olivier Fourdan <fourdan@xfce.org>

commit 4007bc67ce50e67f576d36d8f13ead42f90f188c
Author: Olivier Fourdan <fourdan@xfce.org>
Date:   Sat Nov 21 14:30:13 2020 +0100

    compositor: Only accumulate damage with multiple buffers
    
    When using Xpresent, the compositor maintains multiple pixmap buffers
    and therefore needs to accumulate damages for those multiple buffers.
    
    However, when using GLX or no vblank method at all, there is only one
    buffer pixmap and there is no need to accumulate damage between buffers.
    
    Currently, the compositor would accumulate damage indefinitely when
