#Sunstone browser now has a searchable history. The period to display can be set to the last hour, day, week, a custom timeframe or 'all'. There is also an option to group the results by host. By default, 50 results are displayed per page.

This is a WIP and subject to change. This biggest miss so far is a link in the page to navigate beyond the first page of results, although you can get there by appending 'page/<n>' to the url. The link to the host also needs fixed to point to the correct uri scheme. There are other missing features, such as the ability to delete history items or bookmarks, and while there is a growing list of settings there isn't anywhere to change them yet. One step at a time.

History and bookmarks are currently displayed in web page form. I'll be adding abbreviated displays in the sidebar eventually.

#webbrowser #programming #vala #gtk4 #webkitgtk
https://codeberg.org/jeang3nie/sunstone

Finished up page search in #Sunstone this morning. Unfortunately I can't pay changes because of codeberg being down. I'm the meantime, watching Krull (1983). I remember living this movie as a kid, but I could never remember the name of it. In spite of being almost comically bad and stereotyped at times, there is definitely something endearing endearing about this film, still.

It makes me sad sometimes that there is such a lack of fantasy films now compared with how many were made in the 80s. A lot of those movies were terrible, but as a kid I never really noticed. It provided fertile ground for a young mind to dream.

Working on page search in #Sunstone browser. Nothing challenging here, it's just implementing a feature, but I figured I'd take a minute to post.

There's a design decision when it comes to a tabbed interface. Do you give each tab its own controls? This simplifies logic at the expense of additional memory. Or do you have one set of controls and switch a bunch of state every time you change tabs? Back when I was working on the Eva gemini browser I did the former, but in Sunstone I decided on the latter. Applying this to search, when changing tabs I'll have to check to see if that tab has a search op going. If it does, the search bar has to be set visible and the search entry text set to the correct search term. If it doesn't, the search bar has to be hidden. Other bits of state include the number of results and some checkbutton parameters such as whether to wrap the search and case sensitivity. None of this is hard, but it's easy to forget a step.

I've added a few features to Sunstone in the past few days without mentioning them. There is now an "about" page, implemented as an internal web page instead of a window. You can also now open the browser with a list of uri's as arguments, or send uri's to a running instance to be opened as new tabs. Nothing groundbreaking, just little bits that people expect to be present. Each little step brings the whole closer to something that's usable as a daily driver. I've been dogfooding it myself for a while now and chipping away at all of those little things. It does impress me that most people probably have no idea just how complex a program like a browser is, and that's without even getting into the rendering engine.

Having fun, anyway. I really missed this. My output really dropped off when I started university, and Sunstone is my chance to get back into some sort of groove.

1/2

Another nice to have feature just dropped in #Sunstone browser, access to WebKit's built in Web Inspector. This is currently tied to the context menu that pops up when you right click on a web page. You can choose to either just open the inspector or else inspect the element that was just clicked on.

A little bit of exploration showed that the inspector is just as fully featured as Mozilla's. Definitely nice if you're doing web development work.

#Sunstone browser now has a start page, with default search provided by DuckDuckGo. All of Sunstone's internal pages are going to be linked through the menu bar provided in the default page template. I am no web designer, but I've taken time to make the design responsive and hopefully nice and cleanly functional. Shrink the page down past a certain level and the sidebar becomes a top bar.

There are still some omissions in the "internal" pages that are available. Right now you get the start page, searchable bookmarks and an "all tags" page, which really neads some visual tweaking.

Some other little bits of progress include fixes to the vertical tabs so that now you can drag and drop to reorder from the vertical tab bar, the regular tab bar or the overview and everything syncs up correctly. I also added a "New Tab" button to the vertical tabs, which had been missing in the first iteration.

#programming #Vala #Browser #WebBrowser #Gtk #WebDesign #FreeSoftware

2/2 Und für alle die einen Einblick in das Universum haben wollen ohne in den Buchhandel zu laufen oder Angst haben zu müssen, dass eine Partnerperson komisch guckt.

Hier gibt es einen kleinen Einblick.
https://youtu.be/l3BVjmAfFTM

Stjepan Sejic ist übrigens einer der wenigen Künstler, vielleicht sogar der einzige (?), der Weltweit veröffentlicht und dennoch seinen Gesamten Content immer mal wieder als Gratis PDFS raushaut, wenn er das Gefühl hat, dass die Welt mal wieder besonders im Anus ist.

Seine Frau Linda hat ebenfalls ihre eigene Serien die regelmäßig mit Stjepans Crossover haben.

Beide sind zudem europäische Künstler.

Weswegen mit die 25€ pro Übersetzter Ausgabe von Sunstone auch kein bisschen weh tun. Da tut es mir eher weh dass ich dennoch die PDFs lese weil ich die Hintergrund Helligkeit verändern kann.😅

#PhantastikPrompts 22.03.2026 #Sunstone #StjepanSejic #LindaSejic

Spicy Comics Are Dominating the Industry

YouTube

