Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Swallows don't work in grouped (tabbed) mode #8206

Open
1 task done
yatinlala opened this issue Oct 23, 2024 · 1 comment
Open
1 task done

Swallows don't work in grouped (tabbed) mode #8206

yatinlala opened this issue Oct 23, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@yatinlala
Copy link

Already reported ? *

  • I have searched the existing open and closed issues.

Regression?

No

System Info and Version

System/Version info
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

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.

Crash reports, logs, images, videos

No response

@yatinlala yatinlala added the bug Something isn't working label Oct 23, 2024
@Aqa-Ib
Copy link
Contributor

Aqa-Ib commented Oct 23, 2024

I am working to fix this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants