=> 73a506239e4dc8be07313147cde4046a3bd848e1
[1mdiff --git a/src/ui/root.c b/src/ui/root.c[m [1mindex a3c2e0ae..64043fd3 100644[m [1m--- a/src/ui/root.c[m [1m+++ b/src/ui/root.c[m [36m@@ -318,9 +318,12 @@[m [mstatic iBool handleRootCommands_(iWidget *root, const char *cmd) {[m if (equal_Command(cmd, "menu.open")) {[m iWidget *button = pointer_Command(cmd);[m iWidget *menu = findChild_Widget(button, "menu");[m [32m+[m[32m const iBool isPlacedUnder = argLabel_Command(cmd, "under");[m iAssert(menu);[m if (!isVisible_Widget(menu)) {[m [31m- openMenu_Widget(menu, topLeft_Rect(bounds_Widget(button)));[m [32m+[m[32m openMenu_Widget(menu,[m [32m+[m[32m isPlacedUnder ? bottomLeft_Rect(bounds_Widget(button))[m [32m+[m[32m : topLeft_Rect(bounds_Widget(button)));[m }[m else {[m closeMenu_Widget(menu);[m [36m@@ -416,7 +419,7 @@[m [mstatic iBool handleRootCommands_(iWidget *root, const char *cmd) {[m }[m iWidget *menu =[m makeMenu_Widget(button, constData_Array(&items), size_Array(&items));[m [31m- openMenu_Widget(menu, topLeft_Rect(bounds_Widget(button)));[m [32m+[m[32m openMenu_Widget(menu, bottomLeft_Rect(bounds_Widget(button)));[m deinit_Array(&items);[m return iTrue;[m }[m [36m@@ -1484,6 +1487,7 @@[m [mvoid createUserInterface_Root(iRoot *d) {[m iLabelWidget *navMenu =[m makeMenuButton_LabelWidget(menu_Icon, navMenuItems_, iElemCount(navMenuItems_));[m # endif[m [32m+[m[32m setCommand_LabelWidget(navMenu, collectNewCStr_String("menu.open under:1"));[m setAlignVisually_LabelWidget(navMenu, iTrue);[m setId_Widget(addChildFlags_Widget(navBar, iClob(navMenu), collapse_WidgetFlag), "navbar.menu");[m #endif[m [1mdiff --git a/src/ui/util.c b/src/ui/util.c[m [1mindex 41e645de..31907721 100644[m [1m--- a/src/ui/util.c[m [1m+++ b/src/ui/util.c[m [36m@@ -680,7 +680,7 @@[m [mstatic iBool isCommandIgnoredByMenus_(const char *cmd) {[m static iLabelWidget *parentMenuButton_(const iWidget *menu) {[m if (isInstance_Object(menu->parent, &Class_LabelWidget)) {[m iLabelWidget *button = (iLabelWidget *) menu->parent;[m [31m- if (!cmp_String(command_LabelWidget(button), "menu.open")) {[m [32m+[m[32m if (equal_Command(cstr_String(command_LabelWidget(button)), "menu.open")) {[m return button;[m }[m }[m
text/gemini; charset=utf-8
This content has been proxied by September (ba2dc).