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.37k stars 897 forks source link

Window loses focus when popup closes #7241

Open Vladimir-csp opened 2 months ago

Vladimir-csp commented 2 months ago

Regression?

No

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 918d8340afd652b011b937d29d5eea0be08467f5 (flake.lock: update). Date: Tue Jun 25 12:06:02 2024 Tag: v0.41.2, commits: 4886 flags: (if any) System Information: System name: Linux Node name: hostname Release: 6.10.3-amd64 Version: #1 SMP PREEMPT_DYNAMIC Debian 6.10.3-1 (2024-08-04) GPU information: 06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Lucienne [1002:164c] (rev c3) (prog-if 00 [VGA controller]) os-release: PRETTY_NAME="Debian GNU/Linux trixie/sid" NAME="Debian GNU/Linux" VERSION_CODENAME=trixie ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/" plugins: ======Config-Start====== Config File: /home/username/.config/hypr/hyprland.conf: Read Succeeded # Refer to the wiki for more information. # https://wiki.hyprland.org/Configuring/Configuring-Hyprland/ # Create your files separately and then link them to this file like this: # source = ~/.config/hypr/myColors.conf ################ ### MONITORS ### ################ # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,preferred,auto,1 #monitor=,addreserved,0,0,10,10 ################### ### MY PROGRAMS ### ################### # See https://wiki.hyprland.org/Configuring/Keywords/ # Set programs that you use $scoper = uwsm-app $terminal = -T $fileManager = pcmanfm-qt.desktop $menu = fuzzel --launch-prefix='sh -c "exec uwsm-app -- \"${FUZZEL_DESKTOP_FILE_ID:-$@}\"" lauch_prefix' --log-no-syslog --log-level=warning ################# ### AUTOSTART ### ################# # Autostart necessary processes (like notifications daemons, status bars, etc.) # Or execute your favorite apps at launch like this: exec-once = uwsm finalize #exec = sleep 1 ; systemctl --user reload kanshi.service #exec = hyprpaper "$(find ~/.wallpapers/2024/ -type f | sort -R | head -n 1)" ############################# ### ENVIRONMENT VARIABLES ### ############################# # See https://wiki.hyprland.org/Configuring/Environment-variables/ env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 # waiting for 7083 env = XDG_CURRENT_DESKTOP,hyprland:wlroots ##################### ### LOOK AND FEEL ### ##################### # Refer to https://wiki.hyprland.org/Configuring/Variables/ # blur layer shell namespaces blurls = waybar blurls = launcher # https://wiki.hyprland.org/Configuring/Variables/#general general { gaps_in = 2 gaps_out = 0 border_size = 2 # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(5959597f) # Set to true enable resizing windows by clicking and dragging on borders and gaps resize_on_border = true # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false layout = dwindle no_focus_fallback = true } # https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { rounding = 5 # Change transparency of focused and unfocused windows active_opacity = 1.0 inactive_opacity = 1.0 drop_shadow = true shadow_range = 6 shadow_render_power = 2 col.shadow = rgba(1a1a1aee) #col.shadow = rgba(33ccffee) col.shadow_inactive = rgba(1a1a1aee) # https://wiki.hyprland.org/Configuring/Variables/#blur blur { enabled = true size = 3 passes = 1 vibrancy = 0.1696 } } # https://wiki.hyprland.org/Configuring/Variables/#animations animations { enabled = true # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = myBezier, 0.05, 0.9, 0.1, 1.05 animation = windows, 1, 2, myBezier, popin 90% animation = layers, 1, 2, myBezier #animation = windowsOut, 1, 2, default, popin 80% animation = border, 1, 5, default animation = borderangle, 1, 5, default animation = fade, 1, 2, default animation = workspaces, 1, 2, default } # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more dwindle { pseudotile = true # Master switch for pseudotiling. preserve_split = true # You probably want this no_gaps_when_only = 1 } # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more master { new_status = master } # https://wiki.hyprland.org/Configuring/Variables/#misc misc { force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( disable_autoreload = true vfr = true } ############# ### INPUT ### ############# # https://wiki.hyprland.org/Configuring/Variables/#input cursor { no_warps = true } input { kb_layout = us,ru kb_variant = kb_model = kb_options = grp:alt_shift_toggle,grp_led:scroll kb_rules = follow_mouse = 0 mouse_refocus = 0 float_switch_override_focus = 0 sensitivity = 0 # -1.0 - 1.0, 0 means no modification. accel_profile = flat touchpad { natural_scroll = false tap_button_map = lmr } } # https://wiki.hyprland.org/Configuring/Variables/#gestures gestures { workspace_swipe = false } # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more device { name = epic-mouse-v1 sensitivity = -0.5 } #################### ### KEYBINDINGSS ### #################### # See https://wiki.hyprland.org/Configuring/Keywords/ # Basic bind = SUPER, F12, exec, exec hyprctl reload bind = SUPER, T, exec, exec $scoper $terminal bind = SUPER, Q, killactive, bind = SUPER, E, exec, exec $scoper $fileManager bind = SUPER, R, exec, exec $menu bind = SUPER, slash, togglesplit, # dwindle bind = SUPER, P, pseudo, # dwindle bind = SUPER, escape, exec, exec wlogout binde = , XF86MonBrightnessUp, exec, exec brightnessctl s 10%+ binde = , XF86MonBrightnessDown, exec, exec brightnessctl s 10%- binde = , XF86AudioRaiseVolume, exec, exec wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+ binde = , XF86AudioLowerVolume, exec, exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- bind = SUPER, Backspace, exec, exec dunstctl close bind = SUPER Shift, Backspace, exec, exec dunstctl history-pop bind = , XF86Display, exec, exec systemctl --user reload kanshi.service bind = SUPER, F11, exec, exec systemctl --user reload kanshi.service bind = , Print, exec, umask 0177 ; SSF=/tmp/screen_$(date "+%F_%T").png ; grimshot --notify save output "$SSF" ; umask 0022 ; wl-copy < "$SSF" bind = SUPER, Print, exec, umask 0177 ; SSF=/tmp/screen_$(date "+%F_%T").png ; grimshot --notify save area "$SSF" ; umask 0022 ; wl-copy < "$SSF" bind = , XF86AudioPlay, exec, exec playerctl play-pause bind = , XF86AudioStop, exec, exec playerctl stop bind = , XF86AudioPrev, exec, exec playerctl previous bind = , XF86AudioNext, exec, exec playerctl next bind = Shift, XF86AudioPrev, exec, exec playerctl position 5- bind = Shift, XF86AudioNext, exec, exec playerctl position 5+ bind = Control, XF86AudioPrev, exec, exec playerctl position 15- bind = Control, XF86AudioNext, exec, exec playerctl position 15+ bind = SUPER Shift, H, exec, cliphist list | fuzzel -d -p 'Clipboard: ' | cliphist decode | wl-copy # Tab bind = SUPER, Tab, cyclenext, # change focus to another window bind = SUPER, Tab, alterzorder, top, # bring it to the top bind = SUPER Shift, Tab, cyclenext, prev # change focus to prev window bind = SUPER Shift, Tab, alterzorder, top, # bring it to the top # Move focus with mainMod alt + arrow keys bind = SUPER ALT, left, movefocus, l bind = SUPER ALT, right, movefocus, r bind = SUPER ALT, up, movefocus, u bind = SUPER ALT, down, movefocus, d # Move window with mainMod ctrl + arrow keys binde = SUPER CTRL, left, movewindow, l binde = SUPER CTRL, right, movewindow, r binde = SUPER CTRL, up, movewindow, u binde = SUPER CTRL, down, movewindow, d # Resize window with mainMod shift + arrow keys binde = SUPER SHIFT, left, resizeactive, -10 0 binde = SUPER SHIFT, right, resizeactive, 10 0 binde = SUPER SHIFT, up, resizeactive, 0 -10 binde = SUPER SHIFT, down, resizeactive, 0 10 # Group bind = SUPER, G, togglegroup # Switch workspaces with mainMod + [0-9] bind = SUPER, 1, workspace, 1 bind = SUPER, 2, workspace, 2 bind = SUPER, 3, workspace, 3 bind = SUPER, 4, workspace, 4 bind = SUPER, 5, workspace, 5 bind = SUPER, 6, workspace, 6 bind = SUPER, 7, workspace, 7 bind = SUPER, 8, workspace, 8 bind = SUPER, 9, workspace, 9 bind = SUPER, 0, workspace, 10 bind = SUPER, right, workspace, e+1 bind = SUPER, left, workspace, e-1 # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = SUPER CTRL, 1, movetoworkspacesilent, 1 bind = SUPER CTRL, 2, movetoworkspacesilent, 2 bind = SUPER CTRL, 3, movetoworkspacesilent, 3 bind = SUPER CTRL, 4, movetoworkspacesilent, 4 bind = SUPER CTRL, 5, movetoworkspacesilent, 5 bind = SUPER CTRL, 6, movetoworkspacesilent, 6 bind = SUPER CTRL, 7, movetoworkspacesilent, 7 bind = SUPER CTRL, 8, movetoworkspacesilent, 8 bind = SUPER CTRL, 9, movetoworkspacesilent, 9 bind = SUPER CTRL, 0, movetoworkspacesilent, 10 # More window bind = SUPER, space, togglefloating bind = SUPER, F, fullscreen bind = SUPER, M, fullscreen, 1 bind = SUPER, S, pin # WS2Mon bind = SUPER, O, movecurrentworkspacetomonitor, +1 # Scratchpad bind = SUPER, minus, togglespecialworkspace, magic bind = SUPER CTRL, minus, movetoworkspacesilent, special:magic # Scroll through existing workspaces with mainMod + scroll bind = SUPER, mouse_down, workspace, e+1 bind = SUPER, mouse_up, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = SUPER, mouse:272, movewindow bindm = SUPER, mouse:273, resizewindow ############################## ### WINDOWS AND WORKSPACES ### ############################## # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules $HGAP = 300 workspace = r[1-2] w[t1], gapsout:2 $HGAP 2 $HGAP workspace = r[1-2] w[g1], gapsout:2 $HGAP 2 $HGAP workspace = r[3-10] w[t1], border:0, decoration:0 # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. # generic floating windowrulev2 = float, class:(nm-.*-dialog|pavucontrol-qt|needrestart-x11|needrestart-session|Password.*|mpv|file-.*|at.yrlf.wl_mirror|speedcrunch|unison|blueman-manager|dosbox-x|CGeniusExe) # modal floating windowrulev2 = float, title:(^Password Required - Mozilla|^Sign in to Security Device|NoScript) windowrulev2 = float, class:(pcmanfm-qt), title:(Copy Files|Move Files|Копир|Перемещ) # Xwayland floating windowrulev2 = float, class:(KSP\.x86_64) # Position near mouse windowrulev2 = float, class:(gsimplecal|org.qlipper.qlipper|com.github.hluk.copyq) windowrulev2 = move onscreen cursor, class:(gsimplecal|org.qlipper.qlipper|com.github.hluk.copyq) # Send to workspace windowrulev2 = workspace 1 silent, class:(Firefox-esr|Firefox|firefox|firefox-esr|chromium|google-chrome) #windowrulev2 = pseudo, class:(Firefox-esr|Firefox|firefox|firefox-esr|chromium|google-chrome) #windowrulev2 = size 1600 100%, class:(Firefox-esr|Firefox|firefox|firefox-esr|chromium|google-chrome) windowrulev2 = workspace 2 silent, class:(thunderbird-default|org.telegram.desktop) #windowrulev2 = pseudo, class:(thunderbird-default|org.telegram.desktop) #windowrulev2 = size 1600 100%, class:(thunderbird-default|org.telegram.desktop) windowrulev2 = noinitialfocus, class:(Audacity), title:(Импорт|Import) windowrulev2 = move 100%-w-0 0%, class:(Audacity), title:(Импорт|Import) windowrulev2 = stayfocused, class:^(pinentry-) ======Config-End======== ```

Description

I use speedcrunch calculator. All mouse focus/warp stuff I could find is disabled.

Typing in expressions shows popup with suggestions. If mouse hovers over another window, speedcrunch window loses focus when popup closes.

How to reproduce

Crash reports, logs, images, videos

No response

renpenguin commented 2 months ago

getting the same issue with rename popup in Thunar