mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-12-11 17:00:37 +00:00
47d7f1efec
On high-dpi systems QT will automatically scale up painting operations. This results in an ugly blurry browser window surrounded by a nicely scaled window frame. This patch applies an inverse scale to the WebView widget, ensuring the painting and mouse events are lined up and draw with a 1:1 pixel ratio with respect to the display's device pixels. |
||
---|---|---|
.. | ||
cmake | ||
.gitignore | ||
BrowserWindow.cpp | ||
BrowserWindow.h | ||
CMakeLists.txt | ||
main.cpp | ||
README.md | ||
WebView.cpp | ||
WebView.h |
Ladybird Web Browser
The Ladybird Web Browser is a browser using the SerenityOS LibWeb engine with a Qt GUI.
Build Prerequisites
Qt6 development packages and a c++20-enabled compiler are required. On Debian/Ubuntu required packages include, but are not limited to:
sudo apt install build-essential cmake libgl1-mesa-dev ninja-build qt6-base-dev qt6-tools-dev-tools
For the c++ compiler, gcc-11 or clang-13 are required at a minimum for c++20 support.
For Ubuntu 20.04 and above, ensure that the Qt6 Wayland packages are available:
sudo apt install qt6-wayland
Build steps
Basic workflow, using serenity source dir cloned from github:
cmake -GNinja -B Build
cmake --build Build
ninja -C Build run
Advanced workflow, using pre-existing serenity checkout.
If you previously didn't set SERENITY_SOURCE_DIR, probably want to blast the Build directory before doing this:
cmake -GNinja -B Build -DSERENITY_SOURCE_DIR=/path/to/serenity
ninja -C Build run
To automatically run in gdb:
ninja -C Build debug
To run without ninja rule:
# or your existing serenity checkout /path/to/serenity
export SERENITY_SOURCE_DIR=${PWD}/Build/serenity
./Build/ladybird