Mixed-DPI setups mess with pixel-perfect images again
Describe the bug
I say "again" because this was fixed in 0.15.0, from what I could observe. nvm lol 0.15.0 is occasionally busted too all of a sudden? after rolling back to a previously known good config? im so confused. i was going to properly bisect it (shoutout for making that super easy by just doing nix run .#waybar btw! big ups) to make life easier for mr maintainer but now that it's stochastic i'm kind of at a loss sorry
Specifically, with respect to screenshots below:
| 0.14.0 | 0.15.0 | master as of writing | |
|---|---|---|---|
| only one standard DPI monitor | correct | correct | correct |
| mixed DPI setup, nonetheless, on the standard DPI monitor: | blurred | 50/50 correct/blurred i guess? | blurred |
To reproduce Set icons with very obvious pixel boundaries, and plug in mixed-dpi monitors
[
{
"position": "top",
"modules-right": [
"image#clock-icon"
],
"image#clock-icon": {
"path": "/nix/store/asdfhfdsgfjdklsfoobar742814/share/icons/clock.png",
"size": 8
}
}
]clock.png:
#image {
border-right: 4px solid transparent;
border-left: 3px solid transparent;
}
window#waybar.top {
border-top: 1px solid #ffffff;
border-bottom: 1px solid #D8D7D7;
background-color: #eeeeee;
}Expected behaviour see "correct" in screenshots below
Screenshots
correct:
blurred:
curious aside: bitmap fonts are always just fine. only the icons are smeared
Environment
- Waybar version (
waybar --version): says 0.15.0 but it's a build of latest master. rev 6d60c8e02 - Installed from (distro package / source / other): overriden NixOS 26.05 package:
package = pkgs.waybar.overrideAttrs ({ buildInputs ? [], mesonFlags ? [], ... }: {
src = pkgs.fetchFromGitHub {
owner = "Alexays";
repo = "waybar";
rev = "6d60c8e02be67bb85bb9b1ea803f2fbcf0722002";
hash = "sha256-G6AcGuevhkYflQHhJq9GnLhEMgcI51Y6MYKBQvdRPDc=";
};
version = "2026-08-27";
buildInputs = buildInputs ++ [ pkgs.modemmanager ];
mesonFlags = mesonFlags ++ [ "-Dcava=disabled" ];
doInstallCheck = false;
});- Compositor and version (Sway, Hyprland, River, …):
$ hyprland --version
Hyprland 0.55.4 built from branch v0.55.4-b at commit a0136d8c04687bb36eb8a28eb9d1ff92aea99704 clean ([gha] Nix: update inputs).Debug output
Run waybar -l debug and paste any relevant output:
(nothing relevant)Additional context see version-specific comments in initial section
Source: Alexays/Waybar