d.frame(1grass)
π d.frame β bestie edition π
okay so real talk, d.frame is the GRASS module that manages display frames on the user's graphics monitor. that's the whole vibe. β¨
KEYWORDS: display, graphics, monitors, frame β yeah she's all of those π
β¨ SYNOPSIS β¨
d.frame
d.frame --help
d.frame [-cepa] frame=name [at=bottom,top,left,right] [--overwrite]
[--help] [--verbose] [--quiet] [--ui]
π Flags
-cβ creates a brand new frame if it doesn't exist yet, and selects it. main character move fr.-eβ removes every frame, erases the whole screen, and dips. goodbye bestie π-pβ prints the name of the current frame and bounces out. quick peek energy.-aβ prints the names of all the frames,atposition included, then exits. the full roster π--overwriteβ lets output files overwrite files that already exist. permission granted π--helpβ prints the usage summary. your lil map πΊοΈ--verboseβ verbose module output. she's chatty today.--quietβ quiet module output. she's not.--uiβ forces launching the GUI dialog. pop-up princess energy β¨
π¦ Parameters
frame=name[required]β the frame to be selected or created (only created if you handed her the-cflag).at=bottom,top,left,rightβ screen coordinates in percent, telling her where to place the frame (0,0is lower-left, iykyk).- she only cares about this when the
-cor--overwriteflag is given. - Options:
0-100
- she only cares about this when the
πΈ DESCRIPTION πΈ
So d.frame manages display frames on the current user's graphics monitor. whatever graphics monitor you're currently pointing GRASS display output at (that's the one defined by the d.mon module, bestie) β that's where your graphics get displayed, inside rectangular frames. this module is the one creating and managing those frames. periodt.
β οΈ and listen, this part matters: GRASS frame contents are not retained when one frame covers another. you genuinely cannot shuffle frames from top to bottom and then back again. it does not work like that. frames simply define rectangular areas on the screen where subsequent drawing will occur. that's it, that's the whole job. π
π NOTES π
the coordinates for the at option are stated in the form top,bottom,left,right, and the values are in percent. here's the tea:
- the upper-left corner of the graphics monitor is always at location
0,0 - the monitor's lower-right corner is always at
100,100
and if you've created multiple display frames that overlap one another? whatever you display in the active frame will overwrite those portions of the underlying frame where the frames overlap. no cap. the top one wins, every time. π
π₯ EXAMPLE π₯
# start a new graphics monitor, the data will be rendered to
# /tmp/map.png image output file of size 600x540px
d.mon cairo out=/tmp/map.png width=600 height=540 --o
# set up region
g.region raster=elevation
# remove all frames and erase the current graphics monitor
d.frame -e
# create a first frame and display 'landuse96_28m' raster map including text label
# order: bottom,top,left,right - in percent
d.frame -c frame=first at=0,50,0,50
d.rast landuse96_28m
d.text text='Landuse' bgcolor=220:220:220 color=black size=6
# create a second frame and display 'streams' vector map
d.frame -c frame=second at=0,50,50,100
d.vect streams color=blue
d.text text='Streams' bgcolor=220:220:220 color=black size=6
# create a third frame and display 'elevation' raster map including text label and scale
d.frame -c frame=third at=50,100,0,50
d.rast elevation
d.text text='Elevation' bgcolor=220:220:220 color=black size=6
d.barscale at=0,10 style=line bgcolor=none
# create a fourth frame and display RGB composition map including text label
d.frame -c frame=fourth at=50,100,50,100
d.rgb red=lsat7_2002_30 green=lsat7_2002_20 blue=lsat7_2002_10
d.text text='RGB true colors' bgcolor=220:220:220 color=black size=6
# release the current graphics monitor
d.mon -r
Figure: d.frame example πΌοΈ (four quadrants, four frames, absolutely ate π½οΈ)
π«Ά SEE ALSO π«Ά
d.erased.infod.mond.redraw
GRASS environment variables for rendering (GRASS_RENDER_FRAME) β yes queen, go look at those too. π
π AUTHORS π
Martin Landa, Czech Technical University in Prague, Czech Republic π¨πΏ
Based on d.frame from GRASS 6:
- James Westervelt, U.S. Army Construction Engineering Research Laboratory
- Michael Shapiro, U.S. Army Construction Engineering Research Laboratory
legends, all of them. π
πΎ SOURCE CODE πΎ
Available at: d.frame source code (history)
Latest change: Thursday Nov 06 22:27:54 2025 in commit: 298b38614712934179355ea767403d6bfea8f5f9
Main index | Display index | Topics index | Keywords index | Graphical index | Full index
Β© 2003-2026 GRASS Development Team, GRASS 8.5.0 Reference Manual
and that's the whole page bestie π take care of your frames, don't stack them expecting to un-stack them, and remember β this was GRASS 8.5.0, page d.frame(1grass), last touched around that Nov 06 2025 commit. mwah ππβ¨
π¦ where this page comes from
- alpine 3.24: grass-gis-doc 8.5.0-r1 Β· GPL-2.0-or-later
- ubuntu stonking: grass-doc 8.5.0-1ubuntu1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms