1e5cab1ee7
Some scripts or utilities check to see if stdout or stderr are connected to a TTY or not to determine certain behaviors (for example, you might want to prompt a user for input with fzf(1) if in a terminal but tofi(1) or wofi(1) when spawned from your WM). Since hyprland never closes these output streams for spawned processes, they end up just spewing their output onto the TTY while giving the user no real way to have a script detect if it's being run from the shell or WM. Instead of just closing stdout and stderr though, we close them and then proceed to reopen them but connect them to /dev/null. This allows scripts and processes to not fail when attempting to write, but for that writing to simply have no effect. |
||
---|---|---|
.github | ||
assets | ||
docs | ||
example | ||
hyprctl | ||
nix | ||
protocols | ||
src | ||
subprojects | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
CMakeLists.txt | ||
config.mk | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
Makefile | ||
meson.build | ||
meson_options.txt | ||
README.md |
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, 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.
Help Wanted
Hyprland needs testers!
Try it out and report bugs / suggestions!
Features
- Easily expandable and readable codebase
- Config reloaded instantly upon saving
- Custom bezier curve based animations
wlr_ext
workspaces protocol support- Dual Kawase blur
- Drop shadows
- Fully dynamic workspaces
- Closely follows
wlroots-git
- Global keybinds passed to your apps of choice
- Bundled wlroots
- Window/layer fade in/out
- Tiling/pseudotiling/floating/fullscreen windows
- Switching workspaces between window modes on the fly
- Special workspace (scratchpad)
- Window/monitor rules
- Socket-based IPC
- Event system for bash scripts
- Rounded corners
- Full damage tracking
- Docks support
- Drawing tablet support
- Native IME + Input panels support
- and much more...
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