summaryrefslogtreecommitdiff
path: root/src/app.c
AgeCommit message (Collapse)Author
2021-05-04App: Serialize sidebar state in state.lgrJaakko Keränen
The sidebars of each root are now serialized with the rest of the UI state so they have all the widget roots available.
2021-05-03App: Wait for `xdg-open` child processes to terminateJaakko Keränen
IssueID #260
2021-05-03App: Crash with --echo when shutting downJaakko Keränen
2021-05-03Lang: Added new and missing stringsJaakko Keränen
IssueID #192
2021-05-02Window: Added split swapping; cleanupJaakko Keränen
2021-05-02App: Save split mode; launch event cleanupJaakko Keränen
The serialized state version was bumped, so old states are incompatible and are ignored. There were redundant events posted during launch.
2021-04-30Windows: Fixed custom frame in split modesJaakko Keränen
Hide duplicated window controls.
2021-04-30Window: Moving tabs between splitsJaakko Keränen
2021-04-29Working on multiple UI rootsJaakko Keränen
Added a menu for changing the split mode.
2021-04-29Working on multiple UI rootsJaakko Keränen
Restore previous root after processing events. Adjusted colors of the non-focused root.
2021-04-28Working on multiple UI rootsJaakko Keränen
Root focus switching and opening links in the other root.
2021-04-28Working on multiple UI rootsJaakko Keränen
Various refactorings and fixes to handle root-global and window-global state, root-specific palettes, and proper coordinate system changes (e.g., when opening menus). UI events are posted and handled in the context of a specific root.
2021-04-27Refactor: Update event processing to not assume a single UI rootJaakko Keränen
Most actions should occur in the context of the current UI root.
2021-04-27UI root sizing is independent of window sizingJaakko Keränen
2021-04-27Keeping track of current UI rootJaakko Keränen
The current UI root should always be set explicitly before the UI is accessed.
2021-04-27Refactor: Added a proper Root objectJaakko Keränen
`Root` encapsulates the root widget and the associated UI state.
2021-04-27Refactor: Moving RootData so it can become non-global stateJaakko Keränen
2021-04-27Refactor: Separating UI creation and root widget from WindowJaakko Keränen
Making the way for multiple roots/windows.
2021-04-24Added "Show Downloads" and "Open Downloaded File"Jaakko Keränen
Contents of the Downloads folder can now be viewed as a directory index page.
2021-04-23File URLs support directories and ZIP archivesJaakko Keränen
One is now able to view directory and ZIP archive contents using file URLs. Directory contents are shown as a list of links, enabling previewing supported formats. A link to the parent directory is included at the top of the page. ZIP archives behave like directories, except they also recognize "index.gmi" and "index.gemini" files and display them instead of the regular directory index (when viewing a directory inside a ZIP archive). This enables archiving a Gemini capsule and browsing it as a ZIP archive. Added a preference to disable loading of index pages.
2021-04-18Added build option to disable IPCJaakko Keränen
It may take a while to add D-Bus support, so adding a way to disable the incompatible IPC mechanism for Flatpak builds. IssueID #245
2021-04-15Progressive document renderingJaakko Keränen
VisBuf now guarantees that all the buffers are sequentially ordered. This ensure complete utilization of all the buffers. Previously some buffers were not used at all, or allocated to the same origin as another one (!). DocumentWidget is able to progressively fill up a buffer while scrolling. After any change to the visible region has been detected (and there are no ongoing changes), prerender the remaining runs one at a time. This solves the issue where one text run would be always unnecessarily rendered while scrolling, even if the scroll distance was just one pixel.
2021-04-12Mobile: CertImportWidget, UI tweaksJaakko Keränen
The Import Identity dialog is now styled for mobile, although could use a little more tuning.
2021-04-12App: Mitigations against a possible crashJaakko Keränen
A tab switch may have ended up accessing a NULL pointer.
2021-04-10Allow using Tab key for bindingsJaakko Keränen
Tab was always consumed by focus cycling even though that should be at the lowest priority. IssueID #244
2021-04-10Mobile: Freeze UI draws when app hiddenJaakko Keränen
Maybe a workaround for the squished view issue?
2021-04-10Fixed opening drag-and-dropped Gopher linksJaakko Keränen
2021-04-09Haiku: fix default data dirNikolay Korotkiy
2021-04-08App: Default CA cert setupJaakko Keränen
In case prefs.cfg doesn't set CA file/path, we'll still need to initialize the CA cert store for later use.
2021-04-07SidebarWidget: Store width as resolution independent unitsJaakko Keränen
DPI and pixel ratio changes should not radically change width of the sidebar. IssueID #239
2021-04-05Mobile: Fixing the build post-1.3Jaakko Keränen
2021-04-05Added option to disable bold linksJaakko Keränen
IssueID #233
2021-04-03Drawing only during window updateJaakko Keränen
Glyphs were inadvertently being cached already during measuring for layout. DocumentWidget was buffering graphics too early. Now buffered draws are prepared during normal drawing, when needed.
2021-03-29Preferences: Collapse preformatted blocks on page loadJaakko Keränen
IssueID #180
2021-03-28Porting to HaikuNikolay Korotkiy
2021-03-25App: CleanupJaakko Keränen
2021-03-23UI language preference; switching at runtimeJaakko Keränen
IssueID #192
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.