Hello, > How to call gtk APIs such as > (gtk+ 3) > gint > gtk_tree_view_insert_column_with_attributes > (GtkTreeView *tree_view, > gint position, > const gchar *title, > GtkCellRenderer *cell, > ...); You don't. Rather, you define the column(s) and call add-attribute, below, a quick example (no 'style', and in a real an large application code, you'd separate the making and 'populating' of the store ... David ;; drop this in a 'tree-store' or 'tree-store.scm' file ;; chmod a+x tree-store[.scm] ;; ./tree-store[.scm] #! /bin/sh # -*- mode: scheme; coding: utf-8 -*- exec guile -e main -s "$0" "$@" !# (eval-when (expand load eval) (use-modules (oop goops)) (default-duplicate-binding-handler '(merge-generics replace warn-override-core warn last)) (use-modules (g-golf)) (g-irepository-require "Gtk" #:version "3.0") (for-each (lambda (item) (gi-import-by-name "Gtk" item)) '("Window" "VBox" "TreeStore" "TreeView" "TreeViewColumn" "CellRendererText" "init" "main" "main_quit"))) ;; This example also shows the use of a none rendered 'object column type. (define (main args) (gtk-init 0 #f) (let* ((window (make )) (vbox (make )) (store (gtk-tree-store-new 3 '(int string object))) (treeview (make #:model store)) (column1 (make #:title "Column 1")) (renderer1 (make )) (column2 (make #:title "Column 2")) (renderer2 (make ))) (connect window 'delete-event (lambda (window event) (gtk-widget-destroy window) #f)) ;; do not stop the event propagation (connect window 'destroy (lambda (window) (gtk-main-quit) #f)) ;; do not stop the event propagation (pack-start column1 renderer1 #f) (add-attribute column1 renderer1 "text" 0) (append-column treeview column1) (pack-start column2 renderer2 #f) (add-attribute column2 renderer2 "text" 1) (append-column treeview column2) (let ((iter1 (append store #f)) (iter2 (append store #f))) (set-value store iter1 0 1) (set-value store iter1 1 "Hello ...") (set-value store iter1 2 column1) (set-value store iter2 0 2) (set-value store iter2 1 "... world!") (set-value store iter2 2 column2)) (add window vbox) (add vbox treeview) (show-all window) (gtk-main)))