ubuntuusers.de

MyBrowse - ein simpler Webkitbrowser in Python

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

tuxifreund Team-Icon

Projektleitung
(Themenstarter)

Anmeldungsdatum:
7. November 2020

Beiträge: 1178

Hallo,

  1. mittlerweile ersetzt MyBrowse fehlende Werte in der Konfiguration mit Standardwerten. Das ist aber noch nicht im normalen PPA, da ich bis ich die neue Version veröffentliche eigentlich noch die Tabs eingebaut haben will.

2. da ich ja auch seit kurzem auch Arch nutze, steht MyBrowse auch im AUR ⮷ 🇬🇧 bereit

LG
tuxifreund

Haktan

Anmeldungsdatum:
8. April 2021

Beiträge: Zähle...

tuxifreund schrieb:

Hallo,

Da ich mich aktuell damit beschäftige mein System so schlank wie möglich zu gestalten, kam ich auch nicht darum mir Alternativen für Firefox anzuschauen.Lariza wäre für mich fast perfekt gewesen.

Da ich aber Zeit hatte, habe ich beschlossen mir einen eigenen WebKit-Browser in Python zu programmieren. Leider waren viele Beispiele noch für Python2 und ich konnte damit nich viel anfangen. Aus einer Mischung von Beispielen und meinen Pythonkenntnissen bekann ich vor drei Tagen MyBrowse zu entwickeln. Viel ist aktuell noch ähnlich zu Beispielen, die ich fand, aber das wird sich verwachsen... 😉

Die Installation gestaltet sich wie folgt:

sudo apt-add-repository ppa:tuxifreund/mybrowse
sudo apt-get install mybrowse
Alternativ kann man sich den Browser auch von Github herunterladen.

Über Feedback würde ich mich freuen. Meine TODO-Liste ist bisher:

  • Tabs

  • der Adressleiste beibringen, dass sie sich bei Links entsprechend anpasst

  • Fortschrittbalken in der Adressleiste

  • mehr Konfigurationsmöglichkeiten (u.a. für JavaScript)

  • Download-Manager

  • Lesezeichen

  • Chronik

  • Tastenkombinationen

Ich werde MyBrowse wahrscheinlich die nächsten Tage als DEB-Paket packen oder in ein PPA hochladen.

LG

tuxifreund

Bearbeitet von ChickenLipsRfun2eat:

PPA-Installation eingefügt.

tuxifreund Team-Icon

Projektleitung
(Themenstarter)

Anmeldungsdatum:
7. November 2020

Beiträge: 1178

Haktan schrieb:

tuxifreund schrieb: [...]

Und? Wieso zitierst Du einfach nur den Anfangspost?

LG
tuxifreund

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Hallo!

Ich habe die Verwendung des PPA probiert. Dort fehlt offenbar noch eine Abhängigkeit:

1
2
3
4
5
6
Traceback (most recent call last):
  File "/usr/bin/mybrowse", line 19, in <module>
    gi.require_version('WebKit2', '4.0')
  File "/usr/lib/python3/dist-packages/gi/__init__.py", line 129, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace WebKit2 not available

/Nachtrag: Es handelt sich um das Paket focal/gir1.2-webkit2-4.0

tuxifreund Team-Icon

Projektleitung
(Themenstarter)

Anmeldungsdatum:
7. November 2020

Beiträge: 1178

Moin,

ChickenLipsRfun2eat schrieb:

Dort fehlt offenbar noch eine Abhängigkeit:

Korrigiert und gleichzeitig Version 0.3.1 veröffentlicht.

LG
tuxifreund

tuxifreund Team-Icon

Projektleitung
(Themenstarter)

Anmeldungsdatum:
7. November 2020

Beiträge: 1178

Hallo,

ich habe als IRC-Supportchannel #mybrowse auf https://libera.chat registriert.

LG
tuxifreund

tuxifreund Team-Icon

Projektleitung
(Themenstarter)

Anmeldungsdatum:
7. November 2020

Beiträge: 1178

Hallo!

einige Änderungen, 176 hinzugefügte und 41 entfernte Zeilen später und Version 0.4 ist da. Einige Änderungen sind nicht wirklich sichtbar, dafür kann MyBrowse nun mit "WebKitWebExtensions" umgehen, womit zum Beispiel ein Adblocker genutzt werden kann. Das ist aber etwas vollkommen Anderes, als das, was Mozilla WebExtensions nennt.

Außerdem kann man die Seiten jetzt mit Strg + F durchsucht werden (im Moment noch kein Regex-Support). Die Webseite kriegt jetzt den Fokus, wenn die Seite geladen wird und außerdem gibt es nun eine Funktion, die mir bisher in jedem Webbrowser gefehlt hat. Ich nenne das mal "benutzerdefinierte Protokolle", das trifft das nicht komplett, aber ein besserer Name fällt mir nicht ein. Am besten dazu mal ein praktisches Beispiel:

In meiner Konfigurations-Datei findet sich folgender Abschnitt:

[Protocols]
ddg = https://duckduckgo.com/?q=
gopher = https://proxy.vulpes.one/gopher/
gemini = https://proxy.vulpes.one/gemini/

Auf diese Art kann ich aus dem Browser sowohl Gopher- und Gemini-Links ganz normal anklicken und es öffnet sich diese Seite in einem HTTP-Proxy. Wenn ich dann außerdem ddg://foobar eingebe, sucht DuckDuckGo nach foobar.

