Falkon Adblock popup blocking

18 Jan, 2025 - 2 minutes
In the Qt5 it was not easily possible to block the new (popup) window request because the function “createWindow” which handles the window creation did not provide the required information (destination URL). It was not imposibble but not straightforward either, so it was not implemented. It Qt6.2 there is a new signel “newWindowRequested” which provides the destination url and also if the request was initiated by human or not. This is ideal for selective blocking of the window creation, eg. popup blocking in AdBlock.

Falkon Adblock dialog and remove rule

13 Jan, 2025 - 2 minutes
AdBlock Dialog During the development of the AdBlock stuff I need to frequently interact with AdBlock Dialog window to modify the “Custom Rules” filter list. Since due to historical reasons and probably for the ease of use the dialog uses QTreeWidget and each item added to this list is mapped to the source QVector list (QList now) by an index number stored in the data section of the widget item.

Falkon Adblock testpage results

6 Jan, 2025 - 7 minutes
I went to ABP Test Pages and checked how Falkon Adblock handles all the different rules. Many things are implemented but even more is not and some rules are misinterpreted (e.g. remove). I always thought it works well enough (works for me) and with enough filters it even passes the Adblock Tester test page on 96 from 100 points. I can talk about “what ifs” and complaining the whole day, but lets jump into the results.

Starting year with Falkon Adblock

5 Jan, 2025 - 3 minutes
Falkon is using its own Adblock implementation and can parse AdblockPlus block lists. The compatibility is not the best especially when it comes to newer or more complicated features. In the next Falkon version there will be a small improvement by adding websocket and rewrite support. WebSocket While trying to help a user in the IRC channel with an idea on how to make a NoScript-like plugin for Falkon I went over Adblock code to block network traffic and discovered that from Qt 6.4 there is a way to detect and WebSocket connections. Since I already saw it I though “it should not be that hard to add support for it” and it turned out to be a simple task. The already merged Merge Request can by found at invent.kde.org. The implementation also passes the tests at Adblock test pages WebSocket and WebSocket Exception sections.

Offline documentation

31 Dec, 2024 - 2 minutes
I like to have documentation, manuals, wiki, examples and tutorials stored locally on my machine. It is great to use and can serve as a backup for future use. My reasons There are multiple reasons why I consider it a great thing: It forces me to think about what I am actually searching for and to try multiple keywords with similar meaning or with something related. While searching I learn much more than I originally intended since I often read more than just a single search result. It reduces my reliance on the internet services which can become inaccessible at any moment for many reasons. These reasons are alo many, is short: dead project, dead domain, changed address, paywalled, firewalled (CloudFlare), censorship, etc. Since I do not have to go on internet and interact with the mess out there it also protects me from nonsense written by modern people (I hope these creatures will not understand how to cripple my docs) or big corporations (AI buzzword nonsense). In short I am more independent and disconnected from weird world.