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
19.69k stars 833 forks source link

floating alacritty does not get focus first time #6988

Closed alekgr closed 1 month ago

alekgr commented 1 month ago

Regression?

No

System Info and Version

System/Version info ```sh Hyprland, built from branch main at commit 3c758db95c129ed6ca7ce0c1b5b82ad6e189488d (renderer/layer-shell: use explicitly set exclusiveEdge (6984)). Date: Mon Jul 22 16:36:58 2024 Tag: v0.41.2-77-g3c758db9, commits: 4963 flags: (if any) System Information: System name: Linux Node name: rocket Release: 6.9.10-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Thu, 18 Jul 2024 18:06:13 +0000 GPU information: 00:02.0 VGA compatible controller [0300]: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] [8086:9a49] (rev 01) (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/alek/.config/hypr/hyprland.conf: Read Succeeded # For a full list, see the wiki # #autogenerated = 1 # remove this line to remove the warning # See https://wiki.hyprland.org/Configuring/Monitors/ #monitor=,preferred,auto,1 monitor=HDMI-A-1, 3840x2160@60, 0x0, 1 monitor=eDP-1, 1920x1080@60, 3840x0, 1 #workspace workspace=HDMI-A-1,1 workspace=1, monitor:HDMI-A-1 workspace=2, monitor:HDMI-A-1 workspace=3, monitor:HDMI-A-1 workspace=4, monitor:HDMI-A-1 workspace=5, monitor:HDMI-A-1 workspace=6, monitor:HDMI-A-1 workspace=7, monitor:HDMI-A-1 workspace=8, monitor:eDP-1 workspace=9, monitor:eDP-1 # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch # exec-once = waybar & hyprpaper & firefox #exec-once = waypaper --restore exec-once = swaybg -i /usr/share/hyprland/wall2.png exec-once = waybar #exec-once = [workspace 6 silent] pypr exec-once = pypr --debug /tmp/pypr.log #exec-once = dunst exec-once = wl-paste --type text --watch cliphist store #Stores only text data exec-once = wl-paste --type image --watch cliphist store #Stores only image data #portal exec-once = portal.sh # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf # Set programs that you use $terminal = kitty $fileManager = ranger $menu = tofi-drun --drun-launch=true $firefox = firefox $librewolf = librewolf $chromium = chromium $chat = weechat $nvim = nvim $graphics = gimp $graphics2 = blender $screenshot = grim $nwg-menu = nwg-bar $paste = wl-paste #$disable_mouse = /usr/local/bin/mouse_toggle.sh; sleep 10 # Some default env vars. env = XCURSOR_SIZE,24 env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that env = HYPRCURSOR_THEME,rose-pine-hyprcursor # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us kb_variant = kb_model = kb_options = caps:escape kb_rules = follow_mouse = 0 #scroll_method = no_scroll touchpad { natural_scroll = no disable_while_typing = true } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. float_switch_override_focus = 0 scroll_method = no_scroll } general { # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = 5 gaps_out = 30 border_size = 4 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) layout = dwindle # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false #no_cursor_warps = true } decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 15 blur { enabled = true size = 20 passes = 1 xray = true } drop_shadow = yes shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) layerrule = blur, notifications layerrule = ignorezero, notifications } 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 } 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 } master { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more new_status = master } gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = off } misc { # See https://wiki.hyprland.org/Configuring/Variables/ for more force_default_wallpaper = 0 # Set to 0 to disable the anime mascot wallpapers disable_hyprland_logo = true enable_swallow = false } # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more device { name = epic-mouse-v1 sensitivity = -0.5 } # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more windowrulev2 = float, class:^(Alacritty)$ windowrulev2 = center[1], class:^(Alacritty)$ windowrulev2 = pin, class:^(Alacritty)$ windowrulev2 = stayfocused, class:^(Alacritty)$ windowrulev2 = float,class:^(pavucontrol)$ windowrulev2 = center[1], class:^(Alacritty)$ windowrulev2 = pin,class:^(pavucontrol)$ windowrulev2 = stayfocused,class:^(pavucontrol)$ windowrulev2 = size 30% 40%,class:^(pavucontrol)$ #windowrulev2 = float, class:^(neomutt)$ #windowrulev2 = workspace 7, class:neomutt1 #browsers windowrulev2 = float,class:^(Chromium)$ windowrulev2 = float,class:^(org.qutebrowser.qutebrowser)$ #graphics windowrulev2 = workspace 8, class:^(Gimp-2.10)$ windowrulev2 = workspace 8, class:^(blender)$ #librewolf windowrulev2 = workspace 7, class:^(LibreWolf)$ #zathura windowrulev2 = float,class:^(org.pwmt.zathura)$ windowrulev2 = size 60% 60%, class:^(org.pwmt.zathura)$ #default windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER $mainMod4 = CTRL $mainMod2 = ALT $mainMod24 = ALT+CTRL #common commands bind = $mainMod, C, killactive, bind = $mainMod SHIFT, E, exit, bind = $mainMod, Space, togglefloating, bind = $mainMod, D, exec, $menu bind = $mainMod, P, pseudo, # dwindle bind = $mainMod SHIFT, P, exec, $nwg-menu bind = $mainMod, S, togglesplit, # dwindle bind = $mainMod, F, exec, hyprctl dispatch fullscreen # my apps bind = $mainMod, Return, exec, $terminal bind = $mainMod, A, exec, $librewolf bind = $mainMod, W, exec, $terminal $chat #untilities bind = $mainMod, F1, exec, $screenshot -g "$(slurp)" - | wl-copy #copy the screenshot bind = $mainMod, F2, exec, cliphist list | tofi | cliphist decode | wl-copy #start tofi with cliphist to choose from bind = $mainMod2, h, exec, ~/commands/hyperland/reload.sh bind = $mainMod2, w, exec, killall -SIGUSR2 waybar bind = $mainMod, l, exec, hyprlock bind = $mainMod SHIFT, e, exec, hyprctl dispatch exit bind = $mainMod SHIFT, r, exec, systemctl reboot bind = $mainMod SHIFT, s, exec, systemctl -i poweroff #cycle through the list of windows in the workflow bind = $mainMod, Tab, cyclenext # 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 # 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 # Example special workspace (scratchpad) #bind = $mainMod, S, togglespecialworkspace, magic #bind = $mainMod SHIFT, S, movetoworkspace, special:magic #pypr scratchpad bind = $mainMod , N, exec, pypr toggle term bind = $mainMod, M, exec, pypr toggle neomutt1 bind = $mainMod, B, exec, pypr toggle ncmpcpp bind = $mainMod, v, exec, pypr toggle volume bind = $mainMod, z, exec, pypr zoom bind = $mainMod, E, exec, pypr toggle ranger # Scroll through existing workspaces with mainMod + scroll #bind = $mainMod, mouse_down, workspace, e+1 #bind = $mainMod, mouse_up, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow ======Config-End======== ```

Description

So I have 1 4k monitor and 1 laptop monitor about couple of weeks ago noticed on my 4k monitor when I login to hyprland and opening alacrity via waybar which is floating it does not get focused. when I click on it get focused.

This only happens the first time I click on it. If I click on it again it is fine. See the video to see the issue. I also have the logs that gives error [ERR] CPopup: orphaned (no surface/resource) and unmaps??

How to reproduce

none

Crash reports, logs, images, videos

mylogs.txt

https://github.com/user-attachments/assets/18efb5c5-a0d1-4016-adfe-b0ebce92ec4c

alekgr commented 1 month ago

looks like the issue is fixed. Must of been one of the commits that fixed it