Heute morgen habe ich Version 0.4 von MyBrowse veröffentlicht. Eigentlich war das gar nicht geplant, aber die Änderungen sind doch recht umfangreich geworden, weshalb jetzt Zeit für ein neues Release war.

Langsam, aber kontinuierlich entwickelt sich MyBrowse in meinen Augen zu einem Webbrowser, der alle wichtigen Funktionen hat, aber trotzdem minimalistisch ist. Seit Version 0.3.1 gab es mehrere Änderungen:

Zoom

Wie von allen Webbrowsern gewöhnt kann man nun auch mit Strg + +/- in eine Webseite hinein-/herauszoomen und mit Strg + 0 den Zoom auf 100% zurücksetzen. Falls der Standardzoom beim Öffnen einer Webseite angepasst werden soll, kann man in der Konfigurationsdatei den Wert “[General][zoom]” anpassen, allerdings muss man hier nicht z.B. 100% angeben, sondern in diesem Fall 1.

Erweiterungen

Ob ein Programm erweiterbar sein sollte, ist eine Diskussion für sich. Ich denke allerdings, dass ein Programm die wesentlichen Funktionen mitbringen sollte und der Benutzer dann entscheidet, ob und wenn ja welche Funktionen hinzugefügt werden sollen. WeeChat ist hier ein recht schönes Beispiel, finde ich.

Auch MyBrowse soll erweiterbar sein. Mit Version 0.4 kommt ein erster Schritt in diese Richtung. MyBrowse unterstützt nun “WebKitWebExtensions”. Auch wenn der Name übereinstimmt, sind dies nicht die “WebExtensions”, wie man sie von Firefox kennt, sondern in C geschrieben und werden kompiliert. Diese werden nach ~/.local/share/mybrowse/extensions gelinkt und MyBrowse führt alle *.so-Dateien aus, die in diesem Verzeichnis liegen.

In der Zukunft wird MyBrowse noch zwei andere Arten von Erweiterungen besitzen, zum einen JavaScript-Userskripte sowie Skripte, die Befehle für MyBrowse ausführen (also die, die man auch jetzt in der Adressleiste eingeben kann). Das Ziel der Erweiterbarkeit von MyBrowse ist also auf jeden Fall, die Flexibilität. Mit dem Ende der XUL-Erweiterungen bei Firefox und Thunderbird hat man gemerkt, das die WebExtensions bei Firefox sehr eingeschränkt sind.

“Benutzerdefinierte Protokolle”

Einen besseren Namen kann ich mir nicht ausdenken… 😉 Diese Funktion kann man am Besten auch nur an einem Beispiel erklären. Dazu ein Auszug aus meiner Konfiguration:

[Protocols]
ddg = https://duckduckgo.com/?q=

Wenn man mit dieser Konfiguration in der Adressleiste zum Beispiel ddg://foobar eingibt, ruft MyBrowse die Webseite https://duckduckgo.com/q?=foobar auf. Damit kann man aber auch zum Beispiel Gopher-Links in MyBrowse öffnen, die dann in einem HTTP-Proxy angezeigt werden. So eine Funktion hat mir bisher in jedem Browser gefehlt oder ich habe sie nicht gefunden.

Suchfunktion

Ab nun können Webseiten auch durchsucht werden. Dazu nimmt man entweder [Strg]+[F] oder gibt in die Adressleiste :/ ein - gefolgt von dem Suchbegriff. Eine Unterstützung für Reguläre Ausdrücke fehlt noch, ist aber nicht durch WebKits Bordmittel möglich; eine Implementierung der Suche in JavaScript wäre hier eine Möglichkeit. Vor dem selben Problem steht auch noch Qutebrowser.

Änderungen “unter der Haube”

Die Logik für die Kommandos (z.B. :report) wurde nun in eine eigene Funktion ausgelagert, die auch aufgerufen wird, wenn man MyBrowse mit einem Argument startet.

Andere Änderungen

  • MyBrowse unterstützt nun mehr “Kommandos” als vorher für die Adressleiste. Dies wird auch - wie oben genannt - für Erweiterungen verwendet werden.
  • Die Fortschrittsanzeige in der Adressleiste wird nun nicht mehr angezeigt, wenn die Seite geladen wird
  • Auch URLs wie ~/.config/mybrowse/mybrowse.cfg können nun geöffnet werden und werden richtig aufgelöst
  • Die Adressleiste kann ihren Fokus mit [Strg]+[L] und mit [Escape] erhalten
  • Einige neue Kommandos für die Adressleiste, wie z.B. “:exec”, um Befehle in einer Subshell auszuführen und “:set” um die Konfiguration zu bearbeiten.