Gamemode Script in new Lua Syntax

Hyprland version
Hyprland 0.56.2 built from branch v0.56.2 at commit efb50993780079460b0cbed1363e2166a2de1d9f clean ([gha] Nix: update inputs).Date: Wed Aug 5 14:13:21 2026Tag: v0.56.2, commits: 7661

Libraries:Hyprgraphics: built against 0.5.1, system has 0.5.1Hyprutils: built against 0.14.0, system has 0.14.1Hyprcursor: built against 0.1.13, system has 0.1.13Hyprlang: built against 0.6.8, system has 0.6.8Aquamarine: built against 0.14.0, system has 0.14.0

Version ABI string: efb50993780079460b0cbed1363e2166a2de1d9f_aq_0.14_hu_0.14_hg_0.5_hc_0.1_hlg_0.6no flags were set

Describe your issue / feature…

hyprctl --batch "\
    eval hl.config({'\
      animations = {\
        enabled = false,\
        borderangle = { enabled = false }\
      },\
      decoration = {\
        shadow = { enabled = false },\
        blur = { enabled = false },\
        active_opacity =  1,\
        inactive_opacity =  1,\
        fullscreen_opacity =  1,\
        rounding = 0,\
      },\
      general = {\
        gaps_in = 0,\
        gaps_out = 0,\
        border_size = 1\
      }'\
    });"

I want to transfer the (old wiki) gamemode script to lua but I can not seem to get this right.
The above batch command executes with ok but does not actually change anything (blur and window borders are still animated/active).

If I execute the below oneliner it does stop the window animations and would work as expected.
`hyprctl eval 'hl.config({ animations = { enabled = false } })`

What I am doing wrong ?
I supsect it is something with the multiline string.

System Info:
Operating System: Arch
LinuxKernel: Linux 7.1.8-arch1-3
Architecture: x86-64

  • First of all, because of the way you are quoting the lua you don’t need all those backslashes. They might cause problems.
  • Second, I find it easier to use eval directly, as i always get weird errors that i cant work out when trying to --batch
  • Third, the way to configure animations has now changed, and so you should probably remove the borderangle part and replace it with the new style as a second lua command in the eval.

So try this:

hyprctl eval 'hl.config({
      animations = {
        enabled = false,
      },
      decoration = {
        shadow = { enabled = false },
        blur = { enabled = false },
        active_opacity =  1,
        inactive_opacity =  1,
        fullscreen_opacity =  1,
        rounding = 0,
      },
      general = {
        gaps_in = 0,
        gaps_out = 0,
        border_size = 1
      }
    });
hl.animation({ leaf = "borderangle", enabled = false})'