From eba7a6cbce38c7583a99c62811f0607185e48844 Mon Sep 17 00:00:00 2001 From: Sam <17427046+Samillion@users.noreply.github.com> Date: Wed, 11 Mar 2026 04:28:36 +0200 Subject: [PATCH 1/2] fix: don't let input events reset window controls bar hidetimeout --- modernz.lua | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modernz.lua b/modernz.lua index 0b3da7b..4311093 100644 --- a/modernz.lua +++ b/modernz.lua @@ -3400,9 +3400,14 @@ end -- local function reset_timeout() local now = mp.get_time() - state.showtime = now if user_opts.independent_zones then - state.wc_showtime = now + if mouse_in_area({"window-controls", "window-controls-title"}) then + state.wc_showtime = now + else + state.showtime = now + end + else + state.showtime = now end end From 1f9a52c99e6af6346174d5d10db6bbf3952baffa Mon Sep 17 00:00:00 2001 From: Sam <17427046+Samillion@users.noreply.github.com> Date: Wed, 11 Mar 2026 17:15:34 +0200 Subject: [PATCH 2/2] fix: area elements should only affect the specific area only For example: seekbar drag shouldn't affect top bar's hide --- modernz.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modernz.lua b/modernz.lua index 4311093..1d77714 100644 --- a/modernz.lua +++ b/modernz.lua @@ -3649,7 +3649,9 @@ local function render() if state.pause_osc_locked and showtime_key == "showtime" then return end local timeout = state[showtime_key] + (hide_timeout / 1000) - now if timeout <= 0 and get_touchtimeout() <= 0 then - if state.active_element == nil and (not mouse_in_area(input_areas) or not user_opts.osc_keep_with_cursor) then + -- area elements should affect the specific area only. (ie: seekbar drag shouldn't affect top bar) + local element_blocks_hide = state.active_element ~= nil and mouse_in_area(input_areas) + if not element_blocks_hide and (not mouse_in_area(input_areas) or not user_opts.osc_keep_with_cursor) then hide_fn() end else