22.03.2026
Stell uns bitte das letzte Phantastikbuch vor, das du gelesen hast.

1/2

Sunstone von Stjepan Sejic.
Erotische Grafik Novelle Serie über BDSM & die Leute die es leben.
Im Gegensatz zu 50 Shades of Grey, das ungesunde, psychische Abhängigkeit als Romantik darstellt, mit einem MC der die Tiefe eines Microfilms hat & nicht weiter als ein reiches Ars***och, gefährliche Billig Lösungen für brutale Sex Ausrutscher liefert, handelt es sich bei Sunstone um eine Serie mit Gefühlen, realistischen Personen, wechselnden Protagonisten und eine menschlichen Blick in das Leben mit BDSM, das Universum das er und seine Frau sich teilen heißt das Per-verse da sich extrem viel um Sex, Romantik und Menschen die einfach liebenswerte Idioten sind, dreht. Sie haben realistische und unrealistische Probleme. Manche haben Götter verärgert andere einen Packt mit finsteren Mächten und Mittendrin finden sich Autoren von Liebesromanen die von all dem nur träumen.

#PhantastikPrompts 22.06.2026 #Sunstone

What I think was actually going on with the original issue (the "export to PDF button does nothing), is that javascript is trying to open a dialog window. WebKitGtk pops a signal, and if there is no signal handler I guess it decides to just ignore the script. At least that's my guess based on what I saw after finally getting back in with Firefox. Now, I have a lot of feelings about the appropriateness of writing entire applications as web apps, but I'm in the extremely small minority that thinks a Web Browser should be a document viewer and nothing else, so obviously I'm going to be looking into this closer. That's a war that was lost years ago.

On the subject of #Sunstone, the fixes over the past couple of days included keeping the sidebar size constant when resizing the window, making the open/close state of the sidebar persistent, and fixing a bug where tabs had no name if the document being displayed was not an html document. I also made the sidebar tabs reorder if you do a drag and drop with the regular tab bar or the tab overview. Still haven't implemented drag and drop for the sidebar tabs though. It's going to be a series of small fixes like that for a while, I was getting behind on classwork and need to stay focused. Shame, I'd much rather be writing code, which I seem to do very little of in the pursuit of my CS degree....

Fun with MATLAB (for school). I've been dogfooding my little browser #Sunstone for a while now, and that includes using it for school. My Linear Algebra course is forcing us to use MATLAB (why not GNU Octave, or NumPy?) and things seemed to be going fine until it came time to export the file to pdf. Press the button, nothing. NADA. I figured it's something to do with Sunstone not being feature complete yet, or a WebKit incompatibility, so I go to open it in Firefox instead.

First I get an error. There appears to be a session running already, and my license only allows one session. Would I like to close the previous session? Sure. The result? An infinite loading screen that never finishes. Ack. Try on Chromium. Same. In desperation I download the Linux installer. I don't really want to install proprietary software on my computer, but I have assignments due. Go to run the installer. It immediately fails with an address boundary error. Nice. It's cool that they decided to support Linux, but apparently they fucking suck at programming and definitely aren't using a memory safe language to write the installer.

I go back, make sure to log out with all three browsers and delete history, cookies, and cache. Log back in with Firefox. It still thinks a session is running. Would I like to close it? Sure. The loading page pops up again. Several minutes later, it fails. Ok, this is progress, it usually just keeps loading forever. This time it's saying that the previous session failed to load, and would I like to open a new session? YES, YOU FUCKING ASSHOLES, OPEN A NEW SESSION BY ALL THE GODS AND MONSTERS, I NEED TO FINISH MY FUCKING HOMEWORK!?!?!?!

I seriously hate proprietary software. That was a two hour detour that I really didn't have time for. I don't understand how ordinary people think this is ok or acceptable. I definitely don't understand how people can complain about Linux being hard when this is the sort of shit they are dealing with in the proprietary software ecosystem. Linux is fucking easy in comparison.

#Sunstone #browser grew a vertical tab bar over the past two days. Tabs appear in the first pane in the sidebar. There are a couple of limitations so far. Tabs can't yet be reordered from this pane, and if you reorder your tabs using either the tab overview or the regular horizontal tab bar, the changes will not be mirrored in the vertical tab bar. Both are on the TODO list. Still, progress. This was a feature that I loved from the moment it was added to Firefox, and I was missing it. It doesn't work quite as nicely as the Firefox implementation (yet) in that you can't set the sidebar to automatically expand on mouseover and collapse when leaving it. I'll play around with the design a bit more and see what can be done, particularly since I know how to do mouseover actions in Gtk now.

There was also a bug where downloading a file would open multiple progress bars in the download manager, and also send multiple notifications upon completion. This is now fixed. The clue was that there were as many rows/notifications as there were tabs opened since the program was started. Turns out I was adding a callback to the global network session for each tab as it was instantiated. This is now done per-window instead. Because WebKit shares a common network session for all web views, downloads created in one window will show up in the download manager of every window. I think I can live with that behavior, and it is certainly an improvement over what had been happening.