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.95k stars 851 forks source link

Numlock not enabled when explicitly set #6573

Open NyanMaths opened 3 months ago

NyanMaths 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: compwuter Release: 6.9.4-zen1-1-zen Version: #1 ZEN SMP PREEMPT_DYNAMIC Wed, 12 Jun 2024 20:16:55 +0000 GPU information: 0000:00:02.0 VGA compatible controller [0300]: Intel Corporation TigerLake-H GT1 [UHD Graphics] [8086:9a68] (rev 01) (prog-if 00 [VGA controller]) 0000:01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA107M [GeForce RTX 3050 Mobile] [10de:25a5] (rev a1) (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/nyanmaths/.config/hypr/hyprland.conf: Read Succeeded # ######################################################################################## # Welcome to Hyprland, best compositor ever ! # Just RTFM if lost and 'prime-run Hyprland' to be happy. # Bruh that one was cursed, but it just works. # ######################################################################################## # ################ Basics ################ # load environment configuration source = ~/.config/hypr/environment.conf # use nvidia as primary rendering GPU (fuck this shit, never again) # source = ~/.config/hypr/nyavidia.conf # set up monitor monitor = , highres, auto, 1 source = ~/.config/hypr/monitor.conf # to override # load keyboard and mouse configuration source = ~/.config/hypr/input.conf # ################ Autostart ################ # lauch useful daemons exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = wl-clip-persist --clipboard regular exec-once = mako --history 0 --default-timeout 3500 exec-once = hypridle # load status bar and applets exec-once = waybar & nm-applet --indicator & sleep 1 && blueman-applet # ################ Hyprland behaviours ################ general { no_focus_fallback = true layout = dwindle } dwindle { pseudotile = true preserve_split = true } xwayland { use_nearest_neighbor = false force_zero_scaling = true } misc { vfr = true vrr = 1 animate_mouse_windowdragging = true # already defined as Hypr-chan my wallpaper disable_hyprland_logo = true disable_splash_rendering = false } # load custom keybindings source = ~/.config/hypr/keybindings.conf # disable titlebar for Qt windows env = QT_WAYLAND_DISABLE_WINDOWDECORATION, 1 # ################ Appearence ################ source = ~/.config/hypr/rice.conf # ################ Login manager moment ################ # lock session because of a sussy greetd config of mine exec-once = hyprlock Config File: /home/nyanmaths/.config/hypr/environment.conf: Read Succeeded # ################ Be nice to wayland ################ env = XDG_CURRENT_DESKTOP, Hyprland env = XDG_SESSION_DESKTOP, Hyprland env = XDG_SESSION_TYPE, wayland env = QT_QPA_PLATFORM, wayland env = SDL_VIDEODRIVER, wayland env = CLUTTER_BACKEND, wayland env = GDK_BACKEND, wayland env = EGL_PLATFORM, wayland env = ELECTRON_OZONE_PLATFORM_HINT, wayland env = MOZ_ENABLE_WAYLAND, 1 env = MOZ_DISABLE_RDD_SANDBOX, 1 # ################ Nyavidia ################ env = LIBVA_DRIVER_NAME, nvidia env = NVD_BACKEND, direct env = WLR_DRM_DEVICES, /dev/dri/card0 # ################ Magic code here, do not touch ################ env = QT_AUTO_SCREEN_SCALE_FACTOR, 1 env = GDK_SCALE, 1 env = MICRO_TRUECOLOR, 1 exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = dbus-update-activation-environment --systemd --all exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP QT_QPA_PLATFORMTHEME GTK_THEME # ################ War crime ################ env = EDITOR, /usr/bin/micro Config File: /home/nyanmaths/.config/hypr/monitor.conf: Read Succeeded monitor = , 1920x1080@120, auto, 1 Config File: /home/nyanmaths/.config/hypr/input.conf: Read Succeeded input { # a decent keyboard configuration kb_layout = fr kb_variant = azerty numlock_by_default = true follow_mouse = 1 touchpad { natural_scroll = false drag_lock = true } } $LAPTOP_KB_ENABLED = true device { name = at-translated-set-2-keyboard enabled = $LAPTOP_KB_ENABLED } $TOUCHPAD_ENABLED = false device { name = elan1203:00-04f3:307a-touchpad enabled = $TOUCHPAD_ENABLED } Config File: /home/nyanmaths/.config/hypr/keybindings.conf: Read Succeeded # get rtfm-ed at https://wiki.hyprland.org/Configuring/Keywords # the primary modifier key $main_mod = super $secondary_mod = ctrl # ################### launch applications ################### bind = $main_mod, t, exec, alacritty bind = $main_mod shift, t, exec, prime-run alacritty bind = $main_mod, b, exec, prime-run firefox bind = $main_mod shift, b, exec, prime-run torbrowser-launcher bind = $main_mod, e, exec, nautilus --new-window bind = $main_mod, m, exec, deezer bind = $main_mod, y, exec, prime-run freetube bind = $main_mod, d, exec, vesktop --disable-gpu bind = $main_mod, v, exec, bottles bind = $main_mod, c, exec, vscodium --disable-gpu bind = $main_mod, a, exec, alacritty -e btop bind = $main_mod shift, a, exec, resources bind = $main_mod, o, exec, obs bind = ctrl alt shift, f4, exit bindr = super, super_l, exec, pkill -TERM rofi || rofi -show-icons -show drun bind = $main_mod shift, w, exec, pkill -TERM waybar || waybar bindl = , print, exec, grimblast --freeze copy area # ################### window controls ################### binde = $main_mod, q, killactive, bind = $main_mod, Z, fullscreen, 1 bind = $main_mod shift, Z, fakefullscreen, # ################### workspaces controls ################### binde = $main_mod, left, workspace, -1 binde = $main_mod, right, workspace, +1 bind = $main_mod, space, workspace, 0 bind = $main_mod, up, movetoworkspace, +1 bind = $main_mod, down, movetoworkspace, -1 binde = $main_mod, tab, cyclenext, next bind = $main_mod, f, togglefloating, bindm = $main_mod, mouse:272, movewindow bindm = $main_mod, mouse:273, resizewindow bind = $main_mod, kp_left, movefocus, l bind = $main_mod, kp_right, movefocus, r bind = $main_mod, kp_up, movefocus, u bind = $main_mod, kp_begin, movefocus, d # ################### media controls ################### bindel = , xf86audioraisevolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +3% bindel = , xf86audiolowervolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -3% bindel = , xf86audiomute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle bindel = , xf86audiomicmute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle bindl = $secondary_mod, up, exec, playerctl play-pause bindl = , xf86audioplay, exec, playerctl play-pause bindl = $secondary_mod, right, exec, playerctl next bindl = , xf86audionext, exec, playerctl next bindl = $secondary_mod, left, exec, playerctl previous bindl = , xf86audioprev, exec, playerctl previous # ################### session control ################### bind = $main_mod shift, l, exec, ~/.local/bin/session/lock.sh bindl = , xf86suspend, exec, ~/.local/bin/session/sleep.sh # ################### miscellaneous ################### bindel = , xf86monbrightnessup, exec, brightnessctl set 5%+ bindel = , xf86monbrightnessdown, exec, brightnessctl set 5%- bindl = $main_mod, mouse_down, exec, brightnessctl set 5%+ bindl = $main_mod, mouse_up, exec, brightnessctl set 5%- bindl = , xf86touchpadtoggle, exec, ~/.local/bin/touchpad-toggle.sh bindl = $main_mod shift, k, exec, ~/.local/bin/keyboard-toggle.sh # e bindl = $main_mod, w, exec, ~/.local/bin/set-wallpaper ~/.config/hypr/default-wallpaper.png Config File: /home/nyanmaths/.config/hypr/rice.conf: Read Succeeded source = ~/.cache/wal/colors-hyprland # ################ Hyprland itself ################ # load wallpaper exec-once = swww-daemon && swww restore general { gaps_in = 2 gaps_out = 1 border_size = 2 col.active_border = $foregroundCol $color2 $color4 col.inactive_border = $backgroundCol } decoration { rounding = 5 inactive_opacity = 0.9 blur { enabled = true xray = true new_optimizations = true size = 3 passes = 4 vibrancy = 1.0 ignore_opacity = true } drop_shadow = false } animations { enabled = true 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 } # change terminal's opacity to be able to see this adorable Hypr-chan # uwu windowrule = opacity 0.9 0.85, ^(Alacritty)$ # i love background blur layerrule = blur, ^(rofi)$ # ################ Applications ################ # set GTK's style env = GTK_THEME, Orchis-Green-Dark # set Qt's style env = QT_QPA_PLATFORMTHEME, qt6ct # ################ Cursor ################ exec = hyprctl setcursor Bibata-Modern-Ice 24 # hyprcursor as a better fefault, soon :'-) #env = HYPRCURSOR_THEME, Bibata-Modern-Ice #env = HYPRCURSOR_SIZE, 24 # xcusrsor as a fallback solution env = XCURSOR_THEME, Bibata-Modern-Ice env = XCURSOR_SIZE, 24 Config File: /home/nyanmaths/.cache/wal/colors-hyprland: Read Succeeded $foregroundCol = 0xffd1dce8 $backgroundCol = 0xff020305 $color0 = 0xff020305 $color1 = 0xff3751A5 $color2 = 0xff5F6C92 $color3 = 0xff7E7F8F $color4 = 0xff738CB4 $color5 = 0xff8A95B2 $color6 = 0xff9CAFCF $color7 = 0xffd1dce8 $color8 = 0xff929aa2 $color9 = 0xff3751A5 $color10 = 0xff5F6C92 $color11 = 0xff7E7F8F $color12 = 0xff738CB4 $color13 = 0xff8A95B2 $color14 = 0xff9CAFCF $color15 = 0xffd1dce8 ======Config-End======== ```

