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
19.54k stars 821 forks source link

Cursor Doesnt Appear under most programs #7056

Closed SlideShowGames closed 1 month ago

SlideShowGames commented 1 month ago

Regression?

Yes

System Info and Version

Hyprland, built from branch main at commit 33a5c8ce325e1657ec5571b57e05c6378706f4cd (config: avoid using initial ws tracking for exec-once). Date: Thu Jul 25 09:29:39 2024 Tag: v0.41.2-98-g33a5c8ce, commits: 4984

flags: (if any)

System Information: System name: Linux Node name: archbox-9 Release: 6.10.1-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Wed, 24 Jul 2024 22:25:43 +0000

GPU information: 22:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 23 [Radeon RX 6600/6600 XT/6600M] [1002:73ff] (rev c7) (prog-if 00 [VGA controller])

os-release: NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://archlinux.org/" DOCUMENTATION_URL="https://wiki.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues" PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/" LOGO=archlinux-logo

plugins:

======Config-Start======

Config File: /home/bradix/.config/hypr/hyprland.conf: Read Succeeded

This is an example Hyprland config file.

Refer to the wiki for more information.

https://wiki.hyprland.org/Configuring/Configuring-Hyprland/

Please note not all available settings / options are set here.

For a full list, see the wiki

You can split this configuration into multiple files

Create your files separately and then link them to this file like this:

source = ~/.config/hypr/myColors.conf

################

MONITORS

################

See https://wiki.hyprland.org/Configuring/Monitors/

monitor=,preferred,auto,auto

###################

MY PROGRAMS

###################

See https://wiki.hyprland.org/Configuring/Keywords/

Set programs that you use

$terminal = kitty $fileManager = pcmanfm $menu = wofi --show --allow-images --allow-markup drun

#################

AUTOSTART

#################

Autostart necessary processes (like notifications daemons, status bars, etc.)

Or execute your favorite apps at launch like this:

exec-once = $terminal exec-once = nm-applet & exec-once = waybar & hyprpaper & firefox

#############################

ENVIRONMENT VARIABLES

#############################

See https://wiki.hyprland.org/Configuring/Environment-variables/

env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24

#####################

LOOK AND FEEL

#####################

Refer to https://wiki.hyprland.org/Configuring/Variables/

https://wiki.hyprland.org/Configuring/Variables/#general

general { gaps_in = 5 gaps_out = 20

border_size = 2

# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)

# Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = false 

# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false

layout = dwindle

}

https://wiki.hyprland.org/Configuring/Variables/#decoration

decoration { rounding = 10

# Change transparency of focused and unfocused windows
active_opacity = 1.0
inactive_opacity = 1.0

drop_shadow = true
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)

# https://wiki.hyprland.org/Configuring/Variables/#blur
blur {
    enabled = true
    size = 3
    passes = 1

    vibrancy = 0.1696
}

}

https://wiki.hyprland.org/Configuring/Variables/#animations

animations { enabled = true

# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more

bezier = myBezier, 0.05, 0.9, 0.1, 1.05

animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default

}

See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more

dwindle { pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = true # You probably want this }

See https://wiki.hyprland.org/Configuring/Master-Layout/ for more

master { new_status = master }

https://wiki.hyprland.org/Configuring/Variables/#misc

misc { force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( }

#############

INPUT

#############

https://wiki.hyprland.org/Configuring/Variables/#input

input { kb_layout = us kb_variant = kb_model = kb_options = kb_rules =

follow_mouse = 1

sensitivity = 0 # -1.0 - 1.0, 0 means no modification.

touchpad {
    natural_scroll = false
}

}

https://wiki.hyprland.org/Configuring/Variables/#gestures

gestures { workspace_swipe = false }

Example per-device config

See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more

device { name = epic-mouse-v1 sensitivity = -0.5 }

####################

KEYBINDINGSS

####################

See https://wiki.hyprland.org/Configuring/Keywords/

$mainMod = SUPER # Sets "Windows" key as main modifier

Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more

bind = $mainMod, Q, exec, $terminal bind = $mainMod, K, killactive, bind = $mainMod, M, exit, bind = $mainMod, E, exec, $fileManager bind = $mainMod, V, togglefloating, bind = $mainMod, R, exec, $menu bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle

Move focus with mainMod + arrow keys

bind = $mainMod, left, movefocus, l bind = $mainMod, right, movefocus, r bind = $mainMod, up, movefocus, u bind = $mainMod, down, movefocus, d

Switch workspaces with mainMod + [0-9]

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

Move active window to a workspace with mainMod + SHIFT + [0-9]

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

Example special workspace (scratchpad)

bind = $mainMod, S, togglespecialworkspace, magic bind = $mainMod SHIFT, S, movetoworkspace, special:magic

Scroll through existing workspaces with mainMod + scroll

bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1

Move/resize windows with mainMod + LMB/RMB and dragging

bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow

##############################

WINDOWS AND WORKSPACES

##############################

See https://wiki.hyprland.org/Configuring/Window-Rules/ for more

See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules

Example windowrule v1

windowrule = float, ^(kitty)$ windowrule = float, ^(firefox-esr)$ windowrule = float, ^(steam)$

Example windowrule v2

windowrulev2 = float,class:^(kitty)$,title:^(kitty)$

windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.

======Config-End========

Description

The cusror appears on waybar and firefox-esr but not my terminal and the desktop. Also my cursor is set to the one from KDE Plasma so that might help. And when I open PCmanFM its just an X.

How to reproduce

Set my conf to that I pasted and have a cursor from KDE Plasma.

Crash reports, logs, images, videos

https://github.com/user-attachments/assets/1a6c92e8-4014-4a5b-bdea-40862dac84b7

fufexan commented 1 month ago

Try building the latest git again, this was fixed yesterday https://github.com/hyprwm/Hyprland/issues/7001.

vaxerski commented 1 month ago

under most: looks like a broken xcursor theme to me tbh?

clague commented 1 month ago

seems like some of animated cursor themes doesn't appear, for example: https://www.pling.com/p/1745271/

Atemu commented 1 month ago

@fufexan it did not fix the issue for me.

Relaying what I noticed in https://github.com/hyprwm/Hyprland/issues/7107:

Happens for me in wayland-native QT apps aswell as foot. It does not happen in GTK or xwayland apps.

Happens regardless of hardware cursor usage.

Creating an xwayland window in the same workspace and moving the mouse to it can mitigate this slightly but it's extremely inconsistent.

I do not have any special cursor themes configured (to my knowledge); all default except for:

$cursorSize = 24
env = XCURSOR_SIZE,$cursorSize
env = HYPRCURSOR_SIZE,$cursorSize

But I would not expect that to cause my cursor to be hidden entirely in some application.

RononDex commented 1 month ago

Any ETA when this will be fixed in a release? I just tried compiling hyprland bymyself, but hyprland crashes everytime I open any window with the current git version, so I reverted back to the last tagged version.

I am still getting no cursor on certain applications

JohnMH commented 1 month ago

I'm seeing the same. This has been the case since the move to Aquamarine. I have a hyprcursor theme, but it doesn't work. Doesn't matter if I set 'no_hardware_cursors` or not, which fixed it under wlroots.

arminius-smh commented 1 month ago

I do not have any special cursor themes configured (to my knowledge); all default except for:

$cursorSize = 24
env = XCURSOR_SIZE,$cursorSize
env = HYPRCURSOR_SIZE,$cursorSize

@Atemu Not sure if this will help you or anyone else here, but I just had a similar problem I could see my xcursor theme on gtk apps, but nothing on QT apps

I also had similiarly env for the cursor set, ONLY

env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24

I don't quite remember why I only set the size, I guess in case I wanted to add one later, after setting a theme however:

env = HYPRCURSOR_THEME,BreezeX-Dark-hyprcursor

It's now working on the latest git commit (I tried to remove the hyprcursor theme and size variable to see if it's working without both, but the hyprcursor theme kept getting applied, so I couldn't test it without them)

RononDex commented 1 month ago

@arminius-smh I already tried that, did not work for me :(

fufexan commented 1 month ago

@Atemu there is no default hyprcursor theme currently, it is probably unused. Can you try https://github.com/fufexan/dotfiles/blob/main/pkgs/bibata-hyprcursor/default.nix?

Atemu commented 1 month ago

Sorry, meant to reply here to say that having any hyprcursor set does indeed work.

So the issue really is that the default xcursor theme simply does not work.

SlideShowGames commented 1 month ago

I changed the cursor and it worked again lmao