=> 96f1c1eb9ce3484606c60ff00c52785a77d47c21
[1mdiff --git a/src/app.c b/src/app.c[m [1mindex e17d78fd..8345657b 100644[m [1m--- a/src/app.c[m [1m+++ b/src/app.c[m [36m@@ -2234,6 +2234,13 @@[m [mvoid processEvents_App(enum iAppEventMode eventMode) {[m wasUsed = iTrue;[m }[m }[m [32m+[m[32m if (!wasUsed && ev.type == SDL_KEYDOWN && ev.key.keysym.sym == SDLK_ESCAPE &&[m [32m+[m[32m current_Root() && focus_Widget() &&[m [32m+[m[32m focusRoot_Widget(focus_Widget()) == get_Root()->widget) {[m [32m+[m[32m /* Pressing Escape will clear focus. */[m [32m+[m[32m setFocus_Widget(NULL);[m [32m+[m[32m wasUsed = iTrue;[m [32m+[m[32m }[m if (!wasUsed) {[m /* ^G is an alternative for Escape. */[m if (ev.type == SDL_KEYDOWN && ev.key.keysym.sym == 'g' &&[m [1mdiff --git a/src/ui/documentwidget.c b/src/ui/documentwidget.c[m [1mindex a9716c08..3ca52773 100644[m [1m--- a/src/ui/documentwidget.c[m [1m+++ b/src/ui/documentwidget.c[m [36m@@ -4594,7 +4594,7 @@[m [mstatic iBool processEvent_DocumentWidget_(iDocumentWidget *d, const SDL_Event *e[m { "---", 0, 0, NULL } },[m 4);[m }[m [31m-#if defined (iPlatformApple) && defined (LAGRANGE_ENABLE_MAC_MENUS)[m [32m+[m[32m#if (defined (iPlatformApple) && defined (LAGRANGE_ENABLE_MAC_MENUS)) || defined (iPlatformTerminal)[m pushBackN_Array([m &items,[m (iMenuItem[]){[m [1mdiff --git a/src/ui/labelwidget.c b/src/ui/labelwidget.c[m [1mindex 00237f6f..809c986f 100644[m [1m--- a/src/ui/labelwidget.c[m [1m+++ b/src/ui/labelwidget.c[m [36m@@ -81,6 +81,9 @@[m [mstatic iInt2 padding_LabelWidget_(const iLabelWidget *d, int corner) {[m widgetPad.x += gap_UI * 5;[m }[m }[m [32m+[m[32m if (isTerminal_Platform()) {[m [32m+[m[32m return add_I2(widgetPad, init_I2(1 + (d->icon ? 1 : 0), 0));[m [32m+[m[32m }[m if (isMobile_Platform()) {[m return add_I2(widgetPad,[m init_I2(flags & tight_WidgetFlag ? 2 * gap_UI : (4 * gap_UI),[m [1mdiff --git a/src/ui/root.c b/src/ui/root.c[m [1mindex b467dd9b..00817c97 100644[m [1m--- a/src/ui/root.c[m [1m+++ b/src/ui/root.c[m [36m@@ -524,8 +524,13 @@[m [miBool handleRootCommands_Widget(iWidget *root, const char *cmd) {[m else if (equal_Command(cmd, "menubar.focus")) {[m iWidget *menubar = findWidget_App("menubar");[m if (menubar) {[m [31m- setFocus_Widget(child_Widget(menubar, 0));[m [31m- postCommand_Widget(focus_Widget(), "trigger");[m [32m+[m[32m if (focus_Widget() && hasParent_Widget(focus_Widget(), menubar)) {[m [32m+[m[32m setFocus_Widget(NULL);[m [32m+[m[32m }[m [32m+[m[32m else {[m [32m+[m[32m setFocus_Widget(child_Widget(menubar, 0));[m [32m+[m[32m postCommand_Widget(focus_Widget(), "trigger");[m [32m+[m[32m }[m }[m return iTrue;[m }[m [1mdiff --git a/src/ui/scrollwidget.c b/src/ui/scrollwidget.c[m [1mindex 0e0d8485..24cbc178 100644[m [1m--- a/src/ui/scrollwidget.c[m [1m+++ b/src/ui/scrollwidget.c[m [36m@@ -31,8 +31,8 @@[m [mSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */[m iDefineObjectConstruction(ScrollWidget)[m [m #if defined (iPlatformTerminal)[m [31m-const int fadeTime_ScrollWidget_ = 10;[m [31m-const int unfadeTime_ScrollWidget_ = 10;[m [32m+[m[32mconst int fadeTime_ScrollWidget_ = 1;[m [32m+[m[32mconst int unfadeTime_ScrollWidget_ = 1;[m #else[m const int fadeTime_ScrollWidget_ = 200;[m const int unfadeTime_ScrollWidget_ = 66;[m [1mdiff --git a/src/ui/util.c b/src/ui/util.c[m [1mindex e9ef5ebf..5d9ec625 100644[m [1m--- a/src/ui/util.c[m [1m+++ b/src/ui/util.c[m [36m@@ -1797,6 +1797,9 @@[m [mint checkContextMenu_Widget(iWidget *menu, const SDL_Event *ev) {[m [m iLabelWidget *makeMenuButton_LabelWidget(const char *label, const iMenuItem *items, size_t n) {[m iLabelWidget *button = new_LabelWidget(label, "menu.open");[m [32m+[m[32m if (isTerminal_Platform()) {[m [32m+[m[32m setFlags_Widget(as_Widget(button), tight_WidgetFlag, iTrue);[m [32m+[m[32m }[m iWidget *menu = makeMenuFlags_Widget(as_Widget(button), items, n, iTrue /* allow native */);[m setFrameColor_Widget(menu, uiBackgroundSelected_ColorId);[m setId_Widget(menu, "menu");[m [36m@@ -2100,6 +2103,9 @@[m [mstatic void addTabPage_Widget_(iWidget *tabs, enum iWidgetAddPos addPos, iWidget[m iClob(newKeyMods_LabelWidget(label, key, kmods, format_CStr("tabs.switch page:%p", page))),[m addPos);[m checkIcon_LabelWidget((iLabelWidget *) button);[m [32m+[m[32m if (isTerminal_Platform()) {[m [32m+[m[32m setIcon_LabelWidget((iLabelWidget *) button, 0); /* no icon in the terminal (lack of room) */[m [32m+[m[32m }[m setFlags_Widget(button, selected_WidgetFlag, isSel);[m setFlags_Widget(button,[m commandOnClick_WidgetFlag |[m
text/gemini; charset=utf-8
This content has been proxied by September (3851b).