all repos — honk @ 0270f317e01359e2e50824f2d9773669ed68615c

my fork of honk

m and escape to open close menu. and set focus on actions after scroll.
Ted Unangst tedu@tedunangst.com
Mon, 28 Aug 2023 22:01:50 -0400
commit

0270f317e01359e2e50824f2d9773669ed68615c

parent

b88499f7b18b8f6f968332567bd4424d2eec8438

2 files changed, 21 insertions(+), 4 deletions(-)

jump to
M docs/honk.1docs/honk.1

@@ -145,6 +145,10 @@ .It r

Refresh. .It s Scroll down to oldest newest. +.It m +Open menu. +.It esc +Close menu. .It / Search. .El
M views/honkpage.jsviews/honkpage.js

@@ -423,8 +423,10 @@ for (var i = 0; i < honks.length; i++) {

var h = honks[i]; var b = h.getBoundingClientRect(); if (b.top > 1.0) { - h.scrollIntoView(); - break; + h.scrollIntoView() + var a = h.querySelector(".actions summary") + if (a) a.focus({ preventScroll: true }) + break } } }

@@ -434,8 +436,10 @@ var honks = document.getElementsByClassName("honk");

for (var i = 1; i < honks.length; i++) { var b = honks[i].getBoundingClientRect(); if (b.top > -1.0) { - honks[i-1].scrollIntoView(); - break; + honks[i-1].scrollIntoView() + var a = honks[i-1].querySelector(".actions summary") + if (a) a.focus({ preventScroll: true }) + break } } }

@@ -459,6 +463,15 @@ break;

case "KeyK": scrollprevioushonk(); break; + case "KeyM": + var menu = document.getElementById("topmenu") + menu.open = true + menu.querySelector("a").focus() + break + case "Escape": + var menu = document.getElementById("topmenu") + menu.open = false + break case "Slash": document.getElementById("topmenu").open = true document.getElementById("searchbox").focus()