A read-only mirror of https://github.com/hyprwm/Hyprland
Find a file
Tom Englund 3fa6db1e7a
core: fix data race and a unsigned int rollover (#7278)
* keybindmgr: avoid uint rollover on mouse keycode

mouse keycode is 0, and the switch case checks for 0 - 8 and rolls over,
just return early if keycode is 0.

* watchdog: avoid data races in watchdog

asan thread sanitizer reported data races in the watchdog from reading
and setting the bool variables make them std::atomic bools. also add a
atomic bool for the main thread to wait for to avoid data race when
reading the config values.

* hyprdebug: change non unicode character to name

asan created false positives and didnt like this bit, so for the sake of
easier debugging rename it to something unicode.
2024-08-12 18:19:03 +01:00
.github CI: update actions 2024-07-30 22:13:48 +03:00
assets CMake, Meson: install config and wallpapers to DATADIR/hypr 2024-08-04 15:19:37 +03:00
docs [gha] build man pages 2024-07-19 22:37:42 +00:00
example CMake, Meson: install config and wallpapers to DATADIR/hypr 2024-08-04 15:19:37 +03:00
hyprctl core: Include cstring whenever strncpy is used (#7267) 2024-08-10 21:09:12 +01:00
hyprpm flake.lock: update 2024-08-12 18:18:03 +03:00
nix core: Move to C++26 and use native_handle to CLOEXEC the debug fd (#7219) 2024-08-08 11:54:41 +02:00
protocols protocols: Move globalshortcuts impl (#7102) 2024-07-30 23:33:56 +02:00
scripts nix: build improvements (#5952) 2024-05-11 01:51:53 +03:00
src core: fix data race and a unsigned int rollover (#7278) 2024-08-12 18:19:03 +01:00
subprojects Core: Move to aquamarine (#6608) 2024-07-21 13:09:54 +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 gitignore: add CMake residual files 2024-07-21 19:24:17 +03:00
.gitmodules Core: Move to aquamarine (#6608) 2024-07-21 13:09:54 +02:00
CMakeLists.txt install: Prepend ${DESTDIR} when creating hyprland symbolic link (fixes #7280). (#7281) 2024-08-11 20:38:16 +01:00
CODE_OF_CONDUCT.md doc: Add a CoC (#3366) 2023-09-20 19:38:44 +01:00
flake.lock flake.lock: update 2024-08-12 18:18:03 +03:00
flake.nix core: Move to C++26 and use native_handle to CLOEXEC the debug fd (#7219) 2024-08-08 11:54:41 +02:00
hyprland.pc.in Core: Move to aquamarine (#6608) 2024-07-21 13:09:54 +02:00
LICENSE LICENSE: Update year (#5132) 2024-03-16 16:57:45 +00:00
Makefile Core: Move to aquamarine (#6608) 2024-07-21 13:09:54 +02:00
meson.build cursormgr: add a new setting to sync gsettings (#7253) 2024-08-09 19:33:20 +02:00
meson_options.txt Fix nix build options 2023-03-27 11:00:37 +03:00
README.md Core: Move to aquamarine (#6608) 2024-07-21 13:09:54 +02:00
VERSION props: bump version to 0.42.0 2024-08-07 21:17:10 +02:00

banner

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


Hyprland is a 100% independent, dynamic tiling Wayland compositor 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 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
  • 100% independent, no wlroots, no libweston, no kwin, no mutter.
  • 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
  • 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 powering Hyprland in the past

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