From 0375796a8021aeae281d33de4f61e83b118b7636 Mon Sep 17 00:00:00 2001 From: Thomas Piccirello Date: Mon, 30 Jun 2025 10:31:09 -0700 Subject: [PATCH 1/2] WebUI: Focus on filter field using Ctrl+F --- src/webui/www/private/scripts/client.js | 26 +++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/webui/www/private/scripts/client.js b/src/webui/www/private/scripts/client.js index 01f29e25f..531f9d1cf 100644 --- a/src/webui/www/private/scripts/client.js +++ b/src/webui/www/private/scripts/client.js @@ -1773,6 +1773,32 @@ window.addEventListener("DOMContentLoaded", (event) => { event.preventDefault(); deleteSelectedTorrentsFN(event.shiftKey); break; + + case "f": + case "F": + if (event.ctrlKey || event.metaKey) { + if ((event.target.nodeName === "INPUT") || (event.target.nodeName === "TEXTAREA")) + return; + if (event.target.isContentEditable) + return; + + const logsFilterElem = document.getElementById("filterTextInput"); + const searchFilterElem = document.getElementById("searchInNameFilter"); + const torrentsFilterElem = document.getElementById("torrentsFilterInput"); + if (logsFilterElem?.isVisible()) { + event.preventDefault(); + logsFilterElem.focus(); + } + else if (searchFilterElem?.isVisible()) { + event.preventDefault(); + searchFilterElem.focus(); + } + else if (torrentsFilterElem?.isVisible()) { + event.preventDefault(); + torrentsFilterElem.focus(); + } + } + break; } }); From ee7aa5b31bdc4217fa6fdb9c72413ebbd4557c90 Mon Sep 17 00:00:00 2001 From: Thomas Piccirello Date: Mon, 30 Jun 2025 10:31:25 -0700 Subject: [PATCH 2/2] WebUI: Support Cmd key on macOS --- src/webui/www/private/scripts/client.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/webui/www/private/scripts/client.js b/src/webui/www/private/scripts/client.js index 531f9d1cf..b7ea06840 100644 --- a/src/webui/www/private/scripts/client.js +++ b/src/webui/www/private/scripts/client.js @@ -1755,7 +1755,7 @@ window.addEventListener("DOMContentLoaded", (event) => { switch (event.key) { case "a": case "A": - if (event.ctrlKey) { + if (event.ctrlKey || event.metaKey) { if ((event.target.nodeName === "INPUT") || (event.target.nodeName === "TEXTAREA")) return; if (event.target.isContentEditable)