Hyprland icon indicating copy to clipboard operation
Hyprland copied to clipboard

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

Open Stanko2 opened this issue 1 year ago • 6 comments

Regression?

No

System Info and Version

System/Version info
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,[email protected],0x240,1.0
monitor=HDMI-A-1,[email protected],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

Stanko2 avatar Aug 28 '24 07:08 Stanko2

have you tried disabling focus on activate?

vaxerski avatar Aug 28 '24 11:08 vaxerski

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 avatar Aug 28 '24 12:08 TeChn4K

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

TeChn4K avatar Aug 28 '24 13:08 TeChn4K

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 avatar Aug 28 '24 13:08 TeChn4K

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

TeChn4K avatar Aug 28 '24 13:08 TeChn4K

can you check latest git

vaxerski avatar Aug 28 '24 19:08 vaxerski

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:

TeChn4K avatar Aug 29 '24 06:08 TeChn4K