Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,19 @@ https://github.com/user-attachments/assets/4ad228f2-ed69-40dc-8ab3-287480fa4427

https://github.com/user-attachments/assets/a62bb9d3-9fe3-4a35-9c87-d9af3f45c999

https://github.com/user-attachments/assets/burn.mp4
https://github.com/user-attachments/assets/0e3e31c5-d14d-463c-a0a5-f1595a83658f

https://github.com/user-attachments/assets/burn-ashes.mp4
https://github.com/user-attachments/assets/2fa9dd95-5988-48a3-8ec7-a72e72b74be5

https://github.com/user-attachments/assets/glitch.mp4
https://github.com/user-attachments/assets/0f4a8d7b-211a-4711-b184-8faadb9d32ff

https://github.com/user-attachments/assets/7fac12ba-47f9-4aab-8827-c81bac32e7fc

https://github.com/user-attachments/assets/501297a7-085a-4dcc-bf53-11acb6edee43

https://github.com/user-attachments/assets/fe469e11-6df0-4437-9597-28c9a7e1b2d7

https://github.com/user-attachments/assets/73ab4218-a1dd-434a-ae57-3ca8d237664e

</details>

Expand Down
4 changes: 2 additions & 2 deletions animations/bloom.kdl
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ animations {
}

window-open {
duration-ms 200
duration-ms 250
curve "linear"

custom-shader r"
Expand Down Expand Up @@ -36,7 +36,7 @@ animations {
}

window-close {
duration-ms 300
duration-ms 250
curve "linear"

custom-shader r"
Expand Down
4 changes: 2 additions & 2 deletions animations/burn-ashes.kdl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

animations {
window-open {
duration-ms 400
duration-ms 700
curve "linear"
custom-shader r"
float hash(vec2 p) { return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453); }
Expand Down Expand Up @@ -53,7 +53,7 @@ animations {
}

window-close {
duration-ms 600
duration-ms 700
curve "linear"
custom-shader r"
float hash(vec2 p) { return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453); }
Expand Down
8 changes: 4 additions & 4 deletions animations/burn-multicolor.kdl
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ animations {
}

window-open {
duration-ms 500
duration-ms 700
curve "linear"
custom-shader r"
float hash(vec2 p) {
Expand Down Expand Up @@ -60,7 +60,7 @@ animations {
vec4 color = texture2D(niri_tex, coords_tex.st);

float edge_dist = min(min(uv.x, 1.0 - uv.x), min(uv.y, 1.0 - uv.y));
float n = noise(uv * 8.0 + niri_random_seed * 100.0) * 0.3;
float n = noise(uv * 9.0 + niri_random_seed * 100.0) * 0.3;
float burn_line = edge_dist + n;
float threshold = progress * 0.8;

Expand All @@ -83,7 +83,7 @@ animations {
}

window-close {
duration-ms 500
duration-ms 1200
curve "linear"
custom-shader r"
float hash(vec2 p) {
Expand Down Expand Up @@ -134,7 +134,7 @@ animations {
vec4 color = texture2D(niri_tex, coords_tex.st);

float edge_dist = min(min(uv.x, 1.0 - uv.x), min(uv.y, 1.0 - uv.y));
float n = noise(uv * 8.0 + niri_random_seed * 100.0) * 0.3;
float n = noise(uv * 9.0 + niri_random_seed * 100.0) * 0.3;
float burn_line = edge_dist + n;
float threshold = progress * 0.8;

Expand Down
4 changes: 2 additions & 2 deletions animations/burn.kdl
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ animations {
}

window-open {
duration-ms 500
duration-ms 700
curve "linear"
custom-shader r"
float hash(vec2 p) {
Expand Down Expand Up @@ -52,7 +52,7 @@ animations {
}

window-close {
duration-ms 500
duration-ms 1200
curve "linear"
custom-shader r"
float hash(vec2 p) {
Expand Down
157 changes: 157 additions & 0 deletions animations/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
# Nirimation Configuration
# Edit values here, then run: ./nirimation-apply
#
# Inspired by XansiVA/nirimation - using Niri's include system for modularity

[animation]
# Which animation module to use
# Options: glitch, glitch-cyberpunk, burn, burn-ashes, burn-multicolor, bloom,
# pixelate, fold-window, pop-drop, ribbons, roll-drop, swipe-window, unravel
active = "glitch-cyberpunk"

# Path to your niri config (usually doesn't need changing)
niri_config = "~/.config/niri/config.kdl"

# ============================================
# GLITCH SHADER SETTINGS
# ============================================
[glitch]
open_duration_ms = 700
close_duration_ms = 1000
rgb_split = 0.04 # chromatic aberration intensity (0.02-0.08)
scanline_strength = 0.12 # scanline visibility (0.05-0.15)
scanline_density = 450.0 # number of scanlines (200-600)

# ============================================
# GLITCH CYBERPUNK SHADER SETTINGS
# ============================================
[glitch-cyberpunk]
open_duration_ms = 500
close_duration_ms = 700
rgb_split = 0.06 # aggressive red-shifted split
scanline_strength = 0.12 # CRT scanlines
scanline_density = 450.0 # scanline count
noise_intensity = 0.15 # static noise overlay
tint_strength = 0.4 # red/magenta tint intensity
glow_intensity = 0.6 # neon edge glow

# ============================================
# BURN SHADER SETTINGS
# ============================================
[burn]
open_duration_ms = 700
close_duration_ms = 700
edge_roughness = 8.0 # higher = finer burn edge pattern
glow_width = 0.08 # width of ember glow line
burn_reach = 0.8 # how far burn extends (0.0-1.0)

# ============================================
# BURN-ASHES SHADER SETTINGS
# ============================================
[burn-ashes]
open_duration_ms = 700
close_duration_ms = 700
edge_roughness = 8.0
glow_width = 0.08
burn_reach = 0.8
# Particle settings
ash_size = 150 # higher = smaller particles
ash_layers = 7 # more layers = more particles
ember_size = 280 # higher = smaller sparks
ember_layers = 8 # more layers = more sparks

[burn-ashes.colors]
# Ember colors (randomly selected per window)
orange = true
blue = false
purple = false
green = false
pink = false
cyan = true
gold = false
red = true

# ============================================
# BLOOM SHADER SETTINGS
# ============================================
[bloom]
open_duration_ms = 700
close_duration_ms = 700

# ============================================
# PIXELATE SHADER SETTINGS
# ============================================
[pixelate]
open_duration_ms = 700
close_duration_ms = 700
pixel_size = 40.0 # size of pixels during effect

# ============================================
# BURN-MULTICOLOR SHADER SETTINGS
# ============================================
[burn-multicolor]
open_duration_ms = 700
close_duration_ms = 1200
edge_roughness = 9.0
glow_width = 0.08
burn_reach = 0.8

[burn-multicolor.colors]
# Ember colors (randomly selected per window)
orange = true
blue = true
purple = true
green = true
pink = true
cyan = true
gold = true
red = true

# ============================================
# FOLD-WINDOW SHADER SETTINGS
# ============================================
[fold-window]
open_duration_ms = 900
close_duration_ms = 700
perspective = 600.0 # 3D perspective depth (400-800)

# ============================================
# POP-DROP SHADER SETTINGS
# ============================================
[pop-drop]
open_duration_ms = 700
close_duration_ms = 700
fall_distance = 1440.0 # how far window falls (pixels)
max_rotation = 0.5 # max rotation angle (radians)

# ============================================
# RIBBONS SHADER SETTINGS
# ============================================
[ribbons]
open_duration_ms = 700
close_duration_ms = 700
ribbon_count = 30 # number of ribbon strips (10-30)

# ============================================
# ROLL-DROP SHADER SETTINGS
# ============================================
[roll-drop]
open_duration_ms = 700
close_duration_ms = 700
fall_distance = 1440.0
max_rotation = 0.5

# ============================================
# SWIPE-WINDOW SHADER SETTINGS
# ============================================
[swipe-window]
open_duration_ms = 700
close_duration_ms = 700

# ============================================
# UNRAVEL SHADER SETTINGS
# ============================================
[unravel]
open_duration_ms = 700
close_duration_ms = 700
edge_thickness = 3.0 # thickness of expanding edge line (1-5)
Loading