-
Pl
chevron_right
Christian Hergert: Status Week 46
news.movim.eu / PlanetGnome • Yesterday - 20:24 • 5 minutes
Ptyxis
-
More back and forth on people who have issues with diacritics and ibus interaction. It’s extremely frustrating at times because the two places where stuff like this gets reported first is the text editor and terminal, when rarely those two applications have anything to do with the issue.
In this case we might have a workaround by being a bit more explicit about focus grabs.
-
Merge support for changing profile on existing tab.
VTE
-
Back-and-forth on updating MR for PTY errno, merge to master, vte-0-82, possibly backport further for RHEL/CentOS.
-
Research some us dead key issues with diacritics and see if we can find where in VTE a problem could be. Text Editor apparently doesn’t replicate the same issue, so it’s possible we should fix something in VTE directly or in GTK IM abstractions. As mentioned in Ptyxis we can probably work around this for now.
Foundry
-
Now that foundry has support for API keys we need to have a mechanism to rotate those keys (and query for expiration).
FoundryKeyRotatorprovides this abstraction toFoundrySecretService.This comes with
foundry secret rotate HOST SERVICEwhich makes it easy to keep things up-to-date. It would be nice to do this automatically at some point though it’s rather annoying because you’ll get an email about it, at least from gitlab.To check the expiration,
foundry secret check-expires-atis provided check again, takes aHOST SERVICEpair.Defaults to what the server wants for minimum key lifetime, or you can provide
--expire-at=YYYY-MM-DDto specify expiration. -
Implement symbol APIs for
FoundryTextDocumentwhich will power things like the symbol tree, what symbol is underneath my cursor, symbol path bars, and the like. Also added some command line tools for this so that it is easy to test the infrastructure when issues are inevitably filed.foundry symbol-tree FILEandfoundry find-symbol-at FILE LN COLwill quickly test the machinery for filing bug reports. -
Updated the CTags parser (which is our usually “first implementation” symbol provider) out of simplicity. Allow it to generate data to
GBytesinstead of files on disk for usage on modified buffers. Also allow it to load an index from memory w/o touching disk for the other side of this index structure. -
GCC changed the SARIF environment variable to
EXPERIMENTAL_SARIF_SOCKETso track that for GCC 16 release. -
Handy
foundry_read_all_bytes(int fd)to exhaust a FD into aGBytesusing the libdex AIO subsystem (io_uring, etc). -
Prototype a tree-sitter based plugin for symbol providers so we can have some faster extractors at least for some very common languages.
-
Add
FoundrySymbolLocatorfor locating symbols by a number of strategies that can be different based on the provider. Combine this with a newFoundrySymbolIntentto integrate into the intent system. -
Implement
FoundryPathNavigatorfor use in future pathbar work. Add subclasses forFoundrySymbolNavigatorandFoundryDocumentationNavigatorto make pathbars of those common hierarchies super easy from applications. AFoundryFileNavigatorto be able to navigate the file-system. This ties in well with the intent system so activating path elements routes through intents like open-file intent, symbol intent, etc. -
Implement
FoundryPathBarand associated infrastructure for it to be abstracted in libfoundry-adw. -
Implement LSP progress operations (
$/progressand creation operations) so we can bridge them toFoundryOperation. Had to implement some missing bits ofFoundryJsonrpcDriverwhile at it. -
Improve support for LSP symbol APIs, particularly around support for hierarchical symbol trees. Newer revisions allow for symbols to contain other symbols rather than trying to recreate it from the
containerName. -
Discovered that there is an upper-limit to the number of
GWeakRefthat can be created and that number is surprisingly lower than I would expect. Sure there is extra overhead with weak refs, but having limits so low is surely a mistake. -
Lots of work on LSP implementation to bridge things like diagnostics and symbols. It is amazing now much easier it is to do this time around now that I have fibers instead of callback noodles.
-
We have a much saner way of implementing buffer tracking this time around (especially after pushing commit notify into GTK) so the LSP integration around buffer synchronization has a cleaner implementation now.
-
Add tooltips support to the diagnostics gutter renderer.
-
A new “retained” listmodel which allows you to hold/release items in a list model and they’ll stay pinned until the hold count reaches zero. This is helpful for situations where you don’t want to affect an item while there is a mouse over something, or a popover is shown, that sort of deal. I didn’t opt for the scalable RBTree implementation yet, but someone could certainly improve it to do so.
Buider
-
Work on the new auxiliary panel design which will work a bit like it does in Text Editor but allow for panel groupings.
-
Symbols panel implementation work using the new symbol providers. Implement symbol intent handling as well to tie it all together.
-
Implement pathbar integration into text editor and documentation browser using new navigator integration.
-
Diagnostics panel for monitoring diagnostics across the active page without having to resort to scanning around either the global diagnostics or within the gutter.
-
Add annotation provider so we can show diagnostics/git-blame like we do now but in a much more optimized manner. Having diagnostics inline is new though.
-
Lots of styling work for the auxiliary panel to try to make it work well in the presence of a grid of documents. A bit harder to get right than in Text Editor.
-
Ergonomics for the messages panel (clipboard support, clearing history, etc).
-
Work on operation bay for long running operations similar to what Nautilus does. This will handle things like progress from LSPs, deployment to remote devices, etc.
CentOS
-
libadwaita backports. This one is rather frustrating because I’ve been told we can’t do sassc on the build infrastructure and since 1.6.3 libadwaita no longer generates the CSS on CI to be bundled with the tarball.
So continue with the madness of about 60 patches layered on top of 1.6.2 to keep things progressing there. One patch won’t get in because of the CSS change which is unfortunate as it is somewhat a11y related.
At the moment the options are (given the uncompromising no-sassc restriction), to keep back-porting and not get CSS changes, to pull in newer tarballs and generate the CSS on my machine and patch that in, or just keep doing this until we can *gestures* do something more compromising on the CentOS build infrastructure.
-
VTE backports for 0.78.6
GtkSourceView
-
Branched for 5.20 development so we can start adding new features.
-
Fix a gir annotation on GtkSourceAnnotation that had wrong transfer.
-
Make GtkSourceAnnotation right justified when it fits in the available space.
-
Add some nice styling to annotations so they are bit more pleasing to look at.
Child account view with added screen time overview and action for more options
Screen Time page with detailed screen time records and time limit controls
Wellbeing panel with a banner informing that limits can only be changed in Parental Controls
A GitHub contribution graph, showing a lot of activity in the past three weeks after virtually none the rest of the year.