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.65k stars 901 forks source link

some X11 drop-down/context menus are closed when focused #6759

Closed UltraBlackLinux closed 4 months ago

UltraBlackLinux commented 4 months ago

Regression?

No

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 00:26:08 2024 Tag: v0.41.2-14-gd7ea1b77, commits: 4900 flags: (if any) System Information: System name: Linux Node name: lolcat Release: 6.6.36-1-lts Version: #1 SMP PREEMPT_DYNAMIC Thu, 27 Jun 2024 12:26:27 +0000 GPU information: 0a:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] [1002:73df] (rev c5) (prog-if 00 [VGA controller]) os-release: NAME="EndeavourOS" PRETTY_NAME="EndeavourOS" ID="endeavouros" ID_LIKE="arch" BUILD_ID="2024.01.25" ANSI_COLOR="38;2;23;147;209" HOME_URL="https://endeavouros.com" DOCUMENTATION_URL="https://discovery.endeavouros.com" SUPPORT_URL="https://forum.endeavouros.com" BUG_REPORT_URL="https://forum.endeavouros.com/c/general-system/endeavouros-installation" PRIVACY_POLICY_URL="https://endeavouros.com/privacy-policy-2" LOGO="endeavouros" plugins: ======Config-Start====== Config File: /home/maus/.config/hypr/hyprland.conf: Read Succeeded # Useful links # https://www.cssportal.com/css-cubic-bezier-generator/ # https://easings.net/ env = ADW_DISABLE_PORTAL,1 #env = GTK_THEME,Adwita:dark # env = GDK_BACKEND,wayland,x11 # env = QT_QPA_PLATFORM,"wayland;xcb" # env = SDL_VIDEODRIVER,wayland # env = XDG_CURRENT_DESKTOP,Hyprland # env = XDG_SESSION_TYPE,wayland # env = XDG_SESSION_DESKTOP,Hyprland # env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 # exec-once = systemctl --user import-environment XDG_SESSION_TYPE XDG_CURRENT_DESKTOP QT_QPA_PLATFORMTHEME exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY XAUTHORITY XDG_CURRENT_DESKTOP=Hyprland XDG_SESSION_DESKTOP=Hyprland XDG_SESSION_TYPE=wayland QT_QPA_PLATFORM="wayland;xcb" QT_QPA_PLATFORMTHEME exec-once = gnome-keyring-daemon --start --components=secrets exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = systembus-notify exec-once = otd-daemon # # AUTOSTART ----------------------------------- exec-once = waybar exec-once = udiskie -t exec-once = blueman-applet exec-once = wlsunset -S 6:0 -s 18:0 -t 4000 -d 120 exec-once = scc-daemon start exec-once = sleep 3; openrgb --startminimized -p yes exec-once = floorp exec-once = mako exec-once = ~/.config/hypr/hyprland_event_listen.sh exec-once = wl-paste --watch cliphist -max-items 100 store --no-persist #exec-once = wl-paste -p -t text --watch clipman store -P --histpath="~/.local/share/clipman-primary.json" # # exec-once = wl-clip-persist --clipboard both # breaks gtk text selection # #exec-once = sleep 1; ~/Documents/Git/linux-wallpaperengine/deploy/wallengine 2995503379 --screen-root=DVI-D-1 --screen-root=HDMI-A-1 --fps=30 --silent --assets-dir ~/Documents/Git/linux-wallpaperengine/deploy/assets # # exec = ~/.config/hypr/wallpaper.sh exec-once = sleep 1; swww init; sleep 1; while true; do swww img /home/maus/Pictures/wallpapers/$(ls /home/maus/Pictures/wallpapers | shuf -n 1) --transition-fps 30 --transition-type=random --transition-bezier=0,0.84,1,1; sleep 600; done # HARDWARE ----------------------------------- monitor=HDMI-A-1, 1920x1080, 240x150, 1 # res -> preferred monitor=DP-3, 1920x1200, 1920x0, 1 input { kb_layout = de kb_variant = nodeadkeys kb_model = kb_options = compose: rwin-altgr kb_rules = evdev repeat_delay = 400 repeat_rate = 40 numlock_by_default = true follow_mouse = true } cursor { no_warps = true } # VISUALS ----------------------------------- general { gaps_in = 5 gaps_out = 7 border_size = 2 col.active_border = rgb(ff00a0) rgb(209f54) 90deg col.inactive_border = rgba(595959aa) #resize_on_border = true layout = dwindle } decoration { blur { enabled = yes size = 3 passes = 1 new_optimizations = on } rounding = 7 drop_shadow = yes shadow_range = 50 shadow_render_power = 100 col.shadow = rgba(1a1a1aee) } animations { # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more enabled = yes bezier = overshoot, 0.35, 0, 0.9, 0.5 animation = windows, 1, 3, overshoot bezier = linear, 0.12, 0, 0.39, 0 animation = border, 1, 3, linear bezier = quickease, 0.76, 0, 0.24, 1 animation = borderangle, 1, 30, quickease, loop animation = windowsOut, 1, 7, default, popin #animation = border, 1, 10, default animation = fade, 1, 7, default animation = workspaces, 1, 6, default } dwindle { # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more pseudotile = yes preserve_split = yes } misc { enable_swallow = true swallow_regex = ^Alacritty$ focus_on_activate = true new_window_takes_over_fullscreen = 2 middle_click_paste = false } binds { scroll_event_delay = 10 } # WINDOW RULES ---------------------------------- # windowrulev2 = nomaximizerequest, class:.* # You'll probably like this. windowrulev2 = float,class:^(Floorp),title:Firefox — Sharing Indicator windowrulev2 = float,class:^(screenkey)$ windowrulev2 = nofocus,class:^(screenkey)$ windowrulev2 = noanim,class:^(screenkey)$ windowrulev2 = move 0% 90%,class:^(screenkey)$ windowrulev2 = size 100% 10%,class:^(screenkey)$ # windowrulev2 = stayfocused, noanim, title:bambu-studio # windowrulev2 = , class:^(BambuStudio)$ windowrulev2 = noanim, nofocus, floating: 1, class:BambuStudio windowrulev2 = nofocus, stayfocused, floating: 0, class:BambuStudio # BINDS ----------------------------------- $mainMod = SUPER bind = $mainMod, SPACE, exec, fuzzel bind = , F12, exec, alacritty bind = SHIFT, PRINT, exec, grim -g "$(slurp -d)" - | swappy -f - -o - bind = CONTROL SHIFT, PRINT, exec, grim -g "$(slurp -o)" - | swappy -f - -o - bind = $mainMod, Q, killactive bind = $mainMod SHIFT, Q, exec, kill -9 $(hyprctl activewindow | grep -Po "(?<=pid: )\d+") bind = $mainMod, F, togglefloating bind = $mainMod SHIFT, F, fullscreen bind = $mainMod, Tab, cyclenext # change focus to another window bind = $mainMod, Tab, bringactivetotop # bring it to the top bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, S, togglesplit, # vertical or horizontal split # 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 bind = $mainMod SHIFT, N, exec, /home/maus/.config/hypr/move_to_empty_workspace.sh # 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 bind = $mainMod, mouse_down, workspace, m+1 bind = $mainMod, mouse_up, workspace, m-1 bind = $mainMod SHIFT, mouse_down, movetoworkspace, m+1 bind = $mainMod SHIFT, mouse_up, movetoworkspace, m-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:273, movewindow bindm = $mainMod, mouse:272, resizewindow # bind = , mouse:274, exec, ; ======Config-End======== ```

Description

Some X11 (I don't think this is a wayland issue) applications show some weird behaviour with drop down or context menus. These menus seem to behave like individual windows that, when taking the focus away from the parent window get closed as a result, making them unusable.

(If you take a look at my config, you'll see my attempts at fixing this: I tried making the context menus unfocusable and bambu-studio un-unfocusable. Neither of which worked, at all. - Another bug?)

How to reproduce

Download BambuStudio and open any drop-down or context menu

The drop down/context menu closes immediately

Crash reports, logs, images, videos

No response

MightyPlaza commented 4 months ago

another dupe of https://github.com/hyprwm/Hyprland/issues/6616 and friends

UltraBlackLinux commented 4 months ago

it's really difficult to find dupes of issues when the github search does nothing to help you. I did some thorough searching and got zero related results. Very annoying.