Add scroll behaviour

This commit is contained in:
Folkert Kevelam 2025-08-28 20:18:42 +02:00
parent 04820b6fe1
commit 955bfe3487
3 changed files with 14 additions and 1 deletions

View File

@ -316,6 +316,11 @@ class PushPull(WebSocketHandler):
for socket in websockets:
socket.write_message({"course" : content})
@classmethod
def update_scroll(cls, content):
for socket in websockets:
socket.write_message({"scroll" : content[0]/float(content[1])})
def open(self):
if self not in websockets:
websockets.append(self)
@ -392,5 +397,6 @@ async def main(base_path):
Publisher.subscribe("PushPull", "title", PushPull.update_title)
Publisher.subscribe("PushPull", "course", PushPull.update_course)
Publisher.subscribe("PushPull", "date", PushPull.update_date)
Publisher.subscribe("PushPull", "scroll", PushPull.update_scroll)
application.listen(8888)
await asyncio.Event().wait()

View File

@ -43,7 +43,7 @@ function module.open()
group = augroup,
buffer = bufnr,
callback = function()
server_connection:scroll(vim.fn.line('.'))
server_connection:scroll({vim.fn.line('.'), vim.fn.line('$')})
end,
})

View File

@ -77,6 +77,13 @@
Object.entries(data).forEach(([k,v]) => {
console.log(k,v);
switch (k) {
case "scroll":
var height = window.innerHeight
|| document.documentElement.clientHeight
|| document.body.clientHeight;
window.scrollTo({left : 0, top: height * v, behavior: 'smooth'});
break;
case "show":
change_body(v)
break;