nixos-configs/modules/desktop/environment/home/hyprgrass.nix

76 lines
2.1 KiB
Nix
Raw Normal View History

self: {
2024-06-16 14:33:58 -04:00
lib,
osConfig,
2024-06-16 14:33:58 -04:00
pkgs,
...
}: let
inherit (lib) map mkIf;
inherit (self.lib.hypr) mkBind;
2024-06-16 14:33:58 -04:00
cfg = osConfig.roles.desktop;
in {
config = mkIf cfg.isTouchscreen {
2024-06-16 14:33:58 -04:00
wayland.windowManager.hyprland = {
plugins = [self.inputs.hyprgrass.packages.${pkgs.system}.default];
2024-06-16 14:33:58 -04:00
settings = {
plugin.touch_gestures = {
# The default sensitivity is probably too low on tablet screens,
# I recommend turning it up to 4.0
sensitivity = 4.0;
2024-06-16 14:33:58 -04:00
# must be >= 3
workspace_swipe_fingers = 3;
2024-12-10 20:40:28 -05:00
emulate_touchpad_swipe = true;
# switching workspaces by swiping from an edge, this is separate from workspace_swipe_fingers
# and can be used at the same time
# possible values: l, r, u, or d
# to disable it set it to anything else
# workspace_swipe_edge = "d";
2024-06-16 14:33:58 -04:00
# in milliseconds
long_press_delay = 400;
2024-10-30 20:32:05 -04:00
# resize windows by long-pressing on window borders and gaps.
# If general:resize_on_border is enabled, general:extend_border_grab_area is used for floating
# windows
resize_on_border_long_press = true;
2024-10-30 20:32:05 -04:00
# in pixels, the distance from the edge that is considered an edge
edge_margin = 10;
2024-10-30 20:32:05 -04:00
# send proper cancel events to windows instead of hacky touch_up events,
# NOT recommended as it crashed a few times, once it's stabilized I'll make it the default
experimental.send_cancel = 0;
2024-10-30 20:32:05 -04:00
hyprgrass-bind = map mkBind [
{
key = "edge:u:d";
command = "ags request 'open win-applauncher'";
}
];
hyprgrass-bindm = map mkBind [
{
key = "longpress:2";
dispatcher = "movewindow";
}
];
2024-06-16 14:33:58 -04:00
};
gestures = {
workspace_swipe = true;
workspace_swipe_fingers = 3;
workspace_swipe_touch = false;
workspace_swipe_cancel_ratio = 0.15;
};
};
};
};
# For accurate stack trace
_file = ./hyprgrass.nix;
}