diff --git a/.config/hypr/animations.conf b/.config/hypr/animations.conf index 7203cb1..8947a85 100644 --- a/.config/hypr/animations.conf +++ b/.config/hypr/animations.conf @@ -6,21 +6,42 @@ animations { enabled = true - bezier = wind, 0.05, 0.9, 0.1, 1.05 - bezier = winIn, 0.1, 1.1, 0.1, 1.1 - bezier = winOut, 0.3, -0.3, 0, 1 - bezier = liner, 1, 1, 1, 1 - - animation = windows, 1, 6, wind, slide - animation = windowsIn, 1, 6, winIn, slide - animation = windowsOut, 1, 5, winOut, slide - animation = windowsMove, 1, 5, wind, slide - animation = border, 1, 1, liner - animation = borderangle, 1, 30, liner, loop - animation = fade, 1, 10, default - animation = workspaces, 1, 5, wind + bezier = linear, 0, 0, 1, 1 + bezier = md3_standard, 0.2, 0, 0, 1 + bezier = md3_decel, 0.05, 0.7, 0.1, 1 + bezier = md3_accel, 0.3, 0, 0.8, 0.15 + bezier = overshot, 0.05, 0.9, 0.1, 1.1 + bezier = crazyshot, 0.1, 1.5, 0.76, 0.92 + bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0 + bezier = fluent_decel, 0.1, 1, 0, 1 + bezier = easeInOutCirc, 0.85, 0, 0.15, 1 + bezier = easeOutCirc, 0, 0.55, 0.45, 1 + bezier = easeOutExpo, 0.16, 1, 0.3, 1 + animation = windows, 1, 3, md3_decel, popin 60% + animation = border, 1, 10, default + animation = fade, 1, 2.5, md3_decel + animation = workspaces, 1, 3.5, easeOutExpo, slide + animation = specialWorkspace, 1, 3, md3_decel, slidevert + animation = borderangle, 1, 8, default } +# animations { +# enabled = true +# bezier = wind, 0.05, 0.9, 0.1, 1.05 +# bezier = winIn, 0.1, 1.1, 0.1, 1.1 +# bezier = winOut, 0.3, -0.3, 0, 1 +# bezier = liner, 1, 1, 1, 1 + +# animation = windows, 1, 6, wind, slide +# animation = windowsIn, 1, 6, winIn, slide +# animation = windowsOut, 1, 5, winOut, slide +# animation = windowsMove, 1, 5, wind, slide +# animation = border, 1, 1, liner +# animation = borderangle, 1, 30, liner, loop +# animation = fade, 1, 10, default +# animation = workspaces, 1, 5, wind +# } + # animations { # enabled = true diff --git a/.config/hypr/animations/animations-classic.conf b/.config/hypr/animations/animations-classic.conf new file mode 100644 index 0000000..d1b032f --- /dev/null +++ b/.config/hypr/animations/animations-classic.conf @@ -0,0 +1,18 @@ +# ----------------------------------------------------- +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ +# +# name "Classic" +# credit https://github.com/mylinuxforwork/dotfiles +# ----------------------------------------------------- + +animations { + enabled = true + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} diff --git a/.config/hypr/animations/animations-default.conf b/.config/hypr/animations/animations-default.conf new file mode 100644 index 0000000..fffbb22 --- /dev/null +++ b/.config/hypr/animations/animations-default.conf @@ -0,0 +1,24 @@ +# ----------------------------------------------------- +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ +# +# name "Default" +# credit https://github.com/prasanthrangan/hyprdots +# ----------------------------------------------------- + +animations { + enabled = yes + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, once + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind + animation = specialWorkspace, 1, 5, wind, slidevert +} diff --git a/.config/hypr/animations/animations-diablo-1.conf b/.config/hypr/animations/animations-diablo-1.conf new file mode 100644 index 0000000..84c3225 --- /dev/null +++ b/.config/hypr/animations/animations-diablo-1.conf @@ -0,0 +1,35 @@ +# ----------------------------------------------------- +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ +# +# name "Diablo-1" +# credit https://github.com/Itz-Abhishek-Tiwari +# ----------------------------------------------------- + +animations { + enabled = 1 + bezier = default, 0.05, 0.9, 0.1, 1.05 + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = overshot, 0.13, 0.99, 0.29, 1.08 + bezier = liner, 1, 1, 1, 1 + bezier = bounce, 0.4, 0.9, 0.6, 1.0 + bezier = snappyReturn, 0.4, 0.9, 0.6, 1.0 + + bezier = slideInFromRight, 0.5, 0.0, 0.5, 1.0 + animation = windows, 1, 5, snappyReturn, slidevert + animation = windowsIn, 1, 5, snappyReturn, slidevert right + + animation = windowsOut, 1, 5, snappyReturn, slide + animation = windowsMove, 1, 6, bounce, slide + animation = layersOut, 1, 5, bounce, slidevert right + animation = fadeIn, 1, 10, default + animation = fadeOut, 1, 10, default + animation = fadeSwitch, 1, 10, default + animation = fadeShadow, 1, 10, default + animation = fadeDim, 1, 10, default + animation = fadeLayers, 1, 10, default + animation = workspaces, 1, 7, overshot, slidevert + animation = border, 1, 1, liner + animation = layers, 1, 4, bounce, slidevert right + animation = borderangle, 1, 30, liner, once +} diff --git a/.config/hypr/animations/animations-diablo-2.conf b/.config/hypr/animations/animations-diablo-2.conf new file mode 100644 index 0000000..8db6c59 --- /dev/null +++ b/.config/hypr/animations/animations-diablo-2.conf @@ -0,0 +1,29 @@ +# ----------------------------------------------------- +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ +# +# name "Diablo-2" +# credit https://github.com/Itz-Abhishek-Tiwari +# ----------------------------------------------------- + +animations { + enabled = 1 + bezier = default, 0.05, 0.9, 0.1, 1.05 + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = overshot, 0.13, 0.99, 0.29, 1.08 + bezier = liner, 1, 1, 1, 1 + animation = windows, 1, 7, wind, popin + animation = windowsIn, 1, 7, overshot, popin + animation = windowsOut, 1, 5, overshot, popin + animation = windowsMove, 1, 6, overshot, slide + animation = layers, 1, 5, default, popin + animation = fadeIn, 1, 10, default + animation = fadeOut, 1, 10, default + animation = fadeSwitch, 1, 10, default + animation = fadeShadow, 1, 10, default + animation = fadeDim, 1, 10, default + animation = fadeLayers, 1, 10, default + animation = workspaces, 1, 7, overshot, slidevert + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, once +} diff --git a/.config/hypr/animations/animations-disabled.conf b/.config/hypr/animations/animations-disabled.conf new file mode 100644 index 0000000..0b1d638 --- /dev/null +++ b/.config/hypr/animations/animations-disabled.conf @@ -0,0 +1,10 @@ +# ----------------------------------------------------- +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ +# +# name "Disabled" +# credit https://github.com/mylinuxforwork/dotfiles +# ----------------------------------------------------- +animations { + enabled = false +} diff --git a/.config/hypr/animations/animations-dynamic.conf b/.config/hypr/animations/animations-dynamic.conf new file mode 100644 index 0000000..1903794 --- /dev/null +++ b/.config/hypr/animations/animations-dynamic.conf @@ -0,0 +1,23 @@ +# ----------------------------------------------------- +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ +# +# name "Dynamic" +# credit https://github.com/mylinuxforwork/dotfiles +# ----------------------------------------------------- + +animations { + enabled = true + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, once + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} diff --git a/.config/hypr/animations/animations-end4.conf b/.config/hypr/animations/animations-end4.conf new file mode 100644 index 0000000..8be409c --- /dev/null +++ b/.config/hypr/animations/animations-end4.conf @@ -0,0 +1,43 @@ +# ----------------------------------------------------- +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ +# +# name "End4" +# credit https://github.com/end-4/dots-hyprland +# ----------------------------------------------------- + +animations { + enabled = true + # Animation curves + + bezier = linear, 0, 0, 1, 1 + bezier = md3_standard, 0.2, 0, 0, 1 + bezier = md3_decel, 0.05, 0.7, 0.1, 1 + bezier = md3_accel, 0.3, 0, 0.8, 0.15 + bezier = overshot, 0.05, 0.9, 0.1, 1.1 + bezier = crazyshot, 0.1, 1.5, 0.76, 0.92 + bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0 + bezier = menu_decel, 0.1, 1, 0, 1 + bezier = menu_accel, 0.38, 0.04, 1, 0.07 + bezier = easeInOutCirc, 0.85, 0, 0.15, 1 + bezier = easeOutCirc, 0, 0.55, 0.45, 1 + bezier = easeOutExpo, 0.16, 1, 0.3, 1 + bezier = softAcDecel, 0.26, 0.26, 0.15, 1 + bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration + # Animation configs + animation = windows, 1, 3, md3_decel, popin 60% + animation = windowsIn, 1, 3, md3_decel, popin 60% + animation = windowsOut, 1, 3, md3_accel, popin 60% + animation = border, 1, 10, default + animation = fade, 1, 3, md3_decel + # animation = layers, 1, 2, md3_decel, slide + animation = layersIn, 1, 3, menu_decel, slide + animation = layersOut, 1, 1.6, menu_accel + animation = fadeLayersIn, 1, 2, menu_decel + animation = fadeLayersOut, 1, 4.5, menu_accel + animation = workspaces, 1, 7, menu_decel, slide + # animation = workspaces, 1, 2.5, softAcDecel, slide + # animation = workspaces, 1, 7, menu_decel, slidefade 15% + # animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15% + animation = specialWorkspace, 1, 3, md3_decel, slidevert +} diff --git a/.config/hypr/animations/animations-fast.conf b/.config/hypr/animations/animations-fast.conf new file mode 100644 index 0000000..f6f2984 --- /dev/null +++ b/.config/hypr/animations/animations-fast.conf @@ -0,0 +1,26 @@ +# ----------------------------------------------------- +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ +# +# name "Fast" +# credit https://github.com/mylinuxforwork/dotfiles +# ----------------------------------------------------- +animations { + enabled = true + bezier = linear, 0, 0, 1, 1 + bezier = md3_standard, 0.2, 0, 0, 1 + bezier = md3_decel, 0.05, 0.7, 0.1, 1 + bezier = md3_accel, 0.3, 0, 0.8, 0.15 + bezier = overshot, 0.05, 0.9, 0.1, 1.1 + bezier = crazyshot, 0.1, 1.5, 0.76, 0.92 + bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0 + bezier = fluent_decel, 0.1, 1, 0, 1 + bezier = easeInOutCirc, 0.85, 0, 0.15, 1 + bezier = easeOutCirc, 0, 0.55, 0.45, 1 + bezier = easeOutExpo, 0.16, 1, 0.3, 1 + animation = windows, 1, 3, md3_decel, popin 60% + animation = border, 1, 10, default + animation = fade, 1, 2.5, md3_decel + animation = workspaces, 1, 3.5, easeOutExpo, slide + animation = specialWorkspace, 1, 3, md3_decel, slidevert +} \ No newline at end of file diff --git a/.config/hypr/animations/animations-high.conf b/.config/hypr/animations/animations-high.conf new file mode 100644 index 0000000..52b452c --- /dev/null +++ b/.config/hypr/animations/animations-high.conf @@ -0,0 +1,23 @@ +# ----------------------------------------------------- +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ +# +# name "High" +# credit https://github.com/mylinuxforwork/dotfiles +# ----------------------------------------------------- + +animations { + enabled = true + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, once + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} diff --git a/.config/hypr/animations/animations-ja.conf b/.config/hypr/animations/animations-ja.conf new file mode 100644 index 0000000..50bf468 --- /dev/null +++ b/.config/hypr/animations/animations-ja.conf @@ -0,0 +1,32 @@ +# ----------------------------------------------------- +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ +# +# name "Ja" +# credit https://github.com/JaKooLit/Hyprland-Dots +# ----------------------------------------------------- + +animations { + enabled = yes + + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + bezier = overshot, 0.05, 0.9, 0.1, 1.05 + bezier = smoothOut, 0.5, 0, 0.99, 0.99 + bezier = smoothIn, 0.5, -0.5, 0.68, 1.5 + + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 5, winIn, slide + animation = windowsOut, 1, 3, smoothOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + #animation = borderangle, 1, 180, liner, once #used by rainbow borders and rotating colors + animation = fade, 1, 3, smoothOut + animation = workspaces, 1, 5, overshot + + # animations for -git or version >0.42.0 + animation = workspacesIn, 1, 5, winIn, slide + animation = workspacesOut, 1, 5, winOut, slide +} diff --git a/.config/hypr/animations/animations-me-1.conf b/.config/hypr/animations/animations-me-1.conf new file mode 100644 index 0000000..efa525b --- /dev/null +++ b/.config/hypr/animations/animations-me-1.conf @@ -0,0 +1,58 @@ +# ----------------------------------------------------- +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ +# +# name "Me-1" +# credit https://github.com/mahaveergurjar +# ----------------------------------------------------- + +animations { + enabled = true + # Animation curves + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + # bezier = linear, 0, 0, 1, 1 + bezier = md3_standard, 0.2, 0, 0, 1 + bezier = md3_decel, 0.05, 0.7, 0.1, 1 + bezier = md3_accel, 0.3, 0, 0.8, 0.15 + bezier = overshot, 0.05, 0.9, 0.1, 1.1 + bezier = crazyshot, 0.1, 1.5, 0.76, 0.92 + bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0 + bezier = menu_decel, 0.1, 1, 0, 1 + bezier = menu_accel, 0.38, 0.04, 1, 0.07 + bezier = easeInOutCirc, 0.85, 0, 0.15, 1 + bezier = easeOutCirc, 0, 0.55, 0.45, 1 + bezier = easeOutExpo, 0.16, 1, 0.3, 1 + bezier = softAcDecel, 0.26, 0.26, 0.15, 1 + bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration + + # Animation configs + # animation = windows, 1, 3, md3_decel, popin 60% + # animation = windowsIn, 1, 3, md3_decel, popin 60% + # animation = windowsOut, 1, 3, md3_accel, popin 60% + # animation = windows, 1, 6, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, once + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + + # animation = border, 1, 10, default + animation = fade, 1, 3, md3_decel + # animation = layers, 1, 2, md3_decel, slide + animation = layersIn, 1, 3, menu_decel, slide + animation = layersOut, 1, 1.6, menu_accel + animation = fadeLayersIn, 1, 2, menu_decel + animation = fadeLayersOut, 1, 4.5, menu_accel + animation = workspaces, 1, 7, menu_decel, slide + animation = workspaces, 1, 5, wind + # animation = workspaces, 1, 2.5, softAcDecel, slide + # animation = workspaces, 1, 7, menu_decel, slidefade 15% + animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15% + animation = specialWorkspace, 1, 3, md3_decel, slidevert +} + + diff --git a/.config/hypr/animations/animations-me-2.conf b/.config/hypr/animations/animations-me-2.conf new file mode 100644 index 0000000..cc6be75 --- /dev/null +++ b/.config/hypr/animations/animations-me-2.conf @@ -0,0 +1,50 @@ +# ----------------------------------------------------- +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ +# +# name "Me-2" +# credit https://github.com/mahaveergurjar +# ----------------------------------------------------- + +animations { + enabled = true + # Animation curves + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + bezier = md3_standard, 0.2, 0, 0, 1 + bezier = md3_decel, 0.05, 0.7, 0.1, 1 + bezier = md3_accel, 0.3, 0, 0.8, 0.15 + bezier = overshot, 0.05, 0.9, 0.1, 1.1 + bezier = crazyshot, 0.1, 1.5, 0.76, 0.92 + bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0 + bezier = menu_decel, 0.1, 1, 0, 1 + bezier = menu_accel, 0.38, 0.04, 1, 0.07 + bezier = easeInOutCirc, 0.85, 0, 0.15, 1 + bezier = easeOutCirc, 0, 0.55, 0.45, 1 + bezier = easeOutExpo, 0.16, 1, 0.3, 1 + bezier = softAcDecel, 0.26, 0.26, 0.15, 1 + bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration + + bezier = OutBack, 0.34, 1.56, 0.64, 1 + bezier = easeInOutCirc, 0.85, 0, 0.15, 1 + + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, once + # animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + # animation = windowsOut, 1, 5, winOut, slide + animation = windows, 1, 5, easeInOutCirc + animation = windowsOut, 1, 5, OutBack + animation = windowsMove, 1, 5, wind, slide + animation = fade, 1, 3, md3_decel + animation = layersIn, 1, 3, menu_decel, slide + animation = layersOut, 1, 1.6, menu_accel + animation = fadeLayersIn, 1, 2, menu_decel + animation = fadeLayersOut, 1, 4.5, menu_accel + animation = workspaces, 1, 7, menu_decel, slide + animation = workspaces, 1, 5, wind + animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15% + animation = specialWorkspace, 1, 3, md3_decel, slidevert +} diff --git a/.config/hypr/animations/animations-minimal-1.conf b/.config/hypr/animations/animations-minimal-1.conf new file mode 100644 index 0000000..c8605e5 --- /dev/null +++ b/.config/hypr/animations/animations-minimal-1.conf @@ -0,0 +1,29 @@ +# ----------------------------------------------------- +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ +# +# name "Minimal-1" +# ----------------------------------------------------- + +animations { + enabled = true + + # █▄▄ █▀▀ ▀█ █ █▀▀ █▀█   █▀▀ █░█ █▀█ █░█ █▀▀ + # █▄█ ██▄ █▄ █ ██▄ █▀▄   █▄▄ █▄█ █▀▄ ▀▄▀ ██▄ + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + + + #▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ + #█▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, once + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} diff --git a/.config/hypr/animations/animations-minimal-2.conf b/.config/hypr/animations/animations-minimal-2.conf new file mode 100644 index 0000000..66da51b --- /dev/null +++ b/.config/hypr/animations/animations-minimal-2.conf @@ -0,0 +1,18 @@ +# ----------------------------------------------------- +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ +# +# name "Minimal-2" +# ----------------------------------------------------- + +animations { + enabled = yes + + bezier = quart, 0.25, 1, 0.5, 1 + + animation = windows, 1, 6, quart, slide + animation = border, 1, 6, quart + animation = borderangle, 1, 6, quart + animation = fade, 1, 6, quart + animation = workspaces, 1, 6, quart +} \ No newline at end of file diff --git a/.config/hypr/animations/animations-moving.conf b/.config/hypr/animations/animations-moving.conf new file mode 100644 index 0000000..23b1dec --- /dev/null +++ b/.config/hypr/animations/animations-moving.conf @@ -0,0 +1,22 @@ +# ----------------------------------------------------- +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ +# +# name "Moving" +# credit https://github.com/mylinuxforwork/dotfiles +# ----------------------------------------------------- + +animations { + enabled = true + bezier = overshot, 0.05, 0.9, 0.1, 1.05 + bezier = smoothOut, 0.5, 0, 0.99, 0.99 + bezier = smoothIn, 0.5, -0.5, 0.68, 1.5 + animation = windows, 1, 5, overshot, slide + animation = windowsOut, 1, 3, smoothOut + animation = windowsIn, 1, 3, smoothOut + animation = windowsMove, 1, 4, smoothIn, slide + animation = border, 1, 5, default + animation = fade, 1, 5, smoothIn + animation = fadeDim, 1, 5, smoothIn + animation = workspaces, 1, 6, default +} diff --git a/.config/hypr/animations/animations-optimized.conf b/.config/hypr/animations/animations-optimized.conf new file mode 100644 index 0000000..dc86787 --- /dev/null +++ b/.config/hypr/animations/animations-optimized.conf @@ -0,0 +1,43 @@ +# ----------------------------------------------------- +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ +# +# name "Optimized" +# ----------------------------------------------------- + +animations { + enabled = true + bezier = wind, 0.05, 0.85, 0.03, 0.97 + bezier = winIn, 0.07, 0.88, 0.04, 0.99 + bezier = winOut, 0.20, -0.15, 0, 1 + bezier = liner, 1, 1, 1, 1 + bezier = md3_standard, 0.12, 0, 0, 1 + bezier = md3_decel, 0.05, 0.80, 0.10, 0.97 + bezier = md3_accel, 0.20, 0, 0.80, 0.08 + bezier = overshot, 0.05, 0.85, 0.07, 1.04 + bezier = crazyshot, 0.1, 1.22, 0.68, 0.98 + bezier = hyprnostretch, 0.05, 0.82, 0.03, 0.94 + bezier = menu_decel, 0.05, 0.82, 0, 1 + bezier = menu_accel, 0.20, 0, 0.82, 0.10 + bezier = easeInOutCirc, 0.75, 0, 0.15, 1 + bezier = easeOutCirc, 0, 0.48, 0.38, 1 + bezier = easeOutExpo, 0.10, 0.94, 0.23, 0.98 + bezier = softAcDecel, 0.20, 0.20, 0.15, 1 + bezier = md2, 0.30, 0, 0.15, 1 + + bezier = OutBack, 0.28, 1.40, 0.58, 1 + bezier = easeInOutCirc, 0.78, 0, 0.15, 1 + + animation = border, 1, 1.6, liner + animation = borderangle, 1, 82, liner, once + animation = windowsIn, 1, 3.2, winIn, slide + animation = windowsOut, 1, 2.8, easeOutCirc + animation = windowsMove, 1, 3.0, wind, slide + animation = fade, 1, 1.8, md3_decel + animation = layersIn, 1, 1.8, menu_decel, slide + animation = layersOut, 1, 1.5, menu_accel + animation = fadeLayersIn, 1, 1.6, menu_decel + animation = fadeLayersOut, 1, 1.8, menu_accel + animation = workspaces, 1, 4.0, menu_decel, slide + animation = specialWorkspace, 1, 2.3, md3_decel, slidefadevert 15% +} diff --git a/.config/hypr/animations/animations-standard.conf b/.config/hypr/animations/animations-standard.conf new file mode 100644 index 0000000..4482dd9 --- /dev/null +++ b/.config/hypr/animations/animations-standard.conf @@ -0,0 +1,18 @@ +# ----------------------------------------------------- +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ +# +# name "Standard" +# credit https://github.com/mylinuxforwork/dotfiles +# ----------------------------------------------------- + +animations { + enabled = true + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} diff --git a/.config/hypr/animations/animations-vertical.conf b/.config/hypr/animations/animations-vertical.conf new file mode 100644 index 0000000..c22a266 --- /dev/null +++ b/.config/hypr/animations/animations-vertical.conf @@ -0,0 +1,34 @@ +# ----------------------------------------------------- +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ +# +# name "Vertical" +# ----------------------------------------------------- + +animations { + bezier = fluent_decel, 0, 0.2, 0.4, 1 + bezier = easeOutCirc, 0, 0.55, 0.45, 1 + bezier = easeOutCubic, 0.33, 1, 0.68, 1 + bezier = easeinoutsine, 0.37, 0, 0.63, 1 + + # Windows + animation = windowsIn, 1, 1.5, easeinoutsine, popin 60% # window open + animation = windowsOut, 1, 1.5, easeOutCubic, popin 60% # window close. + animation = windowsMove, 1, 1.5, easeinoutsine, slide # everything in between, moving, dragging, resizing. + + # Fading + animation = fade, 1, 2.5, fluent_decel + + animation = fadeLayersIn, 0 + animation = border, 0 + + + # Layers + animation = layers, 1, 1.5, easeinoutsine, popin + + # Workspaces + #animation = workspaces, 1, 3, fluent_decel, slidefade 30% # styles: slide, slidevert, fade, slidefade, slidefadevert + animation = workspaces, 1, 3, fluent_decel, slidefadevert 30% # styles: slide, slidevert, fade, slidefade, slidefadevert + + animation = specialWorkspace, 1, 2, fluent_decel, slidefade 10% +} diff --git a/.config/hypr/custom/env.conf b/.config/hypr/custom/env.conf index 9d5f8f3..d78f36f 100644 --- a/.config/hypr/custom/env.conf +++ b/.config/hypr/custom/env.conf @@ -1,2 +1,12 @@ -env = GTK_IM_MODULE,fcitx +# █▄░█ █░█ █ █▀▄ █ ▄▀█ +# █░▀█ ▀▄▀ █ █▄▀ █ █▀█ + +# See https://wiki.hyprland.org/Nvidia/ + +env = LIBVA_DRIVER_NAME,nvidia +env = __GLX_VENDOR_LIBRARY_NAME,nvidia +env = __GL_VRR_ALLOWED,1 +env = WLR_DRM_NO_ATOMIC,1 + +cursor:no_hardware_cursors = true diff --git a/.config/hypr/custom/execs.conf b/.config/hypr/custom/execs.conf index 635005e..ba4299d 100644 --- a/.config/hypr/custom/execs.conf +++ b/.config/hypr/custom/execs.conf @@ -3,7 +3,11 @@ # exec-once = corectrl exec-once = otd-daemon # run driver veikk -exec-once = fcitx5 + +exec-once=fcitx5-remote -r +exec-once=fcitx5 -d --replace +exec-once=fcitx5-remote -r + exec-once = warp-taskbar # exec-once = sway @@ -11,7 +15,6 @@ exec-once = waybar -c ~/.config/waybar/primary_screen/config.jsonc exec-once = waybar -c ~/.config/waybar/secondary_screen/config.jsonc # exec-once = waybar - exec = gsettings set org.gnome.desktop.interface icon-theme 'Nordzy' exec = gsettings set org.gnome.desktop.interface cursor-theme 'Gruvbox' diff --git a/.config/hypr/custom/general.conf b/.config/hypr/custom/general.conf index 15b9d81..fb8949c 100644 --- a/.config/hypr/custom/general.conf +++ b/.config/hypr/custom/general.conf @@ -2,7 +2,7 @@ # Here's a list of every variable: https://wiki.hyprland.org/Configuring/Variables/ monitor = DP-1, highres, 0x0, 1 -monitor = HDMI-A-1, highres, 1920x0, 1 +monitor = HDMI-A-2, highres, 1920x0, 1 workspace = 1, monitor:DP-1, workspace = 3, monitor:DP-1, @@ -11,11 +11,11 @@ workspace = 7, monitor:DP-1, workspace = 9, monitor:DP-1, -workspace = 2, monitor:HDMI-A-1, -workspace = 4, monitor:HDMI-A-1, -workspace = 6, monitor:HDMI-A-1, -workspace = 8, monitor:HDMI-A-1, -workspace = 10, monitor:HDMI-A-1, +workspace = 2, monitor:HDMI-A-2, +workspace = 4, monitor:HDMI-A-2, +workspace = 6, monitor:HDMI-A-2, +workspace = 8, monitor:HDMI-A-2, +workspace = 10, monitor:HDMI-A-2, # # @@ -23,6 +23,7 @@ workspace = 10, monitor:HDMI-A-1, decoration { blur { enabled = false + new_optimizations = false } # drop_shadow = false shadow { @@ -39,7 +40,10 @@ input { repeat_rate = 55 } - +animations { + # enabled=false + first_launch_animation = false +} general { # Gaps and border @@ -51,8 +55,6 @@ general { col.active_border = rgba(0DB7D4FF) rgba(7AA2F7FF) rgba(9778D0FF) rgb(24C6DC) rgb(93EDC7) 45deg col.inactive_border = rgba(12131CFF) - # Functionality - # resize_on_border = true layout = master } @@ -61,10 +63,11 @@ master { } misc { - vrr = 0 - vfr = true - disable_hyprland_logo = true - disable_splash_rendering = true + vrr = 1 + vfr = false + # disable_hyprland_logo = true + # disable_splash_rendering = false + animate_manual_resizes = true force_default_wallpaper = 0 background_color = rgba(12131CFF) new_window_takes_over_fullscreen = 2 diff --git a/.config/hypr/custom/keybinding.conf b/.config/hypr/custom/keybinding.conf index c4a2395..7215706 100644 --- a/.config/hypr/custom/keybinding.conf +++ b/.config/hypr/custom/keybinding.conf @@ -50,17 +50,19 @@ bind = Shift+Alt, F, fullscreen, 0 bind = Alt, E, exec, nautilus --new-window # Launch Nautilus (file manager) bind = Alt, T, exec, kitty -bind = Alt, B, exec, thorium-browser --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime # phai them cai nay vao no moi chay tren wayland chuan xac duoc +bind = Alt, B, exec, thorium-browser bind = Shift+Alt, B, exec, brave -bind = Alt, O, exec, obsidian --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime --wayland-text-input-v3 -bind = Alt, V, exec, vesktop --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime --wayland-text-input-v3 +bind = Alt, O, exec, obsidian +bind = Alt+Shift, V, exec, vesktop + +bind = Alt, V, exec, pkill -x rofi || $scrPath/cliphist.sh c # launch clipboard bind = Alt, N, exec, swaync-client -t bind = Alt+Shift, N, exec, dunstctl close-all -bind = SUPER, SUPER_L, exec, pkill -x rofi || $scrPath/rofilaunch.sh w # launch application launcher -bind = SUPER, Tab, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch window switcher +bind = SUPER, SUPER_L, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch application launcher +bind = SUPER, Tab, exec, pkill -x rofi || $scrPath/rofilaunch.sh w # launch window switcher bind = SUPER, L, exec, swaylock # launch lock screen bind = Ctrl+SUPER, Ctrl+SUPER_L, exec, rofi diff --git a/.config/hypr/nvidia.conf b/.config/hypr/nvidia.conf new file mode 100644 index 0000000..d78f36f --- /dev/null +++ b/.config/hypr/nvidia.conf @@ -0,0 +1,12 @@ + +# █▄░█ █░█ █ █▀▄ █ ▄▀█ +# █░▀█ ▀▄▀ █ █▄▀ █ █▀█ + +# See https://wiki.hyprland.org/Nvidia/ + +env = LIBVA_DRIVER_NAME,nvidia +env = __GLX_VENDOR_LIBRARY_NAME,nvidia +env = __GL_VRR_ALLOWED,1 +env = WLR_DRM_NO_ATOMIC,1 + +cursor:no_hardware_cursors = true diff --git a/.config/hypr/scripts/windowtoleft.sh b/.config/hypr/scripts/windowtoleft.sh index bb632ca..7ed045f 100644 --- a/.config/hypr/scripts/windowtoleft.sh +++ b/.config/hypr/scripts/windowtoleft.sh @@ -1,60 +1,38 @@ #!/bin/bash -# Lấy thông tin của cửa sổ hiện tại chỉ một lần -window_info=$(hyprctl activewindow) +# Tắt globbing để tăng tốc +set -f -# Trích xuất giá trị cần thiết từ window_info -# 1892 -window_x_position=$(echo "$window_info" | grep -oP '(?<=at: )\d+') -window_at_monitor=$(echo "$window_info" | grep 'monitor' | awk '{print $2}') -window_at_workspace=$(echo "$window_info" | grep 'workspace' | awk '{print $2}') -window_state=$(echo "$window_info" | grep 'fullscreen:' | awk '{print $2}') +# Lấy thông tin cửa sổ và workspace bằng JSON +window_info=$(hyprctl activewindow -j) +current_workspace=$(hyprctl activeworkspace -j | jq -r '.id') -current_workspace=$(hyprctl activeworkspace | grep 'workspace' | awk '{print $3}') -window_width=$(echo "$window_info" | grep 'size:' | awk '{print $2}' | cut -d',' -f1) +# Trích xuất thông tin cần thiết +window_x_position=$(echo "$window_info" | jq -r '.at[0]') +window_state=$(echo "$window_info" | jq -r '.fullscreen') +window_width=$(echo "$window_info" | jq -r '.size[0]') +window_at_workspace=$(echo "$window_info" | jq -r '.workspace.id') -hyprctl dispatch fullscreenstate 0 # minimize trước khi di chuyển - -move(){ - # hyprctl dispatch movetoworkspace $((window_at_workspace-1)) \ - # && hyprctl dispatch focusmonitor 0 \ - # && hyprctl dispatch workspace $((current_workspace-2)) \ - # && hyprctl dispatch focusmonitor 1 - - hyprctl --batch " - dispatch movetoworkspace $((window_at_workspace-1)) ; - dispatch workspace $((current_workspace-2)) ; - dispatch focusmonitor 1 - " - exit 0 +# Hàm di chuyển được sửa lại +move() { + # Đảm bảo thứ tự lệnh đúng: di chuyển window trước, rồi chuyển workspace + hyprctl dispatch movetoworkspace "$((window_at_workspace-1))" + hyprctl dispatch workspace "$((current_workspace-2))" + hyprctl dispatch focusmonitor 1 + exit 0 } -# NOTE: Di chuyển cửa sổ nếu vị trí X vượt qua ngưỡng -if [ $window_x_position -eq 14 ] && [ $window_state -eq 1 ]; then - - if [ $current_workspace -eq 1 ]; then - exit 1 - fi - move +# Tắt fullscreen nếu đang bật +[ "$window_state" -eq 1 ] && hyprctl dispatch fullscreenstate 0 + +# Logic di chuyển +if [ "$window_x_position" -eq 14 ] && [ "$current_workspace" -ne 1 ]; then + # Kiểm tra các điều kiện để di chuyển + if [ "$window_state" -eq 1 ] || [ "$window_width" -eq 1892 ] || true; then + move + fi fi -if [ $window_x_position -eq 14 ] && [ $window_width -eq 1892 ]; then - - if [ $current_workspace -eq 1 ]; then - exit 1 - fi - move -fi - - -if [ $window_x_position -eq 14 ]; then - - if [ $current_workspace -eq 1 ]; then - exit 1 - fi - move -fi - -# Nếu không thoả điều kiện di chuyển, di chuyển cửa sổ sang phải +# Default action hyprctl dispatch movewindow l exit 0 diff --git a/.config/hypr/scripts/windowtoright.sh b/.config/hypr/scripts/windowtoright.sh index a908a89..04535fa 100644 --- a/.config/hypr/scripts/windowtoright.sh +++ b/.config/hypr/scripts/windowtoright.sh @@ -1,55 +1,38 @@ #!/bin/bash -# Lấy thông tin của cửa sổ hiện tại chỉ một lần -window_info=$(hyprctl activewindow) -# Trích xuất giá trị cần thiết từ window_info -# 1892 -window_x_position=$(echo "$window_info" | grep -oP '(?<=at: )\d+') -window_at_monitor=$(echo "$window_info" | grep 'monitor' | awk '{print $2}') -window_at_workspace=$(echo "$window_info" | grep 'workspace' | awk '{print $2}') -window_state=$(echo "$window_info" | grep 'fullscreen:' | awk '{print $2}') +# Tắt globbing để tăng tốc +set -f -current_workspace=$(hyprctl activeworkspace | grep 'workspace' | awk '{print $3}') -window_width=$(echo "$window_info" | grep 'size:' | awk '{print $2}' | cut -d',' -f1) +# Lấy thông tin cửa sổ và workspace bằng JSON +window_info=$(hyprctl activewindow -j) +current_workspace=$(hyprctl activeworkspace -j | jq -r '.id') -hyprctl dispatch fullscreenstate 0 # minimize trước khi di chuyển +# Trích xuất thông tin cần thiết +window_x_position=$(echo "$window_info" | jq -r '.at[0]') +window_state=$(echo "$window_info" | jq -r '.fullscreen') +window_width=$(echo "$window_info" | jq -r '.size[0]') +window_at_workspace=$(echo "$window_info" | jq -r '.workspace.id') -move(){ +# Tắt fullscreen nếu cần trước khi di chuyển +[ "$window_state" -eq 1 ] && hyprctl dispatch fullscreenstate 0 - hyprctl --batch " - dispatch movetoworkspace $((window_at_workspace+1)) ; - dispatch workspace $((current_workspace+2)) ; - dispatch focusmonitor 0 - " - exit 0 +# Hàm di chuyển được tối ưu +move() { + hyprctl dispatch movetoworkspace "$((window_at_workspace+1))" + hyprctl dispatch workspace "$((current_workspace+2))" + hyprctl dispatch focusmonitor 0 + exit 0 } -# NOTE: Di chuyển cửa sổ nếu vị trí X vượt qua ngưỡng -if [ $window_x_position -eq 1934 ] && [ $window_state -eq 1 ]; then - - if [ $current_workspace -eq 8 ]; then - exit 1 - fi - move +# Logic di chuyển được đơn giản hóa +if [ "$current_workspace" -ne 8 ]; then + if [ "$window_x_position" -eq 1934 ] && { [ "$window_state" -eq 1 ] || [ "$window_width" -eq 1892 ]; }; then + move + elif [ "$window_x_position" -eq 2990 ]; then + move + fi fi -if [ $window_x_position -eq 1934 ] && [ $window_width -eq 1892 ]; then - - if [ $current_workspace -eq 8 ]; then - exit 1 - fi - move -fi - - -if [ $window_x_position -eq 2990 ]; then - - if [ $current_workspace -eq 8 ]; then - exit 1 - fi - move -fi - -# Nếu không thoả điều kiện di chuyển, di chuyển cửa sổ sang phải +# Default action hyprctl dispatch movewindow r exit 0 diff --git a/.config/hypr/scripts/workspaceV2descrease.sh b/.config/hypr/scripts/workspaceV2descrease.sh index 21dcc81..b485aaa 100644 --- a/.config/hypr/scripts/workspaceV2descrease.sh +++ b/.config/hypr/scripts/workspaceV2descrease.sh @@ -1,25 +1,23 @@ #!/bin/bash -# Extract workspace ID from the output of hyprctl activewindow -current_workspace=$(hyprctl activeworkspace | grep 'workspace' | awk '{print $3}') -# Determine the second workspace based on whether the current workspace is even or odd -if [ $((current_workspace % 2)) -eq 0 ]; then - second_workspace=$((current_workspace - 1)) -else - second_workspace=$((current_workspace + 1)) -fi +# Tắt globbing để tăng tốc +set -f +# Lấy current_workspace trực tiếp từ JSON +current_workspace=$(hyprctl activeworkspace -j | jq -r '.id') + +# Tính toán second_workspace dựa trên chẵn/lẻ +second_workspace=$((current_workspace % 2 == 0 ? current_workspace - 1 : current_workspace + 1)) + +# Tính toán workspace cho các monitor primary_monitor_workspace=$((current_workspace - 2)) secondary_monitor_workspace=$((second_workspace - 2)) -# Check if primary_monitor_workspace is less than or equal to 0 -# or if secondary_monitor_workspace is greater than or equal to 11 -if [ "$primary_monitor_workspace" -le 0 ] || [ "$secondary_monitor_workspace" -ge 9 ]; then - exit 1 -fi +# Kiểm tra giới hạn workspace +[ "$primary_monitor_workspace" -le 0 ] || [ "$secondary_monitor_workspace" -ge 9 ] && exit 1 + +# Thực thi chuyển đổi workspace với tối ưu animation +hyprctl dispatch workspace "$primary_monitor_workspace" +hyprctl dispatch workspace "$secondary_monitor_workspace" -hyprctl --batch " - dispatch workspace $secondary_monitor_workspace ; - dispatch workspace $primary_monitor_workspace ; -" exit 0 diff --git a/.config/hypr/scripts/workspaceV2inscrease.sh b/.config/hypr/scripts/workspaceV2inscrease.sh index bca3141..18c8967 100644 --- a/.config/hypr/scripts/workspaceV2inscrease.sh +++ b/.config/hypr/scripts/workspaceV2inscrease.sh @@ -1,31 +1,25 @@ #!/bin/bash -# Extract workspace ID from the output of hyprctl activewindow -current_monitor=$(hyprctl activeworkspace | grep 'monitorID' | awk '{print $2}') -current_workspace=$(hyprctl activeworkspace | grep 'workspace' | awk '{print $3}') +# Tắt globbing để tăng tốc +set -f -# Determine the second workspace based on whether the current workspace is even or odd -echo $current_workspace -echo $current_monitor +# Lấy thông tin từ JSON output +workspace_info=$(hyprctl activeworkspace -j) +current_monitor=$(echo "$workspace_info" | jq -r '.monitorID') +current_workspace=$(echo "$workspace_info" | jq -r '.id') -if [ $((current_workspace % 2)) -eq 0 ]; then - second_workspace=$((current_workspace - 1)) -else - second_workspace=$((current_workspace + 1)) -fi +# Tính toán second_workspace +second_workspace=$((current_workspace % 2 == 0 ? current_workspace - 1 : current_workspace + 1)) -primary_monitor_workspace=$((current_workspace + 2)) # 1 + 2 =3 -secondary_monitor_workspace=$((second_workspace + 2)) # 2 + 2 =4 +# Tính toán workspace cho các monitor +primary_monitor_workspace=$((current_workspace + 2)) +secondary_monitor_workspace=$((second_workspace + 2)) -# Check if primary_monitor_workspace is less than or equal to 0 -# or if secondary_monitor_workspace is greater than or equal to 11 -if [ "$primary_monitor_workspace" -le 0 ] || [ "$secondary_monitor_workspace" -ge 9 ]; then - exit 1 -fi +# Kiểm tra giới hạn workspace +[ "$primary_monitor_workspace" -le 0 ] || [ "$secondary_monitor_workspace" -ge 9 ] && exit 1 +# Thực thi chuyển đổi workspace với tối ưu animation +hyprctl dispatch workspace "$primary_monitor_workspace" +hyprctl dispatch workspace "$secondary_monitor_workspace" - -hyprctl --batch " - dispatch workspace $secondary_monitor_workspace ; - dispatch workspace $primary_monitor_workspace ; -" +exit 0 diff --git a/.config/hypr/themes/common.conf b/.config/hypr/themes/common.conf index 45759cc..879f4d0 100644 --- a/.config/hypr/themes/common.conf +++ b/.config/hypr/themes/common.conf @@ -24,5 +24,6 @@ decoration { dim_special = 0.3 blur { special = true + new_optimizations = false } } diff --git a/.config/hypr/windowrules.conf b/.config/hypr/windowrules.conf index 72f3a50..6ccd4f2 100644 --- a/.config/hypr/windowrules.conf +++ b/.config/hypr/windowrules.conf @@ -51,55 +51,55 @@ # windowrulev2 = opacity 0.80 0.80,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk # windowrulev2 = opacity 0.80 0.80,class:^(io.github.flattool.Warehouse)$ # Warehouse-Gtk -windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Progress Dialog — Dolphin)$ -windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$ +# windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Progress Dialog — Dolphin)$ +# windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$ -windowrulev2 = float,title:^(About Mozilla Firefox)$ +# windowrulev2 = float,title:^(About Mozilla Firefox)$ -windowrulev2 = float,class:^(brave)$,title:^(Picture-in-Picture)$ -windowrulev2 = float,class:^(brave)$,title:^(Library)$ +# windowrulev2 = float,class:^(brave)$,title:^(Picture-in-Picture)$ +# windowrulev2 = float,class:^(brave)$,title:^(Library)$ -windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$ -windowrulev2 = float,class:^(firefox)$,title:^(Library)$ +# windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$ +# windowrulev2 = float,class:^(firefox)$,title:^(Library)$ -windowrulev2 = float,class:^(kitty)$,title:^(top)$ -windowrulev2 = float,class:^(kitty)$,title:^(btop)$ -windowrulev2 = float,class:^(kitty)$,title:^(htop)$ -windowrulev2 = float,class:^(vlc)$ -windowrulev2 = float,class:^(kvantummanager)$ -windowrulev2 = float,class:^(qt5ct)$ -windowrulev2 = float,class:^(qt6ct)$ -windowrulev2 = float,class:^(nwg-look)$ -windowrulev2 = float,class:^(org.kde.ark)$ -windowrulev2 = float,class:^(org.pulseaudio.pavucontrol)$ -windowrulev2 = float,class:^(blueman-manager)$ -windowrulev2 = float,class:^(nm-applet)$ -windowrulev2 = float,class:^(nm-connection-editor)$ -windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$ +# windowrulev2 = float,class:^(kitty)$,title:^(top)$ +# windowrulev2 = float,class:^(kitty)$,title:^(btop)$ +# windowrulev2 = float,class:^(kitty)$,title:^(htop)$ +# windowrulev2 = float,class:^(vlc)$ +# windowrulev2 = float,class:^(kvantummanager)$ +# windowrulev2 = float,class:^(qt5ct)$ +# windowrulev2 = float,class:^(qt6ct)$ +# windowrulev2 = float,class:^(nwg-look)$ +# windowrulev2 = float,class:^(org.kde.ark)$ +# windowrulev2 = float,class:^(org.pulseaudio.pavucontrol)$ +# windowrulev2 = float,class:^(blueman-manager)$ +# windowrulev2 = float,class:^(nm-applet)$ +# windowrulev2 = float,class:^(nm-connection-editor)$ +# windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$ -windowrulev2 = float,class:^(Signal)$ # Signal-Gtk -windowrulev2 = float,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk -windowrulev2 = float,class:^(app.drey.Warp)$ # Warp-Gtk -windowrulev2 = float,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt -windowrulev2 = float,class:^(yad)$ # Protontricks-Gtk -windowrulev2 = float,class:^(eog)$ # Imageviewer-Gtk -windowrulev2 = float,class:^(io.github.alainm23.planify)$ # planify-Gtk -windowrulev2 = float,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk -windowrulev2 = float,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gkk -windowrulev2 = float,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk -windowrulev2 = float,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk +# windowrulev2 = float,class:^(Signal)$ # Signal-Gtk +# windowrulev2 = float,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk +# windowrulev2 = float,class:^(app.drey.Warp)$ # Warp-Gtk +# windowrulev2 = float,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt +# windowrulev2 = float,class:^(yad)$ # Protontricks-Gtk +# windowrulev2 = float,class:^(eog)$ # Imageviewer-Gtk +# windowrulev2 = float,class:^(io.github.alainm23.planify)$ # planify-Gtk +# windowrulev2 = float,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk +# windowrulev2 = float,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gkk +# windowrulev2 = float,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk +# windowrulev2 = float,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk -windowrule = pseudo,fcitx +# windowrule = pseudo,fcitx -# █░░ ▄▀█ █▄█ █▀▀ █▀█   █▀█ █░█ █░░ █▀▀ █▀ -# █▄▄ █▀█ ░█░ ██▄ █▀▄   █▀▄ █▄█ █▄▄ ██▄ ▄█ +# # █░░ ▄▀█ █▄█ █▀▀ █▀█   █▀█ █░█ █░░ █▀▀ █▀ +# # █▄▄ █▀█ ░█░ ██▄ █▀▄   █▀▄ █▄█ █▄▄ ██▄ ▄█ -layerrule = blur,rofi -layerrule = ignorezero,rofi -layerrule = blur,notifications -layerrule = ignorezero,notifications -layerrule = blur,swaync-notification-window -layerrule = ignorezero,swaync-notification-window -layerrule = blur,swaync-control-center -layerrule = ignorezero,swaync-control-center -layerrule = blur,logout_dialog +# layerrule = blur,rofi +# layerrule = ignorezero,rofi +# layerrule = blur,notifications +# layerrule = ignorezero,notifications +# layerrule = blur,swaync-notification-window +# layerrule = ignorezero,swaync-notification-window +# layerrule = blur,swaync-control-center +# layerrule = ignorezero,swaync-control-center +# layerrule = blur,logout_dialog diff --git a/.config/hypr/workspaces.conf b/.config/hypr/workspaces.conf index d84db71..082cb6a 100644 --- a/.config/hypr/workspaces.conf +++ b/.config/hypr/workspaces.conf @@ -6,7 +6,7 @@ workspace=3,monitor:DP-1 workspace=4,monitor:DP-1 workspace=5,monitor:DP-1 workspace=6,monitor:HDMI-A-1,default:true -workspace=7,monitor:HDMI-A-1 -workspace=8,monitor:HDMI-A-1 -workspace=9,monitor:HDMI-A-1 -workspace=10,monitor:HDMI-A-1 +workspace=7,monitor:HDMI-A-1 +workspace=8,monitor:HDMI-A-1 +workspace=9,monitor:HDMI-A-1 +workspace=10,monitor:HDMI-A-1