Esempio n. 1
0
/*! \brief Define a hook.
 * \par Function Description
 * Creates a Guile new hook with \a n_args arguments, and binds it to
 * the variable \a name, returning the newly created hook.
 *
 * \param n_args Number of arguments the hook should take.
 * \param name   Name of variable to bind the hook to.
 *
 * \return the newly-created hook.
 */
static SCM
create_hook (const char *name, int n_args)
{
  SCM hook = scm_make_hook (scm_from_int (n_args));
  scm_c_define (name, hook);
  return scm_permanent_object (hook);
}
Esempio n. 2
0
void
gram_keydown_hook_init (void)
{
  gram_keydown_hook =
    scm_permanent_object (scm_make_hook (scm_from_unsigned_integer (2)));
  gram_keydown_hook_object =
    scm_permanent_object (scm_c_define ("keydown-hook", gram_keydown_hook));
  scm_c_export ("keydown-hook", NULL);
}
Esempio n. 3
0
void
gram_view_focus_hook_init (void)
{
  gram_view_focus_hook =
    scm_permanent_object (scm_make_hook (scm_from_unsigned_integer (2)));
  gram_view_focus_hook_object =
    scm_permanent_object (scm_c_define
                          ("view-focus-hook", gram_view_focus_hook));
  scm_c_export ("view-focus-hook", NULL);
}
Esempio n. 4
0
void
gram_output_created_hook_init (void)
{
  gram_output_created_hook =
    scm_permanent_object (scm_make_hook (scm_from_unsigned_integer (1)));
  gram_output_created_hook_object =
    scm_permanent_object (scm_c_define
                          ("output-created-hook", gram_output_created_hook));
  scm_c_export ("output-created-hook", NULL);
}
Esempio n. 5
0
void
gram_compositor_ready_hook_init (void)
{
  gram_compositor_ready_hook =
    scm_permanent_object (scm_make_hook (scm_from_unsigned_integer (0)));
  gram_compositor_ready_hook_object =
    scm_permanent_object (scm_c_define
                          ("compositor-ready-hook",
                           gram_compositor_ready_hook));
  scm_c_export ("compositor-ready-hook", NULL);
}
Esempio n. 6
0
File: scheme.c Progetto: nizmic/nwm
void *init_scheme(void *data)
{
    scm_c_define_gsubr("nwm-stop", 0, 0, 0, &scm_nwm_stop);
    scm_c_define_gsubr("count-clients", 0, 0, 0, &scm_count_clients);

    scm_c_define_gsubr("all-clients", 0, 0, 0, &scm_all_clients);
    scm_c_define_gsubr("visible-clients", 0, 0, 0, &scm_visible_clients);
    scm_c_define_gsubr("first-client", 0, 0, 0, &scm_first_client);
    scm_c_define_gsubr("next-client", 1, 0, 0, &scm_next_client);
    scm_c_define_gsubr("prev-client", 1, 0, 0, &scm_prev_client);
    scm_c_define_gsubr("client-list-reverse", 0, 0, 0, &scm_client_list_reverse);
    scm_c_define_gsubr("client-list-swap", 2, 0, 0, &scm_client_list_swap);

    scm_c_define_gsubr("test-undefined", 0, 0, 0, &scm_test_undefined);

    scm_c_define_gsubr("move-client", 3, 0, 0, &scm_move_client);
    scm_c_define_gsubr("resize-client", 3, 0, 0, &scm_resize_client);
    scm_c_define_gsubr("map-client", 1, 0, 0, &scm_map_client);
    scm_c_define_gsubr("unmap-client", 1, 0, 0, &scm_unmap_client);
    scm_c_define_gsubr("mapped?", 1, 0, 0, &scm_is_mapped);    
    scm_c_define_gsubr("destroy-client", 1, 0, 0, &scm_destroy_client);
    scm_c_define_gsubr("dump-client", 1, 0, 0, &scm_dump_client);
    scm_c_define_gsubr("client-x", 1, 0, 0, &scm_client_x);
    scm_c_define_gsubr("client-y", 1, 0, 0, &scm_client_y);
    scm_c_define_gsubr("client-width", 1, 0, 0, &scm_client_width);
    scm_c_define_gsubr("client-height", 1, 0, 0, &scm_client_height);

    scm_c_define_gsubr("screen-width", 0, 0, 0, &scm_screen_width);
    scm_c_define_gsubr("screen-height", 0, 0, 0, &scm_screen_height);

    scm_c_define_gsubr("bind-key", 3, 0, 0, &scm_bind_key);

    scm_c_define_gsubr("clear", 0, 0, 0, &scm_clear);
    scm_c_define_gsubr("draw-border", 3, 0, 0, &scm_draw_border);
    scm_c_define_gsubr("get-focus-client", 0, 0, 0, &scm_get_focus_client);
    scm_c_define_gsubr("focus-client", 1, 0, 0, &scm_focus_client);
    scm_c_define_gsubr("get-client-name", 1, 0, 0, &scm_get_client_name);

    scm_c_define_gsubr("launch-program", 1, 0, 0, &scm_launch_program);

    scm_c_define_gsubr("log", 1, 0, 0, &scm_nwm_log);
    scm_c_define_gsubr("trace-x-events", 1, 0, 0, &scm_trace_x_events);

    scm_c_define("create-client-hook", scm_make_hook(scm_from_int(1)));
    scm_c_define("map-client-hook", scm_make_hook(scm_from_int(1)));
    scm_c_define("unmap-client-hook", scm_make_hook(scm_from_int(1)));
    scm_c_define("destroy-client-hook", scm_make_hook(scm_from_int(1)));
    scm_c_define("focus-client-hook", scm_make_hook(scm_from_int(1)));
    scm_c_define("update-client-hook", scm_make_hook(scm_from_int(1)));

    init_client_type();

    init_io_buffer_ports();

    return NULL;
}
Esempio n. 7
0
void init_guile(void)
{
    guile_current_session = NULL;

    // Set up the hooks.
    scm_c_define_gsubr("write-to-stderr", 1, 0, 0, &scheme_write_to_stderr);
    scm_c_define("send-command-hook", scm_make_hook(scm_from_int(1)));
    scm_c_define_gsubr("send-command", 1, 0, 0, &scheme_send_command);
    scm_c_define("config-filename", scm_from_locale_string("mud.scm")); // TODO: Make this configurable.
    scm_c_define_gsubr("reload-config", 0, 0, 0, &scheme_load_config_file);
    scm_c_define_gsubr("search-backwards", 1, 0, 0, &scheme_search_backwards);

    // Load up regex support.
    scm_c_use_module("ice-9 regex");

    // Load the config file.
    scheme_load_config_file();
}
Esempio n. 8
0
File: scm.cpp Progetto: sigma/qnet
void Scm::createHook(const QString& symb, unsigned int nbargs) {
    SCM hook=scm_make_hook(SCM_MAKINUM(nbargs));
    scm_c_define(symb.ascii(),hook);
    sym[symb] = hook;
}