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
20.63k stars 875 forks source link

on mouse click on a groupbar member, slightly moving the mouse before releasing the click will reset the focus #8057

Open Aqa-Ib opened 13 hours ago

Aqa-Ib commented 13 hours ago

Already reported ? *

Regression?

No

System Info and Version

System/Version info ```sh Hyprland, built from branch main at commit 6ae89940c761d4ed4317df0af29e8df41d472091 (layout: add merge_floated_into_tiled_on_groupbar (8042)). Date: Wed Oct 9 11:58:49 2024 Tag: v0.44.0-24-g6ae89940, commits: 5323 built against aquamarine 0.4.2 flags: (if any) System Information: System name: Linux Node name: beast Release: 6.11.2-zen1-1-zen Version: #1 ZEN SMP PREEMPT_DYNAMIC Fri, 04 Oct 2024 21:51:07 +0000 GPU information: 03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] [1002:73df] (rev df) (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/mugen/.config/hypr/hyprland.conf: Read Succeeded # --------------------- # # Environment variables # # --------------------- # # Si pongo envd se exporta la variable a DBUS, no se que utilidad pueda tener. # Cursor $cursorTheme = Bibata-Modern-Ice $cursorSize = 24 env = XCURSOR_THEME, $cursorTheme # legacy XCURSOR, for some programs. env = XCURSOR_SIZE, $cursorSize env = HYPRCURSOR_THEME, $cursorTheme # hyprcursor is a new cursor renderer that superseeds XCURSOR for programs and compositors that support it. env = HYPRCURSOR_SIZE, $cursorSize env = QT_QPA_PLATFORMTHEME,qt6ct env = STEAM_FORCE_DESKTOPUI_SCALING,1.3 # for now the scaling option of steam does nothing, forcing it with this env does. # Probably not needed anymore # env = MOZ_ENABLE_WAYLAND,1 # env = _JAVA_AWT_WM_NONREPARENTING,1 # env = XDG_CURRENT_DESKTOP,Hyprland # env = XDG_SESSION_TYPE,wayland # env = XDG_SESSION_DESKTOP,Hyprland # env = QT_AUTO_SCREEN_SCALE_FACTOR,1 # env = QT_QPA_PLATFORM,wayland;xcb # env = QT_WAYLAND_FORCE_DPI,physical # env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 # env = GDK_BACKEND,wayland,x11 # env = SDL_VIDEODRIVER,wayland # ----------------- # # Start Up Programs # # ----------------- # exec-once = hypridle # handle idle power management exec-once = nm-applet --indicator # internet connection system tray manager. # exec-once = blueman-applet exec-once = udiskie --tray # external devices system tray manager. # exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 # ask for password to give root access to a program exec-once = waybar exec-once = wl-gammarelay-rs # needs to be active for software gamma, brightness and temperature adjustments. exec-once = wl-clip-persist --clipboard both # for persisting clipboard copy after closing the program # exec-once = wl-paste --watch cliphist store # every time I copy something, send it to the clipboard manager (cliphist) to be stored. # exec-once = crow # exec-once = xwaylandvideobridge # for screen sharing in apps that do not have wayland support yet. Ex: discord. exec-once = swww-daemon # exec-once = pamac-tray-plasma # tray icon for pamac upgrades # exec-once = tracker3 daemon --start # start gnome tracker, for some programs like gnome-music. # exec-once = xprop -root -f _XWAYLAND_GLOBAL_OUTPUT_SCALE 32c -set _XWAYLAND_GLOBAL_OUTPUT_SCALE 2 # scale apps. No se si esto sera necesario para ajustar aplicaciones X11 # exec-once = hyprland-floating-size # Script for setting a window size and position on creation of a floating window exec-once = hyprpm reload # Load Hyprland Plugins # Dconf settings (for GTK apps) exec = gsettings set org.gnome.desktop.interface cursor-theme "$cursorTheme" exec = gsettings set org.gnome.desktop.interface cursor-size "$cursorSize" exec = gsettings set org.gnome.desktop.interface gtk-theme "Arc-Dark" exec = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" exec = gsettings set org.gnome.desktop.interface icon-theme "kora" exec = gsettings set org.gnome.desktop.interface font-name "Ubuntu Nerd Font Med 13" # Nautilus exec = gsettings set org.gnome.nautilus.preferences show-delete-permanently true exec = gsettings set org.gnome.nautilus.preferences show-create-link true exec = gsettings set org.gnome.nautilus.list-view use-tree-view true # exec = gsettings set org.gnome.nautilus.list-view default-visible-columns "['name','size','date_modified','date_created']" # Monitors # monitor= , preferred, auto, 1 # Recommended rule for quickly plugging in random monitors. It will make any monitor that was not specified with an explicit rule automatically placed on the right of the other(s) with its preferred resolution. source=~/.config/hypr/monitors.conf # -------- # # Settings # # -------- # general { layout=master gaps_in=25 gaps_out=50,50,50,50 # top,right,bottom,left border_size=5 col.active_border=rgba(000000aa) col.inactive_border=rgba(00000000) # apply_sens_to_raw=0 # whether to apply the sensitivity to raw input (e.g. used by games where you aim using your mouse) resize_on_border = true hover_icon_on_border = false extend_border_grab_area = 30 # allow_tearing = true } group { auto_group = true insert_after_current = true drag_into_group = 1 merge_groups_on_drag = true merge_floated_into_tiled_on_groupbar = true col.border_inactive=rgba(0000001a) col.border_active=rgba(000000aa) col.border_locked_inactive=rgba(0000001a) col.border_locked_active=rgba(000000aa) groupbar { enabled = true font_size = 12 font_family = Ubuntu Nerd Font Med text_color = rgb(ffffff) render_titles = yes col.active = rgba(0000009a) col.inactive = rgba(0000001a) col.locked_active = rgba(0000009a) col.locked_inactive = rgba(0000001a) height = 18 } } dwindle { # smart_split = true force_split = 1 } input { kb_layout=es kb_variant= kb_model= kb_options= kb_rules= repeat_delay = 250 follow_mouse = 1 sensitivity = 1 accel_profile=flat touchpad { natural_scroll=yes clickfinger_behavior = true scroll_factor = 0.3 } } device { name = elan0521:01-04f3:31b1-touchpad accel_profile=adaptive sensitivity=0.2 natural_scroll=yes clickfinger_behavior = true } cursor { hide_on_key_press = true # hide mouse cursor when key pressed hide_on_touch = true # hide mouse cursor when touch screen } misc { # focus_on_activate = true # Whether Hyprland should focus an app that requests to be focused (an activate request) # disable_hyprland_logo = true # to disable the hyprland wallpapers. I leave this on to have a fallback in case swww fails. Also for new installations when swww is not called ever yet. disable_splash_rendering = true new_window_takes_over_fullscreen = 1 # if a new window is opened when a fullscreen window is active, it will be the new active one. # enable_swallow = true # swallow means that when a process spawns a new window, instead of creating a standalone window, it would be swallowed, replacing its parent until closed. # swallow_regex = ^(Alacritty)$ } decoration { drop_shadow = true shadow_range=20 shadow_render_power=50 col.shadow= rgba(00000065) col.shadow_inactive=0x22000000 rounding=16 active_opacity= 0.8 inactive_opacity= 0.8 fullscreen_opacity= 0.9 blur { enabled = true size = 2 # minimum 1 (put 0 in size and passes to disable blur without disabling the xray effect) passes = 2 # minimum 1. Increasing blur:passes is necessary to prevent blur looking wrong on higher blur:size values, but remember that higher blur:passes will require more strain on the GPU. noise = 0 # 0 - 1 contrast = 1 # 0 - 2 brightness = 1 # 0 - 2 vibrancy = 0 # 0 - 1 vibrancy_darkness = 0 # 0 - 1 popups = true # blur popups (e.g. right click menus) xray = true ignore_opacity = 1 # popups = true # blur popups (e.g. right click menus) } } animations { enabled = true bezier = quart, 0.25, 1, 0.5, 1 bezier = overshot, 0.13, 0.99, 0.29, 1.1 animation=windowsIn,1,3.8,quart,popin 70% animation=windowsOut,0,4,quart,slide animation=windowsOut,1,0000000.1,overshot,popin animation=windowsMove,1,3.8,quart animation=border,0,8,default animation=workspaces,1,1,default,fade animation=borderangle, 0, 8, default, once first_launch_animation = false } master { mfact = 0.5 } gestures { workspace_swipe=yes workspace_swipe_fingers=3 workspace_swipe_forever = true } binds { allow_workspace_cycles = true } debug { disable_logs = true } # plugin { # hyprexpo { # columns = 3 # gap_size = 5 # bg_col = rgb(111111) # # workspace_method = first 1 # [center/first] [workspace] e.g. first 1 or center m+1 # enable_gesture = true # laptop touchpad, 4 fingers # gesture_distance = 300 # how far is the "max" # gesture_positive = true # positive = swipe down. Negative = swipe up. # } # # scroller { # column_default_width = maximized # } # # } # ------------ # # Window rules # # ------------ # # Opacity and blur windowrulev2 = opaque, title:.*\.jpg$ windowrulev2 = opaque, title:.*\.png$ windowrulev2 = opaque, title:.*\.gif$ windowrulev2 = opaque, title:.*YouTube.* windowrulev2 = opaque, title:.*Twitch.* windowrulev2 = opaque, class:mpv windowrulev2 = opaque, class:org.kde.gwenview windowrulev2 = opaque, class:kitty windowrulev2 = opaque, class:org.wezfurlong.wezterm windowrulev2 = opaque, class:foot windowrulev2 = opaque, class:Alacritty windowrulev2 = opaque, class:Emacs windowrulev2 = opaque, class:swappy windowrulev2 = opaque, class:steam_app.* windowrulev2 = opaque, initialClass:steam_app.* windowrulev2 = opaque, initialTitle: Discord.* # make non-floating windows noblur #windowrulev2=noblur,floating:0 # Floats # Rules for every window that start floating # windowrulev2 = size 90% 80%, floating:1 # windowrulev2 = center 1, floating:1 windowrulev2 = float, class:org.freedesktop.impl.portal.desktop.kde # make KDE file chooser to open up floating windowrulev2 = size 90% 80%, class:org.freedesktop.impl.portal.desktop.kde windowrulev2 = center, class:org.freedesktop.impl.portal.desktop.kde windowrulev2 = float, title:Crow Translate windowrulev2 = size 90% 80%, title:.*Ark.* windowrulev2 = center, title:.*Ark.* windowrulev2 = float, title:Configure.* windowrulev2 = size 90% 80%, title:Configure.* windowrulev2 = center, title:Configure.* windowrulev2 = float, title:Download New Services.* windowrulev2 = size 90% 80%, title:Download New Services.* windowrulev2 = center, title:Download New Services.* windowrulev2 = float, title:Extracting* windowrulev2 = float, title:Copying — Dolphin windowrulev2 = float, title:Loading archive — Ark # Groups windowrulev2 = group set, class:.* # windowrulev2 = group deny, class:ueberzugpp.* # Tearing # windowrulev2 = immediate, title:Diablo IV # Idle Inhibit # windowrulev2 = idleinhibit fullscreen, class:mpv # windowrulev2 = idleinhibit fullscreen, class:firefox # do not trigger idle events like suspend when a steam game is opened, or it will be hanged after coming back from the suspend state. windowrulev2 = idleinhibit always, initialClass:steam_app.* # Firefox # windowrulev2 = fakefullscreen, class:firefox # Glava windowrulev2 = float, title:^(GLava)$ windowrulev2 = pin, title:^(GLava)$ windowrulev2 = move 0% 95%, title:^(GLava)$ windowrulev2 = size 100% 5%, title:^(GLava)$ windowrulev2 = noborder, title:^(GLava)$ windowrulev2 = nofocus, title:^(GLava)$ windowrulev2 = opaque, title:^(GLava)$ windowrulev2 = noblur, title:^(GLava)$ # xwaylandvideobridge, rules to hide it windowrulev2 = maxsize 1 1, class:^(xwaylandvideobridge)$ windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$ windowrulev2 = noanim,class:^(xwaylandvideobridge)$ windowrulev2 = noblur,class:^(xwaylandvideobridge)$ windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$ # gnome-calendar windowrulev2 = float, class: org.gnome.Calendar windowrulev2 = size 400 600, class: org.gnome.Calendar windowrulev2 = move onscreen 39% 4%, class: org.gnome.Calendar # wl-gammarelay-applet windowrulev2 = float, class: wl-gammarelay-applet windowrulev2 = size 150 300, class: wl-gammarelay-applet windowrulev2 = move onscreen 85% 4%, class: wl-gammarelay-applet # Special Workspace windowrulev2 = float, workspace: -99 windowrulev2 = center, workspace: -99 windowrulev2 = size 1700 900, workspace: -99 # Misc # Ignore maximize requests from apps. You'll probably like this. # windowrulev2 = suppressevent maximize, class:.* # Fix some dragging issues with XWayland # windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 # Layer rules layerrule = blur, waybar layerrule = ignorezero, waybar layerrule = dimaround, rofi # layerrule = blur, rofi # layerrule = xray 1, rofi # ------------ # # Key Bindings # # ------------ # # Variables $mod1 = SUPER $mod2 = SUPER CONTROL $mod3 = SUPER SHIFT $mod4 = ALT $mod5 = ALT CONTROL $mod6 = ALT SHIFT $mod7 = ALT SUPER $TERM = alacritty # Monitors # bind = $mod1,q,focusmonitor,1 # bind = $mod1,e,focusmonitor,0 # Windows bind = $mod2,a,movewindow,l bind = $mod2,d,movewindow,r bind = $mod2,w,movewindow,u bind = $mod2,s,movewindow,d bind = $mod1,a,movefocus,l bind = $mod1,d,movefocus,r bind = $mod1,w,movefocus,u bind = $mod1,s,movefocus,d bind=$mod1,h,bringactivetotop bind=$mod1,j,bringactivetotop bind=$mod1,k,bringactivetotop bind=$mod1,l,bringactivetotop bind = $mod1,a,bringactivetotop bind = $mod1,D,bringactivetotop bind = $mod1,W,bringactivetotop bind = $mod1,S,bringactivetotop bind = $mod1,tab,focuscurrentorlast bind = $mod1,tab,bringactivetotop binde=$mod3,a,resizeactive,-20 0 binde=$mod3,d,resizeactive,20 0 binde=$mod3,w,resizeactive,0 -20 binde=$mod3,s,resizeactive,0 20 bind = $mod1,t,togglesplit bind = $mod5,escape,workspaceopt,allpseudo bind = $mod4,escape,pseudo bind = $mod3,f,workspaceopt,allfloat bind = $mod1,f,togglefloating bind = $mod1,>,togglefloating bind = $mod1,o, exec, hyprctl setprop active opaque toggle bind = ,F11,fullscreen,0 # fullscreen bind = $mod1,escape,fullscreen,1 # maximize bind = $mod2,F11,fullscreenstate, 2 -1 # same as fullscreen except doesn’t alter window’s internal fullscreen state. bind = $mod1,F11,fullscreenstate, 1 2 # toggles the focused window’s internal fullscreen state without altering the geometry. # Workspaces bind=$mod1,masculine,togglespecialworkspace bind=$mod1,1,workspace,1 bind=$mod1,2,workspace,2 bind=$mod1,3,workspace,3 bind=$mod1,4,workspace,4 bind=$mod1,5,workspace,5 bind=$mod1,6,workspace,6 bind=$mod1,7,workspace,7 bind=$mod1,8,workspace,8 bind=$mod1,9,workspace,9 bind=$mod1,0,workspace,10 bind=$mod2,masculine,movetoworkspacesilent,special bind=$mod2,1,movetoworkspace,1 bind=$mod2,2,movetoworkspace,2 bind=$mod2,3,movetoworkspace,3 bind=$mod2,4,movetoworkspace,4 bind=$mod2,5,movetoworkspace,5 bind=$mod2,6,movetoworkspace,6 bind=$mod2,7,movetoworkspace,7 bind=$mod2,8,movetoworkspace,8 bind=$mod2,9,movetoworkspace,9 bind=$mod2,0,movetoworkspace,10 bind=$mod1,code:KP_1,workspace,1 bind=$mod1,code:KP_2,workspace,2 bind=$mod1,code:KP_3,workspace,3 bind=$mod1,code:KP_4,workspace,4 bind=$mod1,code:KP_5,workspace,5 bind=$mod1,code:KP_6,workspace,6 bind=$mod1,code:KP_7,workspace,7 bind=$mod1,code:KP_8,workspace,8 bind=$mod1,code:KP_9,workspace,9 bind=$mod1,code:KP_0,workspace,10 # bind=$mod2,1,movetoworkspacesilent,1 # bind=$mod2,2,movetoworkspacesilent,2 # bind=$mod2,3,movetoworkspacesilent,3 # bind=$mod2,4,movetoworkspacesilent,4 # bind=$mod2,5,movetoworkspacesilent,5 # bind=$mod2,6,movetoworkspacesilent,6 # bind=$mod2,7,movetoworkspacesilent,7 # bind=$mod2,8,movetoworkspacesilent,8 # bind=$mod2,9,movetoworkspacesilent,9 #Groups bind=$mod1,g,togglegroup bind=$mod1,z,togglegroup bind=$mod3, escape, togglegroup binde=$mod1,e,changegroupactive,f binde=$mod1,q,changegroupactive,b bind=$mod2,g,lockactivegroup,toggle bind=$mod3,z,lockactivegroup,toggle bind=$mod3,e,moveoutofgroup,active bind=$mod3,q,moveoutofgroup,active bind=$mod4,d,moveintogroup,r bind=$mod4,a,moveintogroup,l bind=$mod4,w,moveintogroup,u bind=$mod4,s,moveintogroup,d bind=$mod2,e,movegroupwindow,f bind=$mod2,q,movegroupwindow,b # Kill bind=$mod1,F4,killactive bind=$mod1,c,killactive bind=$mod2,c, exec, hyprctl kill # Misc bind=$mod1, p, pin, active # System binds bind=$mod1 $mod4, F4, exit #bind=$mod2,L,exec,~/.config/hypr/scripts/lock.sh bindl=,switch:Lid Switch,exec,~/.config/hypr/scripts/lock bindl=,switch:Lid Switch,exec,systemctl suspend-then-hibernate # Lock screen bind = , Scroll_Lock, exec, loginctl lock-session # Power bind = , Pause, exec, systemctl suspend-then-hibernate bind = $mod1, Home, exec, sleep 1 && hyprctl dispatch dpms on # Turn on screens. Home = tecla Inicio bind = $mod1, End, exec, sleep 1 && hyprctl dispatch dpms off # Turn off screens. End = tecla Fin # Brightness. Keep in mind that there is another wl-gammarelay-rs command to change the gamma, not binded here. # Laptop keys bindle=,XF86MonBrightnessUp,exec,brightnessctl set 300+ bindle=,XF86MonBrightnessDown,exec,brightnessctl set 300- bindle=CONTROL,XF86MonBrightnessDown,exec,brightnessctl set 1 # brillo al minimo bindle=CONTROL,XF86MonBrightnessUp,exec,brightnessctl set 19200 # brillo al maximo bindle=$mod1,XF86MonBrightnessDown,exec, busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateTemperature n -100 bindle=$mod1,XF86MonBrightnessUp, exec, busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateTemperature n +100 bindle=SHIFT,XF86MonBrightnessDown,exec, busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateBrightness d -0.02 # this changes the brightness through software. Use it when the hardware brightness is at it limit, to be able to adjust it even further. bindle=SHIFT,XF86MonBrightnessUp, exec, busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateBrightness d +0.02 bindle=CONTROL,KP_0,exec, busctl --user set-property rs.wl-gammarelay / rs.wl.gammarelay Brightness d 1.0 && busctl --user set-property rs.wl-gammarelay / rs.wl.gammarelay Temperature q 6500 # reiniciar correciones a gamma bindle=CONTROL,KP_Insert,exec, busctl --user set-property rs.wl-gammarelay / rs.wl.gammarelay Brightness d 1.0 && busctl --user set-property rs.wl-gammarelay / rs.wl.gammarelay Temperature q 6500 # reiniciar correciones a gamma # Desktop keys bindle=$mod1,Prior,exec, busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateTemperature n -100 bindle=$mod1,Next, exec, busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateTemperature n +100 bindle=$mod2,Next,exec, busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateBrightness d -0.02 # this changes the brightness through software. Use it when the hardware brightness is at it limit, to be able to adjust it even further. bindle=$mod2,Prior, exec, busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateBrightness d +0.02 bindle=$mod1,KP_0,exec, busctl --user set-property rs.wl-gammarelay / rs.wl.gammarelay Brightness d 1.0 && busctl --user set-property rs.wl-gammarelay / rs.wl.gammarelay Temperature q 6500 # reiniciar correciones a gamma bindle=$mod1,KP_Insert,exec, busctl --user set-property rs.wl-gammarelay / rs.wl.gammarelay Brightness d 1.0 && busctl --user set-property rs.wl-gammarelay / rs.wl.gammarelay Temperature q 6500 # reiniciar correciones a gamma # Media #bindle=,XF86AudioRaiseVolume,exec,pamixer -i 5 #bindle=,XF86AudioLowerVolume,exec,pamixer -d 5 #bindle=CONTROL,up,exec,pamixer -i 20 #bindle=CONTROL,down,exec,pamixer -d 20 #bindle=,XF86AudioMute,exec,amixer set Master toggle bindle = , XF86AudioRaiseVolume,exec,wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 2%+ bindle = , XF86AudioLowerVolume,exec,wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 2%- bindl = , XF86AudioMute,exec,wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle bindl = , XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle bindle = control, up, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 2%+ bindle = control, down, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 2%- bindl = control, left, exec, playerctl previous bindl = control, right, exec, playerctl next bindl = $mod1, space, exec, playerctl play-pause # Programs bind=$mod1,r,exec,rofi -modes drun,run -show drun -theme drun-dark.rasi bind=$mod1,x,exec,rofi -modes drun,run -show drun -theme drun-dark.rasi bind=control, space,exec,rofi -modes window -show window -theme drun-dark.rasi bind=$mod2,r,exec,rofi -modes file-browser-extended -show file-browser-extended -theme filebrowser-dark.rasi bind=$mod1, RETURN, exec, $TERM # Open terminal in Special workspace bind=$mod2, RETURN, workspace, special bind=$mod2, RETURN, exec, $TERM bind=$mod1,plus,exec,fish ~/.config/hypr/scripts/border_decrease.sh bind=$mod1,minus,exec,fish ~/.config/hypr/scripts/border_increase.sh bind=$mod4, b, exec, killall -SIGUSR1 waybar # show/hide waybar bind=$mod7, b, exec, killall waybar && waybar # restart waybar when it bugs out # Show waybar when a key is being pressed and hide it when released # bindit = , ALT_L, exec, pkill -SIGUSR1 waybar # binditr = , ALT_L, exec, pkill -SIGUSR1 waybar bind=CONTROL ALT, delete, exec, resources bind=$mod2,t,exec,dbus-send --type=method_call --dest=io.crow_translate.CrowTranslate /io/crow_translate/CrowTranslate/MainWindow io.crow_translate.CrowTranslate.MainWindow.translateSelection bind=$mod1 $mod4,c,exec, color-themer light bind=$mod1 $mod4,o,exec, color-themer dark bind=$mod1 $mod4,p,exec, wallpaper porn # bind=, F2, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy bind = $mod2, n, exec, $TERM -e nvim -c 'Telescope oldfiles' # execute my terminal, open neovim, then open Telescope recent files. # Screenshots bind = , print, exec, grimblast --freeze save area - | swappy -f - # drag to snip an area / click on a window to print it bind = $mod1, print, exec, grimblast save output - | swappy -f - # print focused monitor bind = $mod2, print, exec, grimblast save screen - | swappy -f - # print all monitor outputs # Mouse bindm=$mod1,mouse:272,movewindow bindm=$mod1,mouse:273,resizewindow # bindm=$mod4,mouse:272,movewindow # bindm=$mod4,mouse:273,resizewindow bind = , mouse_left, changegroupactive, b bind = , mouse_right, changegroupactive, f # bind = , mouse_left, workspace, r-1 # Go to relative open workspace on monitor # bind = , mouse_right, workspace, r+1 bind = $mod1, mouse_left, movetoworkspace, r-1 # Move window to relative workspace on monitor bind = $mod1, mouse_right, movetoworkspace, r+1 bind = $mod1, mouse:274, killactive # mouse:274 is the central button bind= , mouse:282, exec, rofi -modes window -show window -theme drun-dark.rasi bind = $mod1, mouse:282, exec, rofi -modes drun,run -show drun -theme drun-dark.rasi # bind = , mouse:282, overview:toggle # can be: toggle, off/disable or on/enable # bind = $mod1, z, hyprexpo:expo, toggle # can be: toggle, off/disable or on/enable #bind = $mod1, mouse:275, togglefloating # queda libre #mod1 + mouse_down y mouse_up # "Global" Keybinds (those passed to other program) bind = $mod4,F1,pass,^(com\.obsproject\.Studio)$ # Extensions # Hyprscroller # bind = $mod2,a, scroller:movewindow,l # bind = $mod2,d, scroller:movewindow,r # bind = $mod2,w, scroller:movewindow,u # bind = $mod2,s, scroller:movewindow,d # bind = $mod1,a, scroller:movefocus,l # bind = $mod1,D, scroller:movefocus,r # bind = $mod1,W, scroller:movefocus,u # bind = $mod1,S, scroller:movefocus,d # # bind = $mod1,q, scroller:admitwindow # bind = $mod1,e, scroller:expelwindow # bind = $mod1,h, scroller:toggleoverview # bind = $mod1,m, scroller:setmode, row # bind = $mod1 shift,m, scroller:setmode, column # # # Submaps #bind = $mod2, r, submap, resize #submap = resize #binde = , d, resizeactive, 10 0 #binde = , a, resizeactive, -10 0 #binde = , w, resizeactive, 0 -10 #binde = , s, resizeactive, 0 10 #bind = , escape, submap, reset #submap = reset # vim:ft=hyprlang: Config File: /home/mugen/.config/hypr/monitors.conf: Read Succeeded monitor = DP-1, 1920x1080, 1920x0, 1 monitor = HDMI-A-1, 1920x1080, 0x0, 1 workspace = 10, monitor:DP-1, default:true workspace = 9, monitor:DP-1 workspace = 8, monitor:DP-1 workspace = 7, monitor:DP-1 workspace = 6, monitor:DP-1 workspace = 5, monitor:HDMI-A-1 workspace = 4, monitor:HDMI-A-1 workspace = 3, monitor:HDMI-A-1 workspace = 2, monitor:HDMI-A-1 workspace = 1, monitor:HDMI-A-1, default:true # Dispatchers $mod1 = SUPER $mod2 = ALT $mod3 = SUPER SHIFT $mod4 = ALT SHIFT bind=$mod1, m, movecurrentworkspacetomonitor, DP-3 bind=$mod2, m, movecurrentworkspacetomonitor, HDMI-A-1 # bind=$mod2 SHIFT, s, swapactiveworkspaces, DP-3 HDMI-A-1 # vim:ft=hyprlang: ======Config-End======== ```

Description

When clicking on a groupbar member to focus it, if you move the mouse just 1 pixel before releasing the click, the focus will reset to the previous member. Minor bug, but annoying sometimes.

Thanks for your attention. Cheers !

How to reproduce

https://github.com/user-attachments/assets/5e58181b-b380-4251-bff4-f22e04a113d7

Aqa-Ib commented 9 hours ago

OK, I have found that setting input:mouse_refocus to false is a workaround.

Aqa-Ib commented 9 hours ago

https://github.com/hyprwm/Hyprland/blob/c4eb1940336cd88ca65ba65582ce104e49dfc7c9/src/managers/input/InputManager.cpp#L489-L498