From 206f73ed62003dba5041348f17433b1b3fe70174 Mon Sep 17 00:00:00 2001 From: David Vazgenovich Shakaryan Date: Sat, 10 Jan 2026 21:55:15 -0800 Subject: disable OSC while menu is active --- main.lua | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'main.lua') diff --git a/main.lua b/main.lua index 215fbf4..4cc58ea 100644 --- a/main.lua +++ b/main.lua @@ -58,6 +58,7 @@ local osd = _osd.new({ }) local key_bindings = {} +local osc_visibility local function update_osd() osd:redraw(state) @@ -1030,11 +1031,27 @@ local function set_key_bindings() end end +local function set_osc_visibility() + local v = osd:is_hidden() and osc_visibility or 'never' + mp.command_native({'script-message', 'osc-visibility', v, ''}) +end + local function toggle_menu() osd:toggle_hidden() + + if osc_visibility ~= 'never' then + set_osc_visibility() + end + set_key_bindings() end +mp.observe_property('user-data/osc/visibility', 'native', function(_, val) + if osd:is_hidden() or val ~= 'never' then + osc_visibility = val + end +end) + mp.observe_property('osd-dimensions', 'native', function(_, val) osd:resize(val.w, val.h) update_osd() @@ -1050,11 +1067,12 @@ mp.register_event('end-file', function() update_osd() end) -mp.command_native({'script-message', 'osc-idlescreen', 'no', ''}) - load_data() push_group_menu(catalogue:get('root')) +osc_visibility = mp.get_property('user-data/osc/visibility', 'auto') +set_osc_visibility() + -- keys added via bind_key() are unbound when the OSD is closed, but we want -- toggle-menu to work regardless of setting. mp.add_forced_key_binding('TAB', 'toggle-menu', toggle_menu) -- cgit v1.2.3-70-g09d2