From 501c88b3d528ddd065a0384b4a159e377eb8f45a Mon Sep 17 00:00:00 2001 From: Consolatis <35009135+Consolatis@users.noreply.github.com> Date: Tue, 17 Jun 2025 15:00:17 +0200 Subject: [PATCH] src/menu: add small selection of default terminals to root-menu So new users have some way to spawn a terminal. --- src/menu/menu.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/menu/menu.c b/src/menu/menu.c index 3a4c6b2b..c63801bf 100644 --- a/src/menu/menu.c +++ b/src/menu/menu.c @@ -488,7 +488,7 @@ fill_item(char *nodename, char *content) #if HAVE_LIBSFDO if (rc.menu_show_icons && !string_null_or_empty(content)) { xstrdup_replace(current_item->icon_name, content); - current_menu->has_icons = true; + current_item->parent->has_icons = true; } #endif } else if (!strcmp(nodename, "name.action")) { @@ -1030,6 +1030,28 @@ init_rootmenu(struct server *server) if (!menu) { current_menu = NULL; menu = menu_create(server, "root-menu", ""); + + /* + * Add a small selection of default terminals so + * new users do have *some* way to spawn a terminal. + */ + current_item = item_create(menu, "foot", false); + fill_item("icon", "foot"); + fill_item("name.action", "Execute"); + fill_item("command.action", "foot"); + + current_item = item_create(menu, "alacritty", false); + fill_item("icon", "alacritty"); + fill_item("name.action", "Execute"); + fill_item("command.action", "alacritty"); + + current_item = item_create(menu, "xterm", false); + fill_item("icon", "xterm"); + fill_item("name.action", "Execute"); + fill_item("command.action", "xterm"); + + separator_create(menu, ""); + current_item = item_create(menu, _("Reconfigure"), false); fill_item("name.action", "Reconfigure"); current_item = item_create(menu, _("Exit"), false);