hyprwm / Hyprland

Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
https://hyprland.org
BSD 3-Clause "New" or "Revised" License
21.38k stars 897 forks source link

Hyprland ignores cursor theme #6383

Closed DADA30000 closed 4 months ago

DADA30000 commented 4 months ago

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit bf75723f2742973d4820f3f5378dff8c99333660 (). Date: 2024-06-09 Tag: , commits: flags: (if any) System Information: System name: Linux Node name: nixos Release: 6.6.32 Version: #1-NixOS SMP PREEMPT_DYNAMIC Sat May 25 14:22:56 UTC 2024 GPU information: Flags: bus master, VGA palette snoop, 66MHz, medium devsel, latency 64, NUMA node 0, IOMMU group 11 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU117 [GeForce GTX 1650] [10de:1f82] (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.11.20240607.051f920" 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.11 (Vicuña)" SUPPORT_URL="https://nixos.org/community.html" VERSION="24.11 (Vicuña)" VERSION_CODENAME="vicuña" VERSION_ID="24.11" plugins: hyprexpo by Vaxry ver 1.0 ======Config-Start====== Config File: /home/l0lk3k/.config/hypr/hyprland.conf: Read Succeeded exec-once = /nix/store/bnipzdfv788l7yvgn7k7s7gp76sd1zpz-dbus-1.14.10/bin/dbus-update-activation-environment --systemd DISPLAY HYPRLAND_INSTANCE_SIGNATURE WAYLAND_DISPLAY XDG_CURRENT_DESKTOP && systemctl --user stop hyprland-session.target && systemctl --user start hyprland-session.target plugin=/nix/store/91ljiqi2raxbnx3gh4yh6yva1h4174ly-hyprexpo-0.1/lib/libhyprexpo.so env = GTK_THEME,Materia-dark env = XCURSOR_THEME,Bibata-Modern-Classic env = ENABLE_VKBASALT,1 env = FZF_DEFAULT_COMMAND,locate ~ env = QT_STYLE_OVERRIDE,kvantum env = GDK_BACKEND,wayland,x11 env = HYPRCURSOR_THEME,Bibata-Modern-Classic env = HYPRCURSOR_SIZE,24 env = CLUTTER_BACKEND,wayland env = MOZ_ENABLE_WAYLAND,1 env = MOZ_DISABLE_RDD_SANDBOX,1 env = _JAVA_AWT_WM_NONREPARENTING=1 env = QT_AUTO_SCREEN_SCALE_FACTOR,1 env = QT_QPA_PLATFORM,wayland;xcb env = LIBVA_DRIVER_NAME,nvidia env = GBM_BACKEND,nvidia-drm env = __GLX_VENDOR_LIBRARY_NAME,nvidia #env = WLR_NO_HARDWARE_CURSORS,1 env = __NV_PRIME_RENDER_OFFLOAD,1 env = __VK_LAYER_NV_optimus,NVIDIA_only env = PROTON_ENABLE_NGX_UPDATER,1 env = NVD_BACKEND,direct env = __GL_GSYNC_ALLOWED,1 env = __GL_VRR_ALLOWED,1 env = WLR_DRM_NO_ATOMIC,1 env = WLR_USE_LIBINPUT,1 env = MOZ_X11_EGL,1 env = VDPAU_DRIVER,nvidia env = EDITOR,nvim env = VISUAL,nvim env = __GL_MaxFramesAllowed,1 env = TERMINAL,kitty bind=ALT,R,submap,passthrough submap=passthrough bind=,escape,submap,reset submap=reset monitor=Unknown-1,disabled monitor=HDMI-A-1,1920x1080@60,0x0,1 windowrule=animation [popin] ([default]), ^(wlogout)$ windowrulev2 = immediate, class:^(org.freedesktop.Xwayland)$ windowrule=windowdance,title:^(Rhythm Doctor)$ windowrule=noanim, class:^(ueberzugpp)$ windowrule=noanim, title:^(ueberzugpp)$ windowrule=forceinput,title:^(Rhythm Doctor)$ windowrule=float,^(org.kde.polkit-kde-authentication-agent-1)$ #windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$ #windowrulev2 = noanim,class:^(xwaylandvideobridge)$ #windowrulev2 = nofocus,class:^(xwaylandvideobridge)$ #windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$ #windowrulev2 = noborder,fullscreen:1 windowrule=opacity 0.99 0.99,^(Thunderbird)$ # windowrule=xray on,^(VencordDesktop)$ #windowrulev2 = forcergbx, class:firefox #windowrule=xray on,^(firefox)$ #windowrule = opacity 0.85 override 0.85 override, title:^(.*)$ windowrule = opacity 0.99 override 0.99 override, ^(firefox)$ windowrule = opacity 0.99 override 0.99 override, ^(floorp)$ windowrule = opacity 0.99 override 0.99 override, ^(mercury-default)$ windowrule = opacity 0.99 override 0.99 override, ^(filezilla)$ exec-once = ulimit -c 0 exec-once = /nix/store/$(echo $(ls -la /nix/store | grep polkit-gnome | grep '^d' | awk '{print $9}') | cut -d ' ' -f 1)/libexec/polkit-gnome-authentication-agent-1 # exec-once = /usr/bin/swaylock --screenshots --config ~/.config/swaylock/config exec-once = /usr/lib/xdg-desktop-portal-hyprland & waybar & hyprpaper & firefox & swaync & vesktop --enable-blink-features=MiddleClickAutoscroll --enable-features=UseOzonePlatform --ozone-platform=wayland exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = sleep 10; gpu-screen-recorder -w screen -q ultra -a "$(pactl get-default-sink).monitor" -f 60 -r 300 -c mp4 -o ~/Games/Replays # exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = wl-paste --type text --watch cliphist store #Stores only text data exec-once = wl-paste --type image --watch cliphist store #Stores only image data # exec = killall mpvpaper; mpvpaper -p -o "no-audio loop" HDMI-A-1 wallpapers/wall2.mp4 #exec-once = killall swww-daemon -9; swww init; ~/.config/hypr/process-wallpaper/wallpaper.sh #exec-once = /usr/bin/swaylock --screenshots --config ~/.config/swaylock/config env = XCURSOR_SIZE,24 env = LIBVA_DRIVER_NAME,nvidia env = XDG_SESSION_TYPE,wayland env = GBM_BACKEND,nvidia_drm env = __GLX_VENDOR_LIBRARY_NAME,nvidia input { kb_layout = us,ru kb_variant = kb_model = kb_options = grp:alt_shift_toggle kb_rules = repeat_delay = 200 follow_mouse = 1 touchpad { natural_scroll = false } sensitivity = 1 # -1.0 - 1.0, 0 means no modification. # force_no_accel = true accel_profile = flat } general { gaps_in = 5 gaps_out = 5 border_size = 0 col.active_border = rgb(4575da) rgb(6804b5) col.inactive_border = rgb(595959) layout = dwindle allow_tearing = false } decoration { rounding = 10 blur { enabled = true popups = true popups_ignorealpha = 0.0 ignore_opacity = true size = 10 brightness = 0.8 passes = 3 noise = 0 vibrancy = 0 } drop_shadow = yes shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) } animations { enabled = true first_launch_animation = true bezier = slidein, 0.39, 0.575, 0.565, 1 bezier = myBezier, 0.05, 0.9, 0.1, 1.05 bezier = linear, 0.0, 0.0, 0.0, 0.0 bezier = woosh, 0.445, 0.05, 0, 1 # animation = borderangle, 1, 40, linear, loop animation = windowsMove, 1, 5, default # 7 animation = layers, 1, 2, woosh, slide animation = windowsIn, 1, 2, woosh, slide # 3 animation = windows, 1, 7, default, slide # 7 animation = windowsOut, 1, 5, woosh, slide # 7 animation = fadeSwitch, 1, 7, default # 7 animation = fadeOut, 1, 5, linear # 5 animation = workspaces, 1, 4, woosh, slide # 8 } debug { enable_stdout_logs = false disable_logs = true } dwindle { # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = true # you probably want this } master { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more new_is_master = true } gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = false } misc { enable_swallow = true animate_manual_resizes = false animate_mouse_windowdragging = false swallow_regex = ^(kitty|lutris|alacritty)$ swallow_exception_regex = ^(ncspot)$ force_default_wallpaper = 2 # Set to 0 to disable the anime mascot wallpapers } binds { scroll_event_delay = 50 } cursor { enable_hyprcursor = true } $mainMod = SUPER bind = $mainMod_CTRL, V, exec, cliphist list | tofi | cliphist decode | wl-copy bind = , Print, exec, hyprshot -m region bind = SHIFT, Print, exec, hyprshot -m window bind = ALT, Print, exec, hyprshot -m output bind = CTRL, Print, exec, hyprshot -m region -r | swappy -f - bind = CTRL_SHIFT, Print, exec, hyprshot -m window -r | swappy -f - bind = CTRL_ALT, Print, exec, hyprshot -m output -r | swappy -f - bind = $mainMod, F1, exec, ~/.config/hypr/gamemode.sh bind = $mainMod, F2, exec, ~/.config/hypr/sheesh.sh bind = $mainMod, Y, exec, ~/.config/hypr/ytfzf.sh &! bind = $mainMod_CTRL, Q, exec, neovide --frame none +term +startinsert "+set laststatus=0 ruler" "+set cmdheight=0" "+map :tabnew +term" bind = $mainMod, O, exec, killall -SIGUSR1 .waybar-wrapped bind = $mainMod, Q, exec, kitty bind = $mainMod_CTRL, C, exec, hyprctl kill bind = $mainMod, C, killactive, bind = $mainMod, M, exec, wlogout -b 2 -L 500px -R 500px -c 30px -r 30px, bind = $mainMod, E, exec, nemo bind = $mainMod, V, togglefloating, bindr = $mainMod, $mainMod_L, exec, pkill wofi || $(wofi --show drun --allow-images -D key_expand=Tab) #ulauncher-toggle #pkill ulauncher || $(exec $(ulauncher)) bindr = $mainMod_CTRL, $mainMod_L, exec, pkill wofi || $(wofi --show run) #pkill tofi || $(tofi-run) # bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle bind = $mainMod_CTRL, R, exec, killall -SIGUSR1 gpu-screen-recorder && notify-send "GPU-Screen-Recorder" "Повтор успешно сохранён" bind = $mainMod, F, exec, hyprctl dispatch fullscreen bind = $mainMod_CTRL, F, fakefullscreen bind = $mainMod, Space, hyprexpo:expo, toggle bind = $mainMod_ALT, mouse_down, exec, hyprctl keyword misc:cursor_zoom_factor "$(hyprctl getoption misc:cursor_zoom_factor | grep float | awk '{print $2 + 1}')" bind = $mainMod_ALT, mouse_up, exec, hyprctl keyword misc:cursor_zoom_factor "$(hyprctl getoption misc:cursor_zoom_factor | grep float | awk '{print $2 - 1}')" bind = $mainMod_CTRL, mouse_down, exec, hyprctl keyword misc:cursor_zoom_factor "$(hyprctl getoption misc:cursor_zoom_factor | grep float | awk '{print $2 + 100}')" bind = $mainMod_CTRL, mouse_up, exec, hyprctl keyword misc:cursor_zoom_factor "$(hyprctl getoption misc:cursor_zoom_factor | grep float | awk '{print $2 - 100}')" bind = $mainMod, left, movefocus, l bind = $mainMod, right, movefocus, r bind = $mainMod, up, movefocus, u bind = $mainMod, down, movefocus, d bind = $mainMod, 1, workspace, 1 bind = $mainMod, 2, workspace, 2 bind = $mainMod, 3, workspace, 3 bind = $mainMod, 4, workspace, 4 bind = $mainMod, 5, workspace, 5 bind = $mainMod, 6, workspace, 6 bind = $mainMod, 7, workspace, 7 bind = $mainMod, 8, workspace, 8 bind = $mainMod, 9, workspace, 9 bind = $mainMod, 0, workspace, 10 bind = $mainMod SHIFT, 1, movetoworkspace, 1 bind = $mainMod SHIFT, 2, movetoworkspace, 2 bind = $mainMod SHIFT, 3, movetoworkspace, 3 bind = $mainMod SHIFT, 4, movetoworkspace, 4 bind = $mainMod SHIFT, 5, movetoworkspace, 5 bind = $mainMod SHIFT, 6, movetoworkspace, 6 bind = $mainMod SHIFT, 7, movetoworkspace, 7 bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 bind = $mainMod, S, togglespecialworkspace, magic bind = $mainMod SHIFT, S, movetoworkspace, special:magic bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 bindm = $mainMod, mouse:272, movewindow layerrule = blur,waybar layerrule = blur,swaync-notification-window bindm = $mainMod, mouse:273, resizewindow exec-once=hyprctl setcursor Bibara-Modern-Classic 24 layerrule = ignorezero, waybar layerrule = ignorezero, swaync-notification-window layerrule = blur, swaync-control-center layerrule = ignorezero, swaync-control-center layerrule = blur, notifications layerrule = blur, gtk-layer-shell layerrule = blur, logout_dialog layerrule = blur, launcher layerrule = blur, wofi layerrule = noanim, selection plugin { hyprexpo { columns = 3 gap_size = 5 bg_col = rgb(111111) workspace_method = first 1 # [center/first] [workspace] e.g. first 1 or center m+1 enable_gesture = true # laptop touchpad, 4 fingers gesture_distance = 300 # how far is the "max" gesture_positive = true # positive = swipe down. Negative = swipe up. } } ======Config-End======== ```