Description

Hello, I set numlock_by_default = true in my config file but since 0.40.0, even though my keyboard led indicates numlock enabled, I have to press it twice to get it working.

How to reproduce

I got the same issue on a fresh install by copying my config. It also might be related to mkinitcpio-numlock which is enabled on my system. Update : Even weirder, it did not happend when starting my laptop on battery.

Crash reports, logs, images, videos

No response

maltbeverage commented 3 months ago

Are you using a display manager? I had some strange numlock behavior similar to this when using lemurs. As soon as I removed it and went back to launching from console the behavior went away. No clue if it was related to the dm or some other dependency.

NyanMaths commented 3 months ago

Yes, i forgor : I use greetd-agreety the most dubious way I could figure out. I autologin my user, launch Hyprland then launch my pretty hyprlock as an unsafe login manager (after setting numlock_by_default of course). I would not be surprised this could be related as it works when the boot process is slower on battery. Update : someone opened an issue on Hyprlock and it seems like it is indeed related to this one because it also resets numlock state when simply locking.

Jajasek commented 3 months ago

I have the same issue (the numlock LED is on, but numbers don't work, I have to press numlock twice) on very minimal system - I don't use any login manager or screen locker, just plain Hyprland. Interestingly, the numlock doesn't break on startup, but instead it breakes every time Hyprland reloads the config file. The issue doesn't seem to be related to mkinitcpio-numlock in any way, I have tried it with and without the mkinitcpio hook. For me it is not that big issue, but it is suboptimal. If we could configure hooks like in this issue, I could circumvent it trivially.

MochalovDm commented 3 months ago

I'm facing the same problem. The problem started to occur about two updates ago (the current version of my package installed from the ArchLinux repository: Hyprland 0.41.2-1). Also, about two updates ago, Hyprland did not support controlling the numlock indicator on my keyboard, and I had to use the "brightnessctl -d 'input34::numlock' set 1" binding to achieve this functionality. However, as soon as I installed the Hyprland updates, it began to support the management of this. But along with this, the problem described above also appeared. Has anyone found a solution? Information about my system: OS: Arch Linux x86_64 Kernel: Linux 6.9.6-zen1-1-zen CPU: Intel(R) Core(TM) i7-6700 (8) @ 4.00 GHz GPU 1: AMD Radeon RX 580 Series @ 0.56 GHz [Discrete] Hyprland, built from branch at commit 918d8340afd652b011b937d29d5eea0be08467f5 (flake.lock: update). Date: Tue Jun 25 12:06:02 2024 Tag: v0.41.2, commits: 4886