canonical / ubuntu-frame

The foundation for many embedded graphical display implementations
GNU General Public License v3.0
159 stars 21 forks source link

When display layout is changed to overlap outputs the background is incorrectly updated #127

Open AlanGriffiths opened 1 year ago

AlanGriffiths commented 1 year ago

Dynamically updating the display layout become possible with Miral 3.8 and #122 (or #126), so this only affects edge.

When switching from side_by_side to default (with the following config) the background from the smaller external display is visible over background on the larger display.

display configuration

```plain layouts: # keys here are layout labels (used for atomically switching between them). # The yaml anchor 'the_default' is used to alias the 'default' label default: cards: # a list of cards (currently matched by card-id) - card-id: 0 eDP-1: # This output supports the following modes: 2560x1440@60.0 # # Uncomment the following to enforce the selected configuration. # Or amend as desired. # state: enabled # {enabled, disabled}, defaults to enabled mode: 2560x1440@60.0 # Defaults to preferred mode position: [0, 0] # Defaults to [0, 0] orientation: normal # {normal, left, right, inverted}, defaults to normal scale: 1 group: 0 # Outputs with the same non-zero value are treated as a single display DisplayPort-1: # (disconnected) HDMI-A-1: # (disconnected) DisplayPort-2: # (disconnected) HDMI-A-2: # This output supports the following modes: 1024x600@60.0, 1920x1080@60.0, # 1600x900@60.0, 1366x768@59.9, 1280x720@60.0, 1280x720@59.9 # # Uncomment the following to enforce the selected configuration. # Or amend as desired. # state: enabled # {enabled, disabled}, defaults to enabled mode: 1024x600@60.0 # Defaults to preferred mode position: [0, 0] # Defaults to [0, 0] orientation: normal # {normal, left, right, inverted}, defaults to normal scale: 1 group: 0 # Outputs with the same non-zero value are treated as a single display side_by_side: cards: # a list of cards (currently matched by card-id) - card-id: 0 eDP-1: # This output supports the following modes: 2560x1440@60.0 # # Uncomment the following to enforce the selected configuration. # Or amend as desired. # state: enabled # {enabled, disabled}, defaults to enabled mode: 2560x1440@60.0 # Defaults to preferred mode position: [0, 0] # Defaults to [0, 0] orientation: normal # {normal, left, right, inverted}, defaults to normal scale: 1 group: 0 # Outputs with the same non-zero value are treated as a single display DisplayPort-1: # (disconnected) HDMI-A-1: # (disconnected) DisplayPort-2: # (disconnected) HDMI-A-2: # This output supports the following modes: 1024x600@60.0, 1920x1080@60.0, # 1600x900@60.0, 1366x768@59.9, 1280x720@60.0, 1280x720@59.9 # # Uncomment the following to enforce the selected configuration. # Or amend as desired. # state: enabled # {enabled, disabled}, defaults to enabled mode: 1024x600@60.0 # Defaults to preferred mode position: [2560, 0] # Defaults to [0, 0] orientation: normal # {normal, left, right, inverted}, defaults to normal scale: 1 group: 0 # Outputs with the same non-zero value are treated as a single display ```