diff options
| author | Can Celik <ogulcancelik@gmail.com> | 2026-09-14 03:02:14 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-14 03:02:14 +0300 |
| commit | 21c1f8cf856affb875b5ab4302225a63f4563bdd (patch) | |
| tree | fc3fa607c4af3d9233f3ba7d905a4744ad25c215 /src/client/shell/graphics.rs | |
| parent | add3dd28f91db1a2b33e9582c60ac9c1809c1bf5 (diff) | |
fix: hide only kitty image placements overlapping overlays (#4081)
Diffstat (limited to 'src/client/shell/graphics.rs')
| -rw-r--r-- | src/client/shell/graphics.rs | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/src/client/shell/graphics.rs b/src/client/shell/graphics.rs index 31061c9b..a7ae81e3 100644 --- a/src/client/shell/graphics.rs +++ b/src/client/shell/graphics.rs @@ -31,19 +31,13 @@ impl ClientShellState { }; } - pub(super) fn compose_graphics(&mut self, frame: &mut FrameData, layout: ClientShellLayout) { - let local_cover = self.overlay.is_some() - || self.mode != ClientShellMode::Terminal - || self.endpoint_error.is_some() - || self.config_diagnostic.is_some() - || self.visible_endpoint_notice.is_some() - || self.visible_notification.is_some() - || self.copy_feedback.is_some() - || self - .selection - .as_ref() - .is_some_and(|selection| selection.is_visible()); - let visibility = if local_cover { + pub(super) fn compose_graphics( + &mut self, + frame: &mut FrameData, + layout: ClientShellLayout, + occlusion: &crate::kitty_graphics::surface::Occlusion, + ) { + let visibility = if self.endpoint_error.is_some() { crate::kitty_graphics::surface::Visibility::Hidden } else if self.hits.popup.is_some() { crate::kitty_graphics::surface::Visibility::Popup @@ -60,6 +54,7 @@ impl ClientShellState { (layout.pane_surface.x, layout.pane_surface.y), popup_origin, self.graphics_cell_size, + occlusion, ); } } |
