#sunstone

5 posts · Last used 7d

Back to Timeline
@jeang3nie@social.linux.pizza · Mar 10, 2026
Some fairly big #Sunstone #browser feature implementations today. Bookmarks can be displayed at the 'sunstone://bookmarks/' uri. Clicking on the tag buttons for each bookmark card will bring up a page with all bookmarks that have that tag. There is also a search entry, which by default will search within the bookmark's name, alias, description, and url. This doesn't yet work from within a tag page, but that shouldn't take too much of a rafactor to implement. Because the search is implemented using the 'get' method, the search query is appended to the url. Technically, this could be added as a search engine the same way other search engines are added. I need to start writing some good documentation. I've learned a lot doing this. One thing I am not, and never claimed to be, is a web designer. But these features require creating web pages on the fly programatically, adding a custom scheme handler to WebKit, and even some css. No javascript so far. History is going to be implemented in much the same way, but with a lot more search parameters that can be set by the user. Some of the work done so far will support the history page nicely. The handler already breaks the query string down and stores key/value pairs in a hashmap to be passed to the function which generates the page. There's a fairly significant amount of code cleanup to be done around this last bit of hacking. For instance, originally I had a few different html templates for various uses, but I've knocked that down to one. I'll need to remove the orphans from the repository.
View on social.linux.pizza
0
0
0
@jeang3nie@social.linux.pizza · Mar 07, 2026
I'm experimenting with a mini titlebar in #Sunstone for when the main controls are hidden. It's just big enough to give you a handle to move the windows around, with the title in the center. Clicking the title beings to the controls and focuses the address bar, hitting escape hides the controls again. So far I like it. If a new user accidentally hides the controls they can get them back with one click. I'll probably add a button on the left to open the sidebar, and some windows control buttons on the right. Thinking I'll make it configurable, and also add an option to hide it when the widow is maximized. This comes along with using client side decorations, so I'll be adding widow controls to the existing header bar as well. Might move things around slightly depending on how busy it looks after.
View on social.linux.pizza
0
0
0
@jeang3nie@social.linux.pizza · Feb 26, 2026
#Sunstone #Browser got a few nice quality of life improvements today. - A slim progress bar at the top of the WebView to display loading progress - Page zoom via keyboard shortcuts. Currently there is no user feedback to display the zoom level because I still need to decide where to fit that into the interface and how it should look. - You can create bookmarks now via the bookmark editor, called up via the button just to the right of the address bar. Some limitations apply (more on that below). - You can visit a bookmark just by typing its name or alias into the address bar. This is similar to the 'quickmarks' feature in Qutebrowser, except integrated right into the bookmarking system. It's quite handy - I came here by opening the browser, hitting Ctrl/g to focus the address bar entry and typing 'slp [Enter]'. That's five keystrokes after opening the browser and no touching the mouse. I had been playing around with a custom data structure for storing and quickly looking up bookmarks, but I've decided to go easy mode and just use an sqlite database. I'm considering doing the same for history so that I can store more context for history items, but I digress. Sunstone is going to organize your bookmarks via tags instead of folders, which should make it quick and easy to find old bookmarks by topic. The database has a table for Bookmarks and a table for Tags. The current limitation with the editor is that when you update an existing bookmark and change it's tags, the tags table isn't updated. I just need to get around to writing the logic to handle that properly. I also think it wise to state that the current bookmark schema may change. Currently there is nowhere in the interface to display bookmarks. I'm planning on having two different views for that, one in the sidebar and one as a webpage with the sunstone://bookmarks/ uri. The plan is to also integrate bookmark names, url's and aliases into completion for the address bar. https://codeberg.org/jeang3nie/sunstone
View on social.linux.pizza
0
0
0
Thread context 2 posts in path
Parent @jeang3nie@social.linux.pizza Open
@jeang3nie@social.linux.pizza
I've renamed my web browser project from SWB to Sunstone. The sunstone was a translucent mineral prized by Viking navigators because it had a natural property that polarized light, making it possible
Current reply
@jeang3nie@social.linux.pizza · Feb 24, 2026
Had some fun little bugs to hunt down while working on #Sunstone last night that show me just how out of practice I am. The DownloadManager widget has a grid-based layout and maintains a list of DownloadRow objects using an ArrayList courtesy of libgee. When the "Clear" button is pressed, the idea was for it to go through the list and remove any DownloadRow objects that are finished, failed, or canceled. It kept crashing. Here's the thing I don't always like about "nice" programming interfaces that give you useful data structures like dynamically sized arrays. The moment you remove an item from an ArrayList, libgee moves all of the other following items back by one. The iterator is now invalidated. The code compiles of course, but it crashes because the internal array is now smaller and it tries to read past the end. I should have understood the problem a lot earlier. I'm rusty because I'm spending so much time on schoolwork, ironically for a computer science degree, that I hardly spend any time programming anymore.
View full thread on social.linux.pizza
0
0
0
@jeang3nie@social.linux.pizza · Feb 24, 2026
I've renamed my web browser project from SWB to Sunstone. The sunstone was a translucent mineral prized by Viking navigators because it had a natural property that polarized light, making it possible to see through the haze and find the sun on a hazy day - quite common in the North Atlantic. I liked the connection to a primitive navigation tool. Some code progress: - Downloads are displayed in a grid form inside a popup menu with a progress bar - I've added a (non-functional) bookmark editor button next to the address bar. Bookmarks should be coming fairly soon. - If the tab bar or the command bar are hidden, those settings now persist across sessions. - When the tab bar is hidden, the tab overview button is shown and the new tab button is hidden. You can still create a new tab from the button in the overview or from 'Ctrl/t'. Keeps the interface cleaner. #WebBrowser #sunstone #programming #Vala #Gtk https://codeberg.org/jeang3nie/sunstone
View on social.linux.pizza
0
1
0

You've seen all posts