summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaakko Keränen <jaakko.keranen@iki.fi>2022-02-11 19:00:59 +0200
committerJaakko Keränen <jaakko.keranen@iki.fi>2022-02-11 19:01:24 +0200
commit2d7ec0718b258dcce1d15ff5b804c69695ba9e66 (patch)
tree6796e42040d70e1a24f5644375d0ab3c8c8f0717
parent0585c687a38f0d177ec4db48567ea08326094111 (diff)
parent876266d19f42f705178e4b0ad67b047399497eeb (diff)
Merge branch 'dev' into work/v1.11
-rw-r--r--AUTHORS.md4
-rw-r--r--README.md8
-rw-r--r--po/en.po3
-rw-r--r--po/tok.po35
-rw-r--r--res/about/version.gmi4
-rw-r--r--res/lang/cs.binbin32719 -> 32779 bytes
-rw-r--r--res/lang/de.binbin31529 -> 31589 bytes
-rw-r--r--res/lang/en.binbin27598 -> 27658 bytes
-rw-r--r--res/lang/eo.binbin26155 -> 26848 bytes
-rw-r--r--res/lang/es.binbin31441 -> 31501 bytes
-rw-r--r--res/lang/es_MX.binbin28668 -> 28728 bytes
-rw-r--r--res/lang/fi.binbin31239 -> 31299 bytes
-rw-r--r--res/lang/fr.binbin32326 -> 32386 bytes
-rw-r--r--res/lang/gl.binbin29969 -> 30662 bytes
-rw-r--r--res/lang/hu.binbin32351 -> 32411 bytes
-rw-r--r--res/lang/ia.binbin30381 -> 30441 bytes
-rw-r--r--res/lang/ie.binbin29705 -> 30398 bytes
-rw-r--r--res/lang/isv.binbin26319 -> 26379 bytes
-rw-r--r--res/lang/nl.binbin29708 -> 29768 bytes
-rw-r--r--res/lang/pl.binbin30954 -> 31014 bytes
-rw-r--r--res/lang/ru.binbin46301 -> 46361 bytes
-rw-r--r--res/lang/sk.binbin26655 -> 26715 bytes
-rw-r--r--res/lang/sr.binbin45597 -> 45657 bytes
-rw-r--r--res/lang/tok.binbin28434 -> 28504 bytes
-rw-r--r--res/lang/tr.binbin30545 -> 30605 bytes
-rw-r--r--res/lang/uk.binbin45678 -> 45738 bytes
-rw-r--r--res/lang/zh_Hans.binbin26563 -> 26623 bytes
-rw-r--r--res/lang/zh_Hant.binbin26961 -> 27021 bytes
-rw-r--r--src/macos.m12
-rw-r--r--src/ui/documentwidget.c7
-rw-r--r--src/ui/keys.c1
-rw-r--r--src/ui/linkinfo.c6
-rw-r--r--src/ui/sidebarwidget.c4
33 files changed, 74 insertions, 10 deletions
diff --git a/AUTHORS.md b/AUTHORS.md
index 8672133f..2d56896c 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -5,11 +5,11 @@ Lagrange was created by Jaakko Keränen (<jaakko.keranen@iki.fi>) in July 2020.
5Legend: `C` code, `T` translation 5Legend: `C` code, `T` translation
6 6
7``` 7```
8C 3070 Jaakko Keränen <jaakko.keranen@iki.fi> 8C 3103 Jaakko Keränen <jaakko.keranen@iki.fi>
9CT 47 Nikolay Korotkiy <sikmir@gmail.com> 9CT 47 Nikolay Korotkiy <sikmir@gmail.com>
10 T 45 Alyssa Liddell <e-liss@tuta.io> 10 T 45 Alyssa Liddell <e-liss@tuta.io>
11 T 42 Olga Smirnova <mistresssilvara@hotmail.com> 11 T 42 Olga Smirnova <mistresssilvara@hotmail.com>
12 T 30 Anna “CyberTailor” <cyber@sysrq.in> 12 T 31 Anna “CyberTailor” <cyber@sysrq.in>
13 T 29 Страхиња Радић <contact@strahinja.org> 13 T 29 Страхиња Радић <contact@strahinja.org>
14 T 26 Shibo Lyu <github@of.sb> 14 T 26 Shibo Lyu <github@of.sb>
15 T 20 Wally Hackenslacker <mastor89@protonmail.com> 15 T 20 Wally Hackenslacker <mastor89@protonmail.com>
diff --git a/README.md b/README.md
index 4f3d1580..33f9a6f2 100644
--- a/README.md
+++ b/README.md
@@ -27,14 +27,18 @@ On macOS you can install and upgrade via Homebrew:
27 27
28Please check [MacPorts](https://www.macports.org) if you are using macOS 10.12 or older. 28Please check [MacPorts](https://www.macports.org) if you are using macOS 10.12 or older.
29 29
30On Fedora and any RHEL/CentOS Stream 8 and 9 derivatives (RHEL, CentOS Stream, Alma, Rocky) that have the EPEL repos enabled:
31
32 sudo dnf install lagrange
33
30On openSUSE Tumbleweed: 34On openSUSE Tumbleweed:
31 35
32 sudo zypper install lagrange 36 sudo zypper install lagrange
33 37
34Using GNU Guix: 38Using GNU Guix:
35 39
36 guix install lagrange 40 guix install lagrange
37 41
38## How to compile 42## How to compile
39 43
40You need a POSIX-compatible environment to compile Lagrange. 44You need a POSIX-compatible environment to compile Lagrange.
diff --git a/po/en.po b/po/en.po
index cc5f2091..100cfb9f 100644
--- a/po/en.po
+++ b/po/en.po
@@ -774,6 +774,9 @@ msgstr "Send"
774msgid "menu.input.precedingline" 774msgid "menu.input.precedingline"
775msgstr "Paste Preceding Line" 775msgstr "Paste Preceding Line"
776 776
777msgid "keys.input.precedingline"
778msgstr "Input prompt: Paste preceding line"
779
777msgid "heading.save" 780msgid "heading.save"
778msgstr "File Saved" 781msgstr "File Saved"
779 782
diff --git a/po/tok.po b/po/tok.po
index 01698208..5b32179c 100644
--- a/po/tok.po
+++ b/po/tok.po
@@ -1,7 +1,7 @@
1msgid "" 1msgid ""
2msgstr "" 2msgstr ""
3"Report-Msgid-Bugs-To: jaakko.keranen@iki.fi\n" 3"Report-Msgid-Bugs-To: jaakko.keranen@iki.fi\n"
4"PO-Revision-Date: 2022-01-08 14:50+0000\n" 4"PO-Revision-Date: 2022-02-07 14:50+0000\n"
5"Last-Translator: jan Anja <cyber@sysrq.in>\n" 5"Last-Translator: jan Anja <cyber@sysrq.in>\n"
6"Language-Team: Toki Pona <http://weblate.skyjake.fi/projects/lagrange/ui/tok/" 6"Language-Team: Toki Pona <http://weblate.skyjake.fi/projects/lagrange/ui/tok/"
7">\n" 7">\n"
@@ -2121,3 +2121,36 @@ msgstr "sina wile ala wile weka e ijo ale? sina ken ala ante monsi"
2121# Mobile subheading in the Upload dialog. 2121# Mobile subheading in the Upload dialog.
2122msgid "upload.url" 2122msgid "upload.url"
2123msgstr "nimi tawa" 2123msgstr "nimi tawa"
2124
2125msgid "prefs.toolbaraction1"
2126msgstr "nena pi nanpa wan"
2127
2128msgid "prefs.toolbaraction2"
2129msgstr "nena pi nanpa tu"
2130
2131# Menu heading shown when customizing navbar button actions.
2132msgid "menu.toolbar.setaction"
2133msgstr "o ante e pali:"
2134
2135# Shows where a local file is using the File Manager.
2136msgid "menu.reveal.filemgr"
2137msgstr "o open"
2138
2139msgid "menu.upload.export"
2140msgstr "o pana e sitelen"
2141
2142msgid "heading.upload.id"
2143msgstr "len"
2144
2145msgid "hint.upload.path"
2146msgstr "nasin URL"
2147
2148msgid "hint.upload.token.long"
2149msgstr "sitelen len — o lukin e nasin tan ilo sona"
2150
2151msgid "sidebar.empty.unread"
2152msgstr "lipu ale li lukin"
2153
2154# Paste the line preceding the clicked link into the input prompt.
2155msgid "menu.input.precedingline"
2156msgstr "o pana e linja pini"
diff --git a/res/about/version.gmi b/res/about/version.gmi
index 905b0221..f397c7e1 100644
--- a/res/about/version.gmi
+++ b/res/about/version.gmi
@@ -7,14 +7,18 @@
7# Release notes 7# Release notes
8 8
9## 1.10.5 9## 1.10.5
10* Added a keybinding for "Paste Preceding Line" (in input prompt menu).
10* The "Miscellaneous Symbols and Arrows" Unicode block (U+2B00...U+2BFF) is accepted as custom link icons. 11* The "Miscellaneous Symbols and Arrows" Unicode block (U+2B00...U+2BFF) is accepted as custom link icons.
11* When mixing Emoji into preformatted text (glyphs are from different fonts), lay out the Emoji as double-wide characters to avoid overlapping. 12* When mixing Emoji into preformatted text (glyphs are from different fonts), lay out the Emoji as double-wide characters to avoid overlapping.
12* Faster hover-scrolling of long popup menus. 13* Faster hover-scrolling of long popup menus.
14* Fixed sidebars not getting updated after identity addition/deletion.
13* Fixed "Paste Preceding Line" not being undoable. 15* Fixed "Paste Preceding Line" not being undoable.
14* Fixed lookup of missing glyphs. Fontpack priorities are now applied as documented. 16* Fixed lookup of missing glyphs. Fontpack priorities are now applied as documented.
15* Fixed animation issue with sidebars in the right side of split view. 17* Fixed animation issue with sidebars in the right side of split view.
16* Fixed a refresh issue that caused the first line of the page to be redrawn continuously, spiking CPU usage. 18* Fixed a refresh issue that caused the first line of the page to be redrawn continuously, spiking CPU usage.
17* Fixed link numbers showing up next to image captions. 19* Fixed link numbers showing up next to image captions.
20* Fixed how the link hover popup handles extremely long URLs.
21* macOS: Handling regular mouse wheel events. Each step of the wheel should cause a single scroll event.
18* macOS: Fixed a sidebar clipping issue with Metal. 22* macOS: Fixed a sidebar clipping issue with Metal.
19* macOS: Possible workaround for a window refresh glitch when using SDL's Metal renderer. (Sometimes animated elements like the URL hover info would stop at being partially transparent and not complete the fade.) 23* macOS: Possible workaround for a window refresh glitch when using SDL's Metal renderer. (Sometimes animated elements like the URL hover info would stop at being partially transparent and not complete the fade.)
20* Updated UI translations. 24* Updated UI translations.
diff --git a/res/lang/cs.bin b/res/lang/cs.bin
index 98cd5d32..a45f34ca 100644
--- a/res/lang/cs.bin
+++ b/res/lang/cs.bin
Binary files differ
diff --git a/res/lang/de.bin b/res/lang/de.bin
index ecb601aa..9b99e7ed 100644
--- a/res/lang/de.bin
+++ b/res/lang/de.bin
Binary files differ
diff --git a/res/lang/en.bin b/res/lang/en.bin
index 758adbba..7b06807d 100644
--- a/res/lang/en.bin
+++ b/res/lang/en.bin
Binary files differ
diff --git a/res/lang/eo.bin b/res/lang/eo.bin
index 61f9ea68..6c3bab91 100644
--- a/res/lang/eo.bin
+++ b/res/lang/eo.bin
Binary files differ
diff --git a/res/lang/es.bin b/res/lang/es.bin
index d50a2cae..f82aca48 100644
--- a/res/lang/es.bin
+++ b/res/lang/es.bin
Binary files differ
diff --git a/res/lang/es_MX.bin b/res/lang/es_MX.bin
index 40379ee0..e1956da3 100644
--- a/res/lang/es_MX.bin
+++ b/res/lang/es_MX.bin
Binary files differ
diff --git a/res/lang/fi.bin b/res/lang/fi.bin
index 18a4c11d..fc7ccab8 100644
--- a/res/lang/fi.bin
+++ b/res/lang/fi.bin
Binary files differ
diff --git a/res/lang/fr.bin b/res/lang/fr.bin
index ba098242..44b391b4 100644
--- a/res/lang/fr.bin
+++ b/res/lang/fr.bin
Binary files differ
diff --git a/res/lang/gl.bin b/res/lang/gl.bin
index 925994f9..583f7909 100644
--- a/res/lang/gl.bin
+++ b/res/lang/gl.bin
Binary files differ
diff --git a/res/lang/hu.bin b/res/lang/hu.bin
index 94af8aa8..6776ea40 100644
--- a/res/lang/hu.bin
+++ b/res/lang/hu.bin
Binary files differ
diff --git a/res/lang/ia.bin b/res/lang/ia.bin
index 1aac22fe..2659c595 100644
--- a/res/lang/ia.bin
+++ b/res/lang/ia.bin
Binary files differ
diff --git a/res/lang/ie.bin b/res/lang/ie.bin
index 7528934d..33bc6419 100644
--- a/res/lang/ie.bin
+++ b/res/lang/ie.bin
Binary files differ
diff --git a/res/lang/isv.bin b/res/lang/isv.bin
index c3931a80..23726e20 100644
--- a/res/lang/isv.bin
+++ b/res/lang/isv.bin
Binary files differ
diff --git a/res/lang/nl.bin b/res/lang/nl.bin
index 579f0df8..32ec0205 100644
--- a/res/lang/nl.bin
+++ b/res/lang/nl.bin
Binary files differ
diff --git a/res/lang/pl.bin b/res/lang/pl.bin
index 448be098..52e02876 100644
--- a/res/lang/pl.bin
+++ b/res/lang/pl.bin
Binary files differ
diff --git a/res/lang/ru.bin b/res/lang/ru.bin
index 098c2b11..7445fe10 100644
--- a/res/lang/ru.bin
+++ b/res/lang/ru.bin
Binary files differ
diff --git a/res/lang/sk.bin b/res/lang/sk.bin
index fc984d97..76d4dd6f 100644
--- a/res/lang/sk.bin
+++ b/res/lang/sk.bin
Binary files differ
diff --git a/res/lang/sr.bin b/res/lang/sr.bin
index 49ec2b90..11ab7e1d 100644
--- a/res/lang/sr.bin
+++ b/res/lang/sr.bin
Binary files differ
diff --git a/res/lang/tok.bin b/res/lang/tok.bin
index cfbee57e..7e9b02d9 100644
--- a/res/lang/tok.bin
+++ b/res/lang/tok.bin
Binary files differ
diff --git a/res/lang/tr.bin b/res/lang/tr.bin
index 8e9a09c4..c13d575f 100644
--- a/res/lang/tr.bin
+++ b/res/lang/tr.bin
Binary files differ
diff --git a/res/lang/uk.bin b/res/lang/uk.bin
index ae80d456..609b1c53 100644
--- a/res/lang/uk.bin
+++ b/res/lang/uk.bin
Binary files differ
diff --git a/res/lang/zh_Hans.bin b/res/lang/zh_Hans.bin
index 2f0c03fa..904fe90d 100644
--- a/res/lang/zh_Hans.bin
+++ b/res/lang/zh_Hans.bin
Binary files differ
diff --git a/res/lang/zh_Hant.bin b/res/lang/zh_Hant.bin
index f978013c..9161c061 100644
--- a/res/lang/zh_Hant.bin
+++ b/res/lang/zh_Hant.bin
Binary files differ
diff --git a/src/macos.m b/src/macos.m
index 191842f6..7b248c3b 100644
--- a/src/macos.m
+++ b/src/macos.m
@@ -475,10 +475,20 @@ static iBool processScrollWheelEvent_(NSEvent *event) {
475 break; 475 break;
476 } 476 }
477 } 477 }
478 else {
479 SDL_MouseWheelEvent e = { .type = SDL_MOUSEWHEEL };
480 e.timestamp = SDL_GetTicks();
481 e.which = 1; /* Distinction between trackpad and regular mouse. */
482 /* Disregard any wheel acceleration. */
483 e.x = event.scrollingDeltaX > 0 ? 1 : event.scrollingDeltaX < 0 ? -1 : 0;
484 e.y = event.scrollingDeltaY > 0 ? 1 : event.scrollingDeltaY < 0 ? -1 : 0;
485 SDL_PushEvent((SDL_Event *) &e);
486 return iTrue;
487 }
478 /* Post corresponding MOUSEWHEEL events. */ 488 /* Post corresponding MOUSEWHEEL events. */
479 SDL_MouseWheelEvent e = { .type = SDL_MOUSEWHEEL }; 489 SDL_MouseWheelEvent e = { .type = SDL_MOUSEWHEEL };
480 e.timestamp = SDL_GetTicks(); 490 e.timestamp = SDL_GetTicks();
481 e.which = isPerPixel ? 0 : 1; /* Distinction between trackpad and regular mouse. TODO: Still needed? */ 491 e.which = isPerPixel ? 0 : 1; /* Distinction between trackpad and regular mouse. */
482 setPerPixel_MouseWheelEvent(&e, isPerPixel); 492 setPerPixel_MouseWheelEvent(&e, isPerPixel);
483 if (isPerPixel) { 493 if (isPerPixel) {
484 setInertia_MouseWheelEvent(&e, isInertia); 494 setInertia_MouseWheelEvent(&e, isInertia);
diff --git a/src/ui/documentwidget.c b/src/ui/documentwidget.c
index 3d2e31b2..6513fc33 100644
--- a/src/ui/documentwidget.c
+++ b/src/ui/documentwidget.c
@@ -2745,7 +2745,7 @@ static void updateDocument_DocumentWidget_(iDocumentWidget *d,
2745 : "media.untitled.audio"); 2745 : "media.untitled.audio");
2746 iUrl parts; 2746 iUrl parts;
2747 init_Url(&parts, d->mod.url); 2747 init_Url(&parts, d->mod.url);
2748 if (!isEmpty_Range(&parts.path)) { 2748 if (!isEmpty_Range(&parts.path) && !equalCase_Rangecc(parts.scheme, "data")) {
2749 linkTitle = 2749 linkTitle =
2750 baseName_Path(collect_String(newRange_String(parts.path))).start; 2750 baseName_Path(collect_String(newRange_String(parts.path))).start;
2751 } 2751 }
@@ -3254,9 +3254,10 @@ static void checkResponse_DocumentWidget_(iDocumentWidget *d) {
3254 addChildPos_Widget(buttons, iClob(lineBreak), front_WidgetAddPos); 3254 addChildPos_Widget(buttons, iClob(lineBreak), front_WidgetAddPos);
3255 } 3255 }
3256 /* Menu for additional actions, past entries. */ { 3256 /* Menu for additional actions, past entries. */ {
3257 const iBinding *bind = findCommand_Keys("input.precedingline");
3257 iMenuItem items[] = { { "${menu.input.precedingline}", 3258 iMenuItem items[] = { { "${menu.input.precedingline}",
3258 SDLK_v, 3259 bind->key,
3259 KMOD_PRIMARY | KMOD_SHIFT, 3260 bind->mods,
3260 format_CStr("!valueinput.set ptr:%p text:%s", 3261 format_CStr("!valueinput.set ptr:%p text:%s",
3261 buttons, 3262 buttons,
3262 cstr_String(&d->linePrecedingLink)) } }; 3263 cstr_String(&d->linePrecedingLink)) } };
diff --git a/src/ui/keys.c b/src/ui/keys.c
index d4d9320e..33f39633 100644
--- a/src/ui/keys.c
+++ b/src/ui/keys.c
@@ -241,6 +241,7 @@ static const struct { int id; iMenuItem bind; int flags; } defaultBindings_[] =
241 { 110,{ "${menu.save.downloads}", SDLK_s, KMOD_PRIMARY, "document.save" }, 0 }, 241 { 110,{ "${menu.save.downloads}", SDLK_s, KMOD_PRIMARY, "document.save" }, 0 },
242 { 120,{ "${keys.upload}", SDLK_u, KMOD_PRIMARY, "document.upload" }, 0 }, 242 { 120,{ "${keys.upload}", SDLK_u, KMOD_PRIMARY, "document.upload" }, 0 },
243 { 121,{ "${keys.upload.edit}", SDLK_e, KMOD_PRIMARY, "document.upload copy:1" }, 0 }, 243 { 121,{ "${keys.upload.edit}", SDLK_e, KMOD_PRIMARY, "document.upload copy:1" }, 0 },
244 { 130,{ "${keys.input.precedingline}", SDLK_v, KMOD_PRIMARY | KMOD_SHIFT, "input.precedingline" }, 0 },
244 /* The following cannot currently be changed (built-in duplicates). */ 245 /* The following cannot currently be changed (built-in duplicates). */
245#if defined (iPlatformApple) 246#if defined (iPlatformApple)
246 { 1002, { NULL, SDLK_LEFTBRACKET, KMOD_PRIMARY, "navigate.back" }, 0 }, 247 { 1002, { NULL, SDLK_LEFTBRACKET, KMOD_PRIMARY, "navigate.back" }, 0 },
diff --git a/src/ui/linkinfo.c b/src/ui/linkinfo.c
index 72d76678..46aa6663 100644
--- a/src/ui/linkinfo.c
+++ b/src/ui/linkinfo.c
@@ -100,8 +100,12 @@ void infoText_LinkInfo(const iGmDocument *doc, iGmLinkId linkId, iString *text_o
100 appendRange_String(text_out, (iRangecc){ constBegin_String(url), comma }); 100 appendRange_String(text_out, (iRangecc){ constBegin_String(url), comma });
101 } 101 }
102 else if (scheme != gemini_GmLinkScheme) { 102 else if (scheme != gemini_GmLinkScheme) {
103 const size_t maxDispLen = 300;
103 appendCStr_String(text_out, scheme == file_GmLinkScheme ? "" : globe_Icon " "); 104 appendCStr_String(text_out, scheme == file_GmLinkScheme ? "" : globe_Icon " ");
104 appendCStrN_String(text_out, cstr_String(url), iMin(500, size_String(url))); 105 appendCStrN_String(text_out, cstr_String(url), iMin(maxDispLen, size_String(url)));
106 if (size_String(url) > maxDispLen) {
107 appendCStr_String(text_out, "...");
108 }
105 } 109 }
106 else { 110 else {
107 appendCStr_String(text_out, "\x1b[1m"); 111 appendCStr_String(text_out, "\x1b[1m");
diff --git a/src/ui/sidebarwidget.c b/src/ui/sidebarwidget.c
index da0ec22c..da377ac2 100644
--- a/src/ui/sidebarwidget.c
+++ b/src/ui/sidebarwidget.c
@@ -1392,6 +1392,10 @@ static iBool processEvent_SidebarWidget_(iSidebarWidget *d, const SDL_Event *ev)
1392 } 1392 }
1393 } 1393 }
1394 } 1394 }
1395 else if (equal_Command(cmd, "idents.changed") && d->mode == identities_SidebarMode) {
1396 updateItems_SidebarWidget_(d);
1397 return iTrue;
1398 }
1395 else if (isPortraitPhone_App() && isVisible_Widget(w) && d->side == left_SidebarSide && 1399 else if (isPortraitPhone_App() && isVisible_Widget(w) && d->side == left_SidebarSide &&
1396 equal_Command(cmd, "swipe.forward")) { 1400 equal_Command(cmd, "swipe.forward")) {
1397 postCommand_App("sidebar.toggle"); 1401 postCommand_App("sidebar.toggle");