Hyprland
Hyprland copied to clipboard
Persistent cursor lag after running Questasim, resolved temporarily by click-and-hold
Regression?
No
System Info and Version
System/Version info
Hyprland, built from branch main at commit 918d8340afd652b011b937d29d5eea0be08467f5 (flake.lock: update).
Date: 2024-06-25
Tag: v0.41.2, commits: 918d8340afd652b011b937d29d5eea0be08467f5
flags: (if any)
System Information:
System name: Linux
Node name: nixos
Release: 6.10.2
Version: #1-NixOS SMP PREEMPT_DYNAMIC Sat Jul 27 09:40:36 UTC 2024
GPU information:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU116M [GeForce GTX 1660 Ti Mobile] [10de:2191] (rev a1) (prog-if 00 [VGA controller])
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Renoir [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1636] (rev c6) (prog-if 00 [VGA controller])
os-release: ANSI_COLOR="1;34"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="24.11.20240802.d049530"
DOCUMENTATION_URL="https://nixos.org/learn.html"
HOME_URL="https://nixos.org/"
ID=nixos
IMAGE_ID=""
IMAGE_VERSION=""
LOGO="nix-snowflake"
NAME=NixOS
PRETTY_NAME="NixOS 24.11 (Vicuna)"
SUPPORT_URL="https://nixos.org/community.html"
VERSION="24.11 (Vicuna)"
VERSION_CODENAME=vicuna
VERSION_ID="24.11"
plugins:
======Config-Start======
Config File: /home/emre/.config/hypr/hyprland.conf: Read Succeeded
# Monitors & workspaces: nwg-displays generates 2 files, which we include here:
source = ~/.config/hypr/monitors.conf
source = ~/.config/hypr/workspaces.conf
# extra includes
source = ~/.config/hypr/includes.conf
# Windowrules
# `hyprctl clients` to get window names
windowrulev2 = float,class:(dialog),title:(Choose symbol)
windowrulev2 = float,class:(zenity) # wine prefix
# windowrulev2 = workspace 1,class:(kitty),title:(filepicker)
windowrulev2 = workspace 1,class:(firefox)
windowrulev2 = workspace 1,class:(qutebrowser)
windowrulev2 = workspace 2,class:(kitty)
windowrulev2 = workspace 2,class:(Anki)
windowrulev2 = workspace 3,class:(gtkwave)
windowrulev2 = workspace 3,class:(Vsim)
windowrulev2 = workspace 3,class:(thunderbird)
# windowrulev2 = workspace 3,class:(kitty),title:(my_player)
windowrulev2 = workspace 4,class:(draw.io)
windowrulev2 = workspace 5,class:(kitty),title:(btop)
windowrulev2 = stayfocused, title:^()$,class:^(steam)$
windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$
windowrule=opacity 0.95 0.95,(firefox)$
windowrulev2 = float, title:^(Picture-in-Picture)$,class:^(firefox)$
windowrulev2 = pin, title:^(Picture-in-Picture)$,class:^(firefox)$
# showmethekeys
windowrulev2 = float, class:^(showmethekey-gtk)$
windowrulev2 = size 220 100, class:^(showmethekey-gtk)$
windowrulev2 = move 0% 90%, class:^(showmethekey-gtk)$
windowrulev2 = nofocus, class:^(showmethekey-gtk)$
windowrulev2 = noinitialfocus, class:^(showmethekey-gtk)$
windowrulev2 = pin, class:^(showmethekey-gtk)$
windowrulev2 = monitor HDMI-A-1, class:^(showmethekey-gtk)$
windowrulev2 = noborder, class:^(showmethekey-gtk)$
windowrulev2 = noshadow, class:^(showmethekey-gtk)$
# windowrulev2 = float,,class:(kitty),title:(my_player)
windowrulev2 = workspace special, class:(kitty),title:(my_player)
windowrulev2 = float,class:(qalculate-qt)
windowrulev2 = workspace special:calculator,class:(qalculate-qt)
windowrulev2 = workspace special:todo, class:(kitty),title:(my_todo)
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER
bind = $mainMod, M, exec, player_my
bind = $mainMod, N, exec, qalculate_my
bind = ALT, B, exec, todo_my
# BINDS
# Use `nix run nixpkgs#wev` to observe keys
# For Laptop
# bind = ALT, Z, exec, $browser
# bind = ALT, A, exec, $term --hold $filemanager
bind = ALT, Tab, focuscurrentorlast
bind = ALT, M, workspace, 1
bind = ALT, COMMA, workspace, 2
bind = ALT, PERIOD, workspace, 3
bind = ALT, SLASH, workspace, 4
# For QMK
bind = $mainMod, Z, exec, $browser
bind = $mainMod, A, exec, $term --hold $filemanager
bind = $mainMod, B, exec, pkill waybar || waybar
bind = $mainMod, Tab, focuscurrentorlast
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
# For Both
bind = $mainMod, H, movefocus, l
bind = $mainMod, J, movefocus, d
bind = $mainMod, K, movefocus, u
bind = $mainMod, L, movefocus, r
binde = $mainMod CTRL, H, resizeactive, -20 0
binde = $mainMod CTRL, J, resizeactive, 0 20
binde = $mainMod CTRL, K, resizeactive, 0 -20
binde = $mainMod CTRL, L, resizeactive, 20 0
bind = $mainMod, Q, killactive
bind = $mainMod, F, fullscreen
bind = $mainMod, escape, exec, pgrep $locker || $locker
bind = $mainMod, S, togglesplit
bind = $mainMod, E, togglefloating,
bind = $mainMod, R, pin
# bind = $mainMod, W, togglespecialworkspace
bind = , Print, exec, pgrep hyprshot || hyprshot -m region
bindr= SUPER, SUPER_L, exec, $launcher
bind = SHIFT CTRL, escape, exec, ~/.local/bin/launchOrFocus --title btop
# bind = $mainMod CTRL, Z, movetoworkspace, special # move to the special workspace
bind = $mainMod CTRL, F4, exit, # kills hyprland
bind = $mainMod CTRL, 1, movetoworkspace, 1
bind = $mainMod CTRL, 2, movetoworkspace, 2
bind = $mainMod CTRL, 3, movetoworkspace, 3
bind = $mainMod CTRL, 4, movetoworkspace, 4
bind = $mainMod CTRL, 5, movetoworkspace, 5
bind = $mainMod CTRL, 6, movetoworkspace, 6
bind = $mainMod CTRL, 7, movetoworkspace, 7
bind = $mainMod CTRL, 8, movetoworkspace, 8
bind = $mainMod CTRL, 9, movetoworkspace, 9
bind = $mainMod CTRL, 0, movetoworkspace, 10
# Special Keys
bindel = , XF86AudioRaiseVolume , exec, pactl set-sink-volume @DEFAULT_SINK@ +5%
bindel = , XF86AudioLowerVolume , exec, pactl set-sink-volume @DEFAULT_SINK@ -5%
bindl = , XF86AudioMute , exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
bindl = , XF86AudioMicMute , exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle
bindl = , XF86MonBrightnessUp , exec, brightnessctl s 10%+ # light -A 5
bindl = , XF86MonBrightnessDown, exec, brightnessctl s 10%- # light -U 5
bindl = , XF86AudioPlay , exec, playerctl play-pause
bindl = , XF86AudioNext , exec, playerctl next
bindl = , XF86AudioPrev , exec, playerctl previous
bindl = , XF86ScreenSaver , exec, dpms_status=$(hyprctl monitors -j | jq -r ".[].dpmsStatus") && [[ "$dpms_status" = "true" ]] && hyprctl dispatch dpms off || hyprctl dispatch dpms on
# GTK Indicator
bindel = , XF86AudioRaiseVolume , exec, gtk_indicator_client_volume
bindel = , XF86AudioLowerVolume , exec, gtk_indicator_client_volume
bindl = , XF86AudioMute , exec, gtk_indicator_client_volume
bindl = , XF86AudioMicMute , exec, gtk_indicator_client_mic
bindl = , XF86MonBrightnessUp , exec, gtk_indicator_client_brightness
bindl = , XF86MonBrightnessDown, exec, gtk_indicator_client_brightness
# QMK
bindl = , XF86Launch8 , exec, pactl set-sink-mute @DEFAULT_SINK@ toggle # F17
bindl = , XF86Launch7 , exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle # F16
bindl = , XF86Tools , exec, brightnessctl s 10%+ # light -A 5 # F13
bindl = , XF86Launch5 , exec, brightnessctl s 10%- # light -U 5 # F14
bindl = , XF86Launch6 , exec, dpms_status=$(hyprctl monitors -j | jq -r ".[].dpmsStatus") && [[ "$dpms_status" = "true" ]] && hyprctl dispatch dpms off || hyprctl dispatch dpms on # F15
# QMK GTK Indicator
bindl = , XF86Launch8 , exec, gtk_indicator_client_volume
bindl = , XF86Launch7 , exec, gtk_indicator_client_volume
bindl = , XF86Tools , exec, gtk_indicator_client_brightness
bindl = , XF86Launch5 , exec, gtk_indicator_client_brightness
# Mouse Bindings
# SCROLL THROUGH EXISTING WORKSPACES with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# MOVE/RESIZE WINDOWS with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
Config File: /home/emre/.config/hypr/monitors.conf: Read Succeeded
# Generated by nwg-displays on 2024-08-10 at 00:57:05. Do not edit manually.
monitor=eDP-1,[email protected],0x1920,1.0
monitor=HDMI-A-1,[email protected],0x0,1.0
monitor=HDMI-A-1,transform,1
Config File: /home/emre/.config/hypr/workspaces.conf: Read Succeeded
# Generated by nwg-displays on 2024-07-24 at 08:45:25. Do not edit manually.
workspace=4,monitor:desc:Chimei Innolux Corporation 0x1521,default:true
workspace=3,monitor:desc:Dell Inc. DELL P2217H RH81R83L0J7B,default:true
workspace=2,monitor:desc:Chimei Innolux Corporation 0x1521
workspace=1,monitor:desc:Chimei Innolux Corporation 0x1521
Config File: /home/emre/.config/hypr/includes.conf: Read Succeeded
# VARIABLES
$term = kitty
$browser = MOZ_ENABLE_WAYLAND=1 firefox
$launcher= pgrep dmenu && pkill dmenu || j4-dmenu-desktop
$filemanager = lf_cd_hyprland #yazi_cd_hyprland
$editor = hx
$locker = hyprlock
$scripts_dir = /mnt/second/rep/dotfiles/scripts/python
# AUTOSTART
exec-once = swaync
# exec-once = swayosd-server
exec-once = nm-applet --indicator
exec-once = blueman-applet
exec-once = waybar
exec-once = swww-daemon # wallpaper daemon
# exec-once = rog-control-center
exec-once = xremap ~/.config/xremap/config.yml
exec-once = yarr
exec-once = udiskie
exec-once = gtk_applet_script_menu
exec-once = gtk_applet_power_menu
exec-once = update_wp
exec-once = auto_refresh
exec-once = gtk_indicator --name mic
exec-once = gtk_indicator --name volume
exec-once = gtk_indicator --name brightness
exec-once = systemctl start --user polkit-gnome-authentication-agent-1
exec-once = hypridle &
# Share picker doesn’t use the system theme
exec-once = dbus-update-activation-environment --systemd --all
exec-once = systemctl --user import-environment QT_QPA_PLATFORMTHEME
# Make default apps work with xdg-open
exec-once = systemctl --user import-environment PATH && systemctl --user restart xdg-desktop-portal.service
exec-once = gen_typing_test -n 50 --digits 45 > /tmp/numbers_45.txt
exec-once = gen_typing_test -n 50 --digits 46 > /tmp/numbers_46.txt
exec-once = gen_typing_test -n 50 --digits 56 > /tmp/numbers_56.txt
exec-once = gen_typing_test -n 50 --digits 456 > /tmp/numbers_456.txt
exec-once = gen_typing_test -n 50 --digits 12 > /tmp/numbers_12.txt
exec-once = gen_typing_test -n 50 --digits 13 > /tmp/numbers_13.txt
exec-once = gen_typing_test -n 50 --digits 23 > /tmp/numbers_23.txt
exec-once = gen_typing_test -n 50 --digits 123 > /tmp/numbers_123.txt
exec-once = gen_typing_test -n 50 --digits 78 > /tmp/numbers_78.txt
exec-once = gen_typing_test -n 50 --digits 79 > /tmp/numbers_79.txt
exec-once = gen_typing_test -n 50 --digits 70 > /tmp/numbers_70.txt
exec-once = gen_typing_test -n 50 --digits 89 > /tmp/numbers_89.txt
exec-once = gen_typing_test -n 50 --digits 80 > /tmp/numbers_80.txt
exec-once = gen_typing_test -n 50 --digits 90 > /tmp/numbers_90.txt
exec-once = gen_typing_test -n 50 --digits 7890 > /tmp/numbers_7890.txt
exec-once = gen_typing_test -n 50 --digits 123456 > /tmp/numbers_123456.txt
exec-once = gen_typing_test -n 50 --digits 1237890 > /tmp/numbers_1237890.txt
exec-once = gen_typing_test -n 50 --digits 4567890 > /tmp/numbers_4567890.txt
exec-once = gen_typing_test -n 80 --digits 1234567890 > /tmp/numbers_123456789.txt
exec-once = anki
exec-once = thunderbird
exec-once = firefox
exec-once = kitty --title btop btop
exec-once = kitty
exec-once = drawio
# It is not enough to define these inside home-manager
# You also have to define them here.
# Otherwise XDG_CACHE_HOME etc. wont be defined for some scripts
# You will get ./python folders all around due to caching
env = EDITOR, $editor
env = TERMINAL,kitty
env = TERM,kitty
env = OPENER,xdg-open
env = XCURSOR_SIZE,24
env = WLR_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0
$XDG_DATA_HOME=$HOME/.local/share
$XDG_CONFIG_HOME=$HOME/.config
$XDG_STATE_HOME=$HOME/.local/state
$XDG_CACHE_HOME=$HOME/.cache
env = XDG_DATA_HOME,$XDG_DATA_HOME
env = XDG_CONFIG_HOME,$XDG_CONFIG_HOME
env = XDG_STATE_HOME,$XDG_STATE_HOME
env = XDG_CACHE_HOME,$XDG_CACHE_HOME
env = PATH,$XDG_DATA_HOME:$XDG_CONFIG_HOME:$XDG_STATE_HOME:$XDG_CACHE_HOME:$PATH
env = PATH,$HOME/.local/bin:$PATH
env = PATH,/usr/local/bin:$PATH
env = DIRENV_CONFIG,$HOME/.config/direnv/direnvrc
env = ANDROID_HOME,$XDG_DATA_HOME/android
env = CARGO_HOME,$XDG_DATA_HOME/cargo
env = CUDA_CACHE_PATH,"$XDG_CACHE_HOME/nv
env = GNUPGHOME,$XDG_DATA_HOME/gnupg
env = PASSWORD_STORE_DIR,$XDG_DATA_HOME/password-store
env = RUSTUP_HOME,$XDG_DATA_HOME/rustup
env = NUGET_PACKAGES,$XDG_CACHE_HOME/NuGetPackages
env = NPM_CONFIG_USERCONFIG,$XDG_CONFIG_HOME/npm/npmrc
env = DOTNET_CLI_HOME,/tmp/DOTNET_CLI_HOME
env = GNUPGHOME,$XDG_DATA_HOME/gnupg
env = WGETRC,$XDG_CONFIG_HOME/wgetrc
env = KIVY_HOME,$XDG_CONFIG_HOME/kivy
env = PYTHONPYCACHEPREFIX,$XDG_CACHE_HOME/python
env = PYTHONUSERBASE,$XDG_DATA_HOME/python
env = GOPATH,$XDG_CACHE_HOME/go
# RICE
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 5
drop_shadow = true
shadow_range = 4
shadow_render_power = 3
# col.shadow = rgba(1a1a1aee)
layerrule=blur,waybar
layerrule=blur,wofi
blur {
enabled = true
size = 2
passes = 3
noise = 0
ignore_opacity = false
new_optimizations = true
#contrast = 1
#brightness = 0.8172
}
}
# GENERAL SETTINGS
general {
border_size = 2
no_border_on_floating = false
gaps_in = 3
gaps_out = 3
col.active_border = rgba(f9deffff)
col.inactive_border = rgba(595959aa)
layout = dwindle
extend_border_grab_area = true
hover_icon_on_border = true
# cursor_inactive_timeout = 3 #seconds
}
# CURSOR SETTINGS
cursor {
inactive_timeout = 3
}
# DWINDLE LAYOUT
dwindle {
pseudotile = false
force_split = 0
preserve_split = true
smart_split = false
special_scale_factor = 0.8
split_width_multiplier = 1.0
no_gaps_when_only = false
use_active_for_splits = true
default_split_ratio = 1.0
}
# MASTER LAYOUT
master {
allow_small_split = false
special_scale_factor = 0.8
mfact = 0.55
new_status = master
new_on_top = false
no_gaps_when_only = false
orientation = left
inherit_fullscreen = true
always_center_master = false
}
# INPUT DEVICES
input {
numlock_by_default = true
kb_layout = us
repeat_rate = 45
repeat_delay = 250
follow_mouse = 1
mouse_refocus = true
float_switch_override_focus = 1
kb_options = caps:escape
touchpad {
disable_while_typing = true
natural_scroll = true
scroll_factor = 1.0
tap-to-click = true
}
}
misc {
disable_hyprland_logo = true
mouse_move_enables_dpms = false
key_press_enables_dpms = true
focus_on_activate = true
# Workaround for #6038 / #6237
initial_workspace_tracking = false;
}
animations {
enabled = true
# Some 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
animation = windowsOut, 1, 2, default, popin 80%
animation = border, 1, 2, default
animation = borderangle, 1, 2, default
animation = fade, 1, 2, default
animation = workspaces, 1, 2, default
}
gestures {
# See https://wiki.hyprland.org/Configuring/workspace_swipe_fingersVariables/ for more
workspace_swipe = true
workspace_swipe_fingers = 4
workspace_swipe_distance = 100
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
# device:epic-mouse-v1 {
# sensitivity = -0.5
# }
======Config-End========
Description
Cursor starts lagging but lag stops when I click and hold the mouse. Where I click does not matter.
- Only happens after I open Questasim/Modelsim application.
- Does not stop even after I close the application.
- Lags when I am just moving cursor around.
- No lag when I click somewhere/anywhere and hold.
This does not happen on Gnome wayland.
How to reproduce
- Install Questasim or Modelsim.
- Open couple windows and move the cursor around.
- Observe the lag.
- Close the app.
- It is still laggy.