From fc213e744005c61380a04fcce26cc0e7803aef15 Mon Sep 17 00:00:00 2001 From: andrey_varnavskiy Date: Sat, 14 Dec 2024 05:34:41 +0500 Subject: [PATCH] hyprland config rework --- home-manager/modules/hyprland/binds.nix | 20 ++++- home-manager/modules/hyprland/main.nix | 110 +++++++++++++++++------- 2 files changed, 97 insertions(+), 33 deletions(-) diff --git a/home-manager/modules/hyprland/binds.nix b/home-manager/modules/hyprland/binds.nix index b90447b..0ddf4e8 100644 --- a/home-manager/modules/hyprland/binds.nix +++ b/home-manager/modules/hyprland/binds.nix @@ -1,4 +1,21 @@ -{ +{ pkgs, ... }: +let + gamemode = pkgs.writeShellScriptBin "gamemode" '' + #!/bin/sh + HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}') + if [ "$HYPRGAMEMODE" = 1 ] ; then + hyprctl --batch "\ + keyword animations:enabled 0;\ + keyword decoration:shadow:enabled 0;\ + keyword decoration:blur:enabled 0;\ + keyword general:gaps_in 0;\ + keyword general:gaps_out 0;\ + keyword decoration:rounding 0" + exit + fi + hyprctl reload + ''; +in { wayland.windowManager.hyprland.settings = { bind = [ "$mainMod SHIFT, Return, exec, $terminal" @@ -15,6 +32,7 @@ "$mainMod SHIFT, B, exec, pkill -SIGUSR1 waybar" "$mainMod, L, exec, loginctl lock-session" "$mainMod, P, exec, hyprpicker -an" + "$mainMod, G, exec, ${gamemode}/bin/gamemode" ", Print, exec, grimblast --notify --freeze copysave area" # Moving focus diff --git a/home-manager/modules/hyprland/main.nix b/home-manager/modules/hyprland/main.nix index 8bd1203..5c77ada 100644 --- a/home-manager/modules/hyprland/main.nix +++ b/home-manager/modules/hyprland/main.nix @@ -25,14 +25,9 @@ "wl-paste --type image --watch cliphist store" ]; - input = { - kb_layout = "us,ru"; - kb_options = "grp:caps_toggle"; - }; - general = { - gaps_in = 0; - gaps_out = 0; + gaps_in = 5; + gaps_out = 20; border_size = 5; @@ -46,23 +41,91 @@ }; decoration = { + rounding = 10; + + active_opacity = 1.0; + inactive_opacity = 1.0; + shadow = { - enabled = false; + enabled = true; + range = 4; + render_power = 3; + color = "rgba(1a1a1aee)"; }; blur = { - enabled = false; + enabled = true; + size = 3; + passes = 1; + + vibrancy = 0.1696; }; }; animations = { - enabled = false; + enabled = "yes, please :)"; + + bezier = [ + "easeOutQuint,0.23,1,0.32,1" + "easeInOutCubic,0.65,0.05,0.36,1" + "linear,0,0,1,1" + "almostLinear,0.5,0.5,0.75,1.0" + "quick,0.15,0,0.1,1" + ]; + + animation = [ + "global, 1, 10, default" + "border, 1, 5.39, easeOutQuint" + "windows, 1, 4.79, easeOutQuint" + "windowsIn, 1, 4.1, easeOutQuint, popin 87%" + "windowsOut, 1, 1.49, linear, popin 87%" + "fadeIn, 1, 1.73, almostLinear" + "fadeOut, 1, 1.46, almostLinear" + "fade, 1, 3.03, quick" + "layers, 1, 3.81, easeOutQuint" + "layersIn, 1, 4, easeOutQuint, fade" + "layersOut, 1, 1.5, linear, fade" + "fadeLayersIn, 1, 1.79, almostLinear" + "fadeLayersOut, 1, 1.39, almostLinear" + "workspaces, 1, 1.94, almostLinear, fade" + "workspacesIn, 1, 1.21, almostLinear, fade" + "workspacesOut, 1, 1.94, almostLinear, fade" + ]; + }; + + input = { + kb_layout = "us,ru"; + kb_options = "grp:caps_toggle"; + }; + + gestures = { + workspace_swipe = true; + workspace_swipe_invert = false; + workspace_swipe_forever = true; + }; + + dwindle = { + pseudotile = true; + preserve_split = true; + }; + + master = { + new_status = "slave"; + new_on_top = true; + mfact = 0.5; + }; + + misc = { + force_default_wallpaper = 0; + disable_hyprland_logo = true; }; windowrulev2 = [ "bordersize 0, floating:0, onworkspace:w[t1]" - "float,class:(mpv)|(imv)" + "float,class:(mpv)|(imv)|(showmethekey-gtk)" + "move 990 60,size 900 170,pin,noinitialfocus,class:(showmethekey-gtk)" + "noborder,nofocus,class:(showmethekey-gtk)" "workspace 3,class:(obsidian)" "workspace 4,class:(com.obsproject.Studio)" @@ -81,27 +144,10 @@ "nofocus, class:^(xwaylandvideobridge)$" ]; - dwindle = { - pseudotile = true; - preserve_split = true; - }; - - master = { - new_status = "slave"; - new_on_top = true; - mfact = 0.5; - }; - - misc = { - force_default_wallpaper = 0; - disable_hyprland_logo = true; - }; - - gestures = { - workspace_swipe = true; - workspace_swipe_invert = false; - workspace_swipe_forever = true; - }; + workspace = [ + "w[tv1], gapsout:0, gapsin:0" + "f[1], gapsout:0, gapsin:0" + ]; }; }; }