A read-only mirror of https://github.com/hyprwm/Hyprland
Go to file
Tom Englund ac11771348
core: fix a few ubsan issues reported at exit of hyprland (#6699)
* watchdog: dont detach and cause race condition

instead of detaching and causing a race condition on destruction where
the thread is alive and watchdog has been destroyed, check if its
joinable and join it on destruction.

causes heap use after free on exit of compositor.

* render: add checks for compositor shutting down

avoid member call on null pointer, if the g_pHyprRenderer is destroyed
we can call the member makeEGLCurrent on it, causes undefined behaviour
on destruction of the compositor/hyprrenderer.

found with ubsan.
2024-06-28 22:24:32 +02:00
.github github: reword bug or regression (#6520) 2024-06-18 18:06:14 +03:00
assets assets: update tetrahedra by honkadaloonga 2024-02-10 17:23:27 +00:00
docs core: Move /tmp/hypr to $XDG_RUNTIME_DIR/hypr (#5788) 2024-04-28 22:25:24 +01:00
example hyprland.conf: update master section (#6537) 2024-06-16 16:44:13 +03:00
hyprctl hyprctl: add a newline after log() 2024-06-24 23:58:10 +02:00
hyprpm hyprpm: add --no-shallow 2024-06-15 21:46:36 +02:00
nix Nix: don't strip in debug builds 2024-06-17 13:14:27 +03:00
protocols wayland/core: move to new impl (#6268) 2024-06-08 10:07:59 +02:00
scripts nix: build improvements (#5952) 2024-05-11 01:51:53 +03:00
src core: fix a few ubsan issues reported at exit of hyprland (#6699) 2024-06-28 22:24:32 +02:00
subprojects deps: update wlroots 2024-06-11 17:12:24 +02:00
.clang-format touch up the clang format and format all files 2022-12-20 02:18:47 +00:00
.clang-format-ignore style/ci: apply clang-format and verify it in ci (#4039) 2023-12-06 22:54:56 +00:00
.gitattributes Initial commit 2022-03-16 20:49:02 +01:00
.gitignore core: Move tearing to hyprwayland-scanner (#5657) 2024-04-20 13:25:29 +01:00
.gitmodules git: ignore wlroots dirty (#5674) 2024-04-21 15:18:43 +01:00
CMakeLists.txt cmake: bump hyprutils dep to 0.1.5 2024-06-25 13:50:59 +02:00
CODE_OF_CONDUCT.md doc: Add a CoC (#3366) 2023-09-20 19:38:44 +01:00
LICENSE LICENSE: Update year (#5132) 2024-03-16 16:57:45 +00:00
Makefile hyprctl: added --follow option to rolliglog (#6325) 2024-06-14 12:11:40 +02:00
README.md README: minor cleanup 2024-04-16 20:36:21 +01:00
flake.lock flake.lock: update 2024-06-25 15:06:02 +03:00
flake.nix core: move to hyprutils for utils (#6385) 2024-06-11 17:17:45 +02:00
hyprland.pc.in pkg-config: fix wlroots dir 2024-05-12 17:49:50 +03:00
meson.build meson: add more xcb-* dependencies after addd3e7f1a 2024-05-27 12:24:37 +03:00
meson_options.txt Fix nix build options 2023-03-27 11:00:37 +03:00
props.json props: bump version to 0.41.2 2024-06-25 13:53:41 +02:00

README.md

banner

Badge Workflow Badge License Badge Language Badge Pull Requests Badge Issues Badge Hi Mom


Hyprland is a dynamic tiling Wayland compositor based on wlroots that doesn't sacrifice on its looks.

It provides the latest Wayland features, is highly customizable, has all the eyecandy, the most powerful plugins, easy IPC, much more QoL stuff than other wlr-based compositors and more...



Install

Quick Start

Configure

Contribute



Features

  • All of the eyecandy: gradient borders, blur, animations, shadows and much more
  • A lot of customization
  • Much more QoL stuff than other wlr-based compositors
  • Custom bezier curves for the best animations
  • Powerful plugin support
  • Built-in plugin manager
  • Tearing support for better gaming performance
  • Easily expandable and readable codebase
  • Fast and active development
  • Not afraid to provide bleeding-edge features
  • Config reloaded instantly upon saving
  • Fully dynamic workspaces
  • Two built-in layouts and more available as plugins
  • Uses forked wlroots with QoL patches
  • Global keybinds passed to your apps of choice
  • Tiling/pseudotiling/floating/fullscreen windows
  • Special workspaces (scratchpads)
  • Window groups (tabbed mode)
  • Powerful window/monitor/layer rules
  • Socket-based IPC
  • Native IME and Input Panels Support
  • and much more...


Gallery


Preview A


Preview B


Preview C



Special Thanks


wlroots - For their amazing library

tinywl - For showing how 2 do stuff

Sway - For showing how 2 do stuff the overkill way

Vivarium - For showing how 2 do stuff the simple way

dwl - For showing how 2 do stuff the hacky way

Wayfire - For showing how 2 do some graphics stuff