aboutsummaryrefslogtreecommitdiff
path: root/src/client/shell/graphics.rs
diff options
context:
space:
mode:
authorCan Celik <ogulcancelik@gmail.com>2026-09-14 03:02:14 +0300
committerGitHub <noreply@github.com>2026-09-14 03:02:14 +0300
commit21c1f8cf856affb875b5ab4302225a63f4563bdd (patch)
treefc3fa607c4af3d9233f3ba7d905a4744ad25c215 /src/client/shell/graphics.rs
parentadd3dd28f91db1a2b33e9582c60ac9c1809c1bf5 (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.rs21
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,
);
}
}