Web browser written in Python with PyQt5
This repository has been archived on 2021-03-08. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2020-09-24 16:44:16 -04:00
qtweb actually fix handling of widget tabs 2020-09-24 16:39:51 -04:00
.gitignore Initial commit 2020-07-08 06:19:37 -04:00
browser.py first version 2020-07-08 09:52:13 -04:00
LICENSE Initial commit 2020-07-08 06:19:37 -04:00
rarsfx.txt too much to list 2020-08-14 11:36:47 -04:00
README.md use custom dict for db results, and fix fullscreen and downloads 2020-09-20 08:28:28 -04:00
requirements-unix.txt too much to list 2020-08-14 11:36:47 -04:00
requirements-win.txt too much to list 2020-08-14 11:36:47 -04:00
requirements.txt a lot 2020-08-26 03:59:03 -04:00

QtWeb

Web browser written in Python and Qt with PyQt5

Features

  • Quick access to domain permissions in the status bar
  • Create new Mastodon posts without going to the webui
  • Interact with Mastodon posts by right-clicking the post's url
  • Control the browser via cli from a terminal
  • Ability to add user scripts (basic support atm)
  • Custom searches via keyword
  • Remote web dev tools (localhost only atm)

note: I may add full pleroma support in the future

note 2: PyQt (v5.11.3) is somewhat buggy on Debian Stable. I recommend running a newer OS or installing PyQt via pip

Installation

System dependencies

Debian-Based Linux Distros:

sudo apt install python3-pyqt5 python3-pyqt5.svg python3-pyqt5.qtwebengine

Windows:

Make sure you add Python to PATH

Python dependencies

Windows:

pip3 install -r requirements.txt -r requirements-win.txt

Linux:

pip3 install -r requirements.txt

Linux (pyqt via pip):

pip3 install -r requirements.txt -r requirements-unix.txt

ToDo

  • Create a new icon for the toot button
  • Create download manager
  • Handle cookies
  • Add folder structure for bookmarks
  • Create history tab
  • Add proxy support
  • Ability to add new custom searches via local or remote json
  • Add optional auto-updater with stable/testing channels
  • Add ability to 'freeze' tabs
  • Add closed tab history
  • Rename the damn project

Bugs

  • Resetting a page search sometimes scrolls the page to the top or an element on the page
  • Web notifications use the wrong icon sometimes
  • Switching between PyQt versions resets cookies
  • The nitter redirect only works when loading a url from the navbar
  • Web inspector is kinda broken
  • The webview is really blurry and glitchy in virtualbox with the VboxSVGA controller with 3d accel enabled
    • This seems to be a virtualbox issue and turning off 3d accel in virtualbox "fixes" the issue

Debian Stable (PyQt v5.11.3) Issues

  • No web notification support in QWebEngine
  • Download urls with query parameters will probably produce junk names atm because QWebEngineDownloadItem.suggestedFileName() doesn't exist
  • Can't login to twitch.tv and channels sometimes don't load
  • Can't browse github code trees. Use right click > Open Link in New Tab to work around the issue for now
  • Gitlab servers respond with a 422 when trying to login