Age | Commit message (Collapse) | Author |
|
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
|
|
Fixed broken logic.
IssueID #138
|
|
Attempting to ask SDL about a non-existent window's ID.
|
|
IssueID #138
|
|
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.
|
|
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.
|
|
|
|
IssueID #129
|
|
In CertImportWidget at regular-DPI 1.0 scaling, the frames of the certificate and private key labels were drawn incorrectly.
Now the non-button LabelWidget relies on Widget to draw the frames.
|
|
Importing bookmarks should be allowed to create local copies of remote bookmarks, so that one can add any locally missing bookmarks from a shared remote source.
|
|
Text width was measured with the wrong font.
|
|
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
|
|
|
|
Added new keybindings for opening and closing a tab. Also added a keybinding for adding a bookmark so ⌘D can be made available.
On macOS, there is a default Window > Close menu item, so treat that as a "tabs.close" command to make it bindable.
IssueID #121
|
|
|
|
Added 'Close tab' key binding option in response to issue #121
|
|
Must decode Unicode characters since the search term is UTF-8.
IssueID #119
|
|
Removed the second `U` from the set of home row keys for link navigation.
Added a new command bound to `.` (period) for switching to the next set of links for home row navigation. This makes it possible to access all visible links via keyboard no matter how many there are. `.` can also be used to activate home row navigation if it isn't active.
IssueID #111
|
|
IssueID #115
|
|
The heading goto fragment wasn't being stripped appropriately from the URLs.
|
|
Separate the entry titles from the feed titles.
|
|
Clicking a menu button while the menu is open should just close the menu.
Menus should not close if the mouse pointer leaves the window.
|
|
|
|
|
|
|
|
IssueID #64
|
|
Not including separators.
|
|
IssueID #112
|
|
Added a new keybinding for opening links via keyboard in new tab. The default binding is Shift+F.
The H key is now used for setting the hover link.
|
|
Enables viewing full URLs when navigating via keyboard.
|
|
IssueID #115
|
|
|
|
Unsuccessful requests show the response header.
IssueID #97
|
|
The URL is shown in the bottom of the page.
IssueID #64
|
|
|