Bug or Regression?

Bug

Description

Hyprland ignores my cursor theme, and it doesn't matter if it's hyprcursor, or xcursor, but my cursor still shows in gtk apps and steam

How to reproduce

  1. Use NixOS
  2. Use latest Hyprland
  3. Try to set cursor theme
  4. no worky

Crash reports, logs, images, videos

No response

vaxerski commented 4 months ago

but my cursor still shows in gtk apps and steam

https://wiki.hyprland.org/Hypr-Ecosystem/hyprcursor/

vaxerski commented 4 months ago

https://wiki.hyprland.org/FAQ/#how-do-i-change-me-mouse-cursor too

DADA30000 commented 4 months ago

https://wiki.hyprland.org/FAQ/#how-do-i-change-me-mouse-cursor too

I've already done all of that I've set env = XCURSOR_THEME,Bibata-Modern-Classic and env = XCURSOR_SIZE,24 I've set gtk.enable = true, cursorTheme.name = "Bibata-Modern-Classic", home.pointerCursor = { gtk.enable = true; x11.enable = true; package = pkgs.bibata-cursors; name = "Bibata-Modern-Classic"; size = 24; }; In my home-manager config And it still doesn't work, but it DOES work if I switch to release from nixos/unstable And I don't use flatpak

vaxerski commented 4 months ago

I think it's a nix question then, everything works on my end on arch @fufexan

DADA30000 commented 4 months ago

@fufexan

fufexan commented 4 months ago

@DADA30000 do you have exec-once=hyprctl setcursor Bibata-Modern-Classic 24 in your config?

DADA30000 commented 4 months ago

@DADA30000 do you have exec-once=hyprctl setcursor Bibata-Modern-Classic 24 in your config?

Yep, you could also check this by yourself, I have written an output of hyprctl systeminfo -c in issue

DADA30000 commented 4 months ago

@DADA30000 do you have exec-once=hyprctl setcursor Bibata-Modern-Classic 24 in your config?

Oh wait, I think there is a typo

DADA30000 commented 4 months ago

Why r and t are so similar, I feel so dumb right now, there really was a typo, thanks for giving a direction, and sorry for making trouble :D