Skip to content


[module] bintracker-core

This module controls the main application process.

Global Actions

[procedure] (load-config)

Load and evaluate the main configuration file config/config.scm.

[procedure] (make-keybinding-info #!optional KEY-SPEC)

[procedure] (info . ARGS)

Core GUI Layout

[procedure] (init-main-menu)

Initialize the main menu.

[procedure] (init-top-level-layout)


[procedure] (update-global-key-bindings!)

Update the key bindings, as specified in the current keymap setting.


[procedure] (check-required-plugin-version NEED HAVE)

Check if the plugin version HAVE meets the version requirement NEED. See plugins for details.

[procedure] (plugins . ARGS)

This is Bintracker's plugin registry. When calling this procedure without any arguments, it returns the list of currently loaded plugins. To load a new plugin, call it as follows:

(plugins 'register NAME)

where NAME is the name of a plugin in the plugins directory. See the manual chapter on writing plugins for further details.

Startup Hooks

[variable] after-startup-hooks

default: (make-hooks(init-focus . ,(lambda () (focus 'resume))))`
The set of hooks that will be executed immediately after startup.

[variable] on-startup-hooks


     `(load-config . ,load-config)
     `(init-main-menu . ,init-main-menu)
     `(init-db . ,btdb-init!)
     `(update-style . ,update-ttk-style)
     `(update-global-key-bindings . ,update-global-key-bindings!)
     `(update-window-title . ,update-window-title!)
       . ,(lambda ()
        (when (settings 'show-menu)
          (tk 'configure 'menu: (menu-widget (state 'menu))))))
     `(init-top-level-layout . ,init-top-level-layout)
     `(add-size-grip . ,add-size-grip)
     `(disable-keyboard-traversal . ,disable-keyboard-traversal)
     `(run-post-startup . ,(lambda () (after-startup-hooks 'execute))))

The list of hooks that will be executed on startup.