Skip to content

Building

Vaxry edited this page Apr 17, 2023 · 16 revisions

If you just want to copy a Release, skip to the installing part under CLI.

Building the WM (Recommended method)

first of all, make sure you have all the required packages installed.

Arch

sudo pacman -S --needed cairo gdb ninja gcc cmake libxcb xcb-proto xcb-util xcb-util-cursor xcb-util-keysyms xcb-util-wm gtkmm gtk4 gtkmm3

Ubuntu

sudo apt install xcb cmake gcc libgtk-3-dev ninja-build libgtkmm-3.0-dev libxcb-randr0 libxcb-randr0-dev libxcb-util-dev libxcb-util0-dev libxcb-util1 libxcb-ewmh-dev libxcb-xinerama0 libxcb-xinerama0-dev libxcb-icccm4-dev libxcb-keysyms1-dev libxcb-cursor-dev libxcb-shape0-dev build-essential

Fedora

sudo dnf install gcc-c++ ninja-build cmake gcc cairo-devel glib2-devel gtkmm30-devel harfbuzz-devel libxcb-devel libxcb libX11-xcb xcb-util-wm-devel xcb-util-wm xcb-util-cursor-devel xcb-util-cursor xcb-util-keysyms-devel xcb-util-keysyms libxcb-devel libxcb xcb-util xcb-util-devel

OpenSUSE Tumbleweed

sudo zypper install gcc-c++ ninja cmake gcc cairo-devel glib2-devel gtkmm3-devel harfbuzz-devel libxcb-devel libX11-xcb1 xcb-util-wm-devel xcb-util-wm-devel xcb-util-cursor-devel xcb-util-cursor-devel xcb-util-keysyms-devel xcb-util-keysyms-devel libxcb-devel libxcb-devel xcb-util-devel

(If this list is incomplete please report it to me!)

Now, you can either build it in the CLI or use an IDE (I recommend VS Code)

CLI

git clone https://github.com/vaxerski/Hypr
cd Hypr
make clear && make release

Hypr should now be built to ./build/Hypr.

Hypr uses g++ that should be present in /bin/g++. If it isn't, change the line in CMakeLists.txt that sets the compiler, but be warned that I will not take responsibility for your compiler of choice being wack/not supporting feature X.

Installing

You should now move it into /usr/bin and add a desktop session.

sudo cp ./build/Hypr /usr/bin

and paste the example desktop session into /usr/share/xsessions

sudo cp ./example/hypr.desktop /usr/share/xsessions

You're done! Head to the Configuring Page to learn how to get started with configuring the window manager.

VS Code

Install the CMake and C/C++ Extensions packages from the VS Code Extension Marketplace

If the C/C++ extension is missing (You are using a De-Microsoft'ed version of VS Code)

You can either own it, and go about without a linter and intellisense, or follow these steps:

  • Download the VSIX from The VS Marketplace Page
  • Go to VS Code -> Extensions Tab -> ... (top left) -> Install from VSIX and select the downloaded file

Restart VS Code and open Hypr as a folder. Set your preferred configuration on the bottom panel and hit build.

Move the built file into /usr/bin like above and add a desktop session.

You're done! As above, head to the Configuring Page to learn how to get started with configuring the window manager.

Info

You will need to copy the Hypr built file every time you make a change for it to apply on your next X startup, but the desktop session does not need to be updated.