summaryrefslogtreecommitdiff
path: root/src/app.c
AgeCommit message (Collapse)Author
2021-02-12Windows: Custom frame behaviorJaakko Keränen
A borderless SDL window gets no standard window behavior, so this commit implements support for some of them. There is special handling for the window frame and various snapping modes. Not quite finished yet... It might make sense to research if a custom window class could work with this app (with SDL); could be less work.
2021-02-11Windows: Experimenting with a custom window frame and title barJaakko Keränen
Added the build option ENABLE_CUSTOM_FRAME that causes the window to be created as borderless. Lagrange's own UI widgets are used to draw the title bar elements, including the window buttons. There is plenty of sizing behavior still missing, for instance snapping to fullscreen left/right side, double-clicking the frame edges, and proper maximize mode that doesn't cover the entire screen. The window system menu is also missing, but that can be shown manually when appropriate. A command-line option should also be provided to disable winbar in case the default title bar is required.
2021-02-10App: Events posted early may cause a crashJaakko Keränen
Attempting to ask SDL about a non-existent window's ID.
2021-02-07App: Determine first run based on existence of prefs.cfgJaakko Keränen
2021-02-07Windows: Check for a portable userdata directoryJaakko Keränen
IssueID #120
2021-02-05Experimenting with an iOS buildJaakko Keränen
iPlatformApple applies to both macOS and iOS. Added iPlatformAppleDesktop and iPlatformAppleMobile to make a distinction between the two. IssueID #96
2021-02-05macOS: Fixed buildJaakko Keränen
2021-02-03XDG: Check XDG_CONFIG_HOME and the user's download directoryJaakko Keränen
Also added a build option to disable changing the user download directory within Lagrange, since that's set via XDG config.
2021-02-03Improved first-run experienceJaakko Keränen
Use a remote source for Getting Started bookmarks. Tweaked default values of preferences.
2021-02-03Window: Fullscreen mode shouldn't affect the retained window rectJaakko Keränen
IssueID #130
2021-02-03Added keybinding (F11) for toggling fullscreen modeJaakko Keränen
IssueID #130
2021-02-02Linux: Use SDL to query display monitor DPI valueJaakko Keränen
IssueID #133
2021-02-02Improved focus switching for dialogsJaakko Keränen
Widgets can now be defined as being the "focus root", i.e., the topmost widget under which focus switching happens. Normally this is the window root widget, but dialogs use this flag to confine focus switching inside the dialog. InputWidget in Overwrite mode will focus switch to the next focusable widget when the text field becomes full.
2021-02-02App: List environment variables in "about:debug"Jaakko Keränen
2021-01-27Added preference for maximum cache sizeJaakko Keränen
Rather than simply limiting each tab's cache to 50 most recent URLs, there is now a user-configurable maximum size. If more content is cached, the oldest/largest responses will be removed from memory. The default maximum cache size is 10 MB. IssueID #109
2021-01-19Closing tabs with the middle mouse buttonJaakko Keränen
IssueID #115
2021-01-18Renamed ".binary" filesJaakko Keränen
Use the .lgr extension for Lagrange binary files.
2021-01-15"about:debug" shows cache informationJaakko Keränen
IssueID #109
2021-01-12Added keybinding for toggling URL hover showingJaakko Keränen
IssueID #64
2021-01-10Option to show full URL when hovering on a linkJaakko Keränen
The URL is shown in the bottom of the page. IssueID #64
2021-01-04App: Drag-and-drop events passed to all widgetsJaakko Keränen
2021-01-04Added a client certificate import dialogJaakko Keränen
Todo: Drag-and-drop; the actual identity creation step.
2021-01-03Creating a certificate import dialogJaakko Keränen
Just the widgets thus far.
2020-12-25Compiling with SDL versions earlier than 2.0.14Jaakko Keränen
2020-12-22App: Attempt to open URLs using SDL firstJaakko Keränen
SDL_OpenURL() was added in 2.0.14.
2020-12-19Remote bookmark sourcesJaakko Keränen
Bookmarks tagged "remotesource" are fetched and all links are treated as remote bookmarks. Remote bookmarks are not saved locally.
2020-12-19"Edit Feed..." opens Feed SettingsJaakko Keränen
2020-12-19Bookmark a link via context menuJaakko Keränen
2020-12-19Opening unrecognized schemes in default browserJaakko Keränen
This works if the OS supports the scheme as built-in or via some handler application. IssueID #103 IssueID #84
2020-12-12Added option to show URL paths as encoded or decodedJaakko Keränen
IssueID #73
2020-12-07Set REQUEST_URL in the MIME hook environmentJaakko Keränen
This time without a race. IssueID #90
2020-12-06Report errors in MIME hooks; added to about:debugJaakko Keränen
2020-12-06Added build option for sleeping while idleJaakko Keränen
It appears at least on macOS, SDL is doing a while lot of stuff while waiting for new events. Perhaps because it has some sort of high-frequency input/sensor processing? Not sure. Now Lagrange will idle by polling events every 15 ms and sleeping in between. This reduces CPU time by an order of magnitude on macOS. Need to still test on other platforms.
2020-12-06Fixed truncated tab titles; unfocus input on right-clickJaakko Keränen
IssueID #53
2020-12-04Added a second sidebar; removed hover outlineJaakko Keränen
A sidebar on the right is a better solution than a kludgy non-interactive special-purpose outline that appears when hoving the mouse on the document scrollbar.
2020-12-02Added MimeHooksJaakko Keränen
This is a very powerful mechanism: translate the contents of any request to something else when the original MIME type matches a configured regexp. The external hook command may still elect not to process the request.
2020-12-01Editing feed title in Feed Settings dialogJaakko Keränen
2020-12-01Added dialog for changing feed typeJaakko Keränen
This also gives feedback about a newly added subscription.
2020-12-01Subscribing to new headings on a pageJaakko Keränen
When "subscribed" and "headings" tags are used, the subscribed page is tracked for newly added headings (of any kind). This works for the weiph/pikkulogs out there.
2020-11-28Fixed build on macOS 10.13Jaakko Keränen
2020-11-28Cleanup: Removed (hidden) preformatted wrap optionJaakko Keränen
2020-11-28Windows: Refreshing window contents during window resizingJaakko Keränen
SDL clears all buffered rendertargets so we must redraw everything.
2020-11-28Workaround for SDL window resize issueJaakko Keränen
Rearrange and draw window contents with an event watcher during window resizing because SDL is blocking the main thread. Tested on macOS so far, may need a build option. In reference to SDL bug: https://bugzilla.libsdl.org/show_bug.cgi?id=2077
2020-11-27Autoupdate feeds after subscribing to the first oneJaakko Keränen
2020-11-27Subscribing via menu; cleanup after unsubscribeJaakko Keränen
2020-11-26Feeds: Manual refreshJaakko Keränen
2020-11-24Fixed threading issues and data racesJaakko Keränen
The most serious problem was that GmRequest's response body was being accessed while the TlsRequest thread was modifying it. Now the response must always be locked before accessing elsewhere. There were also inefficient data updates in the media players.
2020-11-23Added FeedsJaakko Keränen
Feeds fetches bookmarks with the "subscribed" tag and looks for feed-formatted links. The found links are added to the database of feed entries.
2020-11-23External Link Opening: Use xdg-open from $PATHZach DeCook
2020-11-21Saving inline media content to DownloadsJaakko Keränen