summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAvi Halachmi (:avih) <avihpit@yahoo.com>2021-07-20 00:49:03 +0300
committerAvi Halachmi (:avih) <avihpit@yahoo.com>2021-07-20 01:00:03 +0300
commit70c9d8d5d704764e35098843d1c9a788ee21beb6 (patch)
treec8837e55db262cb4e2cd8c31b134cdd9cd5e2821
parent1e1b5a6e146ccebd0d9941694064d360422a2795 (diff)
downloadmpv-70c9d8d5d704764e35098843d1c9a788ee21beb6.tar.bz2
mpv-70c9d8d5d704764e35098843d1c9a788ee21beb6.tar.xz
stats.lua: page 4 (keys): fix "excluding stats keys" - attempt 2
Page 4 bindings listing wants to exclude the interactive keys of the stats script itself - so that they don't hide the normal keys which are bound when stats is not interactive. It did so by testing that the bound command includes stats/__key which is how it usually looks when a script binds keys. However, if a script uses a name for the binding - like stats.lua does for the interative keys (because it later removes them by name when interactive mode ends), then the command has stats/name rather than stats/__key... To fix this, we change the names of the forced interactive bindings to start with __forced_, and that's now also what the page-4 listing excludes.
-rw-r--r--player/lua/stats.lua14
1 files changed, 7 insertions, 7 deletions
diff --git a/player/lua/stats.lua b/player/lua/stats.lua
index 1d629e08ad..a5871822b7 100644
--- a/player/lua/stats.lua
+++ b/player/lua/stats.lua
@@ -407,7 +407,7 @@ local function get_kbinfo_lines(width)
(active[bind.key].is_weak and not bind.is_weak) or
(bind.is_weak == active[bind.key].is_weak and
bind.priority > active[bind.key].priority)
- ) and not bind.cmd:find("script-binding stats/__key", 1, true)
+ ) and not bind.cmd:find("script-binding stats/__forced_", 1, true)
then
active[bind.key] = bind
end
@@ -1020,15 +1020,15 @@ local function reset_scroll_offsets()
end
local function bind_scroll()
if not scroll_bound then
- mp.add_forced_key_binding(o.key_scroll_up, o.key_scroll_up, scroll_up, {repeatable=true})
- mp.add_forced_key_binding(o.key_scroll_down, o.key_scroll_down, scroll_down, {repeatable=true})
+ mp.add_forced_key_binding(o.key_scroll_up, "__forced_"..o.key_scroll_up, scroll_up, {repeatable=true})
+ mp.add_forced_key_binding(o.key_scroll_down, "__forced_"..o.key_scroll_down, scroll_down, {repeatable=true})
scroll_bound = true
end
end
local function unbind_scroll()
if scroll_bound then
- mp.remove_key_binding(o.key_scroll_up)
- mp.remove_key_binding(o.key_scroll_down)
+ mp.remove_key_binding("__forced_"..o.key_scroll_up)
+ mp.remove_key_binding("__forced_"..o.key_scroll_down)
scroll_bound = false
end
end
@@ -1052,7 +1052,7 @@ local function add_page_bindings()
end
end
for k, _ in pairs(pages) do
- mp.add_forced_key_binding(k, k, a(k), {repeatable=true})
+ mp.add_forced_key_binding(k, "__forced_"..k, a(k), {repeatable=true})
end
update_scroll_bindings(curr_page)
end
@@ -1061,7 +1061,7 @@ end
-- Remove keybindings for every page
local function remove_page_bindings()
for k, _ in pairs(pages) do
- mp.remove_key_binding(k)
+ mp.remove_key_binding("__forced_"..k)
end
unbind_scroll()
end