mirror of
https://github.com/hyprwm/Hyprland.git
synced 2026-08-18 11:02:10 +00:00
41b0fffdec53454c31e098a0030bd15500802c16
* fullscreen: resolve fs handlers once per query getFullscreenHandlerName() resolved the handlers twice by calling getFsHandler() for both the layout and default case, and getFsHandler() itself re-walked the workspace algorithm chain on every call. Resolve SFsHandlersForWorkspace once and pass it to an overload of getFullscreenHandlerName(), derive layoutHandled from the resolved handler name instead of a second layoutManagedFS() pass, and hoist the repeated algorithm()/tiledAlgo()/floatingAlgo() lookups in getFsHandlersForWorkspace() into locals. * damage: compute the surface box once in damageSurface getSurfaceBoxGlobal() was computed twice per damage event: once for the frame scheduling hack and again inside computeDamage(). Compute it once in damageSurface() and pass it into computeDamage(), which now takes the box as an argument. * sync: check the timeline before making an eventfd since most points are signaled when we reach this, we reduce the churn of making eventfd, ioctl, and poll + close.
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...
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
Description
Hyprland is a dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
Readme
BSD-3-Clause
233 MiB
Languages
C++
96.1%
GLSL
0.9%
Shell
0.9%
CMake
0.5%
Nix
0.5%
Other
1%


