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.09k stars 882 forks source link

Window swallowing seem to stop working on v0.41.1. #6542

Closed mkblast closed 4 months ago

mkblast commented 4 months ago

Bug or Regression?

Regression

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 9e781040d9067c2711ec2e9f5b47b76ef70762b3 (props: bump version to 0.41.1). Date: Thu Jun 13 09:54:06 2024 Tag: v0.41.1, commits: 4818 flags: (if any) System Information: System name: Linux Node name: karim-pc Release: 6.9.4-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Wed, 12 Jun 2024 20:17:17 +0000 GPU information: 00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 510 [8086:1906] (rev 07) (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/karim/.config/hypr/hyprland.conf: Read Succeeded # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=eDP-1,1366x768@60.05900,0x0,1 # monitor=DP-2,1366x768@59.79000,1366x0,1 # workspace=1, monitor:eDP-1,default:true # workspace=2, monitor:eDP-1 # workspace=3, monitor:eDP-1 # workspace=4, monitor:eDP-1 # workspace=5, monitor:eDP-1 # workspace=6, monitor:DP-2,default:true # workspace=7, monitor:DP-2 # workspace=8, monitor:DP-2 # workspace=9, monitor:DP-2 # workspace=10, monitor:DP-2 # Window Rules windowrule = workspace 1 silent,firefox windowrule = workspace 10 silent,workspace10 windowrule = workspace special silent,^(Neorg)$ # custom classes to attach window to workspace windowrulev2 = workspace 3 silent,class:^(wp-3)$ windowrulev2 = workspace 4 silent,class:^(wp-4)$ windowrulev2 = workspace 5 silent,class:^(wp-5)$ windowrulev2 = workspace 6 silent,class:^(wp-6)$ # firefox Picture-in-Picture windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$ windowrulev2 = pin,class:^(firefox)$,title:^(Picture-in-Picture)$ windowrulev2 = suppressevent[fullscreen],class:^(firefox)$,title:^(Picture-in-Picture)$ # firefox figma micro indicator windowrulev2 = suppressevent[fullscreen],class:^(firefox)$,title:^(Firefox — Sharing Indicator)$ windowrulev2 = float,class:^(firefox)$,title:^(Firefox — Sharing Indicator)$ windowrulev2 = float,class:^(Neorg)$ # Telegram media viewer windowrulev2 = fullscreen,class:^(org.telegram.desktop)$,title:^(Media viewer)$ windowrulev2 = workspace unset,class:^(org.telegram.desktop)$,title:^(Media viewer)$ windowrulev2 = monitor 1,class:^(org.telegram.desktop)$,title:^(Media viewer)$ # common modals windowrule = float,title:^(Open)$ windowrule = float,title:^(Choose Files)$ windowrule = float,title:^(Save As)$ windowrule = float,title:^(Confirm to replace files)$ windowrule = float,title:^(File Operation Progress)$ windowrulev2 = float,class:^(google-chrome)$,title:^(Open Files)$ windowrulev2 = float,class:^(google-chrome)$,title:^(Open File)$ windowrulev2 = dimaround,class:^(jetbrains-phpstorm)$,title:^(License ) windowrulev2 = float,class:^(jetbrains-phpstorm)$,title:^(License ) windowrulev2 = center,class:^(jetbrains-phpstorm)$,title:^(License ) # window rules to prevent screen from turning off windowrule = idleinhibit fullscreen,firefox windowrule = idleinhibit fullscreen,mpv # Execute apps at launch exec-once = hyprpaper exec-once = hypridle exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = dunst exec-once = ~/.config/hypr/xdg.sh >> .cache/xdg.sh.log 2>&1 exec-once = /usr/lib/polkit-kde-authentication-agent-1 exec-once = ~/.config/hypr/start-in-tray.sh exec-once = wl-paste -t text --watch clipman store --no-persist exec-once = foot -a "Neorg" -D "$HOME/Documents/notes/" -e nvim -c "Neorg index" # exec-once = syncthing --no-browser # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us,ara kb_variant = kb_model = kb_options = grp:alt_shift_toggle,caps:swapescape kb_rules = follow_mouse = 1 touchpad { natural_scroll = true } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } general { # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = 0 gaps_out = 0 border_size = 2 col.active_border = rgba(458588ff) rgba(83a598ff) 45deg col.inactive_border = rgba(1d2021ff) layout = master } decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 0 drop_shadow = false shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) blur { enabled = false } } animations { first_launch_animation = false enabled = false animation=global,1,5,default } 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 no_gaps_when_only = 1 } master { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more orientation = right mfact = 0.5 no_gaps_when_only = 1 new_on_top = true } gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = on workspace_swipe_invert = true workspace_swipe_cancel_ratio = 0.1 } misc { disable_hyprland_logo = true disable_splash_rendering = true enable_swallow = true swallow_regex = ^(yazi)$ allow_session_lock_restore = true new_window_takes_over_fullscreen = 2 } # Bindings # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER bind = $mainMod, Return, exec, foot bind = $mainMod, C, killactive, bind = $mainMod, Space, togglefloating, bind = $mainMod, D, exec, bemenu-run -p "Run:" bind = $mainMod, F, fullscreen bind = $mainMod, V, fullscreen ,1 # bind = $mainMod, B, pseudo, # dwindle # bind = $mainMod SHIFT, J, togglesplit, # dwindle bind = $mainMod ,B, exec, pkill -USR1 waybar # Move focus bind = $mainMod, H, movefocus, l bind = $mainMod, L, movefocus, r bind = $mainMod, K, movefocus, u bind = $mainMod, J, movefocus, d bind = $mainMod ALT, H, movewindow, l bind = $mainMod ALT, L, movewindow, r bind = $mainMod ALT, K, movewindow, u bind = $mainMod ALT, J, movewindow, 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 bind=$mainMod SHIFT,S,movetoworkspace,special bind=$mainMod,S,togglespecialworkspace, # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 # notification control binde = $mainMod, o, exec, dunstctl history-pop binde = $mainMod, i, exec, dunstctl close # next workspace on monitor bind = $mainMod, n, workspace, m+1 bind = $mainMod, p, workspace, m-1 # lock bind = CONTROL_ALT, L, exec, loginctl lock-session # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow bind = SHIFT, Print, exec, grimblast copysave screen bind = , Print, exec, grimblast copysave area bind = $mainMod SHIFT, C, exec, clipman pick -t bemenu bind = $mainMod, E, exec, foot -a "yazi" -T "yazi" -e "yazi" # fn buttons binde=,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- binde=,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ -l 1.0 bind =,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle bind =,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle binde=,XF86MonBrightnessUp, exec, brightnessctl s 10%+ binde=,XF86MonBrightnessDown, exec, brightnessctl s 10%- bind =,XF86AudioPlay, exec, playerctl play-pause bind =,XF86AudioPrev, exec, playerctl previous bind =,XF86AudioNext, exec, playerctl next # mouse side buttons bind=,mouse:275,exec,wl-copy $(wl-paste -p) # copy selected text bind=,mouse:276,exec,wtype -M ctrl -M shift v -m ctrl -m shift # paste by Ctrl+Shift+v # resize submap (mode) bind=$mainMod,R,submap,Resize submap=Resize binde=,L,resizeactive,40 0 binde=,H,resizeactive,-40 0 binde=,K,resizeactive,0 -40 binde=,J,resizeactive,0 40 bind=,escape,submap,reset bind=,Return,submap,reset submap=reset # exit mode bind=$mainMod,escape,exec,hyprctl dispatch submap Logout; notify-send -a Hyprland -t 3500 $'\ne - exit\n\nr - reboot\n\ns - suspend\n\nS - poweroff\n\nl - lock' -i /usr/share/icons/breeze-dark/actions/32/system-suspend.svg submap=Logout bindr =,E,exec,~/.config/hypr/exit.sh & bindr =,S,exec,hyprctl dispatch submap reset && systemctl suspend bindr =,R,exec,systemctl reboot bindr =SHIFT,S,exec,systemctl poweroff -i bindr =,L,exec,hyprctl dispatch submap reset && loginctl lock-session bindr=,escape,submap,reset bind=,Return,submap,reset submap=reset ======Config-End======== ```

Description

Since i updated to 0.41 window swallowing seem to stop working. I use this to open yazi with the yazi as the app id `foot -a "yazi" -T "yazi" -e "yazi". however the terminal won't swallow. in the earlier versions it was working fine.

How to reproduce

  1. enable swallowing with a regex (in my case i use ^(yazi)$).
  2. Open a window with a matching id.
  3. see that the window terminal wont swallow.

Crash reports, logs, images, videos

No response

MightyPlaza commented 4 months ago

https://github.com/hyprwm/Hyprland/issues/5487

mkblast commented 4 months ago

Good work guys thanks. i'll close it as complete.