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.62k stars 904 forks source link

swallow_exception_regex not work #8415

Open ziwen1002 opened 2 days ago

ziwen1002 commented 2 days ago

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.3 flags: (if any) System Information: System name: Linux Node name: lzw Release: 6.11.6-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Fri, 01 Nov 2024 03:30:41 +0000 GPU information: 00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412] (rev 06) (prog-if 00 [VGA controller]) 02:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Polaris 20 XL [Radeon RX 580 2048SP] [1002:6fdf] (rev ef) (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: hyprfocus by Vortex ver 2.0 ======Config-Start====== Config File: /home/lzw/.config/hypr/hyprland.conf: Read Succeeded source = conf.d/* # 设置插件 exec-once = sleep 3 && hyprpm reload -n Config File: /home/lzw/.config/hypr/conf.d/010-variables.conf: Read Succeeded # 全局变量的定义,所有的配置都可以使用的配置 # 单个模块的变量可以定义到模块内部 $mainMod = SUPER # 用于最小化的特殊工作空间 $minimizedWorkspace = minimized # 引入颜色主题 source = ~/.cache/colors/hyprland.conf Config File: /home/lzw/.cache/colors/hyprland.conf: Read Succeeded $background = rgb(111210) $foreground = rgb(F8FCE6) $color0 = rgb(393A38) $color1 = rgb(0D1405) $color2 = rgb(734C4A) $color3 = rgb(66754D) $color4 = rgb(7389AB) $color5 = rgb(D8A08A) $color6 = rgb(EBF5B7) $color7 = rgb(EDF2D3) $color8 = rgb(A6A993) $color9 = rgb(0D1405) $color10 = rgb(734C4A) $color11 = rgb(66754D) $color12 = rgb(7389AB) $color13 = rgb(D8A08A) $color14 = rgb(EBF5B7) $color15 = rgb(EDF2D3) Config File: /home/lzw/.config/hypr/conf.d/020-animations.conf: Read Succeeded animations { enabled = yes # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = myBezier, 0.05, 0.9, 0.1, 1.05 animation = windows, 1, 7, myBezier animation = windowsOut, 1, 7, default, popin 80% animation = border, 1, 10, default animation = borderangle, 1, 8, default animation = fade, 1, 7, default animation = workspaces, 1, 6, default } Config File: /home/lzw/.config/hypr/conf.d/020-cursor.conf: Read Succeeded # 光标设置 env = HYPRCURSOR_SIZE,24 env = XCURSOR_SIZE,24 cursor { hide_on_key_press = true # 光标不活动多少秒后隐藏它 inactive_timeout = 5 hide_on_touch = true # 测试 vmware 的虚拟机里光标没有显示,设置 no_hardware_cursors 为 true 可以解决 # FIXME: https://github.com/hyprwm/Hyprland/issues/7577 # 定期检查新版本是否已经解决 no_hardware_cursors = true } Config File: /home/lzw/.config/hypr/conf.d/020-debug.conf: Read Succeeded debug { disable_logs = false disable_time = false } Config File: /home/lzw/.config/hypr/conf.d/020-decoration.conf: Read Succeeded decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 10 blur { enabled = true size = 3 # passes = 1 # popups = true # noise = 0.8 # contrast = 1 } drop_shadow = yes shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) # 非活动窗口的透明度 inactive_opacity = 1 # 当特殊工作区打开时,屏幕其余部分要调暗多少。默认值是0.2 dim_special = 0.7 } Config File: /home/lzw/.config/hypr/conf.d/020-dwindle.conf: Read Succeeded dwindle { # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = yes # you probably want this } Config File: /home/lzw/.config/hypr/conf.d/020-general.conf: Read Succeeded general { # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = 2 gaps_out = 5 border_size = 2 col.active_border = $color1 $color3 $color5 45deg col.inactive_border = $color0 layout = master # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false # 通过单击并拖动边框和间隙来调整窗口大小 resize_on_border = true } Config File: /home/lzw/.config/hypr/conf.d/020-gestures.conf: Read Succeeded gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = off } Config File: /home/lzw/.config/hypr/conf.d/020-input.conf: Read Succeeded # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us kb_variant = kb_model = kb_options = kb_rules = # https://wiki.hyprland.org/Configuring/Variables/#follow-mouse-cursor # 0 光标移动不会改变焦点。 # 1 光标移动将始终将焦点更改到光标下方的窗口。 # 2 光标焦点将与键盘焦点分离。单击窗口会将键盘焦点移动到该窗口。 # 3 光标焦点将与键盘焦点完全分开。单击窗口不会改变键盘焦点。 follow_mouse = 1 touchpad { natural_scroll = no } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } Config File: /home/lzw/.config/hypr/conf.d/020-master.conf: Read Succeeded master { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more orientation = right mfact = 0.65 } Config File: /home/lzw/.config/hypr/conf.d/020-misc.conf: Read Succeeded misc { # See https://wiki.hyprland.org/Configuring/Variables/ for more force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers new_window_takes_over_fullscreen = 1 # https://github.com/hyprwm/Hyprland/issues/570 enable_swallow = true # 希望被 swallow 的窗口类名匹配规则 swallow_regex = ^(org.wezfurlong.wezterm)$ # 不需要启用 swallow 的窗口标题名匹配规则,注意匹配的是父级窗口的标题 # 例如: # 1. wezterm 下运行 wev # 2. 会有 wezterm 的进程 和一个 wev 的进程 # 3. 这里匹配的是 wezterm 的标题 swallow_exception_regex = ^(wev)$ } Config File: /home/lzw/.config/hypr/conf.d/030-base.conf: Read Succeeded # =========================== BEGIN 环境变量设置 BEGIN =========================== # 没有分类的环境变量 env = LC_ALL, env = EDITOR,vim # 设置XDG相关的环境变量 # https://wiki.hyprland.org/Configuring/Environment-variables/#xdg-specifications # XDG门户也会设置 #env = XDG_CURRENT_DESKTOP,Hyprland #env = XDG_SESSION_TYPE,wayland #env = XDG_SESSION_DESKTOP,Hyprland # 设置Toolkit Backend的环境变量 # https://wiki.hyprland.org/Configuring/Environment-variables/#toolkit-backend-variables env = GDK_BACKEND,wayland,x11 env = QT_QPA_PLATFORM,wayland;xcb env = SDL_VIDEODRIVER,wayland,x11 env = CLUTTER_BACKEND,wayland # 设置QT环境变量 env = QT_AUTO_SCREEN_SCALE_FACTOR,1 # 上面已经设置了 #env = QT_QPA_PLATFORM,wayland;xcb env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 # change to qt6ct if you have that env = QT_QPA_PLATFORMTHEME,qt5ct # 设置Electron相关的环境变量 # https://wiki.archlinux.org/title/wayland#Environment_variable # Electron >= 28 设置 env = ELECTRON_OZONE_PLATFORM_HINT,auto # =========================== END 环境变量设置 END =========================== # 全局的窗口规则 # https://wiki.hyprland.org/Configuring/Window-Rules/ # nomaximizerequest 被废弃了,使用 suppressevent # windowrulev2 = nomaximizerequest, class:.* # https://github.com/hyprwm/Hyprland/issues/5197 windowrulev2 = suppressevent maximize, class:.* # 全屏功能还是需要的 #windowrulev2 = suppressevent fullscreen, class:.* # https://wiki.hyprland.org/Configuring/Binds/ bind = $mainMod, q, killactive bind = $mainMod, escape, exit bind = $mainMod, v, togglefloating # dwindle bind = $mainMod, p, pseudo # dwindle bind = $mainMod, j, togglesplit # ======================= 工作空间的操作 ======================= # 当前显示器上的工作空间切换 bind = $mainMod, tab, workspace, m+1 # `和~ 键码是 code:49,也可使用 grave bind = $mainMod, grave, workspace, e+1 # 新建一个空的工作空间 # FIXME: 当工作空间A已经在配置文件中定义,但是是其他显示器的,此时新建空的工作空间将会是A,而不是当前显示器的空工作空间 # https://github.com/hyprwm/Hyprland/pull/6089 bind = $mainMod, n, workspace, emptym # 两个显示器交换工作空间 # https://www.reddit.com/r/hyprland/comments/13tbdyc/help_swappingmoving_active_workspaces_across/ # https://wiki.hyprland.org/Configuring/Dispatchers bind = $mainMod, s, swapactiveworkspaces,current +1 # ======================= 窗口的操作 ======================= # 当前工作空间的窗口切换焦点 bind = CTRL, tab, cyclenext # 焦点聚焦显示器 # `和~ 键码是 code:49,也可使用 grave bind = CTRL, grave, focusmonitor, +1 bind = $mainMod, m, movetoworkspacesilent, emptynm bind = $mainMod SHIFT, m, movetoworkspace, emptynm # 交换窗口 bind = $mainMod, left, swapwindow, l bind = $mainMod, right, swapwindow, r bind = $mainMod, up, swapwindow, u bind = $mainMod, down, swapwindow, d # 移动窗口 bind = $mainMod SHIFT, left, movewindow, l bind = $mainMod SHIFT, right, movewindow, r bind = $mainMod SHIFT, up, movewindow, u bind = $mainMod SHIFT, down, movewindow, d bind = $mainMod CTRL, left, movetoworkspace, m-1 bind = $mainMod CTRL, right, movetoworkspace, m+1 # 这个全屏并不是程序自身全屏,而是窗口全屏,程序没有全屏 # 例如:chrome的全屏是没有菜单和标签页的,但是这个全屏后还是有菜单和标签页的,只是窗口全屏了 bind = $mainMod, F11, fullscreen # 改变窗口的大小 # resizeactive的参数行为很奇怪,还是用鼠标吧 # binde = $mainMod CTRL ALT, left, resizeactive, 10 10 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow # 鼠标中键调整窗口大小 bindm = , mouse:274, resizewindow # https://wiki.hyprland.org/Configuring/Dispatchers # 不明白 forcerendererreload 的意思 # bind = $mainMod, F5, forcerendererreload # 运行 Authentication Agent # https://wiki.hyprland.org/Useful-Utilities/Must-have/\#authentication-agent exec-once=/usr/lib/polkit-kde-authentication-agent-1 # FIXME: https://www.reddit.com/r/hyprland/comments/1agzq86/blur_problem_in_chrome/ # 如果启用wayland,启动chrome会有一个只有chrome图标的窗口,这个是因为启用了“关闭 Google Chrome 后继续运行后台应用” # 虚拟桌面 # https://github.com/levnikmyskin/hyprland-virtual-desktops # csgo 自定义分辨率 # https://github.com/hyprwm/hyprland-plugins/tree/main/csgo-vulkan-fix # 目前我没有使用自定义分辨率,没有遇到问题 # 放大镜的快捷键 # $mainMod + "+/=" 实现放大功能 bind = $mainMod, equal, exec, ~/.config/hypr/scripts/zoom.sh in # $mainMod + "-/_" 实现缩小功能 bind = $mainMod, minus, exec, ~/.config/hypr/scripts/zoom.sh out # 截屏 bind = , Print, exec, mkdir -p ~/.cache/hypr/screenshot && grim -c ~/.cache/hypr/screenshot/$(date +screenshot_%F_%T.png) bind = $mainMod, Print, exec, mkdir -p ~/.cache/hypr/screenshot && grim -c -g "$(slurp)" ~/.cache/hypr/screenshot/$(date +screenshot_%F_%T.png) Config File: /home/lzw/.config/hypr/conf.d/040-minimized.conf: Read Succeeded workspace = special:$minimizedWorkspace, gapsout:50 bind = , F10, movetoworkspacesilent, special:$minimizedWorkspace # 从最小化窗口选择一个窗口回到上个workspace # !!!! 确保每次关闭 $minimizedWorkspace 时都需要 reset submap bind = $mainMod, F10, togglespecialworkspace, $minimizedWorkspace bind = $mainMod, F10, submap, back_from_min submap=back_from_min # 关闭窗口 bind = $mainMod, q, killactive bind = $mainMod, F10, togglespecialworkspace, $minimizedWorkspace bind = $mainMod, F10, submap,reset # bind = ALT, tab, cyclenext # bind = ALT SHIFT, tab, cyclenext, prev # 将焦点的窗口移动到上个workspace,并且跟随到workspace bind = , F10, movetoworkspace, +0 bind = , F10, submap,reset bind = CTRL, F10, movetoworkspacesilent, +0 # 关闭 $minimizedWorkspace bind=,escape,togglespecialworkspace,$minimizedWorkspace bind=,escape,submap,reset submap=reset # 将最小化窗口里的最后一个窗口移动到当前的workspace bind = $mainMod, F12, togglespecialworkspace, $minimizedWorkspace bind = $mainMod, F12, movetoworkspace, +0 Config File: /home/lzw/.config/hypr/conf.d/050-monitor.conf: Read Succeeded $mainMonitorDesc = BNQ BenQ VZ2750 7AG03909CL0 $secondMonitorDesc = Invalid Vendor Codename - RTK 32V3H-H6A 0x00000001 # 显示器设置 # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=desc:$mainMonitorDesc, 1920x1080, 0x0, 1 monitor=desc:$secondMonitorDesc, 960x540, -960x540, 1, transform, 2 Config File: /home/lzw/.config/hypr/conf.d/350-audio.conf: Read Succeeded # https://wiki.hyprland.org/Configuring/Binds/#example-binds bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+ bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle bindl = , XF86AudioPlay, exec, playerctl play-pause bindl = , XF86AudioStop, exec, playerctl stop bindl = , XF86AudioPrev, exec, playerctl previous bindl = , XF86AudioNext, exec, playerctl next Config File: /home/lzw/.config/hypr/conf.d/350-cavasik.conf: Read Succeeded # 设置 Cavasik 的窗口规则 # FIXME: 目前是以窗口的形式展示,后面需要修改为以layer展示 windowrulev2 = noborder, title:^Cavasik$,class:(Cavasik)$ windowrulev2 = noblur, title:^Cavasik$,class:(Cavasik)$ windowrulev2 = noshadow, title:^Cavasik$,class:(Cavasik)$ Config File: /home/lzw/.config/hypr/conf.d/350-chrome.conf: Read Succeeded windowrulev2 = idleinhibit fullscreen, class: ^(Google-chrome)$ Config File: /home/lzw/.config/hypr/conf.d/350-dolphin.conf: Read Succeeded # 文件管理器设置 bind = $mainMod, e, exec, org.kde.dolphin Config File: /home/lzw/.config/hypr/conf.d/350-fcitx5.conf: Read Succeeded # 设置输入法 exec-once = fcitx5 # 如果不设置GTK_IM_MODULE,chrome输入有问题,例如输入“我是”,可能在输入的过程中输入框输入了“i” env = GTK_IM_MODULE,fcitx env = QT_IM_MODULE,fcitx env = XMODIFIERS,@im=fcitx Config File: /home/lzw/.config/hypr/conf.d/350-flameshot.conf: Read Succeeded # 设置截图快捷键 bind = CTRL ALT, A, exec, flameshot gui windowrulev2 = float, class:^(flameshot)$ windowrulev2 = fullscreenstate 2, class:^(flameshot)$ # FIXME: -960 是我的第二个显示器的分辨率的宽度。这里先写死,因为没想到好办法和显示器配置互动。 windowrulev2 = move -960 0, class:^(flameshot)$, xwayland:0 # 配置窗口 windowrulev2 = center 1, class:^(flameshot)$, title: ^(配置)$ # pin 窗口 windowrulev2 = center 1, class:^(flameshot)$, xwayland:1 Config File: /home/lzw/.config/hypr/conf.d/350-hyprfocus.conf: Read Succeeded # https://github.com/VortexCoyote/hyprfocus 的配置 # plugin:hyprfocus { # enabled = yes # # keyboard_focus_animation = shrink # mouse_focus_animation = flash # # bezier = bezIn, 0.5,0.0,1.0,0.5 # bezier = bezOut, 0.0,0.5,0.5,1.0 # # flash { # flash_opacity = 0.7 # # in_bezier = bezIn # in_speed = 0.5 # # out_bezier = bezOut # out_speed = 3 # } # # shrink { # shrink_percentage = 0.8 # # in_bezier = bezIn # in_speed = 0.5 # # out_bezier = bezOut # out_speed = 3 # } # } # https://github.com/pyt0xic/hyprfocus 的配置 plugin:hyprfocus { enabled = yes animate_floating = yes animate_workspacechange = yes focus_animation = shrink # Beziers for focus animations bezier = bezIn, 0.5,0.0,1.0,0.5 bezier = bezOut, 0.0,0.5,0.5,1.0 bezier = overshot, 0.05, 0.9, 0.1, 1.05 bezier = smoothOut, 0.36, 0, 0.66, -0.56 bezier = smoothIn, 0.25, 1, 0.5, 1 bezier = realsmooth, 0.28,0.29,.69,1.08 # Flash settings flash { flash_opacity = 0.95 in_bezier = realsmooth in_speed = 0.5 out_bezier = realsmooth out_speed = 3 } # Shrink settings shrink { shrink_percentage = 0.97 in_bezier = realsmooth in_speed = 1 out_bezier = realsmooth out_speed = 2 } } Config File: /home/lzw/.config/hypr/conf.d/350-hypridle.conf: Read Succeeded # 设置 hypridle exec-once = hypridle --config ~/.config/hypridle/hypridle.conf Config File: /home/lzw/.config/hypr/conf.d/350-hyprlock.conf: Read Succeeded # 设置锁屏 bind = $mainMod, L, exec, hyprlock --config ~/.config/hyprlock/hyprlock.conf Config File: /home/lzw/.config/hypr/conf.d/350-hyprpaper.conf: Read Succeeded # 设置壁纸 exec-once = hyprpaper --config ~/.config/hyprpaper/hyprpaper.conf exec-once = ~/.config/hyprpaper/scripts/wallpaper.sh Config File: /home/lzw/.config/hypr/conf.d/350-hyprpicker.conf: Read Succeeded # 取色器 bind = $mainMod, c, exec, hyprpicker -a -f hex Config File: /home/lzw/.config/hypr/conf.d/350-localsend.conf: Read Succeeded windowrulev2 = float, class:^(localsend)$ Config File: /home/lzw/.config/hypr/conf.d/350-peazip.conf: Read Succeeded # wayland 的 class 是 peazip, xwayland 的 class 是 PeaZip windowrulev2 = float, class:^(PeaZip|peazip)$ Config File: /home/lzw/.config/hypr/conf.d/350-pot.conf: Read Succeeded # 翻译软件 # xwayland 启动 pot, wayland 的使用体验不好 # 使用 xwayland 可以改善的体验: # 1. 失去焦点关闭翻译窗口,并且多次调用翻译时不需要先关闭残留的窗口再打开新的翻译窗口 exec-once=mkdir -p ~/.cache/com.pot-app.desktop && XDG_SESSION_TYPE=x11 GDK_BACKEND=x11 pot bind = , F6, exec, curl "127.0.0.1:60828/selection_translate" bind = $mainMod, F6, exec, curl "127.0.0.1:60828/config" # https://github.com/pot-app/pot-desktop?tab=readme-ov-file#%E6%88%AA%E5%9B%BE%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8 bind = $mainMod, F7, exec, grim -g "$(slurp)" ~/.cache/com.pot-app.desktop/pot_screenshot_cut.png && curl "127.0.0.1:60828/ocr_recognize?screenshot=false" # 截图翻译 bind = , F7, exec, grim -g "$(slurp)" ~/.cache/com.pot-app.desktop/pot_screenshot_cut.png && curl "127.0.0.1:60828/ocr_translate?screenshot=false" # https://github.com/pot-app/pot-desktop?tab=readme-ov-file#%E5%88%92%E8%AF%8D%E7%BF%BB%E8%AF%91%E7%AA%97%E5%8F%A3%E8%B7%9F%E9%9A%8F%E9%BC%A0%E6%A0%87%E4%BD%8D%E7%BD%AE # wayland 下的 class 是 pot ,xwayland 下的 class 是 Pot 。 windowrulev2 = float, class:^([pP]ot)$, title:^(Translate|Translator|OCR|PopClip|Screenshot Translate|Config|Recognize)$ windowrulev2 = move cursor 0 0, class:^([pP]ot)$, title:^(Translate|Translator|PopClip|Screenshot Translate)$ windowrulev2 = center, class:^([pP]ot)$, title:^(Config|Recognize)$ Config File: /home/lzw/.config/hypr/conf.d/350-rofi.conf: Read Succeeded bind = $mainMod, R, exec, rofi -show-icons -show combi -combi-modes "drun,window,run,ssh" -modes combi Config File: /home/lzw/.config/hypr/conf.d/350-rpcs3.conf: Read Succeeded windowrulev2 = idleinhibit fullscreen, class: ^(rpcs3)$ Config File: /home/lzw/.config/hypr/conf.d/350-ryujinx.conf: Read Succeeded # 设置 Ryujinx 的窗口规则 # 玩游戏的时候不要锁屏 windowrulev2 = idleinhibit focus, class: ^(Ryujinx)$ Config File: /home/lzw/.config/hypr/conf.d/350-steam.conf: Read Succeeded # https://wiki.hyprland.org/faq/#steams-file-picker-no-worky # https://github.com/hyprwm/Hyprland/issues/2661#issuecomment-1629219873 windowrulev2 = float, title:^(Steam 设置)$,class:^(steam)$ windowrulev2 = center 1, title:^(Steam 设置)$,class:^(steam)$ windowrulev2 = float, title:^(好友列表)$,class:^(steam)$ windowrulev2 = center 1, title:^(好友列表)$,class:^(steam)$ windowrulev2 = noborder, title:^(Dota 2)$,class:^(dota2)$ Config File: /home/lzw/.config/hypr/conf.d/350-swaync.conf: Read Succeeded # 设置通知守护进程 exec-once = swaync Config File: /home/lzw/.config/hypr/conf.d/350-thunderbird.conf: Read Succeeded # 启动邮箱 exec-once=[workspace special:$minimizedWorkspace silent] thunderbird Config File: /home/lzw/.config/hypr/conf.d/350-wezterm.conf: Read Succeeded # 终端的设置 $terminal = wezterm env = TERMINAL, $terminal bind = $mainMod, t, exec, $terminal # TODO: 访Yakuake的效果 # https://github.com/hyprwm/Hyprland/issues/1510 # bind = , F12, exec, [floating] $terminal Config File: /home/lzw/.config/hypr/conf.d/350-wlogout.conf: Read Succeeded # 设置登出菜单 bind = $mainMod, delete, exec, ~/.config/wlogout/wlogout_wrap.sh ======Config-End======== ```

Description

I use this tutorial to configure swallow, but the end result is that the terminal is still swallowed.

❯ hyprctl clients
Window 625d38f89490 -> Thunderbird 20 周年 — Thunderbird - Mozilla Thunderbird:
        mapped: 1
        hidden: 0
        at: 0,0
        size: 0,0
        workspace: -98 (special:minimized)
        floating: 0
        pseudo: 0
        monitor: 0
        class: thunderbird
        title: Thunderbird 20 周年 — Thunderbird - Mozilla Thunderbird
        initialClass: thunderbird
        initialTitle: Mozilla Thunderbird
        pid: 313194
        xwayland: 0
        pinned: 0
        fullscreen: 0
        fullscreenClient: 0
        grouped: 0
        tags:
        swallowing: 0
        focusHistoryID: 4

Window 625d391dc280 -> wev:
        mapped: 1
        hidden: 1
        at: 676,7
        size: 1237,1066
        workspace: 1 (1)
        floating: 0
        pseudo: 0
        monitor: 0
        class: org.wezfurlong.wezterm
        title: wev
        initialClass: org.wezfurlong.wezterm
        initialTitle: wezterm
        pid: 314450
        xwayland: 0
        pinned: 0
        fullscreen: 0
        fullscreenClient: 0
        grouped: 0
        tags:
        swallowing: 0
        focusHistoryID: 3

Window 625d38dd7c40 -> wev:
        mapped: 1
        hidden: 0
        at: 7,7
        size: 1906,1066
        workspace: 1 (1)
        floating: 0
        pseudo: 0
        monitor: 0
        class: wev
        title: wev
        initialClass: wev
        initialTitle: wev
        pid: 362841
        xwayland: 0
        pinned: 0
        fullscreen: 0
        fullscreenClient: 0
        grouped: 0
        tags:
        swallowing: 625d391dc280
        focusHistoryID: 2

Window 625d39254520 -> New Issue · hyprwm/Hyprland - Google Chrome:
        mapped: 1
        hidden: 0
        at: 7,7
        size: 1906,1066
        workspace: 3 (3)
        floating: 0
        pseudo: 0
        monitor: 0
        class: Google-chrome
        title: New Issue · hyprwm/Hyprland - Google Chrome
        initialClass: Google-chrome
        initialTitle: 无标题 - Google Chrome
        pid: 315627
        xwayland: 1
        pinned: 0
        fullscreen: 0
        fullscreenClient: 0
        grouped: 0
        tags:
        swallowing: 0
        focusHistoryID: 1

Window 625d391903b0 -> zsh:
        mapped: 1
        hidden: 0
        at: -953,547
        size: 946,526
        workspace: 2 (2)
        floating: 0
        pseudo: 0
        monitor: 1
        class: org.wezfurlong.wezterm
        title: zsh
        initialClass: org.wezfurlong.wezterm
        initialTitle: wezterm
        pid: 314450
        xwayland: 0
        pinned: 0
        fullscreen: 0
        fullscreenClient: 0
        grouped: 0
        tags:
        swallowing: 0
        focusHistoryID: 0

How to reproduce

for example:

Crash reports, logs, images, videos

https://github.com/user-attachments/assets/84813afe-11eb-4a7a-b89c-544b3c0d903b

Aqa-Ib commented 2 days ago

it works for me on hyprland v.0.45 using alacritty and this regex: swallow_exception_regex = .*wev.*

ziwen1002 commented 2 days ago

it works for me using alacritty and this regex: swallow_exception_regex = .*wev.*

also, try with hyprland version 0.45

I have upgraded to 0.45.0, still has problem use swallow_exception_regex = .*wev.*

Aqa-Ib commented 2 days ago

use swallow_exception_regex = .*wev.*

sorry, did this fix your issue?

ziwen1002 commented 2 days ago

use swallow_exception_regex = .wev.

sorry, did this work for you? not clear

if not, can you try on alacritty to see if it works for you there?

use wezterm and swallow_exception_regex = .*wev.* , not fix

use Alacritty and swallow_exception_regex = .*wev.* , not fix

hyprctl clients output

❯ hyprctl clients
Window 604df5768730 -> 收件箱 - 1596540547@qq.com - Mozilla Thunderbird:
        mapped: 1
        hidden: 0
        at: 52,52
        size: 1816,976
        workspace: -98 (special:minimized)
        floating: 0
        pseudo: 0
        monitor: 1
        class: thunderbird
        title: 收件箱 - 1596540547@qq.com - Mozilla Thunderbird
        initialClass: thunderbird
        initialTitle: Mozilla Thunderbird
        pid: 1255
        xwayland: 0
        pinned: 0
        fullscreen: 0
        fullscreenClient: 0
        grouped: 0
        tags:
        swallowing: 0
        focusHistoryID: 4

Window 604df583c860 -> swallow_exception_regex not work · Issue #8415 · hyprwm/Hyprland - Google Chrome:
        mapped: 1
        hidden: 0
        at: 676,7
        size: 1237,1066
        workspace: 3 (3)
        floating: 0
        pseudo: 0
        monitor: 1
        class: Google-chrome
        title: swallow_exception_regex not work · Issue #8415 · hyprwm/Hyprland - Google Chrome
        initialClass: Google-chrome
        initialTitle: 无标题 - Google Chrome
        pid: 2707
        xwayland: 1
        pinned: 0
        fullscreen: 0
        fullscreenClient: 0
        grouped: 0
        tags:
        swallowing: 0
        focusHistoryID: 3

Window 604df556e420 -> Alacritty:
        mapped: 1
        hidden: 1
        at: -620,547
        size: 613,526
        workspace: 1 (1)
        floating: 0
        pseudo: 0
        monitor: 0
        class: Alacritty
        title: Alacritty
        initialClass: Alacritty
        initialTitle: Alacritty
        pid: 96756
        xwayland: 0
        pinned: 0
        fullscreen: 0
        fullscreenClient: 0
        grouped: 0
        tags:
        swallowing: 0
        focusHistoryID: 2

Window 604df557fb20 -> wev:
        mapped: 1
        hidden: 0
        at: -953,547
        size: 946,526
        workspace: 1 (1)
        floating: 0
        pseudo: 0
        monitor: 0
        class: wev
        title: wev
        initialClass: wev
        initialTitle: wev
        pid: 97374
        xwayland: 0
        pinned: 0
        fullscreen: 0
        fullscreenClient: 0
        grouped: 0
        tags:
        swallowing: 604df556e420
        focusHistoryID: 1

Window 604df58e5cc0 -> zsh:
        mapped: 1
        hidden: 0
        at: 7,7
        size: 661,1066
        workspace: 3 (3)
        floating: 0
        pseudo: 0
        monitor: 1
        class: org.wezfurlong.wezterm
        title: zsh
        initialClass: org.wezfurlong.wezterm
        initialTitle: wezterm
        pid: 88374
        xwayland: 0
        pinned: 0
        fullscreen: 0
        fullscreenClient: 0
        grouped: 0
        tags:
        swallowing: 0
        focusHistoryID: 0

the title of parent process is Alacritty not wev.

Aqa-Ib commented 2 days ago

that is weird, on my system it show this:

Window 5ce582094fd0 -> pruebas: wev:
    mapped: 1
    hidden: 0
    at: 990,45
    size: 875,980
    workspace: 2 (2)
    floating: 0
    pseudo: 0
    monitor: 1
    class: Alacritty
    title: pruebas: wev
    initialClass: Alacritty
    initialTitle: Alacritty
    pid: 18755
    xwayland: 0
    pinned: 0
    fullscreen: 0
    fullscreenClient: 0
    grouped: 0
    tags:
    swallowing: 0
    focusHistoryID: 2

Window 5ce5820dccd0 -> wev:
    mapped: 1
    hidden: 0
    at: 55,72
    size: 875,953
    workspace: 2 (2)
    floating: 0
    pseudo: 0
    monitor: 1
    class: wev
    title: wev
    initialClass: wev
    initialTitle: wev
    pid: 18956
    xwayland: 0
    pinned: 0
    fullscreen: 0
    fullscreenClient: 0
    grouped: 5ce5820dccd0
    tags:
    swallowing: 0
    focusHistoryID: 3
ziwen1002 commented 2 days ago

initialClass

use Alacritty and swallow_exception_regex = .*Alacritty.*, fix.

I'm also confused about this title.

Aqa-Ib commented 2 days ago

yeah that is not a good fix though. I can't try wezterm because it doesn't work on my system. Also, I don't know why your Alacritty doesn't change the title?

ziwen1002 commented 2 days ago

yeah that is not a good fix though. I can't try wezterm because it doesn't work on my system. Also, I don't know why your Alacritty doesn't change the title?

This is my first time using Alacritty and I have nothing configured. Do I need to configure Alacritty?

Instead wezterm sets the title of the parent process to wev which is expected.

Aqa-Ib commented 2 days ago

Alacritty should change the title using the default configuration, weird that it does not on your system.

Instead wezterm sets the title of the parent process to wev which is expected.

I saw it in your output, weird that it doesn't work for you using wezterm, I don't know what is going on there.

ziwen1002 commented 2 days ago

alacritty info:

❯ LANG=C pacman -Qi alacritty
Name            : alacritty
Version         : 0.14.0-1
Description     : A cross-platform, GPU-accelerated terminal emulator
Architecture    : x86_64
URL             : https://github.com/alacritty/alacritty
Licenses        : Apache-2.0  MIT
Groups          : None
Provides        : None
Depends On      : freetype2  fontconfig  libxi  libxcursor  libxkbcommon  libxkbcommon-x11  libxrandr
Optional Deps   : ncurses: for alacritty terminfo database [installed]
Required By     : None
Optional For    : None
Conflicts With  : None
Replaces        : None
Installed Size  : 8.60 MiB
Packager        : T.J. Townsend <blakkheim@archlinux.org>
Build Date      : 2024
Install Date    : 2024
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : Signature

system info:

❯ fastfetch --logo none
-------
OS: Arch Linux x86_64
Host: Z97X-UD3H
Kernel: Linux 6.11.6-arch1-1
Uptime: 1 hour, 7 mins
Packages: 1267 (pacman), 76 (flatpak)
Shell: zsh 5.9
Display (BenQ VZ2750): 1920x1080 @ 60 Hz in 27" [External]
WM: Hyprland (Wayland)
Cursor: Adwaita
Terminal: WezTerm 20241015-083151-9ddca7bd
Terminal Font: JetBrains Mono
CPU: Intel(R) Core(TM) i7-4790K (8) @ 4.40 GHz
GPU: AMD Radeon RX 580 2048SP [Discrete]
Memory: 4.16 GiB / 31.26 GiB (13%)
Swap: 0 B / 32.00 GiB (0%)
Disk (/): 159.23 GiB / 218.02 GiB (73%) - ext4