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.09k stars 882 forks source link

Cursor jumps to 0,0 when Unity Editor opens pop-up #7551

Closed Stanko2 closed 1 month ago

Stanko2 commented 1 month ago

Regression?

No

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 9a09eac79b85c846e3a865a9078a3f8ff65a9259 (props: bump version to 0.42.0). Date: Wed Aug 7 19:17:10 2024 Tag: v0.42.0, commits: 5069 flags: (if any) System Information: System name: Linux Node name: ROG-zephyrus-G16 Release: 6.10.6-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Mon, 19 Aug 2024 17:02:39 +0000 GPU information: 0000:00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P Integrated Graphics Controller [8086:4626] (rev 0c) (prog-if 00 [VGA controller]) 0000:01:00.0 VGA compatible controller [0300]: NVIDIA Corporation AD106M [GeForce RTX 4070 Max-Q / Mobile] [10de:2860] (rev a1) (prog-if 00 [VGA controller]) NVRM version: NVIDIA UNIX x86_64 Kernel Module 555.58.02 Tue Jun 25 01:39:15 UTC 2024 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/stanko/.config/hypr/hyprland.conf: Read Succeeded # This file sources other files in `hyprland` and `custom` folders # You wanna add your stuff in file in `custom` # Defaults source=~/.config/hypr/hyprland/env.conf source=~/.config/hypr/hyprland/execs.conf source=~/.config/hypr/hyprland/general.conf source=~/.config/hypr/hyprland/rules.conf source=~/.config/hypr/hyprland/colors.conf source=~/.config/hypr/hyprland/keybinds.conf # Custom source=~/.config/hypr/custom/env.conf source=~/.config/hypr/custom/execs.conf source=~/.config/hypr/custom/general.conf source=~/.config/hypr/custom/rules.conf source=~/.config/hypr/custom/keybinds.conf source=~/.config/hypr/monitors.conf Config File: /home/stanko/.config/hypr/hyprland/env.conf: Read Succeeded # ######### Input method ########## # See https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland env = QT_IM_MODULE, fcitx env = XMODIFIERS, @im=fcitx # env = GTK_IM_MODULE, wayland # Crashes electron apps in xwayland # env = GTK_IM_MODULE, fcitx # My Gtk apps no longer require this to work with fcitx5 hmm env = SDL_IM_MODULE, fcitx env = GLFW_IM_MODULE, ibus env = INPUT_METHOD, fcitx # ############ Themes ############# env = QT_QPA_PLATFORM, wayland env = QT_QPA_PLATFORMTHEME, qt5ct # env = QT_STYLE_OVERRIDE,kvantum # env = WLR_NO_HARDWARE_CURSORS, 1 # ######## Screen tearing ######### env = WLR_DRM_NO_ATOMIC, 1 # ############ Others ############# env = WLR_DRM_DEVICES,$HOME/.config/hypr/card:$HOME/.config/hypr/nvidia env = MOZ_ENABLE_WAYLAND,1 env = LIBVA_DRIVER_NAME,nvidia env = __GLX_VENDOR_LIBRARY_NAME,nvidia # nvidia firefox (for hardware acceleration on FF)? # check this post https://github.com/elFarto/nvidia-vaapi-driver#configuration env = MOZ_DISABLE_RDD_SANDBOX,1 env = NVD_BACKEND,direct env = EGL_PLATFORM,wayland env = XDG_CONFIG_HOME,$HOME/.config env = XDG_CACHE_HOME,$HOME/.cache env = XDG_STATE_HOME,$HOME/.local/state Config File: /home/stanko/.config/hypr/hyprland/execs.conf: Read Succeeded # Bar, wallpaper exec-once = swww-daemon --format xrgb & exec-once = /usr/lib/geoclue-2.0/demos/qagent & gammastep exec-once = ags & # Input method exec-once = fcitx5 # Core components (authentication, lock screen, notification daemon) exec-once = gnome-keyring-daemon --start --components=secrets exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 || /usr/libexec/polkit-gnome-authentication-agent-1 exec-once = hypridle exec-once = dbus-update-activation-environment --all exec-once = sleep 1 && dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Some fix idk exec-once = hyprpm reload # Clipboard: history # exec-once = wl-paste --watch cliphist store & exec-once = wl-paste --type text --watch cliphist store exec-once = wl-paste --type image --watch cliphist store # Cursor exec-once = hyprctl setcursor Bibata-Modern-Classic 24 Config File: /home/stanko/.config/hypr/hyprland/general.conf: Read Succeeded # MONITOR CONFIG monitor=,preferred,auto,1 # monitor=,addreserved, 0, 0, 0, 0 # Custom reserved area # HDMI port: mirror display. To see device name, use `hyprctl monitors` # monitor=HDMI-A-1,1920x1080@60,1920x0,1,mirror,eDP-1 input { # Keyboard: Add a layout and uncomment kb_options for Win+Space switching shortcut kb_layout = us kb_variant = cz_sk_de kb_options=level3:ralt # kb_options=grp:win_space_toggle numlock_by_default = true repeat_delay = 250 repeat_rate = 35 touchpad { natural_scroll = yes disable_while_typing = true clickfinger_behavior = true scroll_factor = 0.5 } special_fallthrough = true follow_mouse = 0 float_switch_override_focus = 0 } binds { # focus_window_on_workspace_c# For Auto-run stuff see execs.confhange = true scroll_event_delay = 0 } gestures { workspace_swipe = true workspace_swipe_distance = 700 workspace_swipe_fingers = 3 workspace_swipe_cancel_ratio = 0.2 workspace_swipe_min_speed_to_force = 5 workspace_swipe_direction_lock = true workspace_swipe_direction_lock_threshold = 10 workspace_swipe_create_new = true } general { # Gaps and border gaps_in = 4 gaps_out = 5 gaps_workspaces = 50 border_size = 0 # Fallback colors col.active_border = rgba(0DB7D4FF) col.inactive_border = rgba(31313600) resize_on_border = true no_focus_fallback = true layout = dwindle #focus_to_other_workspaces = true # ahhhh i still haven't properly implemented this allow_tearing = true # This just allows the `immediate` window rule to work } dwindle { preserve_split = true # no_gaps_when_only = 1 smart_split = false smart_resizing = false } decoration { rounding = 20 blur { enabled = true xray = true special = false new_optimizations = true size = 14 passes = 4 brightness = 1 noise = 0.01 contrast = 1 popups = true popups_ignorealpha = 0.6 } # Shadow drop_shadow = true shadow_ignore_window = true shadow_range = 20 shadow_offset = 0 2 shadow_render_power = 4 col.shadow = rgba(0000002A) # Shader #screen_shader = ~/.config/hypr/shaders/drugs.frag #screen_shader = ~/.config/hypr/shaders/test.frag # Dim dim_inactive = false dim_strength = 0.1 dim_special = 0 } debug { damage_tracking = 2 } animations { enabled = true # Animation curves bezier = linear, 0, 0, 1, 1 bezier = md3_standard, 0.2, 0, 0, 1 bezier = md3_decel, 0.05, 0.7, 0.1, 1 bezier = md3_accel, 0.3, 0, 0.8, 0.15 bezier = overshot, 0.05, 0.9, 0.1, 1.1 bezier = crazyshot, 0.1, 1.5, 0.76, 0.92 bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0 bezier = menu_decel, 0.1, 1, 0, 1 bezier = menu_accel, 0.38, 0.04, 1, 0.07 bezier = easeInOutCirc, 0.85, 0, 0.15, 1 bezier = easeOutCirc, 0, 0.55, 0.45, 1 bezier = easeOutExpo, 0.16, 1, 0.3, 1 bezier = softAcDecel, 0.26, 0.26, 0.15, 1 bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration # Animation configs animation = windows, 1, 3, md3_decel, popin 60% animation = windowsIn, 1, 3, md3_decel, popin 60% animation = windowsOut, 1, 3, md3_accel, popin 60% animation = border, 1, 10, default animation = fade, 1, 3, md3_decel # animation = layers, 1, 2, md3_decel, slide animation = layersIn, 1, 3, menu_decel, slide animation = layersOut, 1, 1.6, menu_accel animation = fadeLayersIn, 1, 2, menu_decel animation = fadeLayersOut, 1, 4.5, menu_accel animation = workspaces, 1, 7, menu_decel, slide # animation = workspaces, 1, 2.5, softAcDecel, slide # animation = workspaces, 1, 7, menu_decel, slidefade 15% # animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15% animation = specialWorkspace, 1, 3, md3_decel, slidevert } misc { vfr = 1 vrr = 1 # layers_hog_mouse_focus = true focus_on_activate = true animate_manual_resizes = false animate_mouse_windowdragging = false enable_swallow = false swallow_regex = (foot|kitty|allacritty|Alacritty) disable_hyprland_logo = true force_default_wallpaper = 0 new_window_takes_over_fullscreen = 2 allow_session_lock_restore = true initial_workspace_tracking = false } # Overview plugin { hyprexpo { columns = 3 gap_size = 5 bg_col = rgb(000000) workspace_method = first 1 # [center/first] [workspace] e.g. first 1 or center m+1 enable_gesture = false # laptop touchpad, 4 fingers gesture_distance = 300 # how far is the "max" gesture_positive = false } } Config File: /home/stanko/.config/hypr/hyprland/rules.conf: Read Succeeded # ######## Window rules ######## windowrule = noblur,.* # windowrule = opacity 0.89 override 0.89 override, .* # Applies transparency to EVERY WINDOW windowrule = float, ^(blueberry.py)$ # windowrule = float, ^(steam)$ windowrule = float, ^(guifetch)$ # FlafyDev/guifetch windowrulev2 = tile, class:(dev.warp.Warp) windowrulev2 = float, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$ windowrule = center, title:^(Open File)(.*)$ windowrule = center, title:^(Select a File)(.*)$ windowrule = center, title:^(Choose wallpaper)(.*)$ windowrule = center, title:^(Open Folder)(.*)$ windowrule = center, title:^(Save As)(.*)$ windowrule = center, title:^(Library)(.*)$ windowrule = center, title:^(File Upload)(.*)$ # Dialogs windowrule=float,title:^(Open File)(.*)$ windowrule=float,title:^(Select a File)(.*)$ windowrule=float,title:^(Choose wallpaper)(.*)$ windowrule=float,title:^(Open Folder)(.*)$ windowrule=float,title:^(Save As)(.*)$ windowrule=float,title:^(Library)(.*)$ # Tearing windowrule=immediate,.*\.exe windowrulev2=immediate,class:(steam_app) # No shadow for tiled windows windowrulev2 = noshadow,floating:0 # ######## Layer rules ######## layerrule = xray 1, .* # layerrule = noanim, .* layerrule = noanim, walker layerrule = noanim, selection layerrule = noanim, overview layerrule = noanim, anyrun layerrule = noanim, indicator.* layerrule = noanim, osk layerrule = noanim, hyprpicker layerrule = blur, shell:* layerrule = ignorealpha 0.6, shell:* layerrule = noanim, noanim layerrule = blur, gtk-layer-shell layerrule = ignorezero, gtk-layer-shell layerrule = blur, launcher layerrule = ignorealpha 0.5, launcher layerrule = blur, notifications layerrule = ignorealpha 0.69, notifications # ags layerrule = animation slide top, sideleft.* layerrule = animation slide top, sideright.* layerrule = blur, session layerrule = blur, bar layerrule = ignorealpha 0.6, bar layerrule = blur, corner.* layerrule = ignorealpha 0.6, corner.* layerrule = blur, dock layerrule = ignorealpha 0.6, dock layerrule = blur, indicator.* layerrule = ignorealpha 0.6, indicator.* layerrule = blur, overview layerrule = ignorealpha 0.6, overview layerrule = blur, cheatsheet layerrule = ignorealpha 0.6, cheatsheet layerrule = blur, sideright layerrule = ignorealpha 0.6, sideright layerrule = blur, sideleft layerrule = ignorealpha 0.6, sideleft layerrule = blur, indicator* layerrule = ignorealpha 0.6, indicator* layerrule = blur, osk layerrule = ignorealpha 0.6, osk Config File: /home/stanko/.config/hypr/hyprland/colors.conf: Read Succeeded # exec = export SLURP_ARGS='-d -c C8E4F5BB -b 304A5844 -s 00000000' general { col.active_border = rgba(E0E3E639) col.inactive_border = rgba(89929830) } misc { background_color = rgba(101416FF) } plugin { hyprbars { # Honestly idk if it works like css, but well, why not bar_text_font = Rubik, Geist, AR One Sans, Reddit Sans, Inter, Roboto, Ubuntu, Noto Sans, sans-serif bar_height = 30 bar_padding = 10 bar_button_padding = 5 bar_precedence_over_border = true bar_part_of_window = true bar_color = rgba(101416FF) col.text = rgba(E0E3E6FF) # example buttons (R -> L) # hyprbars-button = color, size, on-click hyprbars-button = rgb(E0E3E6), 13, 󰖭, hyprctl dispatch killactive hyprbars-button = rgb(E0E3E6), 13, 󰖯, hyprctl dispatch fullscreen 1 hyprbars-button = rgb(E0E3E6), 13, 󰖰, hyprctl dispatch movetoworkspacesilent special } } windowrulev2 = bordercolor rgba(85D0F6AA) rgba(85D0F677),pinned:1 Config File: /home/stanko/.config/hypr/hyprland/keybinds.conf: Read Succeeded # ################### It just works™ keybinds ################### # Volume bindl = Super ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle bindl = Alt ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle bindl = ,XF86AudioMute, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0% bindl = Super+Shift,M, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0% bindle=, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ bindle=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- bindl = , xf86Launch1, exec, rog-control-center # ASUS Armory crate button bindl = , xf86Launch3, exec, asusctl led-mode -n #FN+F4 Switch keyboard RGB profile bindl = , xf86Launch4, exec, asusctl profile -n #FN+F5 change of fan profiles (Quite, Balance, Performance) # Brightness # Uncomment these if you can't get AGS to work #bindle=, XF86MonBrightnessUp, exec, brightnessctl set '12.75+' #bindle=, XF86MonBrightnessDown, exec, brightnessctl set '12.75-' # ################################### Applications ################################### # Apps: just normal apps bind = Super, Z, exec, zed bind = Super, C, exec, codium --password-store=gnome --enable-features=UseOzonePlatform --ozone-platform=wayland bind = Super, Return, exec, kitty bind = Super+Alt, E, exec, nautilus --new-window bind = Super, E, exec, thunar bind = Super, W, exec, firefox bind = Control+Super, W, exec, thorium-browser --ozone-platform-hint=wayland --gtk-version=4 --ignore-gpu-blocklist --enable-features=TouchpadOverscrollHistoryNavigation --enable-wayland-ime bind = Super, X, exec, gnome-text-editor --new-window bind = Super+Shift, W, exec, wps # Apps: Settings and config bind = Super, I, exec, XDG_CURRENT_DESKTOP="gnome" gnome-control-center bind = Control+Super, V, exec, pavucontrol bind = Control+Super+Shift, V, exec, easyeffects bind = Control+Shift, Escape, exec, gnome-system-monitor # Actions bind = Super, Period, exec, pkill fuzzel || ~/.local/bin/fuzzel-emoji bind = Super, Q, killactive, bind = Alt, F4, killactive, bind = Super+Alt, Space, togglefloating, bind = Shift+Super+Alt, Q, exec, hyprctl kill bind = Control+Shift+Alt, Delete, exec, pkill wlogout || wlogout -p layer-shell bind = Control+Shift+Alt+Super, Delete, exec, systemctl poweroff || loginctl poweroff # Screenshot, Record, OCR, Color picker, Clipboard history bind = Super+Shift+Alt, S, exec, grim -g "$(slurp)" - | swappy -f - bindl=,Print,exec,grim - | wl-copy bindl= Control,Print, exec, mkdir -p ~/Pictures/Screenshots && ~/.config/ags/scripts/grimblast.sh copysave screen ~/Pictures/Screenshots/Screenshot_"$(date '+%Y-%m-%d_%H.%M.%S')".png bind = Super+Shift, S, exec, ~/.config/ags/scripts/grimblast.sh --freeze copy area bind = Super+Alt, R, exec, ~/.config/ags/scripts/record-script.sh bind = Control+Alt, R, exec, ~/.config/ags/scripts/record-script.sh --fullscreen bind = Super+Shift+Alt, R, exec, ~/.config/ags/scripts/record-script.sh --fullscreen-sound bind = Super+Shift, C, exec, hyprpicker -a bind = Super, V, exec, pkill fuzzel || cliphist list | fuzzel --no-fuzzy --dmenu | cliphist decode | wl-copy # Text-to-image # Normal # bind = Control+Super+Shift,S,exec,grim -g "$(slurp $SLURP_ARGS)" "tmp.png" && tesseract "tmp.png" - | wl-copy && rm "tmp.png" # English bind = Super+Shift,T,exec,grim -g "$(slurp $SLURP_ARGS)" "tmp.png" && tesseract -l eng "tmp.png" - | wl-copy && rm "tmp.png" # Japanese # bind = Super+Shift,J,exec,grim -g "$(slurp $SLURP_ARGS)" "tmp.png" && tesseract -l jpn "tmp.png" - | wl-copy && rm "tmp.png" # Media bindl= Super+Shift, N, exec, playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"` bindl= ,XF86AudioNext, exec, playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"` bind = Super+Shift+Alt, mouse:275, exec, playerctl previous bind = Super+Shift+Alt, mouse:276, exec, playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"` bindl= Super+Shift, B, exec, playerctl previous bindl= Super+Shift, P, exec, playerctl play-pause bindl= ,XF86AudioPlay, exec, playerctl play-pause # Lock screen bind = Super, L, exec, loginctl lock-session bind = Super+Shift, L, exec, loginctl lock-session bindl = Super+Shift, L, exec, sleep 0.1 && systemctl suspend || loginctl suspend # App launcher bind = Control+Super, Slash, exec, pkill anyrun || anyrun # ##################################### AGS keybinds ##################################### bindr = Control+Super, R, exec, killall ags ydotool; ags & bindr = Control+Super+Alt, R, exec, hyprctl reload; killall ags ydotool; ags & bind = Control+Super, T, exec, ~/.config/ags/scripts/color_generation/switchwall.sh bind = Control+Alt, Slash, exec, ags run-js 'cycleMode();' bindir = Super, Super_L, exec, ags -t 'overview' #bind = Super, Tab, exec, ags -t 'overview' bind = Super, Slash, exec, for ((i=0; i<$(hyprctl monitors -j | jq length); i++)); do ags -t "cheatsheet""$i"; done bind = Super, B, exec, ags -t 'sideleft' bind = Super, A, exec, ags -t 'sideleft' bind = Super, O, exec, ags -t 'sideleft' bind = Super, N, exec, ags -t 'sideright' bind = Super, M, exec, ags run-js 'openMusicControls.value = (!mpris.getPlayer() ? false : !openMusicControls.value);' bind = Super, Comma, exec, ags run-js 'openColorScheme.value = true; Utils.timeout(2000, () => openColorScheme.value = false);' bind = Super, K, exec, for ((i=0; i<$(hyprctl monitors -j | jq length); i++)); do ags -t "osk""$i"; done bind = Control+Alt, Delete, exec, for ((i=0; i<$(hyprctl monitors -j | jq length); i++)); do ags -t "session""$i"; done bind = Control+Super, G, exec, for ((i=0; i<$(hyprctl monitors -j | jq length); i++)); do ags -t "crosshair""$i"; done bindle=, XF86MonBrightnessUp, exec, ags run-js 'brightness.screen_value += 0.05; indicator.popup(1);' bindle=, XF86MonBrightnessDown, exec, ags run-js 'brightness.screen_value -= 0.05; indicator.popup(1);' bindl = , XF86AudioMute, exec, ags run-js 'indicator.popup(1);' bindl = Super+Shift,M, exec, ags run-js 'indicator.popup(1);' # ##################################### Plugins ######################################### # Testing # bind = SuperAlt, f12, exec, notify-send "Hyprland version: $(hyprctl version | head -2 | tail -1 | cut -f2 -d ' ')" "owo" -a 'Hyprland keybind' # bind = Super+Alt, f12, exec, notify-send "Millis since epoch" "$(date +%s%N | cut -b1-13)" -a 'Hyprland keybind' bind = Super+Alt, f12, exec, notify-send 'Test notification' "Here's a really long message to test truncation and wrapping\nYou can middle click or flick this notification to dismiss it!" -a 'Shell' -A "Test1=I got it!" -A "Test2=Another action" -t 5000 bind = Super+Alt, Equal, exec, notify-send "Urgent notification" "Ah hell no" -u critical -a 'Hyprland keybind' # ########################### Keybinds for Hyprland ############################ # Swap windows bind = Super+Shift, left, movewindow, l bind = Super+Shift, right, movewindow, r bind = Super+Shift, up, movewindow, u bind = Super+Shift, down, movewindow, d bind = Super, P, pin # Move focus bind = Super, left, movefocus, l bind = Super, right, movefocus, r bind = Super, up, movefocus, u bind = Super, down, movefocus, d bind = Super, BracketLeft, movefocus, l bind = Super, BracketRight, movefocus, r # Workspace, window, tab switch with keyboard bind = Control+Super, right, workspace, +1 bind = Control+Super, left, workspace, -1 bind = Super, mouse:275, workspace, -1 bind = Super, mouse:276, workspace, +1 bind = Control+Super, BracketLeft, workspace, -1 bind = Control+Super, BracketRight, workspace, +1 bind = Control+Super, up, workspace, -5 bind = Control+Super, down, workspace, +5 bind = Super, Page_Down, workspace, +1 bind = Super, Page_Up, workspace, -1 bind = Control+Super, Page_Down, workspace, +1 bind = Control+Super, Page_Up, workspace, -1 bind = Super+Alt, Page_Down, movetoworkspace, +1 bind = Super+Alt, Page_Up, movetoworkspace, -1 bind = Super+Shift, Page_Down, movetoworkspace, +1 bind = Super+Shift, Page_Up, movetoworkspace, -1 bind = Control+Super+Shift, Right, movetoworkspace, +1 bind = Control+Super+Shift, Left, movetoworkspace, -1 bind = Super+Shift, mouse_down, movetoworkspace, -1 bind = Super+Shift, mouse_up, movetoworkspace, +1 bind = Super+Alt, mouse_down, movetoworkspace, -1 bind = Super+Alt, mouse_up, movetoworkspace, +1 # Window split ratio binde = Super, Minus, splitratio, -0.1 binde = Super, Equal, splitratio, 0.1 binde = Super, Semicolon, splitratio, -0.1 binde = Super, Apostrophe, splitratio, 0.1 # Fullscreen bind = Super, F, fullscreen, 0 bind = Super, D, fullscreen, 1 #bind = Super_Alt, F, fakefullscreen, 0 # Switching bind = Super, 1, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 1 bind = Super, 2, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 2 bind = Super, 3, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 3 bind = Super, 4, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 4 bind = Super, 5, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 5 bind = Super, 6, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 6 bind = Super, 7, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 7 bind = Super, 8, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 8 bind = Super, 9, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 9 bind = Super, 0, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 10 bind = Super, S, togglespecialworkspace, bind = Control+Super, S, togglespecialworkspace, bind = Alt, Tab, cyclenext bind = Alt, Tab, bringactivetotop, # bring it to the top bind = Super, Tab, workspace, m+1 # Move window to workspace Super + Alt + [0-9] bind = Super+Shift, 1, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 1 bind = Super+Shift, 2, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 2 bind = Super+Shift, 3, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 3 bind = Super+Shift, 4, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 4 bind = Super+Shift, 5, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 5 bind = Super+Shift, 6, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 6 bind = Super+Shift, 7, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 7 bind = Super+Shift, 8, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 8 bind = Super+Shift, 9, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 9 bind = Super+Shift, 0, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 10 bind = Control+Shift+Super, Up, movetoworkspacesilent, special bind = Super+Alt, S, movetoworkspacesilent, special # Scroll through existing workspaces with (Control) + Super + scroll bind = Super, mouse_up, workspace, +1 bind = Super, mouse_down, workspace, -1 bind = Control+Super, mouse_up, workspace, +1 bind = Control+Super, mouse_down, workspace, -1 # Move/resize windows with Super + LMB/RMB and dragging bindm = Super, mouse:272, movewindow bindm = Super, mouse:273, resizewindow # bindm = Super, mouse:274, movewindow bind = Control+Super, Backslash, resizeactive, exact 640 480 # Arrow keys with IJKL bindle = Alt, I, exec, ydotool key 103:1 103:0 bindle = Alt, K, exec, ydotool key 108:1 108:0 bindle = Alt, J, exec, ydotool key 105:1 105:0 bindle = Alt, L, exec, ydotool key 106:1 106:0 # Control + Side mouse btn for switching tabs (Ctrl+PgUp/PgDn) # bind = Control, mouse:275, exec, ydotool key 29:1 104:1 104:0 29:0 # bind = Control, mouse:276, exec, ydotool key 29:1 109:1 109:0 29:0 Config File: /home/stanko/.config/hypr/custom/env.conf: Read Succeeded # You can put extra environment variables here # https://wiki.hyprland.org/Configuring/Environment-variables/ Config File: /home/stanko/.config/hypr/custom/execs.conf: Read Succeeded # You can make apps auto-start here # Relevant Hyprland wiki section: https://wiki.hyprland.org/Configuring/Keywords/#executing Config File: /home/stanko/.config/hypr/custom/general.conf: Read Succeeded # Put general config stuff here # Here's a list of every variable: https://wiki.hyprland.org/Configuring/Variables/ Config File: /home/stanko/.config/hypr/custom/rules.conf: Read Succeeded # You can put custom rules here # Window/layer rules: https://wiki.hyprland.org/Configuring/Window-Rules/ # Workspace rules: https://wiki.hyprland.org/Configuring/Workspace-Rules/ windowrule = float, nwg-displays windowrule = float, nwg-look|qt5ct|mpv windowrule = float, yad windowrule = float, ^(wihotspot-gui)$ # wifi hotspot # Picture-in-a-Picture (PIP) rules: Oddly, some need re-duplication. This is because the window for # PIP changes after on first launch, and will not inherant the rules... windowrulev2=opacity 0.95 0.75,title:^(Picture-in-Picture)$ # for opacity: [focus num] [bg num] # Interestingly, the opacity rule above doesn't need the reduplication? windowrulev2=pin,title:^(Picture-in-Picture)$ #windowrulev2=pin,title:^(Firefox)$ windowrulev2=float, title:^(Picture-in-Picture)$ #windowrulev2=float, title:^(Firefox)$ windowrulev2=size 25% 25%,title:^(Picture-in-Picture)$ #windowrulev2=size 25% 25%,title:^(Firefox)$ windowrulev2=move 72% 7%,title:^(Picture-in-Picture)$ #windowrulev2=move 72% 7%,title:^(Firefox)$ windowrulev2 = opacity 0.0 override,class:^(xwaylandvideobridge)$ windowrulev2 = noanim,class:^(xwaylandvideobridge)$ windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$ windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$ windowrulev2 = noblur,class:^(xwaylandvideobridge)$ Config File: /home/stanko/.config/hypr/custom/keybinds.conf: Read Succeeded # You can put your preferred keybinds here # https://wiki.hyprland.org/Configuring/Binds/ Config File: /home/stanko/.config/hypr/monitors.conf: Read Succeeded # Generated by nwg-displays on 2024-08-28 at 09:27:22. Do not edit manually. monitor=eDP-2,1920x1200@165.01,0x240,1.0 monitor=HDMI-A-1,2560x1440@59.95,1920x0,1.0 monitor=HDMI-A-1,disable ======Config-End======== ```

Description

I am using unity editor, everytime it shows a new pop-up window (e.g. Color picker) cursor jumps to 0,0. Pop-up then loses focus and gets closed (I tried setting follow_mouse to 0 in config, pop-up then no longer closes automatically, but the cursor still jumps to 0,0).

I also tried the same thing in GNOME where everything works fine and cursor isn't jumping at all

How to reproduce

  1. open a blank project in Unity Editor (2022.3.23f1)
  2. hit play / open color picker

Crash reports, logs, images, videos

https://github.com/user-attachments/assets/e602701a-2eab-4bbf-938e-9f6703d9e523

vaxerski commented 1 month ago

have you tried disabling focus on activate?

TeChn4K commented 1 month ago

I can confirm. misc.focus_on_activate = false prevents this issue, but I would not like to disable it. It happens, systematically, with many apps opening (vscode, chromium, firefox, gnome-calculator). And when it happens, window do not open on good monitor.

TeChn4K commented 1 month ago

It does not happen when opening Kitty, KeepassXC, Thunar, VLC, Eye Of Gnome, ...

TeChn4K commented 1 month ago

FYI I have 2 external monitors (left external - middle external - right laptop) With VSCode opened on my middle monitor, every vscode popups open on the left monitor, and cursor jump to the top-left corner

TeChn4K commented 1 month ago

Oh, and popups open on the good monitor with misc.focus_on_activate = false

vaxerski commented 1 month ago

can you check latest git

TeChn4K commented 1 month ago

Upgraded to the latest commit and these issues are gone! Thank you Vax

It was my only complain about the 0.42, everything else was absolutely pain-free. :saluting_face: