Closed yatinlala closed 1 week ago
No
Swallowing doesn't work in grouped (tabbed) mode. Instead, the original application remains visible in a separate tab.
Set
misc { enable_swallow = true swallow_regex = ^(kitty)$ }
Running mpv video.mp4 swallows the kitty window and replaces with mpv window. Enter grouped mode with a kitty window and run mpv video.mp4. The kitty window is not hidden from the workspace.
mpv video.mp4
No response
I am working to fix this.
Already reported ? *
Regression?
No
System Info and Version
System/Version info
```sh Hyprland, built from branch at commit 4520b30d498daca8079365bdb909a8dea38e8d55 (version: bump to 0.44.1). Date: Wed Oct 9 12:54:39 2024 Tag: v0.44.1, commits: 5309 built against aquamarine 0.4.2 flags: (if any) System Information: System name: Linux Node name: phoenix Release: 6.11.5-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Tue, 22 Oct 2024 18:31:38 +0000 GPU information: 00:02.0 VGA compatible controller [0300]: Intel Corporation WhiskeyLake-U GT2 [UHD Graphics 620] [8086:3ea0] (rev 02) (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/yatin/.config/hypr/hyprland.conf: Read Succeeded #: Keybinds {{{ $mod = SUPER $mod2 = ALT $term = kitty -1 $term2 = foot bind=$mod SHIFT,n,exec,$HOME/foo.sh bind=$mod,Return,exec,$term bind=$mod SHIFT,Return,exec,$term -e muxterm mix bind=$mod $mod2,Return,exec,$term2 bind=$mod,r,exec, hyprctl reload && killall waybar && waybar & # TODO fix bind=$mod $mod2,r,exec,hyprfreeze -a bind=$mod,space,exec, rofi -show drun bind=$mod,semicolon,exec, tessen -a both bind=$mod SHIFT,s,exec, ~/.config/rofi/powermenu/powermenu.sh bind=$mod,v,exec,pavucontrol bind=,XF86WLAN,exec,~/code/nerd-dictation/nerd-dictation begin --simulate-input-tool WTYPE --timeout 2 #Editor # bind=$mod,e,exec,$term -e nvim # bind=$mod SHIFT,e,exec, emacs # bind = $mod,w,exec,pypr toggle notes bind = $mod,n,exec,$term -e nvim ~/documents/org +'cd ~/documents/org | Lf' bind=$mod SHIFT,d,exec,$term -e today bind=$mod,w,exec,flatpak run io.github.amit9838.mousam bind=$mod SHIFT,c,exec, gtk-launch code-oss bind=$mod,O, exec, libreoffice # bind= $mod SHIFT,O, exec, obsidian #File Manager # bind=$mod,a,exec, $term -e lf #Audio Consumption # bind=$mod,n,exec, rofi-beats bind=$mod,s,exec, playerctl --player=spotify,spotifyd,cmus,Lollypop,mpv play-pause bind=$mod,bracketleft,exec, playerctl --player=spotify,spotifyd,cmus,Lollypop,mpv previous bind=$mod,bracketright,exec, playerctl --player=spotify,spotifyd,cmus,Lollypop,mpv next binde=$mod,minus,exec, playerctl --player=spotify,cmus,Lollypop,mpv volume .05- binde=$mod,equal,exec, playerctl --player=spotify,cmus,Lollypop,mpv volume .05+ bind=$mod,u,exec,pypr toggle lollypop bind=$mod SHIFT,u,exec,pypr toggle spotify # bind=$mod,period,exec, toggler spotify-tui # bind=$mod,slash,exec, toggler music-player bind=$mod,slash,exec, toggler spotifyd #Browser bind=$mod,b,exec,gtk-launch vivaldi-stable # bind=$mod SHIFT,n,exec,gtk-launch brave-browser bind=$mod $mod2,f,exec,gtk-launch firefox bind=$mod,t,exec,torbrowser-launcher #Util #bind=$mod,t,exec,pypr toggle ticktick # bind=$mod,m,exec,pypr toggle ferdium # bind=$mod SHIFT,m,exec,toggler neomutt # bind=$mod,c,exec,toggler signal bind=$mod,c,exec,pypr toggle signal bind=$mod $mod2,d,exec,wl-copy $(date +%D) bind=$mod SHIFT,minus,exec,wl-copy '—' bind= $mod shift,g,submap,games submap=games bind=,l,exec,gtk-launch lichess bind=,l,submap,reset bind=,m,exec,gtk-launch com.atlauncher.ATLauncher bind=,m,submap,reset bind=,s,exec,gtk-launch com.valvesoftware.Steam bind=,s,submap,reset # bind=,t,exec,$term -e netris -k "hHklLJjs frn" -i .15 # bind=,t,submap,reset bind=,escape,submap,reset submap=reset #Video Entertainment # bind= $mod,n,exec, $term --class newsboat -e newsboat; workspace 10; mode "default" # bind= $mod,p,exec, $term --class pipe-viewer -e pipe-viewer --resolution=480; workspace 10 bind= $mod,p,exec,gtk-launch gtk-pipe-viewer # bind= ,XF86Tools,exec, pomo # bind = ,SHIFT,XF86Tools,exec, echo "" > $XDG_CACHE_HOME/pomo.cache; exec pkill -SIGRTMIN,4 i3status-rs #TOGGLES #Bluetooth bind = ,XF86Favorites,exec, rfkill toggle bluetooth bind = $mod SHIFT,b,exec,blueman-manager #Other # bind = $mod,Tab,exec, toggler espanso # bind = $mod,grave,exec, dunstctl close bind = $mod,grave,exec,swaync-client -t -sw bind = $mod SHIFT,r,exec,toggler gammastep bind = $mod SHIFT,i,exec,hyprshade toggle greyscale.glsl #Utility bind = $mod SHIFT,d,exec, gtk-launch dash bind = $mod,i,exec, rofimoji -a copy bind = $mod,apostrophe,exec,sadmenu # bind = $mod,shift,i,exec, rofi -show calc -modi calc -no-show-match -no-sort bind = $mod SHIFT,semicolon,exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy bind = $mod SHIFT,apostrophe,exec,cliphist list | rofi -dmenu | cliphist delete bind = $mod $mod2,apostrophe,exec,cliphist wipe bind = $mod,backslash,exec,toggler inhibit-lid bind = $mod SHIFT,backslash,exec, [workspace special:1 silent] kitty -1 # bind = $mod,$mod2,p,exec, swayprop bind = $mod,BackSpace, exec, ~/.config/hypr/perf.sh bind = $mod,comma, exec, systemctl --user restart pipewire bind = $mod SHIFT,bracketleft,exec,toggler display bind = $mod SHIFT,bracketright,exec,hyprctl reload && notify-send "Reloaded Hyprland." # bind= $mod SHIFT,Y,exec, bind = $mod,Y,togglespecialworkspace, stash bind = $mod SHIFT,Y,exec,pypr toggle_special stash binde= ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%+ binde= ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%- # binde= SHIFT,XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ 5%+ binde= SHIFT,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- bind = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle bind = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle bind = ,Print,exec,grim -g "$(slurp)" - | swappy -f - # Sound Board # bind = $mod,XF86AudioRaiseVolume,exec,ffplay -nodisp -autoexit ~/audio/vine-boom-long.ogg # bind = $mod,XF86AudioLowerVolume,exec,ffplay -nodisp -autoexit ~/audio/waterphone.ogg # bind = $mod,XF86AudioMute,exec,ffplay -nodisp -autoexit ~/audio/kinison-scream.ogg # bind = $mod,Tab,exec,ffplay -nodisp -autoexit ~/audio/win95.opus # bind = $mod,Escape,exec,ffplay -nodisp -autoexit ~/audio/dt-rap.opus # adjust screen brightness binde= ,XF86MonBrightnessUp, exec, light -A .8 binde= ,XF86MonBrightnessDown, exec, light -U .8 binde= $mod2,1, exec, light -U 5 binde= $mod2,2, exec, light -A 5 binde= $mod SHIFT,A, exec, light -S .01 #Min Brightness binde= $mod $mod2,j,exec,gdark dec binde= $mod $mod2,k,exec,gdark inc binde= $mod,Q,killactive bind= $mod SHIFT,Q,exit bind= $mod,F,togglefloating bind= $mod,g,togglegroup # bind= $mod,D,hy3:makegroup bind= $mod,D,fullscreen,1 bind= $mod shift,f,fullscreen,0 bind= $mod SHIFT,Z,exec, pypr zoom bind= $mod,H,exec,~/.config/hypr/scripts/focus l bind= $mod,L,exec,~/.config/hypr/scripts/focus r bind= $mod,K,exec,~/.config/hypr/scripts/focus u bind= $mod,J,exec,~/.config/hypr/scripts/focus d bind= $mod SHIFT,H,exec,~/.config/hypr/scripts/group l bind= $mod SHIFT,L,exec,~/.config/hypr/scripts/group r bind= $mod SHIFT,K,exec,~/.config/hypr/scripts/group u bind= $mod SHIFT,J,exec,~/.config/hypr/scripts/group d bind= $mod $mod2,H,movegroupwindow,b bind= $mod $mod2,L,movegroupwindow,f # resize hjkl binde= $mod2 SHIFT,H, resizeactive, -20 0 binde= $mod2 SHIFT,L, resizeactive, 20 0 binde= $mod2 SHIFT,K, resizeactive, 0 -20 binde= $mod2 SHIFT,J, resizeactive, 0 20 bind= $mod,Z,workspace, e-1 bind= $mod,X,workspace, e+1 # Switch workspaces with mod + [0-9] 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 # Move active window to a workspace with mod + SHIFT + [0-9] 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 # Scroll through existing workspaces with mod + scroll bind = $mod, mouse_down, workspace, e+1 bind = $mod, mouse_up, workspace, e-1 # Move/resize windows with mod + LMB/RMB and dragging bindm = $mod, mouse:272, movewindow bindm = $mod, mouse:273, resizewindow # }}} #: Startup {{{ exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP #makes OBS work exec-once=hypridle exec-once=hyprpm reload -n exec-once=hyprpaper exec-once=waybar exec-once=pypr exec-once=hyprshade toggle greyscale.glsl exec-once=gammastep exec-once=wl-paste --watch cliphist store exec-once=swaync exec-once=[workspace special:1 silent] kitty -1 exec-once=blueman-applet exec-once=nm-applet --indicator # exec-once=rclone mount dropbox:/org ~/documents/org exec-once=syncthing -no-browser # exec-once=ianny # exec-once=QT_QPA_PLATFORM='xcb' megasync exec-once=/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 # }}} #: Options {{{ input { # Mouse touchpad { natural_scroll = true tap-to-click = false } follow_mouse = 1 sensitivity = 0 # Keyboard kb_layout = us repeat_delay = 350 repeat_rate = 33 } general { gaps_in = 4 gaps_out = 6 border_size = 3 col.active_border = rgba(98971aee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) layout = master } decoration { rounding = 5 blur { enabled = false size = 8 passes = 2 xray = true } active_opacity = 1.0 inactive_opacity = 1.0 fullscreen_opacity = 1.0 shadow_range = 4 drop_shadow = false shadow_render_power = 3 col.shadow = rgba(1a1a1aee) } animations { enabled = true bezier = setBezier, 0.05, 0.9, 0.1, 1 animation = border,0,10,default animation = fade,1,7,default animation = windows,1,3,setBezier animation = windowsOut,1,2,default,popin 80% animation = workspaces,1,2,default } dwindle { pseudotile = true preserve_split = true } master { no_gaps_when_only = false } group { groupbar { font_family = JetBrainsMono Nerd Font height = 20 font_size = 12 text_color = 0xFF282828 } } gestures { workspace_swipe = true } misc { vfr = true disable_autoreload = true disable_hyprland_logo = true enable_swallow = true swallow_regex = ^(kitty)$ swallow_exception_regex = ^(dragon)$ # TODO fix this, include wev } device { name = logitech-m325 sensitivity = -0.7 } device { name = lenovo-optical-mouse sensitivity = .2 } #: }}} #: env {{{ env = XCURSOR_SIZE,24 # env = XCURSOR_THEME,Breeze Snow env = GDK_BACKEND,wayland,x11 # env = QT_QPA_PLATFORM,wayland;xcb # env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 env = QT_QPA_PLATFORMTHEME,qt5ct # control wayland theme with Kvantum env = _JAVA_AWT_WM_NONREPARENTING,1 env = XCURSOR_SIZE,24 env = CLUTTER_BACKEND,wayland env = XDG_SESSION_TYPE,wayland env = MOZ_ENABLE_WAYLAND,1 env = WLR_NO_HARDWARE_CURSORS,1 env = WLR_BACKEND,vulkan env = XDG_CURRENT_DESKTOP,Hyprland env = XDG_SESSION_TYPE,wayland env = XDG_SESSION_DESKTOP,Hyprland #: }}} #: Window Rules {{{ # https://wiki.hyprland.org/Configuring/Window-Rules/ # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ windowrulev2 = opacity 1 override 1 override,class:^(kitty|lf|org.wezfurlong.wezterm|foot|notes|emacs|neovide)$ windowrulev2 = opacity .97 override .97 override,class:^(gtk-pipe-viewer)$ # floating windowrulev2=float,class:^(GtkFileChooserDialog)$|xdg-desktop-portal-gtk|^(vivaldi-stable)$|^(brave)$,title:^(Open File)$|^(Save File)$|^(Preferences)$ #TODO confirm this works windowrulev2=float,class:^(org.pulseaudio.pavucontrol)$ windowrulev2=float,class:^(notes|Signal|Spotify|ticktick|ferdium)$ windowrule=float,Steam Guard #windowrule=idleinhibit fullscreen,firefox # bind to workspace # windowrule=workspace 1,vivaldi-stable windowrule=workspace 10,pipe-viewer windowrule=workspace 10,newsboat # games #windowrulev2=fullscreen,title:TEKKEN 7 #windowrulev2=idleinhibit always,title:TEKKEN 7 #windowrulev2=forceinput,title:TEKKEN 7 windowrulev2 = float, class:^(blueman-manager)$ windowrulev2 = float, class:^(pavucontrol)$ # }}} #: Displays {{{ # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,preferred,auto,1 # mirror monitor # monitor=HDMI-A-1,1920x1080@60,0x0,1,mirror,eDP-1 # disable laptop screen # monitor=,highres,auto,1 # monitor=eDP-1,disable # use nwg-displays generated conf # source=~/.config/hypr/monitors.conf # }}} #: Plugins # source = ~/.config/hypr/plugins.conf # vim:foldmethod=marker:foldlevel=0:filetype=hyprlang:commentstring=#\ %s ======Config-End======== ```Description
Swallowing doesn't work in grouped (tabbed) mode. Instead, the original application remains visible in a separate tab.
How to reproduce
Set
Running
mpv video.mp4
swallows the kitty window and replaces with mpv window. Enter grouped mode with a kitty window and runmpv video.mp4
. The kitty window is not hidden from the workspace.Crash reports, logs, images, videos
No response