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.58k stars 902 forks source link

Moving tabs in firefox doesn't work properly #7815

Closed RadicalTray closed 1 month ago

RadicalTray commented 1 month ago

Already reported ? *

Regression?

Yes

System Info and Version

System/Version info ```sh Hyprland, built from branch makepkg at commit 9e356562446f44c471ae38a80506a9df039305d6 (internal: Delay monitor events/hooks (7797)). Date: Mon Sep 16 03:03:42 2024 Tag: v0.43.0-28-g9e356562, commits: 5224 flags: (if any) System Information: System name: Linux Node name: archer Release: 6.10.10-zen1-1-zen Version: #1 ZEN SMP PREEMPT_DYNAMIC Thu, 12 Sep 2024 17:17:51 +0000 GPU information: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation AD107M [GeForce RTX 4050 Max-Q / Mobile] [10de:28e1] (rev a1) (prog-if 00 [VGA controller]) 35:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix3 [1002:1900] (rev cc) (prog-if 00 [VGA controller]) NVRM version: NVIDIA UNIX Open Kernel Module for x86_64 560.35.03 Release Build (archlinux-builder@) 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/cutie/.config/hypr/hyprland.conf: Read Succeeded # vim: filetype=hyprlang ################# ### AUTOSTART ### ################# # exec-once = /usr/lib/polkit-kde-authentication-agent-1 exec-once = hypridle exec-once = hyprpm reload -n exec-once = waybar & ################# ### VARIABLES ### ################# # $terminal = kitty || wezterm || foot $terminal = foot || [ $? -eq 1 ] || kitty || wezterm $menu = rofi -show drun ############# ### INPUT ### ############# input { kb_layout = us,th kb_options = grp:win_space_toggle follow_mouse = 2 float_switch_override_focus = 0 } ##################### ### LOOK AND FEEL ### ##################### general { gaps_in = 0 gaps_out = 0 border_size = 0 resize_on_border = true } decoration { drop_shadow = false } animations { enabled = true bezier = easeOutQuint, 0.22, 1, 0.36, 1 # bezier = easeInOutExpo, 0.87, 0, 0.13, 1 # bezier = linear, 0, 0, 0, 0 animation = workspaces, 1, 4, easeOutQuint, slide animation = specialWorkspace, 1, 4, easeOutQuint, slidevert animation = windows, 1, 4, easeOutQuint, popin animation = layers, 1, 4, easeOutQuint } misc { disable_hyprland_logo = true disable_splash_rendering = true font_family = Noto Sans Mono } cursor { no_warps = true } #################### ### KEYBINDINGSS ### #################### source = ./keys.conf ############################## ### WINDOWS AND WORKSPACES ### ############################## # windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. ########### ### Env ### ########### env = QT_QPA_PLATFORM,wayland env = QT_QPA_PLATFORMTHEME,qt6ct source = ./env.conf Config File: /home/cutie/.config/hypr/keys.conf: Read Succeeded # vim: filetype=hyprlang $mod = SUPER bind = $mod SHIFT, Q, killactive bind = $mod SHIFT, E, exit bind = $mod SHIFT, C, exec, pkill waybar;hyprctl dispatch exec waybar & bind = $mod, RETURN, exec, $terminal bind = $mod, D, exec, $menu # change to command pallete later?? bind = $mod, C, exec, ~/.config/rofi/launchers/run_cmd.sh bind = $mod, B, exec, killall -SIGUSR1 waybar bind = $mod, M, fullscreen, 1 bind = $mod, F, fullscreen, 0 bind = $mod SHIFT, F, fullscreenstate, -1 2 bind = $mod, Z, togglefloating bind = $mod, E, togglesplit bind = $mod, 1, workspace, 1 bind = $mod, 2, workspace, 2 bind = $mod, 3, workspace, 3 bind = $mod, 4, workspace, 4 bind = $mod, 5, workspace, 5 bind = $mod, 6, workspace, 6 bind = $mod, 7, workspace, 7 bind = $mod, 8, workspace, 8 bind = $mod, 9, workspace, 9 bind = $mod, 0, workspace, 10 bind = $mod SHIFT, 1, movetoworkspacesilent, 1 bind = $mod SHIFT, 2, movetoworkspacesilent, 2 bind = $mod SHIFT, 3, movetoworkspacesilent, 3 bind = $mod SHIFT, 4, movetoworkspacesilent, 4 bind = $mod SHIFT, 5, movetoworkspacesilent, 5 bind = $mod SHIFT, 6, movetoworkspacesilent, 6 bind = $mod SHIFT, 7, movetoworkspacesilent, 7 bind = $mod SHIFT, 8, movetoworkspacesilent, 8 bind = $mod SHIFT, 9, movetoworkspacesilent, 9 bind = $mod SHIFT, 0, movetoworkspacesilent, 10 bind = $mod, S, togglespecialworkspace, magic bind = $mod SHIFT, S, movetoworkspace, special:magic bindm = $mod, mouse:272, movewindow bindm = $mod, mouse:273, resizewindow Config File: /home/cutie/.config/hypr/env.conf: Read Succeeded # vim: set filetype=hyprlang # exec-once = hyprpaper # exec-once = mpvpaper -o "input-ipc-server=/tmp/mpv-socket pause no-audio loop" -p eDP-1 ~/Pictures/Wallpapers/wallpaper.mp4 source = ./laptop.conf source = ./dwindle.conf decoration { blur { enabled = false } } animation = layers, 1, 2, easeOutQuint, popin $cursor = rose-pine-hyprcursor $size = 36 env = HYPRCURSOR_THEME,$cursor env = HYPRCURSOR_SIZE,32 env = XCURSOR_THEME,BreezeX-RosePine-Linux env = XCURSOR_SIZE,$size Config File: /home/cutie/.config/hypr/laptop.conf: Read Succeeded # vim: filetype=hyprlang ################ ### MONITORS ### ################ monitor=,preferred,auto,1 ############# ### INPUT ### ############# input { touchpad { natural_scroll = true tap-and-drag = true } } gestures { workspace_swipe = true } unbind=,switch:on:Lid bindl=,switch:off:Lid,exec,systemctl suspend Config File: /home/cutie/.config/hypr/dwindle.conf: Read Succeeded # vim: filetype=hyprlang general { layout = dwindle } dwindle { force_split = 2 preserve_split = true } group { col.border_active = 0xFF000000 col.border_inactive = 0xFF000000 groupbar { font_size = 12 height = 18 col.active = 0xFF000000 col.inactive = 0xFF000000 } } bind = $mod, T, togglegroup bind = $mod, left, movefocus, l bind = $mod, right, movefocus, r bind = $mod, up, movefocus, u bind = $mod, down, movefocus, d bind = $mod, H, movefocus, l bind = $mod, L, movefocus, r bind = $mod, K, movefocus, u bind = $mod, J, movefocus, d bind = $mod SHIFT, left, movewindow, l bind = $mod SHIFT, right, movewindow, r bind = $mod SHIFT, up, movewindow, u bind = $mod SHIFT, down, movewindow, d bind = $mod SHIFT, H, movewindow, l bind = $mod SHIFT, L, movewindow, r bind = $mod SHIFT, K, movewindow, u bind = $mod SHIFT, J, movewindow, d ======Config-End======== ```

Description

Moving a tab in the same firefox window doesn't move the tab, instead it treats the tab like it's coming from another window. And dragging and dropping a tab from another window also doesn't remove that tab from that window.

How to reproduce

Drag and drop tabs in and between firefox windows. commit 4dbdb556fe441506ec5cf129c65b14e514dbcc5a caused it, if I wasn't wrong when bisecting.

Crash reports, logs, images, videos

No response

Agent00Ming commented 1 month ago

That commit is indeed the right one as mpv also behaves strangely when receiving DnD and crashes on the second DnD with the following:

mpv: ../mpv/video/out/wayland_common.c:1629: check_dnd_fd: Assertion `wl->dnd_action >= 0' failed.
vaxerski commented 1 month ago

patch.txt try this

RadicalTray commented 1 month ago

yep, that works

vaxerski commented 1 month ago

alr, I'll commit a bit modified one