denialwm/denial

A smooth, customizable Wayland compositor with glass effects, three window layouts, and settings you can actually click. We got a little carried away.

Dart

1,161

212 commits

updated Oct 11, 2026

See the code

README

Denial

A Wayland compositor. We got a little carried away.

Latest tagged version Main branch build status License: GPL-3.0-or-later Sponsor Denial

English | 简体中文

Let windows glide and catch the light; make every little detail right. No config files to steal your night, no beauty you must lose to might. We built the windows. You decide the view. The finishing touch was always you.

Install · Edit the shell · Documentation

https://github.com/user-attachments/assets/2c7335bb-7363-46b1-8e3a-0d98c36c64b1

Features

  • Stacking, tiling, and scrolling tiling layouts.
  • Workspaces and touchpad gestures. Plenty of room for projects you'll definitely finish someday.
  • Smooth animations and transitions.
  • Blur and customizable glass. Subtlety is available in Settings.
  • Light and dark themes. Pick an accent color or borrow one from your wallpaper.
  • Settings for layouts, displays, input, shortcuts, and appearance. It's a desktop. You should be able to configure it with a mouse.
  • Live shell editing and hot reload.
  • Wayland apps, optional X11 support through Xwayland, multiple monitors, screenshots, and screen sharing.

Hyprland and niri users are welcome. We won't tell.

Glass dashboardAnother mood
Denial desktop with a translucent dashboard and terminal visualizersDenial desktop with a purple wallpaper, btop, app launcher, and audio visualizer
Launcher, up closeWuthering Waves, with company
Glass application launcher over the desktop wallpaperWuthering Waves running with floating lava lamp and audio visualizer terminals

Support Denial

There are easier hobbies than writing a compositor. Unfortunately, we like this one.

If you like where Denial is going, help fund its development.

Sponsor Denial

Install

Denial is in public beta. It runs on Linux. Someone got it running on StarryOS's starry-kernel too. Apparently one kernel wasn't enough. Linux builds support x86-64 and ARM64. Configuration and developer interfaces may change before 1.0.

First-party Linux binary packages are currently x86-64. For the distributions below, review the repository setup script, then add the signed repository:

curl -fsSL https://install.denialwm.org | sh

Setup shows its plan and asks for confirmation before using sudo. Once it finishes, install Denial with the command for your distribution:

DistributionInstall
Arch Linux / CachyOS / Omarchy 4.0sudo pacman -Syu denial
Debian 13 / Ubuntu 24.04 LTSsudo apt update && sudo apt install denial
Fedora 44sudo dnf install denial

Alpine Linux 3.24 has signed APK downloads. NixOS has a first-party source flake and module. ARM64 builds are supported from source; Void Linux has also been tested, with no first-party binary yet. openSUSE Tumbleweed has a native local RPM adapter; publication is not connected yet.

After installing, choose Denial from your display manager's session menu. Plugin development and installation are provided separately by denial-plugin-manager; see the step-by-step plugin guide.

Installation, updates, and removal · Session setup and renderer options

Edit the shell

The shell's UI is editable Flutter code. With the development tools installed, change a widget, save, and watch your desktop update while your Wayland apps keep running. Try to remember what you were supposed to be working on.

The Flutter 3.47.5 generation ships only the release engine. The optional denial-ui-development package is paused for this generation; its source tooling remains available for an explicitly requested future development engine refresh.

When a compatible development package is published again, setup remains:

denialctl ui setup

Open the generated workspace's dart_shell directory in VSCodium for hot reload on save. If an edit goes wrong, denialctl ui restore gets you back to the packaged shell, even when Settings can't open.

Live development guide · Custom shell framework

Under the hood

Rust and Smithay handle Wayland, input, and displays. Flutter draws the shell and application windows together. Yes, that Flutter. It got promoted.

Explore the architecture · Build from source

Why Denial

Denial is an English word. The name contains Denia, followed by one last letter.

It is a quiet reference to Denia from Wuthering Waves. Her story never gives a simple answer to what she originally was, and that uncertainty is important. What is clear is that others treated her as an asset: something selected, shaped, and assigned a purpose that was not her own. She was meant to remain a vessel. Instead, by observing people and learning to live among them, she grew a heart and gained the ability to choose what she would become.

Her story reflects Denial's central idea: what something was made to be does not have to determine what it can become.

Made through dialogue

Denial was conceived, architected, directed, and tested by Doctor Logix, and developed in continuous collaboration with OpenAI Codex. Its initial implementation was generated through that dialogue.

Doctor Logix made the design and technical decisions, tested the results on real hardware, and sent the work back when it wasn't right. Codex investigated problems, proposed solutions, and wrote the code.

Authorship is more than typing source code.

Documentation

All guides · Control and recovery · Screenshots and screen sharing

Changelog · Roadmap · Contributing · Security

License

Denial's original source code is licensed under GPL-3.0-or-later. Bundled third-party components and media retain their own licenses and attribution notices.

arch-linux
compositor
dart
debian
desktop-environment
drm
fedora
flutter
impeller
kms
nixos
passion-project
rust
smithay
void-linux
wayland
wayland-compositor
window-manager
xwayland

denialwm/denial

A smooth, customizable Wayland compositor with glass effects, three window layouts, and settings you can actually click. We got a little carried away.

Dart

1,161

212 commits

updated Oct 11, 2026

See the code

README

Denial

A Wayland compositor. We got a little carried away.

Latest tagged version Main branch build status License: GPL-3.0-or-later Sponsor Denial

English | 简体中文

Let windows glide and catch the light; make every little detail right. No config files to steal your night, no beauty you must lose to might. We built the windows. You decide the view. The finishing touch was always you.

Install · Edit the shell · Documentation

https://github.com/user-attachments/assets/2c7335bb-7363-46b1-8e3a-0d98c36c64b1

Features

  • Stacking, tiling, and scrolling tiling layouts.
  • Workspaces and touchpad gestures. Plenty of room for projects you'll definitely finish someday.
  • Smooth animations and transitions.
  • Blur and customizable glass. Subtlety is available in Settings.
  • Light and dark themes. Pick an accent color or borrow one from your wallpaper.
  • Settings for layouts, displays, input, shortcuts, and appearance. It's a desktop. You should be able to configure it with a mouse.
  • Live shell editing and hot reload.
  • Wayland apps, optional X11 support through Xwayland, multiple monitors, screenshots, and screen sharing.

Hyprland and niri users are welcome. We won't tell.

Glass dashboardAnother mood
Denial desktop with a translucent dashboard and terminal visualizersDenial desktop with a purple wallpaper, btop, app launcher, and audio visualizer
Launcher, up closeWuthering Waves, with company
Glass application launcher over the desktop wallpaperWuthering Waves running with floating lava lamp and audio visualizer terminals

Support Denial

There are easier hobbies than writing a compositor. Unfortunately, we like this one.

If you like where Denial is going, help fund its development.

Sponsor Denial

Install

Denial is in public beta. It runs on Linux. Someone got it running on StarryOS's starry-kernel too. Apparently one kernel wasn't enough. Linux builds support x86-64 and ARM64. Configuration and developer interfaces may change before 1.0.

First-party Linux binary packages are currently x86-64. For the distributions below, review the repository setup script, then add the signed repository:

curl -fsSL https://install.denialwm.org | sh

Setup shows its plan and asks for confirmation before using sudo. Once it finishes, install Denial with the command for your distribution:

DistributionInstall
Arch Linux / CachyOS / Omarchy 4.0sudo pacman -Syu denial
Debian 13 / Ubuntu 24.04 LTSsudo apt update && sudo apt install denial
Fedora 44sudo dnf install denial

Alpine Linux 3.24 has signed APK downloads. NixOS has a first-party source flake and module. ARM64 builds are supported from source; Void Linux has also been tested, with no first-party binary yet. openSUSE Tumbleweed has a native local RPM adapter; publication is not connected yet.

After installing, choose Denial from your display manager's session menu. Plugin development and installation are provided separately by denial-plugin-manager; see the step-by-step plugin guide.

Installation, updates, and removal · Session setup and renderer options

Edit the shell

The shell's UI is editable Flutter code. With the development tools installed, change a widget, save, and watch your desktop update while your Wayland apps keep running. Try to remember what you were supposed to be working on.

The Flutter 3.47.5 generation ships only the release engine. The optional denial-ui-development package is paused for this generation; its source tooling remains available for an explicitly requested future development engine refresh.

When a compatible development package is published again, setup remains:

denialctl ui setup

Open the generated workspace's dart_shell directory in VSCodium for hot reload on save. If an edit goes wrong, denialctl ui restore gets you back to the packaged shell, even when Settings can't open.

Live development guide · Custom shell framework

Under the hood

Rust and Smithay handle Wayland, input, and displays. Flutter draws the shell and application windows together. Yes, that Flutter. It got promoted.

Explore the architecture · Build from source

Why Denial

Denial is an English word. The name contains Denia, followed by one last letter.

It is a quiet reference to Denia from Wuthering Waves. Her story never gives a simple answer to what she originally was, and that uncertainty is important. What is clear is that others treated her as an asset: something selected, shaped, and assigned a purpose that was not her own. She was meant to remain a vessel. Instead, by observing people and learning to live among them, she grew a heart and gained the ability to choose what she would become.

Her story reflects Denial's central idea: what something was made to be does not have to determine what it can become.

Made through dialogue

Denial was conceived, architected, directed, and tested by Doctor Logix, and developed in continuous collaboration with OpenAI Codex. Its initial implementation was generated through that dialogue.

Doctor Logix made the design and technical decisions, tested the results on real hardware, and sent the work back when it wasn't right. Codex investigated problems, proposed solutions, and wrote the code.

Authorship is more than typing source code.

Documentation

All guides · Control and recovery · Screenshots and screen sharing

Changelog · Roadmap · Contributing · Security

License

Denial's original source code is licensed under GPL-3.0-or-later. Bundled third-party components and media retain their own licenses and attribution notices.

arch-linux
compositor
dart
debian
desktop-environment
drm
fedora
flutter
impeller
kms
nixos
passion-project
rust
smithay
void-linux
wayland
wayland-compositor
window-manager
xwayland

Significant stargazers

Alex Li

1,087 followers · starred Aug 2026

Salim B

36 followers · starred Aug 2026

Wei Zhu

1,709 followers · starred Sep 2026

Denys

125 followers · starred Aug 2026