Per-monitor wallpaper #7976
stefanomainardi
started this conversation in
Suggestions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Every monitor shows the same wallpaper, which looks bad when the monitors don't match. My case is a portrait monitor next to a wide one: the shared landscape wallpaper gets upscaled and cropped to fill the tall side, so it's grainy while the wide monitor looks fine.
I'd like a monitor to be able to use its own wallpaper, with the shared one staying the default.
I put together a working version to see if the direction is welcome. Here is the diff against
quattro(one commit, four files): quattro...stefanomainardi:omarchy:background-per-monitorHow it works:
~/.local/state/omarchy/current/backgrounds.jsonmaps an output name to an image, e.g.{ "DP-4": "/path/portrait.jpg" }. No file means today's behavior on every screen.omarchy-theme-bg-setgets--monitor <output>and--all. A plain set still leaves overrides alone, so a theme switch keeps them.omarchy-theme-bg-switch) asks "this monitor or all?" when you have more than one screen, and sets it accordingly. Single monitor is unchanged.Verified live on a two-monitor setup with one rotated to portrait: per-monitor overrides, both monitors overridden at once, theme-switch safety, and malformed-file fallback, with no crashes.
A few things I'm unsure about:
DP-4), which can change on reconnect. The monitor description would be more stable but uglier as a key.current/background, or put the map inshell.json?Happy to open a PR if you want it.
All reactions