Age | Commit message (Collapse) | Author |
|
Ensure that the document size gets updated at least when the sidebar resize finishes. During the resize the updates are limited because document layout is done in the UI thread presently; it would get choppy with long documents.
|
|
Consistent code style.
|
|
While we do want to have special handling of punctuation to help wrap
pathologically-long-hyphenated-words-that-go-on-for-kilometers, we don't
want to wrap emoticons, so let's adjust the logic to account for this.
While we're at it, clean up and add a comment explaining the logic for
the benefit of future readers.
Fixes rendering of a recent post on CAPCOM at certain window sizes
=> gemini://rosenzweig.io/lagrange/Before.png Before the change
=> gemini://rosenzweig.io/lagrange/After.png After the change
Notice the wrapping of the ":D" in the second paragraph.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
|
|
Must clear all previous references to GmRuns when the document is updated.
|
|
|
|
Some default key shortcuts use Option on macOS, so avoid those for keyboard navigation.
|
|
There's a lot of stuff in documentwidget.c. First, moving away the smaller helper code.
|
|
|
|
IssueID #20
|
|
Delete garbage collected widgets in Window deinitialization.
Widgets should not continue to exist if there is no Window.
|
|
|
|
|
|
|
|
One can now bind keys in Preferences. The configured keys aren't yet saved, though.
|
|
|
|
|
|
If the key bindings have a key for a command, LabelWidget will use it.
|
|
|
|
The document scrolling keys are now handled via bindings.
|
|
|
|
|
|
|
|
If there are no identities, the Identities tab now shows a button for creating one, and a link to the Help documentation.
|
|
|
|
Widgets now have an optional virtual method that gets called when the size of the widget changes during arranging. Wrapped text in LabelWidget uses this to update its height.
|
|
|
|
|
|
Redraw the side icon and heading when the current top heading changes.
|
|
|
|
No need to redraw the text string on every frame.
|
|
A proper error page is now shown if there is an error during the TLS request.
|
|
There is now an error page shown when the TLS request fails for some reason.
Error page theming is also updated at the time when the error page is composed.
|
|
IssueID #13
|
|
Likely a rare situation, but this workaround should be relatively
safe -- ignore keydown events if they occur less than 10 milliseconds
after the window has received input focus.
IssueID #10
|
|
A window expose event should be treated as a refresh trigger.
IssueID #11
|
|
|
|
|
|
|
|
Show clearly that something is happening, even though we don't know the exact duration of the operation.
|
|
|
|
Use proper easing curves for a smoother animation. Ensure that mouse hover on links is disabled when scrolling.
|
|
|
|
This overrides Kosugi Maru as it looks a bit nicer, in case there are glyphs available in both.
|
|
Theme-specific color selection, and a dividing line for the current position.
|
|
Still need to choose them based on the current theme.
|
|
When jumping to the end or the beginning of the document, reset
the VisBuf completely so it will be fully redrawn.
|
|
Also, added a command that gets posted when the mouse exits or enters the window area. This lets the hover outline to be updated accordingly.
|
|
A new version of the binary serialization format that includes timestamps for GmResponse.
|
|
|
|
|