@Sean How does one use fbzoom? I tried it and it does seem to run, but as far as I can tell the controls don't work - at any rate, I can't use "q" to quit...
Me wonders if it might be a good student project to implement a glfw+imgui interface to replace the last remaining termio based applications...
@starseeker typing a ? will display a menu
it's working for me (not a current build, doesn't have the termio changes)
q or enter should quit
you attach to an existing fbserv and can use +- to scale, hjkl to pan 1pixel, HJKL to pan a lot, c to center, etc
pretty sure we introduced bugs in some of the libfb zoom machinery at least in /dev/X, which I think is related to the buggy interlacing one sees when renderings smaller than 512x512, but the basic zooming logic does seem to work perfectly with /dev/ogl
Screen-Shot-2020-03-25-at-10.46.55-PM.png
oh, I think I see what you might have done.. just running "fbzoom /dev/X" is wrong usage
looks like if you run it that way, they key bindings work initially until you try to quit, then it gets stuck
but again, that's not the valid use case -- you have to attach to an fbserv:
fbserv -S1024 0 /dev/ogl pix-fb -F0 share/pix/moss.pix fbzoom -F0 ...
Ah! OK, looks like it's working after the libtermio changes (I couldn't get it working before them either, but I did get fbpoint to work)
@starseeker that's also a case that doesn't really need termio -- it could just print the menu and coordinates if it needed to. It's just using a few control codes to replace the current size and position values bing printed.
Well, the main incentive to fiddle with it now would be to get it working on Windows - putting the termlib bits in libtermio eliminated most of my other pain points, as near as I can tell right now. (We'll see what Mac/BSD do.)
I've burned a lot of time over the years on the FindTERMLIB logic (which often didn't work right even after I rammed my head into it for a while) and playing with the new build setup I noticed it wasn't reliably looking where it needed to at runtime for the termcap file. I don't know if it really needs that for what we're using it for, but if it does now I can use the bu_dir logic in libtermio to point it to the right place reliably. (Haven't bothered yet , but easily doable if there's a way to test it and a need to fiddle with it.)
Last updated: Jan 09 2025 at 00:46 UTC