Hyprland is a highly customizable dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
Go to file
MightyPlaza b10cae3010
decos: groupbar mouse interaction (#3102)
* allow groupbar clicking
	modified:   src/Window.cpp
	modified:   src/Window.hpp
	modified:   src/managers/input/InputManager.cpp
	modified:   src/render/decorations/CHyprGroupBarDecoration.cpp
	modified:   src/render/decorations/CHyprGroupBarDecoration.hpp

* remove setting pos inside insertWindowToGroup()

modified:   src/Window.cpp
modified:   src/layout/DwindleLayout.cpp
modified:   src/layout/MasterLayout.cpp
modified:   src/managers/KeybindManager.cpp

* add group window by index and group size functions
modified:   src/Window.cpp
modified:   src/Window.hpp
modified:   src/managers/input/InputManager.cpp

* allow dragging into groupbar
modified:   src/Window.cpp
modified:   src/layout/DwindleLayout.cpp
modified:   src/layout/MasterLayout.cpp

* allow dragging from groupbar
modified:   src/managers/KeybindManager.cpp

* try groupbar clicking before border resize
modified:   src/managers/input/InputManager.cpp

* block grabbing groupbar on floating (crash)

remove later when crashing is fixed

modified:   src/managers/KeybindManager.cpp

* remove redundant { }
modified:   src/layout/DwindleLayout.cpp
modified:   src/layout/MasterLayout.cpp

* implement getWindowDecorationBox()
modified:   src/Window.cpp
modified:   src/Window.hpp
modified:   src/layout/DwindleLayout.cpp
modified:   src/layout/MasterLayout.cpp
modified:   src/managers/KeybindManager.cpp
modified:   src/managers/input/InputManager.cpp
modified:   src/render/decorations/CHyprDropShadowDecoration.cpp
modified:   src/render/decorations/CHyprGroupBarDecoration.cpp
modified:   src/render/decorations/IHyprWindowDecoration.cpp
modified:   src/render/decorations/IHyprWindowDecoration.hpp

* fix crash when moveoutofgroup in floating windows

also removes dragging from floating windows limitation

modified:   src/layout/IHyprLayout.cpp
modified:   src/managers/KeybindManager.cpp

* use CRegion in getWindowDecorationBox()
modified:   src/helpers/Region.cpp
modified:   src/helpers/Region.hpp
modified:   src/layout/DwindleLayout.cpp
modified:   src/layout/MasterLayout.cpp
modified:   src/managers/KeybindManager.cpp
modified:   src/managers/input/InputManager.cpp
modified:   src/render/decorations/IHyprWindowDecoration.cpp
modified:   src/render/decorations/IHyprWindowDecoration.hpp

* add groupbar scrolling
modified:   src/config/ConfigManager.cpp
modified:   src/managers/input/InputManager.cpp

* change name to getWindowDecorationRegion()
modified:   src/layout/DwindleLayout.cpp
modified:   src/layout/MasterLayout.cpp
modified:   src/managers/KeybindManager.cpp
modified:   src/managers/input/InputManager.cpp
modified:   src/render/decorations/IHyprWindowDecoration.cpp
modified:   src/render/decorations/IHyprWindowDecoration.hpp

* make dragging from group less hacky for floating
modified:   src/managers/KeybindManager.cpp
2023-08-30 17:39:22 +02:00
.github CI: set myself as author and committer 2023-08-23 13:08:02 +03:00
assets internal: Fix XDP multi-portal issues (#3077) 2023-08-26 17:12:21 +02:00
docs [gha] build man pages 2023-06-03 09:11:37 +00:00
example config: update default config for new blur changes 2023-08-03 15:16:37 +02:00
hyprctl hyprctl: fix hyprpaper 2023-08-13 21:42:16 +02:00
nix internal: Fix XDP multi-portal issues (#3077) 2023-08-26 17:12:21 +02:00
protocols input: add support for cursor-shape-v1 2023-07-24 18:50:17 +02:00
src decos: groupbar mouse interaction (#3102) 2023-08-30 17:39:22 +02:00
subprojects Nix & Meson: bump wlroots 2023-08-26 12:07:11 +03:00
.clang-format touch up the clang format and format all files 2022-12-20 02:18:47 +00:00
.gitattributes Initial commit 2022-03-16 20:49:02 +01:00
.gitignore Plugin System (#1590) 2023-02-27 12:32:38 +00:00
.gitmodules Debug: add tracy 2023-07-20 17:47:49 +02:00
CMakeLists.txt input: add support for cursor-shape-v1 2023-07-24 18:50:17 +02:00
flake.lock nix: bump nixpkgs 2023-08-29 17:34:40 +01:00
flake.nix Nix & Meson: bump wlroots 2023-08-26 12:07:11 +03:00
hyprland.pc.in Prefer bundled wlroots headers to system ones (#2204) 2023-05-01 13:42:16 +01:00
LICENSE update license on main branch (#1604) 2023-02-21 19:01:40 +00:00
Makefile makefile: fix build failure with some PREFIX (#3099) 2023-08-28 17:21:01 +02:00
meson_options.txt Fix nix build options 2023-03-27 11:00:37 +03:00
meson.build meson & nix: install wlroots headers (#2287) 2023-05-16 20:50:18 +03:00
props.json props: bump ver to 0.29.0 2023-08-28 23:03:35 +02:00
README.md readme: update previews 2023-05-15 15:33:58 +01:00

banner

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


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

It supports multiple layouts, fancy effects, has a very flexible IPC model allowing for a lot of customization, a powerful plugin system and more.



Install

Quick Start

Configure

Contribute



Notice

Hyprland is still in pretty early development compared to some other Wayland compositors.

Although Hyprland is pretty stable, it may have some bugs.

Features

  • Easily expandable and readable codebase
  • Plugin support
  • Config reloaded instantly upon saving
  • Custom bezier curve based animations
  • Dual Kawase blur
  • Drop shadows
  • Rounded corners
  • Gradient borders
  • Fully dynamic workspaces
  • Closely follows wlroots-git
  • Global keybinds passed to your apps of choice
  • A lot of customization
  • Bundled wlroots
  • Window/layer fade in/out
  • Tiling/pseudotiling/floating/fullscreen windows
  • Switching workspaces between window modes on the fly
  • Special workspaces (scratchpads)
  • Window/monitor rules
  • Socket-based IPC
  • wlr_ext workspaces protocol support
  • Event system for bash scripts
  • Full damage tracking
  • Docks support
  • Drawing tablet support
  • Native IME + Input panels support
  • and much more...


Gallery


Preview A


Preview B


Preview C



Stars Over Time


Stars Preview



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