Age | Commit message (Collapse) | Author |
|
Any text that doesn't look like a URL is passed onto the configured search URL as a query string.
IssueID #157
|
|
|
|
`about:` and error pages are centered as they are "internal" pages.
|
|
Keep the top of the view fixed during horizontal resizing.
|
|
|
|
The centering option affects all pages, including "about:" and
error messages.
|
|
|
|
Use a double \r for color IDs 95 and beyond.
|
|
Short pages are vertically centered, but the site banner should be excluded from this because it is not part of the actual page contents.
|
|
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).
|
|
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
|
|
Must remove the resize watcher so it doesn't trigger redraws
during shutdown.
|
|
|
|
|
|
|
|
Saving the window rectangle and snap mode. Frame title alignment.
|
|
|
|
Windows-key shortcuts and cursor edge snapping.
Still missing: window shadow and saving the snap mode.
|
|
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.
|
|
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.
|
|
Avoids having a flash of white or other system-provided default window
contents when opening a window for the first time.
|
|
IssueID #153
|
|
One should not decode characters that are reserved for the URL syntax.
|
|
Remote bookmarks from a deleted source page were not immediately
removed, so the UI got confused about the missing source bookmark.
IssueID #154
|
|
Fixed broken logic.
IssueID #138
|
|
Attempting to ask SDL about a non-existent window's ID.
|
|
|
|
|
|
IssueID #138
|
|
If a server doesn't respond, there is no use waiting indefinitely in a background request.
|
|
IssueID #147
|
|
IssueID #145
|
|
Function naming convention is: {method}_{class}()
Ran clang-format on the changes.
|
|
|
|
Under Linux/Unix, the key combination of "Shift+Ins" allows for pasting
from the clipboard into most applications. Refactor pasting to its own
function and define the key combination of Shift+Ins to allow for this.
|
|
|
|
IssueID #120
|
|
Input submission events are now tied to a particular document and not implicitly to the current one.
As a workaround, input queries will now force a tab to the foreground.
IssueID #142
|
|
iPlatformApple applies to both macOS and iOS. Added iPlatformAppleDesktop and iPlatformAppleMobile to make a distinction between the two.
IssueID #96
|
|
|
|
Also added a build option to disable changing the user download
directory within Lagrange, since that's set via XDG config.
|
|
Use a remote source for Getting Started bookmarks. Tweaked default
values of preferences.
|
|
When the window was put in the background in fullscreen mode and then
restored to foreground, buffered contents were lost.
IssueID #130
|
|
IssueID #130
|
|
IssueID #130
|
|
Lagrange will retain URL fragments when parsing gemtext, but will strip them when making requests or when a DocumentWidget's URL is set. This allows opening URLs with fragments in an external browser.
IssueID #128
|
|
IssueID #133
|
|
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.
|
|
|
|
|