summaryrefslogtreecommitdiff
path: root/src/app.c
AgeCommit message (Collapse)Author
2021-03-22Basic language string mechanismJaakko Keränen
Added a set of English strings. Lang can load a language. LabelWidget can replace IDs in the label. IssueID #192
2021-03-22Lang: Began replacing UI strings with IDsJaakko Keränen
IssueID #192
2021-03-21iOS: Save to Files; hide toolbar on scrollJaakko Keränen
There is no downloads directory on mobile. Instead, the downloaded file is temporarily cached and given to the iOS document picker to export. Added an option to hide the bottom toolbar while scrolling down.
2021-03-20App: Periodic commands without timers/threadsJaakko Keränen
Now the periodic commands get posted on the main thread at intervals, and the event loop cooperates by not sleeping if there are periodic commands pending. The macOS animation hangup seems to be unrelated, though — perhaps some internal SDL/Metal machinery related to app refresh stopping for a while?
2021-03-20App: Looking at uneven frame redraw timesJaakko Keränen
2021-03-19CleanupJaakko Keränen
2021-03-18Mobile improvementsJaakko Keränen
Seeing if a few forced redraws will take care of the squished view issue. On the phone, showing and hiding the sidebar is not supposed to resize any documents.
2021-03-18Scrollbar fading and periodic commandsJaakko Keränen
Added a new mechanism to issue periodic but not per-frame commands. This is used for main-thread operations like checking if it's time to fade away the scrollbars. Scrollbars are faded away completely on Apple platforms. Adjusted list right margins accordingly.
2021-03-17App: Added 3rd fallback to find resources.lgrJaakko Keranen
Check the current directory.
2021-03-16Translation: Remember last used languagesJaakko Keränen
2021-03-15App: Decode URLs passed via command line argumentsJaakko Keränen
2021-03-13Text: Separate glyph caching procedureJaakko Keränen
Previously glyph caching was done during text rendering, but that would mean lots of swapping between rendering stuff to the cache and then immediately afterward rendering to the display. There would be a swap per each new glyph. Now the entire document's glyphs are precached at once when a request is finished. Glyphs are also cached in larger batches when new text needs to be drawn.
2021-03-13Arrange URL child indicators; widget arrangementJaakko Keränen
The indicators in the URL input field are now arranged horizontally, so they don't overlap. Improved arrangement of (un)collapsed widgets.
2021-03-13Mobile: Simplified window event handlingJaakko Keränen
The desktop window events do things that are not relevant on mobile, and may in fact be harmful. Since mobile is essentially fullscreen only, needed updates to root size are done whenever the window is redrawn.
2021-03-11Added option to word wrap plain text filesJaakko Keränen
On by default because there is no horizontal scrolling for plain text files.
2021-03-09Mobile: Revising phone-style dialogsJaakko Keränen
Sliding panels and left-edge swipes.
2021-03-09App: Initial bookmarksJaakko Keränen
Don't automatically make "Getting Started" a remote bookmark source. 1) Rather not DDOS my server. Remote sources are not cached currently. 2) While it's a nice demo of the feature, it's not essential. 3) Avoid appearance of a "call home" default that one needs to opt out of.
2021-03-07Windows: Fixed horizontal mouse wheel directionJaakko Keränen
2021-03-07Merge branch 'dev' of skyjake.fi:skyjake/lagrange into devJaakko Keränen
2021-03-07macOS: Mouse wheel horizontal directionJaakko Keränen
2021-03-07App: Fetch remote bookmarks after init finishedJaakko Keränen
2021-03-07Multithreading issuesJaakko Keränen
It was possible that the window was accessed from a background request `postCommand` before the window was created. The CA file/path from preferences must be set before TlsRequest is used.
2021-03-07Processing per-pixel scroll eventsJaakko Keränen
Do platform-specific processing of scroll events up front so widgets can support both types of scrolls everywhere. IssueID #166
2021-03-06Mobile: Dealing with keyboard heightJaakko Keränen
The software keyboard obstructs part of the UI, so need to offset the view if the focused input widget would not be visible.
2021-03-05Restructuring dialogs for mobileJaakko Keränen
On a phone, dialogs are restructured to be more vertical and full-width.
2021-03-04Save identity usage changes immediatelyJaakko Keränen
2021-03-04Possible crash when opening PreferencesJaakko Keränen
2021-03-04Changing UI scaling at runtimeJaakko Keränen
UI scaling factor is applied when closing the Preferences dialog. IssueID #83
2021-03-03Load keyboard modifier mapping from modmap.txtJaakko Keränen
IssueID #87
2021-03-02Windows: Implement IPC with mailslotsJaakko Keränen
2021-03-02Server certificates may also be verified by CAsJaakko Keränen
If the CA file/path are configured in preferences, trust CA verification over manual TOFU checks.
2021-03-01Added a resource for the --help instructionsJaakko Keränen
IssueID #174
2021-03-01Listing open tabs via command lineJaakko Keränen
IssueID #178
2021-02-28Single app instance; IPC mechanismJaakko Keränen
Only one instance of Lagrange is allowed to run per a runtime directory. Otherwise the instances will overwrite each others' files. Added a check at startup to see if an instance is already running. If so, options can be used to communicate with it. By default, a new tab is opened in the running instance. IssueID #37 IssueID #164 IssueID #174 IssueID #178
2021-02-26Visual design improvementsJaakko Keränen
URL input field has a maximum width. Adjusted navbar appearance and margins. Tuned UI palette and added UI accent color preference.
2021-02-26DocumentWidget: Inline downloadsJaakko Keränen
2021-02-24Source Sans Pro and Iosevka as font optionsJaakko Keränen
Allow the UI and monospace fonts to be used as page content fonts.
2021-02-23Option to auto-reload a tab at a given intervalJaakko Keränen
IssueID #116
2021-02-23Preferences: Leave an empty search URL unmodifiedJaakko Keränen
2021-02-23Show a search indicator in the URL barJaakko Keränen
Indicate to user when entered text will be user for a search engine query. IssueID #157
2021-02-22iOS: Font adjustmentsJaakko Keränen
2021-02-21Minor tweaksJaakko Keränen
2021-02-20iOS: Tweaks and changes for phone modeJaakko Keränen
Phone mode uses a modified user interface. Work in progress...
2021-02-19iOS: Further tweaks for mobileJaakko Keränen
2021-02-19iOS: Adjusting the UI for a tablet screenJaakko Keränen
2021-02-18iOS: Working on touch event handlingJaakko Keränen
Handle finger down, motion, and up events to implement basic taps, long presses, and inertia scrolling. Much finetuning still to be done, and certain widgets like input fields and scrollbars need a direct drag mode (they were working fine via the "mouse" events already).
2021-02-16Search engine queries via the navbarJaakko Keränen
Any text that doesn't look like a URL is passed onto the configured search URL as a query string. IssueID #157
2021-02-15Added user preference to disable vertical centering of pagesJaakko Keränen
The centering option affects all pages, including "about:" and error messages.
2021-02-14SidebarWidget: Handling feed entry URLs with spacesJaakko Keränen
The sidebar failed to realize that an entry was the current one and/or already read, because URL encoding is not consistently applied. This needs addressing soon — internally, all URLs should have a consistent format (fully encoded or decoded, NFC normalized).
2021-02-14Open Help on first runJaakko Keränen
Make things less confusing for newcomers by showing the Help document on first run. Moved up the "What is Gemini" section to the top since it has the FAQ link. IssueID #159