diff options
| author | Ashesh Ambasta <ashesh.ambasta@gmail.com> | 2026-05-27 16:23:56 +0200 |
|---|---|---|
| committer | Ashesh Ambasta <ashesh.ambasta@gmail.com> | 2026-05-29 10:31:36 +0200 |
| commit | 2c7399e3590cccd23b834f4b76193d918be56bb4 (patch) | |
| tree | 908d8aa990cfda0929274102cf9477257c52b3bf /src/Xmobar/Run/Template.hs | |
| parent | 6cf589469e7d93c20522b3c0ae616255766759e1 (diff) | |
| download | xmobar-2c7399e3590cccd23b834f4b76193d918be56bb4.tar.gz xmobar-2c7399e3590cccd23b834f4b76193d918be56bb4.tar.bz2 | |
Skip root pixmap access when alpha == 255
When alpha is 255 (fully opaque), the pseudo-transparency blend factor
is zero (0xFFFF - 257 * 255 = 0), making the root pixmap composite a
visual no-op. However, drawBackground unconditionally calls
XRenderCreatePicture on the _XROOTPMAP_ID pixmap.
Wallpaper setters like feh free the old root pixmap via XKillClient
each time they cycle to a new image. If xmobar attempts
XRenderCreatePicture on the freed pixmap, the X server returns
BadDrawable and the default error handler terminates xmobar.
Guard the entire root pixmap code path with `when (alpha < 255)` so
that fully opaque bars never touch _XROOTPMAP_ID.
Diffstat (limited to 'src/Xmobar/Run/Template.hs')
0 files changed, 0 insertions, 0 deletions
