void plugin_init(GeanyData *data) { GeanyDocument *doc = document_get_current(); GeanyKeyGroup *group; GtkWidget *menu; load_config(); /* menu items and keybindings */ group = plugin_set_key_group(geany_plugin, "vimode", KB_COUNT, NULL); menu_items.parent_item = gtk_menu_item_new_with_mnemonic(_("_Vim Mode")); gtk_container_add(GTK_CONTAINER(geany->main_widgets->tools_menu), menu_items.parent_item); menu = gtk_menu_new (); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_items.parent_item), menu); menu_items.enable_vim_item = gtk_check_menu_item_new_with_mnemonic(_("Enable _Vim Mode")); gtk_container_add(GTK_CONTAINER(menu), menu_items.enable_vim_item); g_signal_connect((gpointer) menu_items.enable_vim_item, "activate", G_CALLBACK(on_enable_vim_mode), NULL); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_items.enable_vim_item), vi_get_enabled()); keybindings_set_item_full(group, KB_ENABLE_VIM, 0, 0, "enable_vim", _("Enable Vim Mode"), NULL, on_enable_vim_mode_kb, NULL, NULL); menu_items.insert_for_dummies_item = gtk_check_menu_item_new_with_mnemonic(_("Insert Mode for _Dummies")); gtk_container_add(GTK_CONTAINER(menu), menu_items.insert_for_dummies_item); g_signal_connect((gpointer) menu_items.insert_for_dummies_item, "activate", G_CALLBACK(on_insert_for_dummies), NULL); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_items.insert_for_dummies_item), vi_get_insert_for_dummies()); keybindings_set_item_full(group, KB_INSERT_FOR_DUMMIES, 0, 0, "insert_for_dummies", _("Insert Mode for Dummies"), NULL, on_insert_for_dummies_kb, NULL, NULL); menu_items.start_in_insert_item = gtk_check_menu_item_new_with_mnemonic(_("Start in _Insert Mode")); gtk_container_add(GTK_CONTAINER(menu), menu_items.start_in_insert_item); g_signal_connect((gpointer) menu_items.start_in_insert_item, "activate", G_CALLBACK(on_start_in_insert), NULL); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_items.start_in_insert_item), start_in_insert); gtk_widget_show_all(menu_items.parent_item); cb.on_mode_change = on_mode_change; cb.on_save = on_save; cb.on_save_all = on_save_all; cb.on_quit = on_quit; vi_init(geany_data->main_widgets->window, &cb); vi_set_mode(start_in_insert ? VI_MODE_INSERT : VI_MODE_COMMAND); if (doc) vi_set_active_sci(doc->editor->sci); }
void plugin_init (GeanyData *data) { GeanyKeyGroup *group; group = plugin_set_key_group (geany_plugin, "commander", KB_COUNT, NULL); keybindings_set_item_full (group, KB_SHOW_PANEL, 0, 0, "show_panel", _("Show Command Panel"), NULL, on_kb_show_panel, NULL, NULL); keybindings_set_item_full (group, KB_SHOW_PANEL_COMMANDS, 0, 0, "show_panel_commands", _("Show Command Panel (Commands Only)"), NULL, on_kb_show_panel, (gpointer) "c:", NULL); keybindings_set_item_full (group, KB_SHOW_PANEL_FILES, 0, 0, "show_panel_files", _("Show Command Panel (Files Only)"), NULL, on_kb_show_panel, (gpointer) "f:", NULL); /* delay for other plugins to have a chance to load before, so we will * include their items */ plugin_idle_add (geany_plugin, on_plugin_idle_init, NULL); }