Angelfish

Web browser intended for Plasma Mobile, which also runs almost flawlessly under phosh. It is mobile-first and based on qtwebengine/blink.

Scale to fit:

This is not required with angelfish.

Phone Compatibility:

4 of 5 Points.

Some qt-related quirks and manual intervention required. Namely, the keyboard does not open automatically when focusing a text-field.

Repo:

How to install:

Apt

sudo apt install angelfish

Flatpak

Command:

# Confirm that you trust and add the flathub repo to flatpak
flatpak install flathub org.kde.angelfish

The flatpak package includes also the adblocker.

Known Issues

Rendering

Even with Qt -gles variants installed, the rendering is pretty slow on mobian and the CPU reaches almost constantly 100% for angelfish and QtWebEngineProc.

Symbols

There are almost no symbols present for the debian packaged version.

Tips and Tricks

By default, there are some rendering issues with some websites appearing completely black. Some environment variables taken from the PostmarketOS Wiki fix these issues.

You can add them to angelfish's application launcher for ease of use. Note, that they have to be re-applied, whenever you re-compile angelfish.

Save following text as org.kde.mobile.angelfish.desktop (you can use nano, Gedit or any other text-editor for this).

[Desktop Entry]
Name=Angelfish
Name[az]=Angelfish
Name[ca]=Angelfish
Name[ca@valencia]=Angelfish
Name[cs]=Angelfish
Name[da]=Angelfish
Name[de]=Angelfish
Name[el]=Angelfish
Name[en_GB]=Angelfish
Name[es]=Angelfish
Name[et]=Angelfish
Name[eu]=Angelfish
Name[fi]=Angelfish
Name[fr]=Angelfish
Name[gl]=Angelfish
Name[ia]=Angelfish
Name[it]=Angelfish
Name[ko]=Angelfish
Name[lt]=Angelfish
Name[nl]=Angelfish
Name[nn]=Angelfish
Name[pt]=Angelfish
Name[pt_BR]=Angelfish
Name[ru]=Angelfish
Name[sl]=Angelfish
Name[sv]=Angelfish
Name[uk]=Angelfish
Name[x-test]=xxAngelfishxx
Name[zh_TW]=Angelfish
Comment=Mobile web browser
Comment[az]=Mobil veb_bələdçi
Comment[ca]=Navegador web mòbil
Comment[ca@valencia]=Navegador web mòbil
Comment[cs]=Mobilní webový prohlížeč
Comment[da]=Mobil webbrowser
Comment[de]=Webbrowser für Mobilgeräte
Comment[el]=Περιηγητής ιστού για κινητά
Comment[en_GB]=Mobile web browser
Comment[es]=Navegador web para móviles
Comment[et]=Mobiilne veebilehitseja
Comment[eu]=Mugikorreko web arakatzailea
Comment[fi]=Mobiiliverkkoselain
Comment[fr]=Navigateur Web mobile
Comment[gl]=Navegador web para móbiles
Comment[ia]=Navigator Web Mobile
Comment[it]=Browser web per dispositivi mobili
Comment[ko]=모바일 웹 브라우저
Comment[lt]=Mobilioji saityno naršyklė
Comment[nl]=Webbrowser voor mobiel
Comment[nn]=Mobil nettlesar
Comment[pl]=Przenośna przeglądarka sieciowa
Comment[pt]=Navegador Web móvel
Comment[pt_BR]=Navegador Web móvel
Comment[ru]=Веб-браузер для мобильных устройств
Comment[sk]=Mobilný webový prehliadač
Comment[sl]=Mobilni spletni brskalnik
Comment[sv]=Mobilwebbläsare
Comment[uk]=Браузер для мобільних пристроїв
Comment[x-test]=xxMobile web browserxx
Comment[zh_TW]=行動網頁瀏覽器
GenericName=Web Browser
GenericName[az]=Veb Bələdçi
GenericName[ca]=Navegador web
GenericName[ca@valencia]=Navegador web
GenericName[cs]=Webový prohlížeč
GenericName[da]=Webbrowser
GenericName[de]=Webbrowser
GenericName[el]=Περιηγητής ιστού
GenericName[en_GB]=Web Browser
GenericName[es]=Navegador web
GenericName[et]=Veebilehitseja
GenericName[eu]=Web arakatzailea
GenericName[fi]=Verkkoselain
GenericName[fr]=Navigateur Web
GenericName[gl]=Navegador web
GenericName[ia]=Navigator Web
GenericName[it]=Browser web
GenericName[ko]=웹 브라우저
GenericName[lt]=Saityno naršyklė
GenericName[nl]=Webbrowser
GenericName[nn]=Nettlesar
GenericName[pl]=Przeglądarka sieciowa
GenericName[pt]=Navegador Web
GenericName[pt_BR]=Navegador Web
GenericName[ru]=Веб-браузер
GenericName[sk]=Webový prehliadač
GenericName[sl]=Spletni brskalnik
GenericName[sv]=Webbläsare
GenericName[uk]=Браузер
GenericName[x-test]=xxWeb Browserxx
GenericName[zh_TW]=網頁瀏覽器
Encoding=UTF-8
Icon=org.kde.mobile.angelfish
Exec=bash -c "QTWEBENGINE_CHROMIUM_FLAGS='--disable-gpu-compositing --num-raster-threads=1 --enable-viewport --disable-composited-antialiasing' angelfish %u"
Type=Application
X-DocPath=angelfish/index.html
Categories=Qt;KDE;Network;WebBrowser;
Terminal=false
MimeType=text/html;
InitialPreference=10

Then move the file to /usr/local/share/applications/:

sudo mv org.kde.mobile.angelfish.desktop /usr/local/share/applications/org.kde.mobile.angelfish.desktop 

Alternatively you might want to change the Exec line in /usr/share/applications/org.kde.mobile.angelfish.desktop or for the glatpak installation in /var/lib/flatpak/exports/share/applications/org.kde.angelfish.desktop directly.

Compiling from source

Install dependencies

DEPENDENCIES MAY BE OUTDATED!

sudo apt update
# install build-requirements
sudo apt install git build-essential cmake extra-cmake-modules kirigami2-dev libkf5config-dev libkf5coreaddons-dev libkf5dbusaddons-dev libkf5i18n-dev libkf5purpose-dev libkf5windowsystem-dev libqt5sql5-sqlite libqt5svg5-dev qtbase5-dev qtquickcontrols2-5-dev qtwebengine5-dev
# install runtime dependencies
sudo apt install qml-module-org-kde-purpose qml-module-qtwebengine
build package
git clone https://invent.kde.org/plasma-mobile/angelfish
mkdir -p plasma-angelfish/build
cd plasma-angelfish/build
cmake -S .. -B .
make -j4
sudo make install