hyprland: drop hyprspace, cut compositor latency
Removes the Hyprspace plugin entirely — blank-window snapshots from the 0.52.0/0.52.1 ABI skew aren't worth the patch-pin work right now. With the overview gone, also rebalances the desktop for input latency: - decoration.blur disabled (two passes at 3440x1440 were the biggest per-frame GPU cost) - render.direct_scanout = true so fullscreen apps bypass the compositor - misc.vrr = 2 (always on) instead of fullscreen-only Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
64a3051b82
commit
ddcc76efeb
1 changed files with 9 additions and 24 deletions
|
|
@ -57,12 +57,6 @@
|
|||
enable = true;
|
||||
systemd.variables = [ "--all" ];
|
||||
|
||||
# Native `plugin = ...` directive crashes Hyprland on the current
|
||||
# nixpkgs combo (compositor 0.52.1 vs plugin built for 0.52.0).
|
||||
# HM's plugins list routes through `hyprctl plugin load` at runtime,
|
||||
# which tolerates the patch-level skew.
|
||||
plugins = [ pkgs.hyprlandPlugins.hyprspace ];
|
||||
|
||||
settings = {
|
||||
# Pin the OC'd 190 Hz mode so we don't fall back to 60.
|
||||
monitor = "DP-2,3440x1440@190,0x0,1";
|
||||
|
|
@ -91,13 +85,18 @@
|
|||
|
||||
decoration = {
|
||||
rounding = 8;
|
||||
# Blur disabled — two passes at 3440x1440 was the biggest
|
||||
# contributor to per-frame compositor latency. Re-enable with
|
||||
# smaller size/passes if you miss the look.
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 6;
|
||||
passes = 2;
|
||||
enabled = false;
|
||||
};
|
||||
};
|
||||
|
||||
render = {
|
||||
direct_scanout = true; # fullscreen apps bypass compositor
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = true;
|
||||
# speed = tenths of a second; 2 = 0.2s. Drop to 1 for instant-ish.
|
||||
|
|
@ -132,7 +131,7 @@
|
|||
disable_hyprland_logo = true;
|
||||
disable_splash_rendering = true;
|
||||
focus_on_activate = true;
|
||||
vrr = 1; # 1 = on for fullscreen, 2 = always
|
||||
vrr = 2; # 1 = on for fullscreen, 2 = always
|
||||
vfr = false; # keep compositor ticking, don't idle between frames
|
||||
};
|
||||
|
||||
|
|
@ -143,17 +142,6 @@
|
|||
"immediate, class:^(gamescope)$"
|
||||
];
|
||||
|
||||
# Hyprspace overview plugin — see README for full option set
|
||||
plugin.overview = {
|
||||
centerAligned = true;
|
||||
hideTopLayers = true;
|
||||
hideOverlayLayers = true;
|
||||
showNewWorkspace = true;
|
||||
exitOnClick = true;
|
||||
exitOnSwitch = true;
|
||||
dragAlpha = 0.8;
|
||||
};
|
||||
|
||||
# Mirror the GNOME bindings so muscle memory carries over
|
||||
bind = [
|
||||
"$mod, T, exec, $term"
|
||||
|
|
@ -168,9 +156,6 @@
|
|||
"$mod, P, pseudo"
|
||||
"$mod, S, togglesplit"
|
||||
|
||||
# Hyprspace overview — routed via hyprctl because home-manager
|
||||
# loads the plugin in exec-once, after config parse.
|
||||
"$mod, SPACE, exec, hyprctl dispatch overview:toggle"
|
||||
|
||||
# Focus
|
||||
"$mod, left, movefocus, l"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue