gtk4-rendernode-tool(1)

πŸ’– gtk4-rendernode-tool β€” the GskRenderNode Utility, bestie edition πŸ’–

okay so like, hi. this is gtk4-rendernode-tool, and it lives in the GTK commands section of the manual. it's your little bestie for poking at serialized rendernodes ✨


πŸŽ€ SYNOPSIS πŸŽ€

gtk4-rendernode-tool <COMMAND> [OPTIONS...] <FILE>

gtk4-rendernode-tool benchmark [OPTIONS...] <FILE>
gtk4-rendernode-tool compare [OPTIONS...] <FILE1> <FILE2>
gtk4-rendernode-tool convert [OPTIONS...] <FILE1>
gtk4-rendernode-tool extract [OPTIONS...] <FILE>
gtk4-rendernode-tool info [OPTIONS...] <FILE>
gtk4-rendernode-tool match [OPTIONS...] <PATTERN> <FILE>
gtk4-rendernode-tool render [OPTIONS...] <FILE> [<FILE>]
gtk4-rendernode-tool show [OPTIONS...] <FILE>

🌸 DESCRIPTION 🌸

gtk4-rendernode-tool can perform various operations on serialized rendernodes. that's the whole vibe. it does so many things to rendernodes and honestly? obsessed πŸ’…


πŸ‘‘ COMMANDS πŸ‘‘

πŸ¦‹ Information

the info command shows general information about the rendernode, such as the number of nodes, and the depth of the tree. it's giving "tell me everything about urself" energy πŸ”

πŸ’œ Showing

the show command displays the rendernode.

  • --offload β€” puts the node into a GraphicsOffload. intended for testing offloading capabilities of simple rendernodes.
  • --undecorated β€” removes window decorations. this is meant for rendering of exactly the rendernode without any titlebar. no titlebar, no problem ✨

πŸŽ€ Rendering

the render command saves a rendering of the rendernode as a png, tiff or svg image or as pdf document. the name of the file to write can be specified as a second FILE argument.

  • --renderer=RENDERER β€” use the given renderer. use --renderer=help to get a information about possible values for the RENDERER.
  • --dont-move β€” keep the node position unchanged, relative to the pixel grid.

πŸ”₯ Benchmark

the benchmark command benchmarks rendering of a node with the existing renderers and prints the runtimes. it's giving stopwatch energy ⏱️

  • --renderer=RENDERER β€” add the given renderer. this argument can be passed multiple times to test multiple renderers. by default, all major GTK renderers are run.
  • --runs=RUNS β€” number of times to render the node on each renderer. by default, this is 3 times. keep in mind that the first run is often used to populate caches and might be significantly slower.
  • --no-download β€” do not attempt to download the result. this may cause the measurement to not include the execution of the commands on the GPU. it can be useful to use this flag to test command submission performance.

πŸ’€ Compare

the compare command compares the rendering of a node with a reference image, or the renderings of two nodes, or two images. if any differences are found, the exit code is 1. if the images are identical, it is 0.

  • --renderer=RENDERER β€” use the given renderer.
  • --output=FILE β€” save the differences as a png image in FILE.
  • --quiet β€” don't write results to stdout.

🌈 Convert

the convert command converts a symbolic SVG icon into a node and writes the result to stdout.

  • --recolor β€” if this option is used, the resulting node will have its symbolic colors replaced by the values given to the --fg, --success, --warning and --error options. otherwise, the node will have the unreplaced colors, which can be useful to diagnose rendering issues.
  • --fg=COLOR --success=COLOR --warning=COLOR --error=COLOR β€” set the symbolic colors to recolor the icon with. if not specified, default colors are used.
  • --size=SIZE β€” sets the size to render the icon at. the size can be either a number or a string of the form WIDTHxHEIGHT.

πŸ“ Extract

the extract command saves all the data urls found in a node file to a given directory. the file names for the extracted files are derived from the mimetype of the url.

  • --dir=DIRECTORY β€” save extracted files in DIRECTORY (defaults to the current directory).

🧚 Matching

the match command allows to count occurrences of node patterns in a larger node. the syntax for patterns allows to describe collections of nodes with given types, like this:

(mask . color)

match mask nodes with any source child and a color node as mask child.

(rounded-clip linear-gradient)

match rounded clip nodes containing a linear gradient.

(container 2 color (fill color))

match containers with 2 children, the first of which is a color node and the second of which is a fill node containing a color node.


πŸ’– that's the whole page bestie. every flag, every default, every vibe. no cap.

okay so that's it!! this lil manual page came to you from GTK, and it's the gtk4-rendernode-tool(1) page in the manual. go forth and render, my main character πŸ‘‘βœ¨πŸ«Ά

πŸ“¦ where this page comes from
  • fedora 44: gtk4-devel-tools 4.22.1-2.fc44 Β· LGPL-2.0-or-later AND LGPL-2.1-or-later AND Apache-2.0 AND CC0-1.0 AND MIT AND MIT-open-group AND HPND-sell-variant AND GPL-2.0-or-later AND GPL-3.0-or-later AND OFL-1.1
  • fedora 44: gtk4-devel-tools 4.22.5-2.fc44 Β· LGPL-2.0-or-later AND LGPL-2.1-or-later AND Apache-2.0 AND CC0-1.0 AND MIT AND MIT-open-group AND HPND-sell-variant AND GPL-2.0-or-later AND GPL-3.0-or-later AND OFL-1.1
  • ubuntu resolute: libgtk-4-bin 4.22.2+ds-1ubuntu1 Β· LGPL-2.0-or-later AND LGPL-2.1-or-later AND sun-permissive AND lcs-telegraphics-permissive AND X11R5-permissive AND MIT AND BSD-3-clause-Google AND Apache-2.0 AND CC0-1.0 AND ZPL-2.1
  • ubuntu resolute: libgtk-4-bin 4.22.4+ds-0ubuntu0.1 Β· LGPL-2.0-or-later AND LGPL-2.1-or-later AND sun-permissive AND lcs-telegraphics-permissive AND X11R5-permissive AND MIT AND BSD-3-clause-Google AND Apache-2.0 AND CC0-1.0 AND ZPL-2.1
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms