hyprwm / Hyprland

Hyprland is a highly customizable dynamic tiling Wayland compositor that doesn't sacrifice on its looks.

Home Page:https://hyprland.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GTK cursor theme dosent work

laycookie opened this issue · comments

Hyprland Version

System/Version info
❯ hyprctl systeminfo
Hyprland, built from branch  at commit 67f47fbdccd639502a76ccb3552a23df37f19ef8  ().
Date: 2024-04-14
Tag: , commits: @COMMITS@

flags: (if any)


System Information:
System name: Linux
Node name: nixos
Release: 6.6.26
Version: #1-NixOS SMP PREEMPT_DYNAMIC Wed Apr 10 14:36:08 UTC 2024


GPU information: 
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104 [GeForce GTX 1080] [10de:1b80] (rev a1) (prog-if 00 [VGA controller])


os-release: ANSI_COLOR="1;34"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="24.05.20240412.cfd6b5f"
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:

   

Bug or Regression?

Bug

Description

My cursor defaults to a standard cursor when I hover over most of the apps with the exception of swaybar for whatever reason.

How to reproduce

I have attempted to set my cursor theme on nixos trough home manager and gtk with the following nix file.

  gtk = {
    enable = true;
    iconTheme = {
      name = "Yaru-magenta-dark";
      package = pkgs.yaru-theme;
    };

    theme = {
      name = "Tokyonight-Dark-B-LB";
      package = pkgs.tokyo-night-gtk;
    };

    cursorTheme = {
      name = "Bibata-Modern-Classic";
      package = pkgs.bibata-cursors;
    };
  };

I also had manually set my env variables.

    HYPRCURSOR_THEME="Bibata-Modern-Classic";
    HYPRCURSOR_SIZE="24";
    XCURSOR_THEME="Bibata-Modern-Classic";
    XCURSOR_SIZE="24";

My gtk script previously worked even without the env variables but after I updated from version 0.35.0 it stopped working.

Crash reports, logs, images, videos

No response

commented

HYPRCURSOR_THEME="Bibata-Modern-Classic";

you can't use an xcursor theme with hyprcursor. See https://wiki.hyprland.org/Hypr-Ecosystem/hyprcursor/

If you don't want to use hyprcursor, use misc:enable_hyprcursor = false

@vaxerski Thank you for your response, sadly adding misc:enable_hyprcursor = false did not solve my issue. I also have tried removing HYPRCURSOR env variables but that also didn't have any effect.

There is also small contradiction in your statement and the wiki, as the wiki states that "if there is no hyprcursor themes installed it will fall back to XCursor" which sounds like it should happen automatically.

Im not sure how important that is but no matter if I have misc:enable_hyprcursor = false or don't, I can still get my cursor to show up with the correct theme if I just hover over my swaybar. Which wouldn't make much sense if my theme isnt set in some form.

commented

looks like some nix shenanigans, tbh. Have you tried setting XCURSOR_THEME inside the hyprland config?

@vaxerski My apologies I'm relatively new to Linux so I'm not exactly sure what you mean by that. Are you talking about setting up a system variable trough the hypr.conf or am I miss understanding something?

If you are talking about adding exec-once = hyprctl setcursor Bibata-Modern-Classic 24 then yes I have attempted to add it but this has also not resulted in no change.

You should use home.pointerCursor to set your cursor with Home Manager instead of the GTK module as it applies it to non-GTK apps as well.

https://mynixos.com/home-manager/options/home.pointerCursor

You should use home.pointerCursor to set your cursor with Home Manager instead of the GTK module as it applies it to non-GTK apps as well.

https://mynixos.com/home-manager/options/home.pointerCursor

I tried adding this to my home.nix file but again nothing has changes.

home = {
		username = "Dennis";
		homeDirectory = "/home/Dennis";
		pointerCursor.gtk.enable = "true";
		pointerCursor.name = "Bibata-Modern-Classic";
		pointerCursor.package = pkgs.bibata-cursors;
	};