A read-only mirror of https://github.com/hyprwm/Hyprland
Find a file
Tom Englund d5bf15387a
internal: fix a few asan reported leaks on exit of hyprland (#5852)
* notifications: free cairo images on destruction

asan reports a leak on exit if we dont free the image we created in the
draw function. add a destructor and free images on exit.

* compositor: destroy wlroots types on exit

there are a few types not being destroyed on exit and causing a leak on
exit in wlroots reported by asan, add those.

* cursormgr: ensure we destroy cursor mgr on exit

add a destructor and call wlr_xcursor_manager_destroy on the manager on
destruction, leak reported by asan.

* keybindmgr: free state and keymap

add missing keymap_unref on creation, and add a destructor and free the
state on exit. leak reported by asan.

* skeyboard: add destructor and free state

free the state on destruction of keyboard, reported as leak by asan
2024-05-03 14:42:08 +01:00
.github CI: add no PCH build (#5708) 2024-04-23 11:02:51 +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 config: polish default config file (#5672) 2024-04-22 10:31:29 +01:00
hyprctl hyprctl: fix instances path 2024-05-01 16:47:38 +01:00
hyprpm CrashReporter: unbreak build on FreeBSD (#5786) 2024-04-30 14:14:31 +01:00
nix pluginAPI/hooks: Remove dependency on cc from the hooksystem (#5801) 2024-04-30 02:54:43 +01:00
protocols virtual-pointer: move to new impl 2024-05-03 01:52:05 +01:00
scripts scripts: fix asan patch 2024-04-24 16:44:15 +01:00
src internal: fix a few asan reported leaks on exit of hyprland (#5852) 2024-05-03 14:42:08 +01:00
subprojects deps: update wlroots 2024-04-21 21:34:04 +01: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 virtual-pointer: move to new impl 2024-05-03 01:52:05 +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-05-01 22:00:26 +03:00
flake.nix [gha] Nix: update wlroots 2024-04-21 20:34:55 +00:00
hyprland.pc.in makefile: move wlr headers dir 2024-04-12 18:07:04 +01:00
LICENSE LICENSE: Update year (#5132) 2024-03-16 16:57:45 +00:00
Makefile makefile: fix old headers only being copied 2024-05-01 00:32:42 +01:00
meson.build core: remove libsystemd dependency (#5660) 2024-04-20 18:50:07 +01:00
meson_options.txt Fix nix build options 2023-03-27 11:00:37 +03:00
props.json props: bump version to 0.39.1 2024-04-16 17:01:03 +01:00
README.md README: minor cleanup 2024-04-16 20:36:21 +01:00

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