mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-22 11:46:11 +03:00
apprt/gtk: don't dim surface when opening context menu
This commit is contained in:
@ -1887,7 +1887,7 @@ fn gtkFocusLeave(_: *c.GtkEventControllerFocus, ud: ?*anyopaque) callconv(.C) vo
|
|||||||
// Notify our IM context
|
// Notify our IM context
|
||||||
c.gtk_im_context_focus_out(self.im_context);
|
c.gtk_im_context_focus_out(self.im_context);
|
||||||
|
|
||||||
// We only dim the surface if we are a split
|
// We only try dimming the surface if we are a split
|
||||||
switch (self.container) {
|
switch (self.container) {
|
||||||
.split_br,
|
.split_br,
|
||||||
.split_tl,
|
.split_tl,
|
||||||
@ -1904,6 +1904,16 @@ fn gtkFocusLeave(_: *c.GtkEventControllerFocus, ud: ?*anyopaque) callconv(.C) vo
|
|||||||
/// Adds the unfocused_widget to the overlay. If the unfocused_widget has already been added, this
|
/// Adds the unfocused_widget to the overlay. If the unfocused_widget has already been added, this
|
||||||
/// is a no-op
|
/// is a no-op
|
||||||
pub fn dimSurface(self: *Surface) void {
|
pub fn dimSurface(self: *Surface) void {
|
||||||
|
const window = self.container.window() orelse {
|
||||||
|
log.warn("dimSurface invalid for container={}", .{self.container});
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Don't dim surface if context menu is open.
|
||||||
|
// This means we got unfocused due to it opening.
|
||||||
|
const context_menu_open = c.gtk_widget_get_visible(window.context_menu);
|
||||||
|
if (context_menu_open == c.True) return;
|
||||||
|
|
||||||
if (self.unfocused_widget != null) return;
|
if (self.unfocused_widget != null) return;
|
||||||
self.unfocused_widget = c.gtk_drawing_area_new();
|
self.unfocused_widget = c.gtk_drawing_area_new();
|
||||||
c.gtk_widget_add_css_class(self.unfocused_widget.?, "unfocused-split");
|
c.gtk_widget_add_css_class(self.unfocused_widget.?, "unfocused-split");
|
||||||
|
Reference in New Issue
Block a user