aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lua_interface.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lua_interface.c b/src/lua_interface.c
index e50784dc..b5ac08be 100644
--- a/src/lua_interface.c
+++ b/src/lua_interface.c
@@ -75,6 +75,7 @@ static int l_cf_ta_buffer_new(lua_State *lua),
l_cf_pm_clear(lua_State *lua),
l_cf_pm_activate(lua_State *lua),
l_cf_pm_add_browser(lua_State *lua),
+ l_cf_pm_remove_browser(lua_State *lua),
l_cf_find_focus(lua_State *lua),
l_cf_call_find_next(lua_State *lua),
l_cf_call_find_prev(lua_State *lua),
@@ -118,6 +119,7 @@ bool l_init(int argc, char **argv, bool reinit) {
l_cfunc(lua, l_cf_pm_clear, "clear");
l_cfunc(lua, l_cf_pm_activate, "activate");
l_cfunc(lua, l_cf_pm_add_browser, "add_browser");
+ l_cfunc(lua, l_cf_pm_remove_browser, "remove_browser");
l_mt(lua, "_pm_mt", l_pm_mt_index, l_pm_mt_newindex);
lua_setfield(lua, -2, "pm");
lua_newtable(lua);
@@ -1512,6 +1514,13 @@ static int l_cf_pm_add_browser(lua_State *lua) {
return 0;
}
+static int l_cf_pm_remove_browser(lua_State *lua) {
+ int index = static_cast<int>(luaL_checkinteger(lua, 1));
+ GtkWidget *pm_combo = gtk_widget_get_parent(pm_entry);
+ gtk_combo_box_remove_text(GTK_COMBO_BOX(pm_combo), index);
+ return 0;
+}
+
static int l_cf_find_focus(lua_State *) {
find_toggle_focus();
return 0;