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
19.92k stars 849 forks source link

Refresh config mtime required to apply device repeat_delay/repeat_rate #6515

Closed virackson closed 3 months ago

virackson commented 3 months ago

Bug or Regression?

Regression

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 9e781040d9067c2711ec2e9f5b47b76ef70762b3 (props: bump version to 0.41.1). Date: Thu Jun 13 09:54:06 2024 Tag: v0.41.1, commits: 4818 flags: (if any) System Information: System name: Linux Node name: mynode Release: 6.9.4-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Wed, 12 Jun 2024 20:17:17 +0000 GPU information: 21:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Lexa XT [Radeon PRO WX 2100] [1002:6995] (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/virackson/.config/hypr/hyprland.conf: Read Succeeded # # Please note not all available settings / options are set here. # For a full list, see the wiki # # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf # # Version 0.1.3 # See https://wiki.hyprland.org/Configuring/Monitors/ # name, resolution, offset, scale monitor = , preferred, auto, 1.0 # See https://wiki.hyprland.org/Configuring/Keywords/ # Applications exec-once = hypridle exec-once = waybar exec-once = dropbox exec-once = hyprpaper exec-once = protonmail-bridge -n exec-once = ~/.config/hypr/wob-wrap.sh # exec-once = wl-paste --type text --watch cliphist store #Stores only text data # exec-once = wl-paste --type image --watch cliphist store #Stores only image data # bind = CTRL, V, exec, cliphist list | fuzzel --dmenu | cliphist decode | wl-copy -p # Some default env vars. env = XCURSOR_SIZE,14 # See https://wiki.hyprland.org/Configuring/Variables/ for more general { layout = dwindle gaps_in = 5 gaps_out = 5 border_size = 0 # Not used with border_size = 0 col.inactive_border = rgba(00000000) col.active_border = rgba(d4be98ee) rgba(d4be98ee) 45deg } cursor { inactive_timeout = 3 # Doesn't work? # hide_on_key_press = true } # See https://wiki.hyprland.org/Configuring/Variables/ decoration { rounding = 7 drop_shadow = yes shadow_range = 5 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) active_opacity = 1 inactive_opacity = 0.85 fullscreen_opacity = 1 dim_special = 0.7 blur { enabled = yes size = 8 } } # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ animations { enabled = yes bezier = myBezier, 0.05, 0.9, 0.1, 1.05 animation = windows, 1, 7, myBezier animation = windowsOut, 1, 7, default, popin 80% animation = border, 1, 10, default animation = borderangle, 1, 8, default animation = fade, 1, 7, default animation = workspaces, 1, 6, default } misc { disable_hyprland_logo = true disable_splash_rendering = true # Allows to restart a lockscreen app in case it crashes (red screen of death) allow_session_lock_restore = true } # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more dwindle { pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = yes # you probably want this # No gaps if single window # no_gaps_when_only = yes } # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more master { new_is_master = true } # See https://wiki.hyprland.org/Configuring/Variables/ for more gestures { workspace_swipe = yes workspace_swipe_fingers = 3 } # General input # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ # sensitivity = [-1.0 : 1.0], 0 means no modification. input { kb_layout = us follow_mouse = 1 sensitivity = 0 touchpad { natural_scroll = yes } } # Per-device configs # Device list obtained via `hyperctl devices` # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs # Lenovo Thinkpad X1 (trackpoint) device { name = tpps/2-elan-trackpoint sensitivity = 0.5 } # Lenovo Thinkpad X1 (touchpad) device { name = syna8008:00-06cb:ce58-touchpad sensitivity = 1.0 natural_scroll = yes } # Lenovo Thinkpad X1 (keyboard) device { name = at-translated-set-2-keyboard repeat_rate=50 repeat_delay=200 } # Lenovo Trackpoint keyboard 2 device { name = lenovo-trackpoint-keyboard-ii repeat_rate=50 repeat_delay=200 } # Lenovo Trackpoint keyboard 2 (trackpoint) device { name = lenovo-trackpoint-keyboard-ii-2 sensitivity = 0.5 } # Tablet pen device { name = gaomon-gaomon-tablet-pen output = 0 #sensitivity = 0.5 } # Window rules # See https://wiki.hyprland.org/Configuring/Window-Rules # Some apps looks better when is floating windowrulev2 = float, class:floating windowrulev2 = float, class:(pavucontrol|blueman-manager|Element|.*telegram.*) windowrulev2 = float, title:(About.*|Extension.*) # Floating tweaks (should be after floating rules) windowrulev2 = opacity 1, floating:1 windowrulev2 = dimaround, floating:1 windowrulev2 = bordersize 1, floating:1 windowrulev2 = bordercolor rgb(d4be98), floating:1 #windowrulev2 = center, floating:1 windowrulev2 = animation slidefade, floating:1 windowrulev2 = pin, floating:1 #windowrulev2 = stayfocused, floating:1 # Bind some popular applications to workspaces windowrulev2 = workspace 1, class:Alacritty windowrulev2 = workspace 2, class:firefox windowrulev2 = workspace 3, class:thunderbird windowrulev2 = workspace 10, class:Spotify windowrulev2 = size 50% 70%, class:Element windowrulev2 = center, class:Element # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER # Key binds # See https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, RETURN, exec, alacritty bind = $mainMod, q, killactive, bind = $mainMod SHIFT, X, exit, bind = $mainMod SHIFT, RETURN, exec, alacritty -e ranger bind = $mainMod, v, togglefloating, bind = $mainMod, v, centerwindow bind = $mainMod, p, pseudo, # dwindle bind = $mainMod, s, togglesplit, # dwindle bind = $mainMod, f, fullscreen, 0 bind = $mainMod SHIFT, F, fullscreen, 1 bind = $mainMod, y, togglespecialworkspace bind = $mainMod SHIFT, y, movetoworkspace, special bind = $mainMod, t, togglegroup, bind = $mainMod, TAB, changegroupactive, bind = $mainMod, o, exec, fuzzel bind = $mainMod, m, exec, rofimoji # Move focus with mainMod + arrow keys bind = $mainMod, h, movefocus, l bind = $mainMod, l, movefocus, r bind = $mainMod, k, movefocus, u bind = $mainMod, j, movefocus, d bind = $mainMod SHIFT, h, movewindow, l bind = $mainMod SHIFT, l, movewindow, r bind = $mainMod SHIFT, k, movewindow, u bind = $mainMod SHIFT, j, movewindow, d bind = $mainMod, c, centerwindow # Switch to 'float-actions' submap bind = $mainMod, r, submap, float-actions # Switch workspaces with mainMod + [0-9] 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 bind = $mainMod, 0, workspace, 10 # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = $mainMod SHIFT, 1, movetoworkspace, 1 bind = $mainMod SHIFT, 2, movetoworkspace, 2 bind = $mainMod SHIFT, 3, movetoworkspace, 3 bind = $mainMod SHIFT, 4, movetoworkspace, 4 bind = $mainMod SHIFT, 5, movetoworkspace, 5 bind = $mainMod SHIFT, 6, movetoworkspace, 6 bind = $mainMod SHIFT, 7, movetoworkspace, 7 bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 # Scroll through existing workslaces bind = $mainMod CTRL, l, workspace, e+1 bind = $mainMod CTRL, h, workspace, e-1 # 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 # WOB Brightness Control bind = , XF86MonBrightnessDown, exec, brightnessctl set 5%- | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOB_SOCK bind = , XF86MonBrightnessUp, exec, brightnessctl set +5% | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOB_SOCK # WOB Volume Control binde = , XF86AudioRaiseVolume, exec, amixer sset Master 5%+ | sed -En 's/.*\[([0-9]+)%\].*/\1/p' | head -1 > $WOB_SOCK; ogg123 /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga binde = , XF86AudioLowerVolume, exec, amixer sset Master 5%- | sed -En 's/.*\[([0-9]+)%\].*/\1/p' | head -1 > $WOB_SOCK; ogg123 /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga bind = , XF86AudioMute, exec, amixer sset Master toggle | sed -En '/\[on\]/ s/.*\[([0-9]+)%\].*/\1/ p; /\[off\]/ s/.*/0/p' | head -1 > $WOB_SOCK; ogg123 /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga # WOB Gamma Control binde = SHIFT, XF86MonBrightnessDown, exec, gammactl -100 | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOB_SOCK binde = SHIFT, XF86MonBrightnessUp, exec, gammactl +100 | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOB_SOCK # Screenshot (PrtSc key) bind = $mainMod SHIFT, Print, exec, grim -g "$(slurp -o)" $(xdg-user-dir PICTURES)/screenshots/$(date +'%Y%m%d-%H%M%S-grim.png') bind = $mainMod, Print, exec, grim -g "$(slurp)" $(xdg-user-dir PICTURES)/screenshots/$(date +'%Y%m%d-%H%M%S-grim.png') # Hide waybar bind = $mainMod, b, exec, killall -SIGUSR1 waybar # Toggle transparency bind = , XF86Favorites, exec, ~/.config/hypr/toggle-transparency.sh bind = , XF86Launch1, exec, ~/.config/hypr/toggle-transparency.sh # Bind workspaces to monitors workspace = 1, monitor:DP-1 workspace = 2, monitor:DP-1 workspace = 3, monitor:DP-1 workspace = 4, monitor:DP-1 workspace = 5, monitor:DP-1 workspace = 6, monitor:DP-2 workspace = 7, monitor:DP-2 workspace = 8, monitor:DP-2 workspace = 9, monitor:DP-2 workspace = 10, monitor:DP-2 # # Float-Actions submap ($mainMod + r) # # Will start a submap called 'float-actions' submap = float-actions # Center bind = , c, centerwindow bind = $mainMod, c, centerwindow # Resize bindings binde = SHIFT, l, resizeactive, 40 0 binde = SHIFT, h, resizeactive, -40 0 binde = SHIFT, k, resizeactive, 0 -40 binde = SHIFT, j, resizeactive, 0 40 # Resize and center binde = , l, resizeactive, 40 0 bindr = , l, centerwindow binde = , h, resizeactive, -40 0 bindr = , h, centerwindow binde = , k, resizeactive, 0 -40 bindr = , k, centerwindow binde = , j, resizeactive, 0 40 bindr = , j, centerwindow # Movements binde = ALT, l, moveactive, 50 0 binde = ALT, h, moveactive, -50 0 binde = ALT, k, moveactive, 0 -50 binde = ALT, j, moveactive, 0 50 # Use reset to go back to the global submap bind = $mainMod, r, submap, reset bind = , escape, submap, reset # Reset the submap, meaning end the current one and return to the global one submap = reset ======Config-End======== ```

Description

When a new application is opened the repeat_delay and repeat_rate values doesn't have effect. You need to update the modification time of `hyprland.conf`` to enact them.

How to reproduce

  1. open a new terminal. The repeat_delay and repeat_rate is evidently not applied
  2. issue the command $ touch ~/.config/hypr/hyprland.conf
  3. now repeat_delay and repeat_rate are enacted to all currently opened windows

If I then open a new terminal the repeat_delay and repeat_rate is not applied to it (but is still applied to all the applications opened before the touch command). To apply the configs the new window I need to re-issue the command $touch ~/.config/hypr/hyprland.conf

Crash reports, logs, images, videos

No response

MightyPlaza commented 3 months ago

if it's a regression please bisect

vaxerski commented 3 months ago

image mhm, you probably have a per-device config

vaxerski commented 3 months ago

try now

virackson commented 3 months ago

Works for me