GTK2HSTYPEGEN(1)
π gtk2hsTypeGen β the manual page, but make it make sense π
okay so bestie, this is gtk2hsTypeGen(1) from the General Commands Manual, and I'm gonna walk you through it like we're texting at 2am. it's lowkey niche but it's important, iykyk β¨
πΈ NAME πΈ
gtk2hsTypeGen β a whole program whose entire job is generating Gtk's object hierarchy in Haskell. that's it. that's the gig. she's a builder π
β¨ SYNOPSIS β¨
gtk2hsTypeGen [--tag=tag ...] [--lib=lib] [--prefix=prefix]
[--modname=modName] [--import=[*]importName ...]
[--forward=[*]fwdName ...] [--destructor=destrName]
[--hierarchy=hierName]
π¦ DESCRIPTION π¦
so this page is the short-and-sweet version of what gtk2hsTypeGen does. it's a helper program, and no cap you literally cannot build the Gtk2Hs suite of libraries without it. she's not the main character, she's the main character's right hand π
π OPTIONS π
these programs follow the usual GNU command line syntax, and the long options start with two dashes (-). below is a little summary of the options. for the full lore, go read the other documentation, bestie π
gtk2hsTypeGen accepts the following options:
--tag=tagβ generates entries that have the tag tag. and if you've got types with no tag at all? just passdefault, she's got you π·οΈ--lib=libβ sets the lib to use in the c2hs{#context #}declaration. the default isgtkπ--prefix=prefixβ sets the prefix to use in the c2hs{#context #}declaration. the default isgtkβ¨--modname=modNameβ specify the module name, but only when it doesn't match the file name. like, say, a hierarchical module name πͺ--import="[*]"importNameβ additionally imports this module without re-exporting it. throw an asterix as a prefix if the import should be a.chsimport statement as well as exported from the generated module π--forward="[*]"fwdNameβ specifies a number of modules that are imported. use an asterix as a prefix if the import should be a.chsimport statement, as well as exported from the generated module π--destructor=destrNameβ specifies a non-standard C function pointer that gets called to destroy the objects. bye bye object π--hierarchy=hierNameβ the name of the file containing the hierarchy list. defaults to the built-in list π
π BUGS π
please please please report bugs and feature requests over in the Gtk2Hs trac:
http://hackage.haskell.org/trac/gtk2hs/
or slide into the Gtk2Hs mailing list: gtk2hs-devel@lists.sourceforge.net π¬
π AUTHOR π
this page was addapted from the gtk2hsHookGenerator(1) manpage, by Marco TΓΊlio Gontijo e Silva <marcot@debian.org> for the Debian GNU/Linux system (but may be used by others, she's generous like that) π«Ά
okay and that's the whole thing!! this was GTK2HSTYPEGEN(1) from the General Commands Manual, and yes we're literally closing out the exact same way the page does. slay, go generate some hierarchy bestie ππ
π¦ where this page comes from
- debian bookworm: gtk2hs-buildtools 0.13.8.3-1+b2 Β· GPL-2.0-only
- debian trixie: gtk2hs-buildtools 0.13.11.0-1+b1 Β· GPL-2.0-only
- ubuntu jammy: gtk2hs-buildtools 0.13.8.0-2 Β· GPL-2.0-only
- ubuntu noble: gtk2hs-buildtools 0.13.10.0-1build1 Β· GPL-2.0-only
- ubuntu questing: gtk2hs-buildtools 0.13.11.0-1build2
- ubuntu resolute: gtk2hs-buildtools 0.13.12.0-1build1 Β· GPL-2.0-only
- ubuntu stonking: gtk2hs-buildtools 0.13.12.0-1build1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms