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.95k stars 912 forks source link

Cursor no longer hides on touch #6724

Closed System64fumo closed 2 weeks ago

System64fumo commented 5 months ago

Regression?

Yes

System Info and Version

System/Version info ```sh Hyprland, built from branch main at commit d7ea1b7785f31e9fd6477490309721a19a835592 (xwayland: break cyclic loop of parents (6722)). Date: Mon Jul 1 01:26:08 2024 Tag: v0.41.2-14-gd7ea1b77, commits: 4900 flags: (if any) System Information: System name: Linux Node name: icicle Release: 6.10.0-rc2-baka+ Version: #2 SMP PREEMPT Tue Jun 18 16:59:34 IDT 2024 GPU information: qcom,adreno-630.2 os-release: NAME="Artix Linux" PRETTY_NAME="Artix Linux" ID=artix BUILD_ID=rolling ANSI_COLOR="0;36" HOME_URL="https://www.artixlinux.org/" DOCUMENTATION_URL="https://wiki.artixlinux.org/" SUPPORT_URL="https://forum.artixlinux.org/" BUG_REPORT_URL="https://bugs.artixlinux.org/" PRIVACY_POLICY_URL="https://terms.artixlinux.org/docs/privacy-policy/" LOGO=artixlinux-logo plugins: hyprgrass by horriblename ver 0.7 ======Config-Start====== Config File: /home/amir/.config/hypr/hyprland.conf: Read Succeeded cursor { hide_on_touch = true } ... ```

Description

Cursor used to hide when tapping the screen with a touchscreen, And it still does but then breaks a few seconds afterwards.

I do have:

cursor {
    hide_on_touch = true
}

However it does not seem to help.

Last it worked iirc was before aquamarine/whatever update broke touchscreen inputs on my device.

How to reproduce

Own a touchscreen capable device or external usb touchscreen. Tap the screen Cursor remains Tap again Cursor disappears Tap again and again Cursor is back

Though in some rare circimstances the cursor does hide at random.

Crash reports, logs, images, videos

Not a crash so :man_shrugging: No video either because recording it causes the cursor to hide (incredible)

System64fumo commented 5 months ago

Update: I've narrowed it down to the cursor showing again when rotating the screen.

vaxerski commented 4 months ago

can you try latest git

System64fumo commented 4 months ago

Works however cursor is visible when tapping then dragging Also this update broke touch input.. tapping does nothing..

vaxerski commented 4 months ago

thats a separate issue #6952

System64fumo commented 4 months ago

Update: Cursor is now back to being visible at all times Though it does hide for a while on startup, No clue what triggers it to show again.

leon-erd commented 4 months ago

It works on my laptop on https://github.com/hyprwm/Hyprland/commit/99088eaed806d9268967baf09bc09cdb987c5357. Both hide_on_touch=false and hide_on_touch=true have the correct behaviour. However, the wiki entry shows the wrong default. I can make a MR. https://github.com/hyprwm/hyprland-wiki/pull/723

System/Version info ```sh Hyprland, built from branch at commit 99088eaed806d9268967baf09bc09cdb987c5357 (). Date: 2024-07-24 Tag: , commits: 99088eaed806d9268967baf09bc09cdb987c5357 flags: (if any) System Information: System name: Linux Node name: inspiron-laptop Release: 6.10.0 Version: #1-NixOS SMP PREEMPT_DYNAMIC Sun Jul 14 22:43:32 UTC 2024 GPU information: 0000:00:02.0 VGA compatible controller [0300]: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] [8086:9a49] (rev 01) (prog-if 00 [VGA controller]) os-release: ANSI_COLOR="1;34" BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues" BUILD_ID="24.11.20240721.68c9ed8" 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 (Vicuna)" SUPPORT_URL="https://nixos.org/community.html" VERSION="24.11 (Vicuna)" VERSION_CODENAME=vicuna VERSION_ID="24.11" plugins: hyprexpo by Vaxry ver 1.0 dynamic-cursors by Virt ver 0.1 ======Config-Start====== Config File: /home/leon/.config/hypr/hyprland.conf: Read Succeeded exec-once = /nix/store/wbqwrp6gpf31acmdchik5lsj8zdw2z24-dbus-1.14.10/bin/dbus-update-activation-environment --systemd --all && systemctl --user stop hyprland-session.target && systemctl --user start hyprland-session.target plugin=/nix/store/62zxq66h0gwkspkljri155ja34k49x20-hyprexpo-0.1/lib/libhyprexpo.so plugin=/nix/store/v3cq89l98fdlwrzscaxb86185pdycqhr-hypr-dynamic-cursors/lib/libhypr-dynamic-cursors.so $mainMod=SUPER bezier=linear, 0, 0, 1, 1 source=./monitors.conf source=./workspaces.conf source=./monitors.conf source=./workspaces.conf binds { allow_workspace_cycles=true } cursor { hide_on_touch=true } debug { disable_logs=false } decoration { blur { ignore_opacity=true passes=4 popups=true size=4 special=true } rounding=5 } device { name=cust0000:00-04f3:2a4a-stylus output=eDP-1 } dwindle { force_split=2 preserve_split=true pseudotile=true } general { border_size=2 col.active_border=rgba(33ccffff) rgba(00ff99ff) 45deg col.inactive_border=rgba(444444aa) gaps_in=3 gaps_out=3 layout=master resize_on_border=true } gestures { workspace_swipe=true workspace_swipe_forever=true workspace_swipe_touch=true } group { groupbar { col.active=rgba(6600ccee) col.inactive=rgba(6600cc99) } col.border_active=rgba(8800ffff) rgba(aa0055ff) 45deg col.border_inactive=rgba(444444aa) } input { touchpad { drag_lock=true natural_scroll=true } kb_layout=de numlock_by_default=true } misc { animate_manual_resizes=true animate_mouse_windowdragging=true focus_on_activate=true force_default_wallpaper=0 initial_workspace_tracking=false new_window_takes_over_fullscreen=2 } plugin { dynamic-cursors { mode=tilt } hyprexpo { bg_col=rgb(111111) columns=3 enable_gesture=true gap_size=5 gesture_distance=300 gesture_positive=false workspace_method=first 1 } } animation=specialWorkspace, 1, 5, default, slidefadevert animation=borderangle, 1, 40, linear, loop animation=layers, 1, 5, default, popin bind=$mainMod, B, togglespecialworkspace, btop bind=$mainMod, H, togglespecialworkspace, htop bind=$mainMod, S, togglespecialworkspace, spotify bind=$mainMod, T, togglespecialworkspace, terminal bind=ALT, F4 , killactive, bind=$mainMod, F, togglefloating, bind=$mainMod, G, togglegroup bind=$mainMod, M, fullscreen, bind=$mainMod, E, exec, dolphin bind=, XF86Calculator , exec, qalculate-qt bind=$mainMod + SHIFT, left, movewindoworgroup, l bind=$mainMod + SHIFT, right, movewindoworgroup, r bind=$mainMod + SHIFT, up, movewindoworgroup, u bind=$mainMod + SHIFT, down, movewindoworgroup, d bind=$mainMod + CTRL, left, movecurrentworkspacetomonitor, l bind=$mainMod + CTRL, right, movecurrentworkspacetomonitor, r bind=$mainMod + CTRL, up, movecurrentworkspacetomonitor, u bind=$mainMod + CTRL, down, movecurrentworkspacetomonitor, d bind=$mainMod, RETURN, layoutmsg, swapwithmaster bind=$mainMod + SHIFT, RETURN, layoutmsg, addmaster bind=$mainMod + SHIFT + CTRL, RETURN, layoutmsg, removemaster bind=ALT, Tab, cyclenext, bind=ALT + CTRL, Tab, changegroupactive 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, Tab, workspace, previous_per_monitor bind=$mainMod SHIFT, 1, movetoworkspacesilent, 1 bind=$mainMod SHIFT, 2, movetoworkspacesilent, 2 bind=$mainMod SHIFT, 3, movetoworkspacesilent, 3 bind=$mainMod SHIFT, 4, movetoworkspacesilent, 4 bind=$mainMod SHIFT, 5, movetoworkspacesilent, 5 bind=$mainMod SHIFT, 6, movetoworkspacesilent, 6 bind=$mainMod SHIFT, 7, movetoworkspacesilent, 7 bind=$mainMod SHIFT, 8, movetoworkspacesilent, 8 bind=$mainMod SHIFT, 9, movetoworkspacesilent, 9 bind=$mainMod SHIFT, 0, movetoworkspacesilent, 10 bind=$mainMod, mouse_down, workspace, e+1 bind=$mainMod, mouse_up, workspace, e-1 bind=CTRL + ALT, B, exec, ~/scripts/launch_waybar.sh bind=CTRL + ALT, W, exec, ~/scripts/wallpaper/update_wallpaper.sh bind=$mainMod, N, exec, swaync-client -t -sw bind=CTRL + ALT, S, exec, wl-paste | swappy -f - bind=, Print, exec, grimblast --notify --freeze copy area bind=$mainMod, P, exec, nwg-displays bind=$mainMod, W, hyprexpo:expo, toggle bind=$mainMod, V, exec, cliphist list | rofi -dmenu -theme /nix/store/r5gfsxb7srsncmxd996bh39ag8h64qcl-spotlight-dark.rasi | cliphist decode | wl-copy && wtype -M ctrl v -m ctrl bind=CTRL + ALT, T, exec, alacritty binde=$mainMod, left, resizeactive, -30 0 binde=$mainMod, right, resizeactive, 30 0 binde=$mainMod, up, resizeactive, 0 -30 binde=$mainMod, down, resizeactive, 0 30 bindl=, XF86AudioMute, exec, swayosd-client --output-volume mute-toggle bindl=, XF86AudioPlay, exec, playerctl play-pause bindl=, XF86AudioStop, exec, playerctl stop bindl=, XF86AudioPrev, exec, playerctl previous bindl=, XF86AudioNext, exec, playerctl next bindl=CTRL, left, exec, playerctl previous bindl=CTRL, right, exec, playerctl next bindle=, XF86AudioRaiseVolume, exec, pamixer --unmute; swayosd-client --output-volume raise bindle=, XF86MonBrightnessUp, exec, swayosd-client --brightness raise bindle=, XF86MonBrightnessDown, exec, swayosd-client --brightness lower bindle=, XF86AudioLowerVolume, exec, pamixer --unmute; swayosd-client --output-volume lower bindm=$mainMod, mouse:272, movewindow bindm=$mainMod, mouse:273, resizewindow bindr=CTRL, SUPER_L, exec, pkill --exact tofi-drun || tofi-drun --drun-launch=true bindr=, SUPER_L, exec, pkill --exact tofi-drun || tofi-drun --drun-launch=true bindr=$mainMod, L, exec, /nix/store/h53bah665mn9zvn5wfqznbvpfzawr1j1-hyprlock.sh env=XCURSOR_THEME, breeze_cursors env=XCURSOR_SIZE, 24 exec-once=sleep 5 && nextcloud --background exec-once=sleep 5 && ~/scripts/hibernate_on_low_battery.sh exec-once=sleep 5 && ~/scripts/restart_failed_systemd_user_services.sh exec-once=~/scripts/launch_waybar.sh exec-once=sleep 1 && swww init exec-once=sleep 2 && swww img --transition-type grow ~/scripts/wallpaper/wallpaper.jpg exec-once=swaync exec-once=rm ~/.cache/tofi-drun exec-once=/nix/store/zdyvwx8p13vyf4z1205dkkhikfbd08r4-polkit-kde-agent-1-5.27.11/libexec/polkit-kde-authentication-agent-1 exec-once=wl-paste --type text --watch cliphist store exec-once=wl-paste --type image --watch cliphist store layerrule=blur, waybar layerrule=blurpopups, waybar layerrule=ignorealpha 0.1, waybar layerrule=blur, swaync-control-center layerrule=blur, swaync-notification-window layerrule=ignorezero, swaync-control-center layerrule=ignorezero, swaync-notification-window layerrule=animation popin 90%, swaync-control-center layerrule=animation popin, swaync-notification-window layerrule=noanim, hyprpicker layerrule=noanim, selection layerrule=blur, launcher layerrule=animation slide, launcher layerrule=blur, swayosd layerrule=ignorezero, swayosd layerrule=animation slide, rofi layerrule=blur, rofi monitor=, preferred, auto, 1 windowrulev2=float, class:^(org.kde.polkit-kde-authentication-agent-1)$ windowrulev2=tile, class:^(DesktopEditors)$ windowrulev2=tag +vscode, class:^(code-url-handler)$ windowrulev2=tag +vscode, class:^(codium-url-handler)$ windowrulev2=opacity 0.85, tag:vscode windowrulev2=opacity 1.00, tag:vscode, title:.pdf windowrulev2=workspace 1, tag:vscode windowrulev2=workspace 5, class:^(firefox)$ windowrulev2=tag +social, class:^(org.telegram.desktop)$ windowrulev2=tag +social, class:^(signal)$ windowrulev2=tag +social, class:^(Slack)$ windowrulev2=tag +social, class:^(thunderbird)$ windowrulev2=tag +social, class:^(WebCord)$ windowrulev2=tag +social, class:^(whatsapp-for-linux)$ windowrulev2=workspace 9, tag:social windowrulev2=noblur, class:^(org.kde.kdeconnect.daemon)$ windowrulev2=noborder, class:^(org.kde.kdeconnect.daemon)$ windowrulev2=noshadow, class:^(org.kde.kdeconnect.daemon)$ windowrulev2=noanim, class:^(org.kde.kdeconnect.daemon)$ windowrulev2=nofocus, class:^(org.kde.kdeconnect.daemon)$ windowrulev2=suppressevent fullscreen, class:^(org.kde.kdeconnect.daemon)$ windowrulev2=float, class:^(org.kde.kdeconnect.daemon)$ windowrulev2=move 0 0, class:^(org.kde.kdeconnect.daemon)$ windowrulev2=size 100% 100%, class:^(org.kde.kdeconnect.daemon)$ windowrulev2=noblur, onworkspace:special:hyprlock workspace=2, on-created-empty:dolphin workspace=5, on-created-empty:firefox workspace=special:btop, on-created-empty:[fullscreen] alacritty -e btop workspace=special:htop, border:false, on-created-empty:[float; size 100% 35%; move 0% 65%] alacritty -e htop workspace=special:spotify, on-created-empty:[fullscreen] spotify workspace=special:terminal, on-created-empty:[fullscreen] alacritty workspace=name:hyprlock, monitor:eDP-1 workspace=name:hyprlock, decorate:false workspace=name:hyprlock, border:false workspace=name:hyprlock, shadow:false workspace=special:hyprlock, monitor:eDP-1 workspace=special:hyprlock, decorate:false workspace=special:hyprlock, border:false workspace=special:hyprlock, shadow:false Config File: /home/leon/.config/hypr/monitors.conf: Read Succeeded # Generated by myKanshiPlus (2024-07-24 11:26:21.538883). Do not edit manually. monitor = desc:LG Display 0x0637, preferred, 0x0, 1 Config File: /home/leon/.config/hypr/workspaces.conf: Read Succeeded # Generated by myKanshiPlus (2024-07-24 11:26:21.538997). Do not edit manually. Config File: /home/leon/.config/hypr/monitors.conf: Read Succeeded # Generated by myKanshiPlus (2024-07-24 11:26:21.538883). Do not edit manually. monitor = desc:LG Display 0x0637, preferred, 0x0, 1 Config File: /home/leon/.config/hypr/workspaces.conf: Read Succeeded # Generated by myKanshiPlus (2024-07-24 11:26:21.538997). Do not edit manually. ======Config-End======== ```
System64fumo commented 4 months ago

Just updated and nope Still doesn't hide.

Though upon further testing i found out that setting hide on touch to false then back to true makes it work Buuuut it breaks again after rotating the screen (Go figure)

Doesn't seem to hide on startup anymore though.

System64fumo commented 3 months ago

Update: "Though in some rare circumstances the cursor does hide at random." One of said rare circumstances is moving the cursor with a mouse. It starts hiding normally again after that. Will break again upon rotating the screen though.

And there are some other cases where doing something might cause it to show up again, Unsure will have to test more to confirm.

System64fumo commented 2 weeks ago

Issue was with hardware cursors. :+1: