ladybird/Ladybird
Filiph Sandström d1d6a204fc Ladybird: Replace StatusBar with ToolTip
This gives the actual webcontent more space to work with,
it also emulates how other browsers does it.

In the future we'd like to do something else since only ToolTip
can be visible at the same time.
2022-12-25 07:58:58 -07:00
..
cmake Ladybird/Meta: Convert to CMake build 2022-12-25 07:58:58 -07:00
.gitignore Ladybird/Meta: Convert to CMake build 2022-12-25 07:58:58 -07:00
BrowserWindow.cpp Ladybird: Replace StatusBar with ToolTip 2022-12-25 07:58:58 -07:00
BrowserWindow.h Ladybird: Hide TabBar if count <= 1 2022-12-25 07:58:58 -07:00
CMakeLists.txt Ladybird: Implement basic cookie support 2022-12-25 07:58:58 -07:00
CookieJar.cpp Ladybird: Update for removal of StringView(char const*) 2022-12-25 07:58:58 -07:00
CookieJar.h Ladybird: Implement basic cookie support 2022-12-25 07:58:58 -07:00
History.cpp Ladybird: Expanded toolbar with browser history and home button 2022-12-25 07:58:58 -07:00
History.h Ladybird: Expanded toolbar with browser history and home button 2022-12-25 07:58:58 -07:00
main.cpp Ladybird: Trigger browser to quit when the main window is closed 2022-12-25 07:58:58 -07:00
README.md Ladybird: Added Arch Linux/Manjaro required packages to build 2022-12-25 07:58:58 -07:00
RequestManagerQt.cpp Ladybird: Tell Qt to let us manage HTTP redirects ourselves 2022-12-25 07:58:58 -07:00
RequestManagerQt.h Ladybird: Use QtNetwork for HTTP and HTTPS requests 2022-12-25 07:58:58 -07:00
Tab.cpp Ladybird: Replace StatusBar with ToolTip 2022-12-25 07:58:58 -07:00
Tab.h Ladybird: Port over part of the "Debug" menu from the SerenityOS browser 2022-12-25 07:58:58 -07:00
WebView.cpp Ladybird: Implement basic cookie support 2022-12-25 07:58:58 -07:00
WebView.h Ladybird: Add "View Source" menu action (Ctrl+U) 2022-12-25 07:58:58 -07:00

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

On Arch Linux/Manjaro:

sudo pacman -S base-devel cmake libgl ninja qt6-base qt6-tools qt6-wayland

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