A read-only mirror of https://github.com/hyprwm/Hyprland
Find a file
Thomas Voss 1e5cab1ee7
Set child stdout and stderr to /dev/null (#1000)
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.
2022-11-13 11:58:20 +00:00
.github No xwayland overhaul (#920) 2022-10-27 11:26:35 +01:00
assets updated-hyprland.png 2022-07-21 12:31:24 +05:30
docs [gha] build man pages 2022-10-11 10:58:53 +00:00
example a bit more default config nice addons 2022-10-17 16:59:52 +01:00
hyprctl guard empty str in isNumber 2022-11-11 14:04:35 +00:00
nix fix(nix): missing dependency 2022-11-11 14:43:45 +02:00
protocols fix relative protocol paths 2022-11-05 13:46:58 +00:00
src Set child stdout and stderr to /dev/null (#1000) 2022-11-13 11:58:20 +00:00
subprojects update wlroots dep 2022-11-13 11:04:28 +00:00
.gitattributes Initial commit 2022-03-16 20:49:02 +01:00
.gitignore add PKGBUILD to ignored files 2022-10-14 11:46:34 +03:00
.gitmodules T1C: Releases pipeline 2022-06-22 22:04:55 +02:00
CMakeLists.txt update wlroots dep 2022-11-13 11:04:28 +00:00
config.mk Initial Commit 2022-03-16 20:50:55 +01:00
flake.lock [gha] bump flake inputs 2022-11-13 11:05:51 +00:00
flake.nix Nix & meson: 0.16.0 -> 0.17.0 2022-10-31 12:41:31 +02:00
LICENSE Added a license 2022-03-20 18:04:36 +01:00
Makefile update wlroots dep 2022-11-13 11:04:28 +00:00
meson.build Nix & meson: 0.16.0 -> 0.17.0 2022-10-31 12:41:31 +02:00
meson_options.txt Added meson buildfiles 2022-06-16 23:30:28 +02:00
README.md updated readme previews 2022-08-26 11:41:07 +02:00

banner

Badge Workflow Badge License Badge Lines 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, 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...


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