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.44k stars 897 forks source link

Hyprcursor settings not actioned by saving hyprland.conf or "hyprctl reload" #7279

Open TheFozid opened 2 months ago

TheFozid commented 2 months ago

Regression?

No

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 918d8340afd652b011b937d29d5eea0be08467f5 (flake.lock: update). Date: Tue Jun 25 12:06:02 2024 Tag: v0.41.2, commits: 4886 flags: (if any) System Information: System name: Linux Node name: arch-desktop Release: 6.10.3-arch1-2 Version: #1 SMP PREEMPT_DYNAMIC Tue, 06 Aug 2024 07:21:19 +0000 GPU information: 29:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] [1002:67df] (rev ef) (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/danny/.config/hypr/hyprland.conf: Read Succeeded ################ ### MONITORS ### ################ # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,preferred,auto,autor ################### ### MY PROGRAMS ### ################### # See https://wiki.hyprland.org/Configuring/Keywords/ # Set programs that you use $terminal = kitty $fileManager = pcmanfm $menu = rofi -show drun $browser = firefox $calc = rofi -show calc ################# ### AUTOSTART ### ################# exec-once = spotify & waybar & nm-applet & steam -nochatui -nofriendsui -silent & waypaper --restore & hyprcursor 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 exec-once = sh ~/scripts/clspot.sh ############################# ### ENVIRONMENT VARIABLES ### ############################# # See https://wiki.hyprland.org/Configuring/Environment-variables/ env = XCURSOR_SIZE,30 env = XCURSOR_THEME,BreezeX-RosePine-Linux env = HYPRCURSOR_SIZE,30 env = HYPRCURSOR_THEME,rose-pine-hyprcursor ##################### ### LOOK AND FEEL ### ##################### # Refer to https://wiki.hyprland.org/Configuring/Variables/ # https://wiki.hyprland.org/Configuring/Variables/#general general { gaps_in = 2 gaps_out = 0 border_size = 1 # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgba(ffffffff) col.inactive_border = rgba(000000ff) # Set to true enable resizing windows by clicking and dragging on borders and gaps resize_on_border = false # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false layout = dwindle } # https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { rounding = 10 active_opacity = 1.0 inactive_opacity = 1.0 drop_shadow = true shadow_range = 6 shadow_render_power = 3 col.shadow = rgba(353535ff) # https://wiki.hyprland.org/Configuring/Variables/#blur blur { enabled = true size = 3 passes = 1 vibrancy = 0.1696 } } # https://wiki.hyprland.org/Configuring/Variables/#animations animations { enabled = true # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more 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 } # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more dwindle { pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = true # You probably want this force_split = 0 smart_split = true use_active_for_splits = false } # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more master { new_status = master } # https://wiki.hyprland.org/Configuring/Variables/#misc misc { force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :( new_window_takes_over_fullscreen = 2 middle_click_paste = true } ############# ### INPUT ### ############# # https://wiki.hyprland.org/Configuring/Variables/#input input { kb_layout = gb kb_variant = kb_model = kb_options = kb_rules = numlock_by_default = true follow_mouse = 2 accel_profile = flat sensitivity = 0 # -1.0 - 1.0, 0 means no modification. force_no_accel = 0 natural_scroll = false } ############## ### CURSOR ### ############## cursor { inactive_timeout = 0 hide_on_key_press = true } #################### ### KEYBINDINGSS ### #################### $mainMod = SUPER # Sets "Windows" key as main modifier bind = $mainMod, T, exec, $terminal bind = $mainMod, Q, killactive, bind = $mainMod, F, exec, $fileManager bind = $mainMod, W, exec, $browser bind = $mainMod SHIFT, W, exec, $browser -P Private -private-window bind = $mainMod CTRL, W, exec, torbrowser-launcher bind = $mainMod, C, exec, $calc bind = $mainMod, R, exec, $menu bind = CTRL, SPACE, exec, $menu bind = $mainMod, A, togglefloating, #bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, X, togglesplit, # dwindle bind = $mainMod, Z, swapsplit, # dwindle bind = , PRINT, exec, hyprshot -m output -m HDMI-A-1 -o ~/Pictures/Screenshot/ bind = CTRL, PRINT, exec, hyprshot -m window -m active -o ~/Pictures/Screenshot/ bind = SUPER, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy # Move focus with mainMod + arrow keys bind = $mainMod, left, movefocus, l bind = $mainMod, right, movefocus, r bind = $mainMod, up, movefocus, u bind = $mainMod, down, movefocus, d # 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 # Groups bind = $mainMod, B, changegroupactive, f bind = $mainMod, N, togglegroup, bind = $mainMod, M, moveoutofgroup, active # Example special workspace (scratchpad) bind = $mainMod, S, togglespecialworkspace, magic bind = $mainMod SHIFT, S, movetoworkspace, special:magic # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_up,workspace,-1 bind = $mainMod, mouse_down,workspace,+1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow ############################## ### WINDOWS AND WORKSPACES ### ############################## # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules windowrule = float, ^(gsimplecal)$ windowrule = size 200 150, ^(gsimplecal)$ windowrule = move 950 30, ^(gsimplecal)$ windowrule = opacity 0.85, ^(kitty)$ windowrule = float, ^($menu)$ windowrule = move 30 30, ^($menu)$ #windowrulev2 = float,class:^(gsimplecal)$,title:^(orage)$ windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. ======Config-End======== ```

Description

After setting my cursor using nwg-look for gtk etc, I added the same cursor details into my hyprland.conf using [code]env = XCURSOR_SIZE,30 env = XCURSOR_THEME,BreezeX-RosePine-Linux env = HYPRCURSOR_SIZE,30 env = HYPRCURSOR_THEME,rose-pine-hyprcursor[/code]

However, after saving the file, the hyprcursor was still considerably smaller. I then tried [code]hyprctl reload[/code] but this had no effect. I then restarted my machine, which also had no effect. I then decided to try [code]hyprctl setcursor rose-pine-hyprcursor 30[/code] which immediately worked. Making changes to the config file still has no effect on the cursor.

How to reproduce

Try to set cursor using official process in the hyprland.conf file. This fails. Use hyprctl setcursor works.

Crash reports, logs, images, videos

NA

vaxerski commented 2 months ago

surely odd, as a workaround you can put hyprctl setcursor in exec-once

TheFozid commented 2 months ago

surely odd, as a workaround you can put hyprctl setcursor in exec-once

yeah, already have. Just wanted to make aware of the odd behaviour so it can get fixed at some point, and if anybody else has the same issue, they can find this bug report and the relevant work around 👍

vaxerski commented 2 months ago

generally only thing worth mentioning is that env keywords are evaluated only once at start. They will not change on reload.