Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
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
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
f
Crash reports, logs, images, videos
No response