FBPOINT(1)
π
FBPOINT(1) β ok bestie, let's talk about fbpoint
So this is the <pink>fbpoint</pink> page from the BRL-CAD manual set, and honestly? It's a little underrated gem. It's the "point at stuff on your framebuffer and find out what's there" tool. Come on, let's get into it π«Ά
β¨ NAME β¨
fbpoint β point at and identify framebuffer coordinates. That's it. That's the whole job. She points, she tells you where you are, she's iconic π
π SYNOPSIS π
fbpoint [-F framebuffer] [-s squaresize] [-w width] [-n height]
[-x[prefix]] [-y[prefix]] [initialx [initialy]]
π¦ DESCRIPTION π¦
Okay so picture this: fbpoint moves a non-destructive cursor around a framebuffer. Like, nothing gets damaged, nobody gets hurt, she's just vibing in there π
As the cursor moves, fbpoint writes the coordinates of the pixel under the cursor β plus its red, green, and blue values β on standard error. (Yes, stderr. Remember that, it's important later, iykyk.) Then, on exit, she writes the final coordinates on standard output.
Where does she start? Center-screen, unless you hand her the optional initialx and initialy values. Slay, a girl with a starting position π―
Now the keys, because this is where it gets fun:
h,j,k,lβ step the cursor one pixel left, down, up, or right respectively.H,J,K,L(or Ctrl+B, Ctrl+N, Ctrl+P, Ctrl+F) β step the cursor in the corresponding directions in large increments, specifically one sixteenth of the framebuffer width. Big mood. Main character energy π?β prints a short command summary, in case you forgot everything (no judgement).q,Q, or Enter β exits the program. Bye bestie π
Default behaviour check: both the x and y coordinates get written to standard output, which is literally what makes fbpoint useful for interactively grabbing coordinates via command substitution in a shell script. Obsessed with a tool that plays nice with others π§
If you only give -x or only -y, then only that coordinate gets written. Simple, clean, one-track-mind.
Oh and! An optional prefix string may be attached to the flag, and it gets prepended to the output coordinate β which makes passing the result as an argument to another program super easy. It's giving "I thought of everything" π
πΈ OPTIONS πΈ
-Fframebuffer β explicitly specify the framebuffer device to open. Be direct, tell her which one.-ssquaresize β set both the width and height of the framebuffer to squaresize pixels (default 512). Also-Sis an equivalent synonym.-wwidth β set the framebuffer width in pixels (default 512). Also-Wis an equivalent synonym.-nheight β set the framebuffer height in pixels (default 512). Also-Nis an equivalent synonym.-x[prefix] β write only the x coordinate on exit. If the optional prefix string is given immediately after the flag, it is prepended to the value.-y[prefix] β write only the y coordinate on exit. If the optional prefix string is given immediately after the flag, it is prepended to the value.-hβ print a usage message and exit. Also-?is an equivalent synonym.
π EXAMPLES π
π Example 1. Interactively pick a point and crop a region from an image
pix-fb moss.pix
pix-fb `fbpoint -x-X -y-Y` moss.pix
So what's happening here: display an image on the framebuffer, then use fbpoint to navigate to a point of interest. The -x-X and -y-Y flags prefix the returned coordinates so that command substitution produces -X<x> -Y<y>, which pix-fb(1) reads as the lower-left offset for redisplaying the image. Like, the whole pipeline just works and it's beautiful πβ¨
π SEE ALSO π
brlcad(1), fbgrid(1), fbzoom(1), pix-fb(1)
π AUTHOR π
BRL-CAD Team β legends, honestly.
β COPYRIGHT β
This software is Copyright (c) 1986-2026 by the United States Government as represented by U.S. Army Research Laboratory.
π BUG REPORTS π
Reports of bugs or problems should be submitted via electronic mail to devs@brlcad.org. Don't be shy, they want to hear from you fr fr π
And that's the page!! πΈ Cute little sign-off: this is FBPOINT(1) from the BRL-CAD manual set, and you can find her sitting pretty in the footer of the collection, right next to the FBPOINT(1) tag πβ¨π
π¦ where this page comes from
- nixpkgs unstable: brlcad 7.44.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms