horriblename / hyprgrass

hyprland plugin for touch gestures
BSD 3-Clause "New" or "Revised" License
225 stars 7 forks source link

Plugin doesn't work #111

Closed AsriFox closed 2 months ago

AsriFox commented 2 months ago

Any gestures from this plugin don't do anything, while Hyprland's edge swipes (workspace_swipe_touch) work.

Workspace swipes definitely used to work (a week ago, perhaps), though I haven't tried the old commit yet to check.

Using NixOS unstable with flakes (full config).

Relevant configuration with additional binds for testing:

# Touchscreen
wayland.windowManager.hyprland = {
  plugins = with inputs; [
    hyprgrass.packages.${pkgs.system}.default
  ];
  settings = {
    debug = {
      disable_logs = false;
    };
    device = [
      {
        name = "goodix-capacitive-touchscreen-1";
        transform = "3";
      }
    ];
    gestures = {
      workspace_swipe = true;
      workspace_swipe_touch = true;
      workspace_swipe_cancel_ratio = 0.15;
    };
    plugin = {
      touch_gestures = {
        sensitivity = 4.0;
        workspace_swipe_edge = "false";
      };
    };
    bind = [
      ", edge:d:u, exec, firefox"
      ", swipe:4:d, killactive"
    ];
    bindm = [ ", longpress:2, movewindow" ];
  };
};

Output of hyprctl plugin list:

Plugin hyprgrass by horriblename:
    Handle: 311b840
    Version: 0.6
    Description: Touchscreen gestures

When executing a gesture, the log contains the following lines:

[wlr] [types/seat/wlr_seat_touch.c:189] could not create touch point
nine7nine commented 2 months ago

@AsriFox - What's the output of hyprctl systeminfo ??

Are you building hyprland from git?

AsriFox commented 2 months ago

Yes, Hyprland is built from the latest git commit with the hyprland flake. Hyprgrass is also built from the latest commit.

Systeminfo:

Hyprland, built from branch  at commit 4540d8ccd51e485485af364a951ea7df240585be  ().
Date: 2024-04-24
Tag: , commits: @COMMITS@

flags: (if any)

System Information:
System name: Linux
Node name: minibook
Release: 6.6.28
Version: #1-NixOS SMP PREEMPT_DYNAMIC Wed Apr 17 09:19:38 UTC 2024

GPU information: 
00:02.0 VGA compatible controller [0300]: Intel Corporation GeminiLake [UHD Graphics 600] [8086:3185] (rev 06) (prog-if 00 [VGA controller])

os-release: ANSI_COLOR="1;34"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="24.05.20240421.6143fc5"
DOCUMENTATION_URL="https://nixos.org/learn.html"
HOME_URL="https://nixos.org/"
ID=nixos
IMAGE_ID=""
IMAGE_VERSION=""
LOGO="nix-snowflake"
NAME=NixOS
PRETTY_NAME="NixOS 24.05 (Uakari)"
SUPPORT_URL="https://nixos.org/community.html"
VERSION="24.05 (Uakari)"
VERSION_CODENAME=uakari
VERSION_ID="24.05"

plugins:
  hyprgrass by horriblename ver 0.6
nine7nine commented 2 months ago

You'll need to wait until my PR lands: https://github.com/horriblename/hyprgrass/pull/112 (or manually build it / install it, with the PR applied)

Hyprland has very recently changed HyprlandAPI callbacks for plugins. the above patch is required to fix the callbacks in hyprgrass.

AsriFox commented 2 months ago

Plugin works after #112. Thank you!

nine7nine commented 2 months ago

no problem!

Just a heads up though: Hyprland devs are doing a big rework right now, so ALL plugins are broken again... A bunch of data structures have changed - I haven't even bothered looking at updating the code, as I suspect the dust hasn't settled yet on the changed.

I've frozen Hyprland-git at commit: (https://github.com/hyprwm/Hyprland/commit/f94264928a8ab4da8759d4ded25a46af44451d38) on my box, as that is the last commit before things start breaking.

so, if using hyprland git (instead of versions 0.39/0.39.1) you might want to avoid updating Hyprland for a bit.