Mouse cursor not changing when hovering over something clickable

Hi all. I’m running i3/X and am having a weird issue with mouse cursors.

  • The cursor always renders correctly (i.e. it’s never an “X” or anything like that)
  • When hovering over a textbox, the mouse always changes to a typing indicator like you’d expect
  • When hovering over something clickable, the mouse usually doesn’t change into a pointer finger

I say usually because it works fine in emacs and nheko, but not firefox, keepassxc, kicad, or thunar. I also tried chromium which is interesting; it’s broken for anything that’s native to chrome (like the tab buttons etc.) but it works fine in the dom.

I tried updating my Nix config to use a different mouse cursor. I found it consistently updated properly in every program, but the hovering behaviour was identical as before.

My Nix config is split across a bunch of files in a private repo so it’s not easy to upload the whole thing. Here are a few potentially(?) relevant snippets though:

    # home manager
    gtk = {
      enable = true;
      gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
    };
    fonts = {
      packages = with pkgs; [
        nerd-fonts.noto
        noto-fonts
        font-awesome
      ];

      enableDefaultPackages = true;
    };

Thanks in advance!