Das waren auch die wichtigsten Änderungen. ☺

LG
tuxifreund

Kellerkind_2009

Avatar von Kellerkind_2009

Anmeldungsdatum:
26. November 2009

Beiträge: 19617

Wohnort: Schleswig-Holstein

Ein wirklich schneller Browser! 😬 Werde ihn weiter testen.

Kellerkind_2009

Avatar von Kellerkind_2009

Anmeldungsdatum:
26. November 2009

Beiträge: 19617

Wohnort: Schleswig-Holstein

Bekomme bei der Suche Strg + F sowie Vergrößern/Reduzieren Strg + +/- keine Reaktion.Die Suche mit :/blabla Funktioniert aber.

Woran könnte das liegen?

tuxifreund Team-Icon

Projektleitung
(Themenstarter)

Anmeldungsdatum:
7. November 2020

Beiträge: 1178

Kellerkind_2009 schrieb:

Woran könnte das liegen?

Da bin ich im Moment noch etwas ratlos, ich versuche es morgen mal noch auf einem frischen System in einer VM zu reproduzieren. Ansonsten: Wenn Du mybrowse im Terminal startest, gibt es dann einen Traceback?

LG
tuxifreund

Kellerkind_2009

Avatar von Kellerkind_2009

Anmeldungsdatum:
26. November 2009

Beiträge: 19617

Wohnort: Schleswig-Holstein

Danke das du dich darum kümmern willst 😉

Nein,im Terminal bekomme ich keinerlei Info.In anderen Anwendungen Funktionieren die Tasten-Komi normal.

Gruß Stephan

Axel-Erfurt

Anmeldungsdatum:
18. Mai 2016

Beiträge: 1347

Kellerkind_2009 schrieb:

Bekomme bei der Suche Strg + F sowie Vergrößern/Reduzieren Strg + +/- keine Reaktion.Die Suche mit :/blabla Funktioniert aber.

Woran könnte das liegen?

Es fehlt eine Zeile

self.search_page()

ab Zeile 393

1
2
3
4
5
6
        if (event.keyval == Gdk.keyval_from_name('f') and
            event.state == Gdk.ModifierType.CONTROL_MASK):
            self.addressbar.grab_focus()
            self.addressbar.set_text(':/')
            self.addressbar.set_position(-1)
            self.search_page()

Ist aber sehr ungünstig gemacht, bewegt man die Maus dann wieder über die Webseite und gerät zufällig auf einen Link (kann ja auch unabsichtlich passieren) ist der eingegebene Suchbegriff weg.

Kellerkind_2009

Avatar von Kellerkind_2009

Anmeldungsdatum:
26. November 2009

Beiträge: 19617

Wohnort: Schleswig-Holstein

Bei mir gehts nur bis 382 😬

bei mir ist ab 271

 elif url.startswith(':/'):
            self.search_page(url.split(':/', 1)[1])
        else:
            try:
                self.view.load_uri(links(url))
            except TypeError:
                pass

Axel-Erfurt

Anmeldungsdatum:
18. Mai 2016

Beiträge: 1347

Suche mal die Zeile

if (event.keyval == Gdk.keyval_from_name('f') and

Ich hatte den Code von hier getestet

https://github.com/KaiserBarbarossa/MyBrowse/blob/master/mybrowse

tuxifreund Team-Icon

Projektleitung
(Themenstarter)

Anmeldungsdatum:
7. November 2020

Beiträge: 1178

Axel-Erfurt schrieb:

Kellerkind_2009 schrieb:

Bekomme bei der Suche Strg + F sowie Vergrößern/Reduzieren Strg + +/- keine Reaktion.Die Suche mit :/blabla Funktioniert aber.

Woran könnte das liegen?

Es fehlt eine Zeile

self.search_page()

Aber das müsste ja auch ohne diese Funktion gehen, da ja die Eingabe an

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
    def change_url(self, widget):
        url = self.addressbar.get_text()
        if url in (':back', ':undo', ':u'):
            self.view.go_back()
        elif url in (':forward', ':redo', ':r'):
            self.view.go_forward()
        elif url in (':reload', ':rl'):
            self.view.reload()
        elif url.startswith(':/'):
            self.search_page(url.split(':/', 1)[1])

gesendet wird und deshalb die Seite nach dem Text hinter :/ durchsucht wird? Oder übersehe ich da etwas?

Ist aber sehr ungünstig gemacht, bewegt man die Maus dann wieder über die Webseite und gerät zufällig auf einen Link (kann ja auch unabsichtlich passieren) ist der eingegebene Suchbegriff weg.

Finde ich jetzt nicht so störend, weil man, wenn man den Text dann ja erneut eingibt, die Suche fortgesetzt wird und nicht neu angefangen, aber ich ändere es.

Kellerkind_2009 schrieb:

Bei mir gehts nur bis 382 😬

Das ist bei Dir ab Zeile 368, der Code ist zwischendrin um ein paar Zeilen gewachsen. ☺

LG
tuxifreund

EDIT: Im Git ist es jetzt gefixt, der Link, der mit der Maus überfahren wird, wird nur in der Adressbar angezeigt, wenn kein Kommando (wie zum Beispiel die Suche) eingegeben wird.