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: fedora.fritz.box
Release: 6.9.5-200.fc40.x86_64
Version: #1 SMP PREEMPT_DYNAMIC Sun Jun 16 15:47:09 UTC 2024
GPU information:
29:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104 [GeForce GTX 1060 6GB] [10de:1b83] (rev a1) (prog-if 00 [VGA controller])
os-release: NAME="Fedora Linux"
VERSION="40 (Workstation Edition)"
ID=fedora
VERSION_ID=40
VERSION_CODENAME=""
PLATFORM_ID="platform:f40"
PRETTY_NAME="Fedora Linux 40 (Workstation Edition)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:40"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f40/system-administrators-guide/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=40
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=40
SUPPORT_END=2025-05-13
VARIANT="Workstation Edition"
VARIANT_ID=workstation
plugins:
======Config-Start======
Config File: /home/luka/.config/hypr/hyprland.conf: Read Succeeded
# Sourcing external config files
# Default Configs
$configs = $HOME/.config/hypr/configs
source=$configs/Settings.conf
source=$configs/Keybinds.conf
# User Configs
$UserConfigs = $HOME/.config/hypr/UserConfigs
source= $UserConfigs/Startup_Apps.conf
source= $UserConfigs/ENVariables.conf
source= $UserConfigs/Monitors.conf
source= $UserConfigs/Laptops.conf
source= $UserConfigs/LaptopDisplay.conf
source= $UserConfigs/WindowRules.conf
source= $UserConfigs/UserKeybinds.conf
source= $UserConfigs/UserSettings.conf
source= $UserConfigs/WorkspaceRules.conf
Config File: /home/luka/.config/hypr/configs/Settings.conf: Read Succeeded
# /* ---- π« https://github.com/JaKooLit π« ---- */ #
# Default Settings. avoid changing this file as during update, this will be replaced
# refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables
# Initial boot script enable to apply initial wallpapers, theming, new settings etc.
exec-once = $HOME/.config/hypr/initial-boot.sh
Config File: /home/luka/.config/hypr/configs/Keybinds.conf: Read Succeeded
# /* ---- π« https://github.com/JaKooLit π« ---- */ #
# Default Keybinds
# visit https://wiki.hyprland.org/Configuring/Binds/ for more info
$mainMod = SUPER
# Default
$scriptsDir = $HOME/.config/hypr/scripts
$configs = $HOME/.config/hypr/configs
# User
$UserConfigs = $HOME/.config/hypr/UserConfigs
$UserScripts = $HOME/.config/hypr/UserScripts
bind = CTRL ALT, Delete, exec, hyprctl dispatch exit 0
bind = $mainMod, Q, killactive,
bind = $mainMod, F, fullscreen
bind = $mainMod SHIFT, Q, exec, $scriptsDir/KillActiveProcess.sh
bind = $mainMod SHIFT, F, togglefloating,
bind = $mainMod ALT, F, exec, hyprctl dispatch workspaceopt allfloat
bind = CTRL ALT, L, exec, $scriptsDir/LockScreen.sh
bind = CTRL ALT, P, exec, $scriptsDir/Wlogout.sh
# FEATURES / EXTRAS
bind = $mainMod, H, exec, $scriptsDir/KeyHints.sh # Small help file
bind = $mainMod ALT, R, exec, $scriptsDir/Refresh.sh # Refresh waybar, swaync, rofi
bind = $mainMod ALT, E, exec, $scriptsDir/RofiEmoji.sh # emoji
bind = $mainMod, S, exec, $scriptsDir/RofiSearch.sh # Google search from Rofi
bind = $mainMod SHIFT, B, exec, $scriptsDir/ChangeBlur.sh # Toggle blur settings
bind = $mainMod SHIFT, G, exec, $scriptsDir/GameMode.sh # animations ON/OFF
bind = $mainMod ALT, L, exec, $scriptsDir/ChangeLayout.sh # Toggle Master or Dwindle Layout
bind = $mainMod ALT, V, exec, $scriptsDir/ClipManager.sh # Clipboard Manager
bind = $mainMod SHIFT, N, exec, swaync-client -t -sw # swayNC panel
# FEATURES / EXTRAS (UserScripts)
bind = $mainMod, E, exec, $UserScripts/QuickEdit.sh # Quick Edit Hyprland Settings
bind = $mainMod SHIFT, M, exec, $UserScripts/RofiBeats.sh # online music
bind = $mainMod, W, exec, $UserScripts/WallpaperSelect.sh # Select wallpaper to apply
bind = $mainMod SHIFT, W, exec, $UserScripts/WallpaperEffects.sh # Wallpaper Effects by imagemagickWW
bind = CTRL ALT, W, exec, $UserScripts/WallpaperRandom.sh # Random wallpapers
# Waybar / Bar related
bind = $mainMod, B, exec, killall -SIGUSR1 waybar # Toggle hide/show waybar
bind = $mainMod CTRL, B, exec, $scriptsDir/WaybarStyles.sh # Waybar Styles Menu
bind = $mainMod ALT, B, exec, $scriptsDir/WaybarLayout.sh # Waybar Layout Menu
# Master Layout
bind = $mainMod CTRL, D, layoutmsg, removemaster
bind = $mainMod, I, layoutmsg, addmaster
bind = $mainMod, J, layoutmsg, cyclenext
bind = $mainMod, K, layoutmsg, cycleprev
bind = $mainMod, M, exec, hyprctl dispatch splitratio 0.3
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod CTRL, Return, layoutmsg, swapwithmaster
# group
bind = $mainMod, G, togglegroup
bind = $mainMod SHIFT, tab, changegroupactive #change focus to another window
# Cycle windows if floating bring to top
bind = ALT,Tab,cyclenext
bind = ALT,Tab,bringactivetotop
# Special Keys / Hot Keys
bindel = , xf86audioraisevolume, exec, $scriptsDir/Volume.sh --inc #volume up
bindel = , xf86audiolowervolume, exec, $scriptsDir/Volume.sh --dec #volume down
bindl = , xf86AudioMicMute, exec, $scriptsDir/Volume.sh --toggle-mic #mute mic
bindl = , xf86audiomute, exec, $scriptsDir/Volume.sh --toggle
bindl = , xf86Sleep, exec, systemctl suspend # sleep button
bindl = , xf86Rfkill, exec, $scriptsDir/AirplaneMode.sh #Airplane mode
# media controls using keyboards
bindl = , xf86AudioPlayPause, exec, $scriptsDir/MediaCtrl.sh --pause
bindl = , xf86AudioPause, exec, $scriptsDir/MediaCtrl.sh --pause
bindl = , xf86AudioPlay, exec, $scriptsDir/MediaCtrl.sh --pause
bindl = , xf86AudioNext, exec, $scriptsDir/MediaCtrl.sh --nxt
bindl = , xf86AudioPrev, exec, $scriptsDir/MediaCtrl.sh --prv
bindl = , xf86audiostop, exec, $scriptsDir/MediaCtrl.sh --stop
# Screenshot keybindings NOTE: You may need to press Fn key as well
bind = $mainMod, Print, exec, $scriptsDir/ScreenShot.sh --now
bind = $mainMod SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --area
bind = $mainMod CTRL, Print, exec, $scriptsDir/ScreenShot.sh --in5 #screenshot in 5 secs
bind = $mainMod CTRL SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --in10 #screenshot in 10 secs
bind = ALT, Print, exec, $scriptsDir/ScreenShot.sh --active #take screenshot of active window
# screenshot with swappy (another screenshot tool)
bind = $mainMod SHIFT, S, exec, $scriptsDir/ScreenShot.sh --swappy
# Resize windows
binde = $mainMod SHIFT, left, resizeactive,-50 0
binde = $mainMod SHIFT, right, resizeactive,50 0
binde = $mainMod SHIFT, up, resizeactive,0 -50
binde = $mainMod SHIFT, down, resizeactive,0 50
# Move windows
bind = $mainMod CTRL, left, movewindow, l
bind = $mainMod CTRL, right, movewindow, r
bind = $mainMod CTRL, up, movewindow, u
bind = $mainMod CTRL, down, movewindow, d
# 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
# Workspaces related
bind = $mainMod, tab, workspace, m+1
bind = $mainMod SHIFT, tab, workspace, m-1
# Special workspace
bind = $mainMod SHIFT, U, movetoworkspace, special
bind = $mainMod, U, togglespecialworkspace,
# The following mappings use the key codes to better support various keyboard layouts
# 1 is code:10, 2 is code 11, etc
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, code:10, workspace, 1
bind = $mainMod, code:11, workspace, 2
bind = $mainMod, code:12, workspace, 3
bind = $mainMod, code:13, workspace, 4
bind = $mainMod, code:14, workspace, 5
bind = $mainMod, code:15, workspace, 6
bind = $mainMod, code:16, workspace, 7
bind = $mainMod, code:17, workspace, 8
bind = $mainMod, code:18, workspace, 9
bind = $mainMod, code:19, workspace, 10
# Move active window and follow to workspace mainMod + SHIFT [0-9]
bind = $mainMod SHIFT, code:10, movetoworkspace, 1
bind = $mainMod SHIFT, code:11, movetoworkspace, 2
bind = $mainMod SHIFT, code:12, movetoworkspace, 3
bind = $mainMod SHIFT, code:13, movetoworkspace, 4
bind = $mainMod SHIFT, code:14, movetoworkspace, 5
bind = $mainMod SHIFT, code:15, movetoworkspace, 6
bind = $mainMod SHIFT, code:16, movetoworkspace, 7
bind = $mainMod SHIFT, code:17, movetoworkspace, 8
bind = $mainMod SHIFT, code:18, movetoworkspace, 9
bind = $mainMod SHIFT, code:19, movetoworkspace, 10
bind = $mainMod SHIFT, bracketleft, movetoworkspace, -1 # brackets [ or ]
bind = $mainMod SHIFT, bracketright, movetoworkspace, +1
# Move active window to a workspace silently mainMod + CTRL [0-9]
bind = $mainMod CTRL, code:10, movetoworkspacesilent, 1
bind = $mainMod CTRL, code:11, movetoworkspacesilent, 2
bind = $mainMod CTRL, code:12, movetoworkspacesilent, 3
bind = $mainMod CTRL, code:13, movetoworkspacesilent, 4
bind = $mainMod CTRL, code:14, movetoworkspacesilent, 5
bind = $mainMod CTRL, code:15, movetoworkspacesilent, 6
bind = $mainMod CTRL, code:16, movetoworkspacesilent, 7
bind = $mainMod CTRL, code:17, movetoworkspacesilent, 8
bind = $mainMod CTRL, code:18, movetoworkspacesilent, 9
bind = $mainMod CTRL, code:19, movetoworkspacesilent, 10
bind = $mainMod CTRL, bracketleft, movetoworkspacesilent, -1 # brackets [ or ]
bind = $mainMod CTRL, bracketright, movetoworkspacesilent, +1
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
bind = $mainMod, period, workspace, e+1
bind = $mainMod, comma, 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/luka/.config/hypr/UserConfigs/Startup_Apps.conf: Read Succeeded
# /* ---- π« https://github.com/JaKooLit π« ---- */ #
#Commands & Apps to be executed at launch
$scriptsDir = $HOME/.config/hypr/scripts
$UserScripts = $HOME/.config/hypr/UserScripts
$wallDIR=$HOME/Pictures/wallpapers
$lock = $scriptsDir/LockScreen.sh
$SwwwRandom = $UserScripts/WallpaperAutoChange.sh
# wallpaper stuff / More wallpaper options below
exec-once = swww-daemon --format xrgb
#exec-once = $SwwwRandom $wallDIR # random wallpaper switcher every 30 minutes
# Startup
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
# Polkit (Polkit Gnome / KDE)
exec-once = $scriptsDir/Polkit.sh
# starup apps
exec-once = waybar &
exec-once = nm-applet --indicator &
exec-once = swaync &
exec-once = ags &
#exec-once = blueman-applet &
#exec-once = rog-control-center &
#clipboard manager
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
# Rainbow borders
exec-once = $UserScripts/RainbowBorders.sh &
# Starting hypridle to start hyprlock
exec-once = hypridle &
# Start pyprland daemon
exec-once = pypr &
# Here are list of features available but disabled by default
# exec-once = swww-daemon --format xrgb && swww img $HOME/Pictures/wallpapers/mecha-nostalgia.png # persistent wallpaper
#gnome polkit for nixos
#exec-once = $scriptsDir/Polkit-NixOS.sh
# xdg-desktop-portal-hyprland (should be auto starting. However, you can force to start)
#exec-once = $scriptsDir/PortalHyprland.sh
Config File: /home/luka/.config/hypr/UserConfigs/ENVariables.conf: Read Succeeded
# /* ---- π« https://github.com/JaKooLit π« ---- */ #
# Environment variables. See https://wiki.hyprland.org/Configuring/Environment-variables/
#environment-variables
env = CLUTTER_BACKEND,wayland
env = GDK_BACKEND,wayland,x11
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = QT_QPA_PLATFORM,wayland;xcb
env = QT_QPA_PLATFORMTHEME,qt5ct
env = QT_QPA_PLATFORMTHEME,qt6ct
env = QT_SCALE_FACTOR,1
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
# xwayland apps scale fix (useful if you are use monitor scaling)
# see https://wiki.hyprland.org/Configuring/XWayland/
# toolkit-specific scale
# env = GDK_SCALE,2
# firefox
env = MOZ_ENABLE_WAYLAND,1
# electron >28 apps (may help)
env = ELECTRON_OZONE_PLATFORM_HINT,auto
# NVIDIA
# This is from Hyprland Wiki. As a start, WLR_NO_HARDWARE_CURSORS 1 will be activated if nvidia gpu detected
env = LIBVA_DRIVER_NAME,nvidia
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
#env = GBM_BACKEND,nvidia-drm
#env = __NV_PRIME_RENDER_OFFLOAD,1
#env = __VK_LAYER_NV_optimus,NVIDIA_only
#env = WLR_DRM_NO_ATOMIC,1
#env = NVD_BACKEND,direct
# FOR VM and POSSIBLY NVIDIA
env = WLR_NO_HARDWARE_CURSORS,1
#env = WLR_RENDERER_ALLOW_SOFTWARE,1
# 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
Config File: /home/luka/.config/hypr/UserConfigs/Monitors.conf: Read Succeeded
# /* ---- π« https://github.com/JaKooLit π« ---- */ #
# Monitor Configuration
# See Hyprland wiki for more details
# https://wiki.hyprland.org/Configuring/Monitors/
# Configure your Display resolution, offset, scale and Monitors here, use `hyprctl monitors` to get the info.
# Monitors
monitor=,preferred,auto,1
# NOTE: for laptop, kindly check notes in Laptops.conf regarding display
# Created this inorder for the monitor display to not wake up if not intended.
# See here: https://github.com/hyprwm/Hyprland/issues/4090
#monitor = eDP-1, preferred, auto, 1
#monitor = eDP-1, 2560x1440@165, 0x0, 1 #own screen
#monitor = DP-3, 1920x1080@240, auto, 1
#monitor = DP-1, preferred, auto, 1
#monitor = HDMI-A-1, preferred,auto,1
# QEMU-KVM or any virtual box
#monitor = Virtual-1, 1920x1080@60,auto,1
# Hi Refresh Rate
#monitor=,highrr,auto,1
# High Resolution
#monitor=,highres,auto,1
# to disable a monitor
#monitor=name,disable
# Mirror
#monitor=DP-3,1920x1080@60,0x0,1,mirror,DP-2
#monitor=,preferred,auto,1,mirror,eDP-1
# Example :
#monitor=eDP-1,2560x1440@165,0x0,1
#workspace=HDMI-A-1,1
#monitor=HDMI-A-1,2560x1440@144,0x0,1,mirror,eDP-1
#workspace=HDMI-A-2,2
#monitor=eDP-1,transform,0
#monitor=eDP-1,addreserved,10,10,10,49
#workspace=eDP-1,1
Config File: /home/luka/.config/hypr/UserConfigs/Laptops.conf: Read Succeeded
# /* ---- π« https://github.com/JaKooLit π« ---- */ #
# See https://wiki.hyprland.org/Configuring/Keywords/ for more variable settings
# These configs are mostly for laptops. This is addemdum to Keybinds.conf
$mainMod = SUPER
$scriptsDir = $HOME/.config/hypr/scripts
$UserConfigs = $HOME/.config/hypr/UserConfigs
# for disabling Touchpad. hyprctl devices to get device name.
$Touchpad_Device=asue1209:00-04f3:319f-touchpad
binde = , xf86KbdBrightnessDown, exec, $scriptsDir/BrightnessKbd.sh --dec #Keyboard brightness Down
binde = , xf86KbdBrightnessUp, exec, $scriptsDir/BrightnessKbd.sh --inc #Keyboard brightness up
bind = , xf86Launch1, exec, rog-control-center # ASUS Armory crate button
bind = , xf86Launch3, exec, asusctl led-mode -n #FN+F4 Switch keyboard RGB profile
bind = , xf86Launch4, exec, asusctl profile -n #FN+F5 change of fan profiles (Quite, Balance, Performance)
binde = , xf86MonBrightnessDown, exec, $scriptsDir/Brightness.sh --dec
binde = , xf86MonBrightnessUp, exec, $scriptsDir/Brightness.sh --inc
bind = , xf86TouchpadToggle, exec, $scriptsDir/TouchPad.sh #disable touchpad
# Screenshot keybindings for Asus G15 (no PrinSrc button)
bind = $mainMod, F6, exec, $scriptsDir/ScreenShot.sh --now # Fullscreen
bind = $mainMod SHIFT, F6, exec, $scriptsDir/ScreenShot.sh --area
bind = $mainMod CTRL, F6, exec, $scriptsDir/ScreenShot.sh --in5 # Screenshot in 5 secs
bind = $mainMod ALT, F6, exec, $scriptsDir/ScreenShot.sh --in10 # Screenshot in 10 secs
bind = ALT, F6, exec, $scriptsDir/ScreenShot.sh --active # Screenshot active window
$TOUCHPAD_ENABLED = true
device {
name = $Touchpad_Device
enabled = $TOUCHPAD_ENABLED
}
# Below are useful when you are connecting your laptop in external display
# Suggest you edit below for your laptop display
# From WIKI This is to disable laptop monitor when lid is closed.
# consult https://wiki.hyprland.org/hyprland-wiki/pages/Configuring/Binds/#switches
#bindl = , switch:off:Lid Switch,exec,hyprctl keyword monitor "eDP-1, preferred, auto, 1"
#bindl = , switch:on:Lid Switch,exec,hyprctl keyword monitor "eDP-1, disable"
# WARNING! Using this method has some caveats!! USE THIS PART WITH SOME CAUTION!
# CONS of doing this, is that you need to set up your wallpaper (SUPER W) and choose wallpaper.
# CAVEATS! Sometimes the Main Laptop Monitor DOES NOT have display that it needs to re-connect your external monitor
# One work around is to ensure that before shutting down laptop, MAKE SURE your laptop lid is OPEN!!
# Make sure to comment (put # on the both the bindl = , switch ......) above
# NOTE: Display for laptop are being generated into LaptopDisplay.conf
# This part is to be use if you do not want your main laptop monitor to wake up during say wallpaper change etc
#bindl = , switch:off:Lid Switch,exec,echo "monitor = eDP-1, preferred, auto, 1" > $UserConfigs/LaptopDisplay.conf
#bindl = , switch:on:Lid Switch,exec,echo "monitor = eDP-1, disable" > $UserConfigs/LaptopDisplay.conf
# for laptop-lid action (to erase the last entry)
#exec-once = echo "eDP-1, preferred, auto, 1" > $HOME/.config/hypr/UserConfigs/LaptopDisplay.conf
#
Config File: /home/luka/.config/hypr/UserConfigs/LaptopDisplay.conf: Read Succeeded
# NOTE, THIS FILE IS BEING USED by disabling Laptop display monitor behaviour when closing lid.
# See notes on Laptops.conf
#monitor = eDP-1, preferred, auto, 1
Config File: /home/luka/.config/hypr/UserConfigs/WindowRules.conf: Read Succeeded
# /* ---- π« https://github.com/JaKooLit π« ---- */ #
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
#windowrule = noblur,gamescope
#windowrule = fullscreen,gamescope
#windowrule = workspace 6 silent,^(gamescope)$
# windowrule center
windowrule = center,^(pavucontrol|org.pulseaudio.pavucontrol)
windowrule = center,^([Ww]hatsapp-for-linux)$
windowrule = center,^([Ff]erdium)$
# WINDOWRULE v2
# windowrule v2 - position
# windowrulev2 = center,floating:1 # warning, it cause even the menu to float and center.
windowrulev2 = center, class:([Tt]hunar), title:(File Operation Progress)
windowrulev2 = center, class:([Tt]hunar), title:(Confirm to replace files)
# windowrule v2 to avoid idle for fullscreen apps
windowrulev2 = idleinhibit fullscreen, class:^(*)$
windowrulev2 = idleinhibit fullscreen, title:^(*)$
windowrulev2 = idleinhibit fullscreen, fullscreen:1
# windowrule v2 move to workspace
windowrulev2 = workspace 1, class:^([Tt]hunderbird)$
windowrulev2 = workspace 2, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr)$
windowrulev2 = workspace 2, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable)?)$
#windowrulev2 = workspace 3, class:^([Tt]hunar)$
windowrulev2 = workspace 4, class:^(com.obsproject.Studio)$
windowrulev2 = workspace 5, class:^([Ss]team)$
windowrulev2 = workspace 5, class:^([Ll]utris)$
windowrulev2 = workspace 7, class:^([Dd]iscord)$
windowrulev2 = workspace 7, class:^([Ww]ebCord)$
windowrulev2 = workspace 7, class:^([Vv]esktop)$
windowrulev2 = workspace 7, class:^([Ff]erdium)$
windowrulev2 = workspace 7, class:^([Ww]hatsapp-for-linux)$
# windowrule v2 move to workspace (silent)
windowrulev2 = workspace 6 silent, class:^(virt-manager)$
windowrulev2 = workspace 9 silent, class:^([Aa]udacious)$
# windowrule v2 - float
windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$
windowrulev2 = float, class:([Zz]oom|onedriver|onedriver-launcher)$
windowrulev2 = float, class:([Tt]hunar), title:(File Operation Progress)
windowrulev2 = float, class:([Tt]hunar), title:(Confirm to replace files)
windowrulev2 = float, class:(xdg-desktop-portal-gtk)
windowrulev2 = float, class:(org.gnome.Calculator), title:(Calculator)
windowrulev2 = float, class:(codium|codium-url-handler|VSCodium), title:(Add Folder to Workspace)
windowrulev2 = float, class:^([Rr]ofi)$
windowrulev2 = float, class:^(eog)$
windowrulev2 = float, class:^(pavucontrol|org.pulseaudio.pavucontrol)$
windowrulev2 = float, class:^(nwg-look|qt5ct|qt6ct|mpv)$
windowrulev2 = float, class:^(nm-applet|nm-connection-editor|blueman-manager)$
windowrulev2 = float, class:^(gnome-system-monitor|org.gnome.SystemMonitor)$ # system monitor
windowrulev2 = float, class:^(yad)$ # icon browser
windowrulev2 = float, class:^(wihotspot-gui)$ # wifi hotspot
windowrulev2 = float, class:^(evince)$ # document viewer
windowrulev2 = float, class:^(file-roller|org.gnome.FileRoller)$ # archive manager
windowrulev2 = float, class:^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer
windowrulev2 = float, title:(Kvantum Manager)
windowrulev2 = float, class:^([Ss]team)$,title:^((?![Ss]team).*|[Ss]team [Ss]ettings)$
windowrulev2 = float, class:^([Qq]alculate-gtk)$
windowrulev2 = float, class:^([Ww]hatsapp-for-linux)$
windowrulev2 = float, class:^([Ff]erdium)$
# windowrule v2 - opacity #enable as desired
windowrulev2 = opacity 0.9 0.6, class:^([Rr]ofi)$
windowrulev2 = opacity 0.9 0.7, class:^(Brave-browser(-beta|-dev)?)$
windowrulev2 = opacity 0.9 0.7, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr)$
windowrulev2 = opacity 0.9 0.8, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable)?)$
windowrulev2 = opacity 0.9 0.8, class:^(google-chrome(-beta|-dev|-unstable)?)$
windowrulev2 = opacity 0.94 0.86, class:^(chrome-.+-Default)$ # Chrome PWAs
windowrulev2 = opacity 0.9 0.8, class:^([Tt]hunar)$
windowrulev2 = opacity 0.8 0.6, class:^(pcmanfm-qt)$
windowrulev2 = opacity 0.8 0.7, class:^(gedit|org.gnome.TextEditor)$
windowrulev2 = opacity 0.9 0.8, class:^(deluge)$
windowrulev2 = opacity 0.9 0.8, class:^(Alacritty)$
windowrulev2 = opacity 0.9 0.8, class:^(kitty)$
windowrulev2 = opacity 0.9 0.7, class:^(mousepad)$
windowrulev2 = opacity 0.9 0.7, class:^(VSCodium|codium-url-handler)$
windowrulev2 = opacity 0.9 0.8, class:^(nwg-look|qt5ct|qt6ct|yad)$
windowrulev2 = opacity 0.9 0.8, title:(Kvantum Manager)
windowrulev2 = opacity 0.9 0.7, class:^(com.obsproject.Studio)$
windowrulev2 = opacity 0.9 0.7, class:^([Aa]udacious)$
windowrulev2 = opacity 0.9 0.8, class:^(org.gnome.Nautilus)$
windowrulev2 = opacity 0.9 0.8, class:^(VSCode|code-url-handler)$
windowrulev2 = opacity 0.9 0.8, class:^(jetbrains-.+)$ # JetBrains IDEs
windowrulev2 = opacity 0.94 0.86, class:^([Dd]iscord|[Vv]esktop)$
windowrulev2 = opacity 0.9 0.8, class:^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$
windowrulev2 = opacity 0.94 0.86, class:^(gnome-disks|evince|wihotspot-gui|org.gnome.baobab)$
windowrulev2 = opacity 0.9 0.8, class:^(file-roller|org.gnome.FileRoller)$ # archive manager
windowrulev2 = opacity 0.8 0.7, class:^(app.drey.Warp)$ # Warp file transfer
windowrulev2 = opacity 0.9 0.8, class:^(seahorse)$ # gnome-keyring gui
windowrulev2 = opacity 0.82 0.75, class:^(gnome-system-monitor|org.gnome.SystemMonitor)$
windowrulev2 = opacity 0.9 0.8, class:^(xdg-desktop-portal-gtk)$ # gnome-keyring gui
windowrulev2 = opacity 0.9 0.7, class:^([Ww]hatsapp-for-linux)$
windowrulev2 = opacity 0.9 0.7, class:^([Ff]erdium)$
# windowrule v2 - size
windowrulev2 = size 70% 70%, class:^(gnome-system-monitor|org.gnome.SystemMonitor)$
windowrulev2 = size 70% 70%, class:^(xdg-desktop-portal-gtk)$
windowrulev2 = size 60% 70%, title:(Kvantum Manager)
windowrulev2 = size 60% 70%, class:^(qt6ct)$
windowrulev2 = size 70% 70%, class:^(evince|wihotspot-gui)$
windowrulev2 = size 60% 70%, class:^(file-roller|org.gnome.FileRoller)$
windowrulev2 = size 60% 70%, class:^([Ww]hatsapp-for-linux)$
windowrulev2 = size 60% 70%, class:^([Ff]erdium)$
#layerrule = unset,class:^([Rr]ofi)$
#layerrule = blur,class:^([Rr]ofi)$
#layerrule = ignorezero,
layerrule = ignorezero, overview
layerrule = blur, overview
#windowrulev2 = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1
#windowrulev2 = bordercolor rgb(282737) rgb(1E1D2D), floating:1
#windowrulev2 = opacity 0.8 0.8, pinned:1
# 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)$
Config File: /home/luka/.config/hypr/UserConfigs/UserKeybinds.conf: Read Succeeded
# /* ---- π« https://github.com/JaKooLit π« ---- */ #
# This is where you put your own keybinds. Be Mindful to check as well ~/.config/hypr/configs/Keybinds.conf to avoid conflict
# if you think I should replace the Pre-defined Keybinds in ~/.config/hypr/configs/Keybinds.conf , submit an issue or let me know in DC and present me a valid reason as to why, such as conflicting with global shortcuts, etc etc
# See https://wiki.hyprland.org/Configuring/Keywords/ for more settings and variables
# See also Laptops.conf for laptops keybinds
$mainMod = SUPER
$files = thunar
$term = kitty
$scriptsDir = $HOME/.config/hypr/scripts
$UserScripts = $HOME/.config/hypr/UserScripts
# rofi App launcher
#bindr = $mainMod, $mainMod_L, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window # Super Key to Launch rofi menu
bind = $mainMod, D, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window
# ags overview
bind = $mainMod, A, exec, pkill rofi || true && ags -t 'overview'
bind = $mainMod, Return, exec, $term # Launch terminal
bind = $mainMod, T, exec, $files # Launch file manager
bind = $mainMod ALT, C, exec, $UserScripts/RofiCalc.sh # calculator (qalculate)
# pyprland
bind = $mainMod SHIFT, Return, exec, pypr toggle term # Dropdown terminal
bind = $mainMod, Z, exec, pypr zoom # Toggle Zoom
# User Added Keybinds
bind = $mainMod SHIFT, O, exec, $UserScripts/ZshChangeTheme.sh # Change oh-my-zsh theme
bindn = ALT_L, SHIFT_L, exec, $scriptsDir/SwitchKeyboardLayout.sh # Changing the keyboard layout
# For passthrough keyboard into a VM
# bind = $mainMod ALT, P, submap, passthru
#submap = passthru
# to unbind
#bind = $mainMod ALT, P, submap, reset
#submap = reset
Config File: /home/luka/.config/hypr/UserConfigs/UserSettings.conf: Read Succeeded
# /* ---- π« https://github.com/JaKooLit π« ---- */ #
# User Settings
# This is where you put your own settings as this will not be touched during update
# if the upgrade.sh is used.
# refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables
# Sourcing colors generated by wallust
source = $HOME/.config/hypr/wallust/wallust-hyprland.conf
# blurls = waybar
# blurls = rofi
dwindle {
pseudotile = yes
preserve_split = yes
special_scale_factor = 0.8
}
master {
new_is_master=1
new_on_top=1
mfact = 0.5
}
general {
sensitivity=1.00
apply_sens_to_raw=1
gaps_in = 6
gaps_out = 8
border_size = 2
resize_on_border = true
col.active_border = $color0 $color2 $color9 $color12 $color15 90deg
col.inactive_border = $backgroundCol
layout = dwindle
}
group {
col.border_active = $color15
groupbar {
col.active = $color0
}
}
decoration {
rounding = 10
active_opacity = 1.0
inactive_opacity = 0.9
fullscreen_opacity = 1.0
dim_inactive = true
dim_strength = 0.1
dim_special = 0.8
drop_shadow=true
shadow_range=6
shadow_render_power = 1
col.shadow = $color12
col.shadow_inactive = 0x50000000
blur {
enabled = true
size = 6
passes = 2
ignore_opacity = true
new_optimizations = true
special = true
}
}
animations {
enabled = yes
bezier = wind, 0.05, 0.9, 0.1, 1.05
bezier = winIn, 0.1, 1.1, 0.1, 1.1
bezier = winOut, 0.3, -0.3, 0, 1
bezier = liner, 1, 1, 1, 1
animation = windows, 1, 6, wind, slide
animation = windowsIn, 1, 6, winIn, slide
animation = windowsOut, 1, 5, winOut, slide
animation = windowsMove, 1, 5, wind, slide
animation = border, 1, 1, liner
animation = borderangle, 1, 180, liner, loop #used by rainbow borders and rotating colors
animation = fade, 1, 10, default
animation = workspaces, 1, 5, wind
}
input {
kb_layout=de
kb_variant=
kb_model=
kb_options=
kb_rules=
repeat_rate=50
repeat_delay=300
numlock_by_default=true
left_handed=false
follow_mouse=true
float_switch_override_focus=false
touchpad {
disable_while_typing=true
natural_scroll=false
clickfinger_behavior=false
middle_button_emulation=true
tap-to-click=true
drag_lock=false
}
}
gestures {
workspace_swipe=true
workspace_swipe_fingers=3
workspace_swipe_distance=400
workspace_swipe_invert=true
workspace_swipe_min_speed_to_force=30
workspace_swipe_cancel_ratio=0.5
workspace_swipe_create_new=true
workspace_swipe_forever=true
}
misc {
disable_hyprland_logo = true
disable_splash_rendering = true
mouse_move_enables_dpms = true
#vrr = 0
enable_swallow = true
no_direct_scanout = true #for fullscreen games
focus_on_activate = false
swallow_regex = ^(kitty)$
#disable_autoreload = true
}
binds {
workspace_back_and_forth=true
allow_workspace_cycles=true
pass_mouse_when_bound=false
}
#Could help when scaling and not pixelating
xwayland {
force_zero_scaling = true
}
# cursor section for Hyprland v0.41.0 or newer
#cursor {
# enable_hyprcursor = true
#}
Config File: /home/luka/.config/hypr/wallust/wallust-hyprland.conf: Read Succeeded
$background = rgb(030508)
$foreground = rgb(D6CBD5)
$color0 = rgb(030508)
$color1 = rgb(0C1523)
$color2 = rgb(2A3859)
$color3 = rgb(324166)
$color4 = rgb(205F36)
$color5 = rgb(11606B)
$color6 = rgb(685066)
$color7 = rgb(BCADBB)
$color8 = rgb(847983)
$color9 = rgb(101C2F)
$color10 = rgb(384B76)
$color11 = rgb(425788)
$color12 = rgb(2B7F48)
$color13 = rgb(16808F)
$color14 = rgb(8A6B88)
$color15 = rgb(BCADBB)
Config File: /home/luka/.config/hypr/UserConfigs/WorkspaceRules.conf: Read Succeeded
# /* ---- π« https://github.com/JaKooLit π« ---- */ #
# You can set workspace rules to achieve workspace-specific behaviors.
# For instance, you can define a workspace where all windows are drawn without borders or gaps.
# https://wiki.hyprland.org/Configuring/Workspace-Rules/
# Assigning workspace to a certain monitor
# workspace = 1, monitor:eDP-1
# workspace = 2, monitor:DP-2
# example rules (from wiki)
# workspace = 3, rounding:false, decorate:false
# workspace = name:coding, rounding:false, decorate:false, gapsin:0, gapsout:0, border:false, decorate:false, monitor:DP-1
# workspace = 8,bordersize:8
# workspace = name:Hello, monitor:DP-1, default:true
# workspace = name:gaming, monitor:desc:Chimei Innolux Corporation 0x150C, default:true
# workspace = 5, on-created-empty:[float] firefox
# workspace = special:scratchpad, on-created-empty:foot
======Config-End========
```
Description
While viewing a YouTube Video and often switching between both of my monitors, Hyprland crashed and I got send back to the Login Screen.
It might have to do something with mouse movement/moving the mouse between monitors.
I crashed 6 times in a couple of hours in a fresh Fedora install.
I think in every Crash I was moving the mouse, and in about half of the crashes my cursor was transitioning from one Monitor to another.
How to reproduce
I guess move the Mouse around and rapidly move the Mouse between Monitors.
I tried to replicate it myself for some Time, but I haven't succeeded.
Regression?
No
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: fedora.fritz.box Release: 6.9.5-200.fc40.x86_64 Version: #1 SMP PREEMPT_DYNAMIC Sun Jun 16 15:47:09 UTC 2024 GPU information: 29:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104 [GeForce GTX 1060 6GB] [10de:1b83] (rev a1) (prog-if 00 [VGA controller]) os-release: NAME="Fedora Linux" VERSION="40 (Workstation Edition)" ID=fedora VERSION_ID=40 VERSION_CODENAME="" PLATFORM_ID="platform:f40" PRETTY_NAME="Fedora Linux 40 (Workstation Edition)" ANSI_COLOR="0;38;2;60;110;180" LOGO=fedora-logo-icon CPE_NAME="cpe:/o:fedoraproject:fedora:40" DEFAULT_HOSTNAME="fedora" HOME_URL="https://fedoraproject.org/" DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f40/system-administrators-guide/" SUPPORT_URL="https://ask.fedoraproject.org/" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=40 REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=40 SUPPORT_END=2025-05-13 VARIANT="Workstation Edition" VARIANT_ID=workstation plugins: ======Config-Start====== Config File: /home/luka/.config/hypr/hyprland.conf: Read Succeeded # Sourcing external config files # Default Configs $configs = $HOME/.config/hypr/configs source=$configs/Settings.conf source=$configs/Keybinds.conf # User Configs $UserConfigs = $HOME/.config/hypr/UserConfigs source= $UserConfigs/Startup_Apps.conf source= $UserConfigs/ENVariables.conf source= $UserConfigs/Monitors.conf source= $UserConfigs/Laptops.conf source= $UserConfigs/LaptopDisplay.conf source= $UserConfigs/WindowRules.conf source= $UserConfigs/UserKeybinds.conf source= $UserConfigs/UserSettings.conf source= $UserConfigs/WorkspaceRules.conf Config File: /home/luka/.config/hypr/configs/Settings.conf: Read Succeeded # /* ---- π« https://github.com/JaKooLit π« ---- */ # # Default Settings. avoid changing this file as during update, this will be replaced # refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables # Initial boot script enable to apply initial wallpapers, theming, new settings etc. exec-once = $HOME/.config/hypr/initial-boot.sh Config File: /home/luka/.config/hypr/configs/Keybinds.conf: Read Succeeded # /* ---- π« https://github.com/JaKooLit π« ---- */ # # Default Keybinds # visit https://wiki.hyprland.org/Configuring/Binds/ for more info $mainMod = SUPER # Default $scriptsDir = $HOME/.config/hypr/scripts $configs = $HOME/.config/hypr/configs # User $UserConfigs = $HOME/.config/hypr/UserConfigs $UserScripts = $HOME/.config/hypr/UserScripts bind = CTRL ALT, Delete, exec, hyprctl dispatch exit 0 bind = $mainMod, Q, killactive, bind = $mainMod, F, fullscreen bind = $mainMod SHIFT, Q, exec, $scriptsDir/KillActiveProcess.sh bind = $mainMod SHIFT, F, togglefloating, bind = $mainMod ALT, F, exec, hyprctl dispatch workspaceopt allfloat bind = CTRL ALT, L, exec, $scriptsDir/LockScreen.sh bind = CTRL ALT, P, exec, $scriptsDir/Wlogout.sh # FEATURES / EXTRAS bind = $mainMod, H, exec, $scriptsDir/KeyHints.sh # Small help file bind = $mainMod ALT, R, exec, $scriptsDir/Refresh.sh # Refresh waybar, swaync, rofi bind = $mainMod ALT, E, exec, $scriptsDir/RofiEmoji.sh # emoji bind = $mainMod, S, exec, $scriptsDir/RofiSearch.sh # Google search from Rofi bind = $mainMod SHIFT, B, exec, $scriptsDir/ChangeBlur.sh # Toggle blur settings bind = $mainMod SHIFT, G, exec, $scriptsDir/GameMode.sh # animations ON/OFF bind = $mainMod ALT, L, exec, $scriptsDir/ChangeLayout.sh # Toggle Master or Dwindle Layout bind = $mainMod ALT, V, exec, $scriptsDir/ClipManager.sh # Clipboard Manager bind = $mainMod SHIFT, N, exec, swaync-client -t -sw # swayNC panel # FEATURES / EXTRAS (UserScripts) bind = $mainMod, E, exec, $UserScripts/QuickEdit.sh # Quick Edit Hyprland Settings bind = $mainMod SHIFT, M, exec, $UserScripts/RofiBeats.sh # online music bind = $mainMod, W, exec, $UserScripts/WallpaperSelect.sh # Select wallpaper to apply bind = $mainMod SHIFT, W, exec, $UserScripts/WallpaperEffects.sh # Wallpaper Effects by imagemagickWW bind = CTRL ALT, W, exec, $UserScripts/WallpaperRandom.sh # Random wallpapers # Waybar / Bar related bind = $mainMod, B, exec, killall -SIGUSR1 waybar # Toggle hide/show waybar bind = $mainMod CTRL, B, exec, $scriptsDir/WaybarStyles.sh # Waybar Styles Menu bind = $mainMod ALT, B, exec, $scriptsDir/WaybarLayout.sh # Waybar Layout Menu # Master Layout bind = $mainMod CTRL, D, layoutmsg, removemaster bind = $mainMod, I, layoutmsg, addmaster bind = $mainMod, J, layoutmsg, cyclenext bind = $mainMod, K, layoutmsg, cycleprev bind = $mainMod, M, exec, hyprctl dispatch splitratio 0.3 bind = $mainMod, P, pseudo, # dwindle bind = $mainMod CTRL, Return, layoutmsg, swapwithmaster # group bind = $mainMod, G, togglegroup bind = $mainMod SHIFT, tab, changegroupactive #change focus to another window # Cycle windows if floating bring to top bind = ALT,Tab,cyclenext bind = ALT,Tab,bringactivetotop # Special Keys / Hot Keys bindel = , xf86audioraisevolume, exec, $scriptsDir/Volume.sh --inc #volume up bindel = , xf86audiolowervolume, exec, $scriptsDir/Volume.sh --dec #volume down bindl = , xf86AudioMicMute, exec, $scriptsDir/Volume.sh --toggle-mic #mute mic bindl = , xf86audiomute, exec, $scriptsDir/Volume.sh --toggle bindl = , xf86Sleep, exec, systemctl suspend # sleep button bindl = , xf86Rfkill, exec, $scriptsDir/AirplaneMode.sh #Airplane mode # media controls using keyboards bindl = , xf86AudioPlayPause, exec, $scriptsDir/MediaCtrl.sh --pause bindl = , xf86AudioPause, exec, $scriptsDir/MediaCtrl.sh --pause bindl = , xf86AudioPlay, exec, $scriptsDir/MediaCtrl.sh --pause bindl = , xf86AudioNext, exec, $scriptsDir/MediaCtrl.sh --nxt bindl = , xf86AudioPrev, exec, $scriptsDir/MediaCtrl.sh --prv bindl = , xf86audiostop, exec, $scriptsDir/MediaCtrl.sh --stop # Screenshot keybindings NOTE: You may need to press Fn key as well bind = $mainMod, Print, exec, $scriptsDir/ScreenShot.sh --now bind = $mainMod SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --area bind = $mainMod CTRL, Print, exec, $scriptsDir/ScreenShot.sh --in5 #screenshot in 5 secs bind = $mainMod CTRL SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --in10 #screenshot in 10 secs bind = ALT, Print, exec, $scriptsDir/ScreenShot.sh --active #take screenshot of active window # screenshot with swappy (another screenshot tool) bind = $mainMod SHIFT, S, exec, $scriptsDir/ScreenShot.sh --swappy # Resize windows binde = $mainMod SHIFT, left, resizeactive,-50 0 binde = $mainMod SHIFT, right, resizeactive,50 0 binde = $mainMod SHIFT, up, resizeactive,0 -50 binde = $mainMod SHIFT, down, resizeactive,0 50 # Move windows bind = $mainMod CTRL, left, movewindow, l bind = $mainMod CTRL, right, movewindow, r bind = $mainMod CTRL, up, movewindow, u bind = $mainMod CTRL, down, movewindow, d # 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 # Workspaces related bind = $mainMod, tab, workspace, m+1 bind = $mainMod SHIFT, tab, workspace, m-1 # Special workspace bind = $mainMod SHIFT, U, movetoworkspace, special bind = $mainMod, U, togglespecialworkspace, # The following mappings use the key codes to better support various keyboard layouts # 1 is code:10, 2 is code 11, etc # Switch workspaces with mainMod + [0-9] bind = $mainMod, code:10, workspace, 1 bind = $mainMod, code:11, workspace, 2 bind = $mainMod, code:12, workspace, 3 bind = $mainMod, code:13, workspace, 4 bind = $mainMod, code:14, workspace, 5 bind = $mainMod, code:15, workspace, 6 bind = $mainMod, code:16, workspace, 7 bind = $mainMod, code:17, workspace, 8 bind = $mainMod, code:18, workspace, 9 bind = $mainMod, code:19, workspace, 10 # Move active window and follow to workspace mainMod + SHIFT [0-9] bind = $mainMod SHIFT, code:10, movetoworkspace, 1 bind = $mainMod SHIFT, code:11, movetoworkspace, 2 bind = $mainMod SHIFT, code:12, movetoworkspace, 3 bind = $mainMod SHIFT, code:13, movetoworkspace, 4 bind = $mainMod SHIFT, code:14, movetoworkspace, 5 bind = $mainMod SHIFT, code:15, movetoworkspace, 6 bind = $mainMod SHIFT, code:16, movetoworkspace, 7 bind = $mainMod SHIFT, code:17, movetoworkspace, 8 bind = $mainMod SHIFT, code:18, movetoworkspace, 9 bind = $mainMod SHIFT, code:19, movetoworkspace, 10 bind = $mainMod SHIFT, bracketleft, movetoworkspace, -1 # brackets [ or ] bind = $mainMod SHIFT, bracketright, movetoworkspace, +1 # Move active window to a workspace silently mainMod + CTRL [0-9] bind = $mainMod CTRL, code:10, movetoworkspacesilent, 1 bind = $mainMod CTRL, code:11, movetoworkspacesilent, 2 bind = $mainMod CTRL, code:12, movetoworkspacesilent, 3 bind = $mainMod CTRL, code:13, movetoworkspacesilent, 4 bind = $mainMod CTRL, code:14, movetoworkspacesilent, 5 bind = $mainMod CTRL, code:15, movetoworkspacesilent, 6 bind = $mainMod CTRL, code:16, movetoworkspacesilent, 7 bind = $mainMod CTRL, code:17, movetoworkspacesilent, 8 bind = $mainMod CTRL, code:18, movetoworkspacesilent, 9 bind = $mainMod CTRL, code:19, movetoworkspacesilent, 10 bind = $mainMod CTRL, bracketleft, movetoworkspacesilent, -1 # brackets [ or ] bind = $mainMod CTRL, bracketright, movetoworkspacesilent, +1 # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 bind = $mainMod, period, workspace, e+1 bind = $mainMod, comma, 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/luka/.config/hypr/UserConfigs/Startup_Apps.conf: Read Succeeded # /* ---- π« https://github.com/JaKooLit π« ---- */ # #Commands & Apps to be executed at launch $scriptsDir = $HOME/.config/hypr/scripts $UserScripts = $HOME/.config/hypr/UserScripts $wallDIR=$HOME/Pictures/wallpapers $lock = $scriptsDir/LockScreen.sh $SwwwRandom = $UserScripts/WallpaperAutoChange.sh # wallpaper stuff / More wallpaper options below exec-once = swww-daemon --format xrgb #exec-once = $SwwwRandom $wallDIR # random wallpaper switcher every 30 minutes # Startup exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Polkit (Polkit Gnome / KDE) exec-once = $scriptsDir/Polkit.sh # starup apps exec-once = waybar & exec-once = nm-applet --indicator & exec-once = swaync & exec-once = ags & #exec-once = blueman-applet & #exec-once = rog-control-center & #clipboard manager exec-once = wl-paste --type text --watch cliphist store exec-once = wl-paste --type image --watch cliphist store # Rainbow borders exec-once = $UserScripts/RainbowBorders.sh & # Starting hypridle to start hyprlock exec-once = hypridle & # Start pyprland daemon exec-once = pypr & # Here are list of features available but disabled by default # exec-once = swww-daemon --format xrgb && swww img $HOME/Pictures/wallpapers/mecha-nostalgia.png # persistent wallpaper #gnome polkit for nixos #exec-once = $scriptsDir/Polkit-NixOS.sh # xdg-desktop-portal-hyprland (should be auto starting. However, you can force to start) #exec-once = $scriptsDir/PortalHyprland.sh Config File: /home/luka/.config/hypr/UserConfigs/ENVariables.conf: Read Succeeded # /* ---- π« https://github.com/JaKooLit π« ---- */ # # Environment variables. See https://wiki.hyprland.org/Configuring/Environment-variables/ #environment-variables env = CLUTTER_BACKEND,wayland env = GDK_BACKEND,wayland,x11 env = QT_AUTO_SCREEN_SCALE_FACTOR,1 env = QT_QPA_PLATFORM,wayland;xcb env = QT_QPA_PLATFORMTHEME,qt5ct env = QT_QPA_PLATFORMTHEME,qt6ct env = QT_SCALE_FACTOR,1 env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 env = XDG_CURRENT_DESKTOP,Hyprland env = XDG_SESSION_DESKTOP,Hyprland env = XDG_SESSION_TYPE,wayland # xwayland apps scale fix (useful if you are use monitor scaling) # see https://wiki.hyprland.org/Configuring/XWayland/ # toolkit-specific scale # env = GDK_SCALE,2 # firefox env = MOZ_ENABLE_WAYLAND,1 # electron >28 apps (may help) env = ELECTRON_OZONE_PLATFORM_HINT,auto # NVIDIA # This is from Hyprland Wiki. As a start, WLR_NO_HARDWARE_CURSORS 1 will be activated if nvidia gpu detected env = LIBVA_DRIVER_NAME,nvidia env = __GLX_VENDOR_LIBRARY_NAME,nvidia #env = GBM_BACKEND,nvidia-drm #env = __NV_PRIME_RENDER_OFFLOAD,1 #env = __VK_LAYER_NV_optimus,NVIDIA_only #env = WLR_DRM_NO_ATOMIC,1 #env = NVD_BACKEND,direct # FOR VM and POSSIBLY NVIDIA env = WLR_NO_HARDWARE_CURSORS,1 #env = WLR_RENDERER_ALLOW_SOFTWARE,1 # 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 Config File: /home/luka/.config/hypr/UserConfigs/Monitors.conf: Read Succeeded # /* ---- π« https://github.com/JaKooLit π« ---- */ # # Monitor Configuration # See Hyprland wiki for more details # https://wiki.hyprland.org/Configuring/Monitors/ # Configure your Display resolution, offset, scale and Monitors here, use `hyprctl monitors` to get the info. # Monitors monitor=,preferred,auto,1 # NOTE: for laptop, kindly check notes in Laptops.conf regarding display # Created this inorder for the monitor display to not wake up if not intended. # See here: https://github.com/hyprwm/Hyprland/issues/4090 #monitor = eDP-1, preferred, auto, 1 #monitor = eDP-1, 2560x1440@165, 0x0, 1 #own screen #monitor = DP-3, 1920x1080@240, auto, 1 #monitor = DP-1, preferred, auto, 1 #monitor = HDMI-A-1, preferred,auto,1 # QEMU-KVM or any virtual box #monitor = Virtual-1, 1920x1080@60,auto,1 # Hi Refresh Rate #monitor=,highrr,auto,1 # High Resolution #monitor=,highres,auto,1 # to disable a monitor #monitor=name,disable # Mirror #monitor=DP-3,1920x1080@60,0x0,1,mirror,DP-2 #monitor=,preferred,auto,1,mirror,eDP-1 # Example : #monitor=eDP-1,2560x1440@165,0x0,1 #workspace=HDMI-A-1,1 #monitor=HDMI-A-1,2560x1440@144,0x0,1,mirror,eDP-1 #workspace=HDMI-A-2,2 #monitor=eDP-1,transform,0 #monitor=eDP-1,addreserved,10,10,10,49 #workspace=eDP-1,1 Config File: /home/luka/.config/hypr/UserConfigs/Laptops.conf: Read Succeeded # /* ---- π« https://github.com/JaKooLit π« ---- */ # # See https://wiki.hyprland.org/Configuring/Keywords/ for more variable settings # These configs are mostly for laptops. This is addemdum to Keybinds.conf $mainMod = SUPER $scriptsDir = $HOME/.config/hypr/scripts $UserConfigs = $HOME/.config/hypr/UserConfigs # for disabling Touchpad. hyprctl devices to get device name. $Touchpad_Device=asue1209:00-04f3:319f-touchpad binde = , xf86KbdBrightnessDown, exec, $scriptsDir/BrightnessKbd.sh --dec #Keyboard brightness Down binde = , xf86KbdBrightnessUp, exec, $scriptsDir/BrightnessKbd.sh --inc #Keyboard brightness up bind = , xf86Launch1, exec, rog-control-center # ASUS Armory crate button bind = , xf86Launch3, exec, asusctl led-mode -n #FN+F4 Switch keyboard RGB profile bind = , xf86Launch4, exec, asusctl profile -n #FN+F5 change of fan profiles (Quite, Balance, Performance) binde = , xf86MonBrightnessDown, exec, $scriptsDir/Brightness.sh --dec binde = , xf86MonBrightnessUp, exec, $scriptsDir/Brightness.sh --inc bind = , xf86TouchpadToggle, exec, $scriptsDir/TouchPad.sh #disable touchpad # Screenshot keybindings for Asus G15 (no PrinSrc button) bind = $mainMod, F6, exec, $scriptsDir/ScreenShot.sh --now # Fullscreen bind = $mainMod SHIFT, F6, exec, $scriptsDir/ScreenShot.sh --area bind = $mainMod CTRL, F6, exec, $scriptsDir/ScreenShot.sh --in5 # Screenshot in 5 secs bind = $mainMod ALT, F6, exec, $scriptsDir/ScreenShot.sh --in10 # Screenshot in 10 secs bind = ALT, F6, exec, $scriptsDir/ScreenShot.sh --active # Screenshot active window $TOUCHPAD_ENABLED = true device { name = $Touchpad_Device enabled = $TOUCHPAD_ENABLED } # Below are useful when you are connecting your laptop in external display # Suggest you edit below for your laptop display # From WIKI This is to disable laptop monitor when lid is closed. # consult https://wiki.hyprland.org/hyprland-wiki/pages/Configuring/Binds/#switches #bindl = , switch:off:Lid Switch,exec,hyprctl keyword monitor "eDP-1, preferred, auto, 1" #bindl = , switch:on:Lid Switch,exec,hyprctl keyword monitor "eDP-1, disable" # WARNING! Using this method has some caveats!! USE THIS PART WITH SOME CAUTION! # CONS of doing this, is that you need to set up your wallpaper (SUPER W) and choose wallpaper. # CAVEATS! Sometimes the Main Laptop Monitor DOES NOT have display that it needs to re-connect your external monitor # One work around is to ensure that before shutting down laptop, MAKE SURE your laptop lid is OPEN!! # Make sure to comment (put # on the both the bindl = , switch ......) above # NOTE: Display for laptop are being generated into LaptopDisplay.conf # This part is to be use if you do not want your main laptop monitor to wake up during say wallpaper change etc #bindl = , switch:off:Lid Switch,exec,echo "monitor = eDP-1, preferred, auto, 1" > $UserConfigs/LaptopDisplay.conf #bindl = , switch:on:Lid Switch,exec,echo "monitor = eDP-1, disable" > $UserConfigs/LaptopDisplay.conf # for laptop-lid action (to erase the last entry) #exec-once = echo "eDP-1, preferred, auto, 1" > $HOME/.config/hypr/UserConfigs/LaptopDisplay.conf # Config File: /home/luka/.config/hypr/UserConfigs/LaptopDisplay.conf: Read Succeeded # NOTE, THIS FILE IS BEING USED by disabling Laptop display monitor behaviour when closing lid. # See notes on Laptops.conf #monitor = eDP-1, preferred, auto, 1 Config File: /home/luka/.config/hypr/UserConfigs/WindowRules.conf: Read Succeeded # /* ---- π« https://github.com/JaKooLit π« ---- */ # # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more #windowrule = noblur,gamescope #windowrule = fullscreen,gamescope #windowrule = workspace 6 silent,^(gamescope)$ # windowrule center windowrule = center,^(pavucontrol|org.pulseaudio.pavucontrol) windowrule = center,^([Ww]hatsapp-for-linux)$ windowrule = center,^([Ff]erdium)$ # WINDOWRULE v2 # windowrule v2 - position # windowrulev2 = center,floating:1 # warning, it cause even the menu to float and center. windowrulev2 = center, class:([Tt]hunar), title:(File Operation Progress) windowrulev2 = center, class:([Tt]hunar), title:(Confirm to replace files) # windowrule v2 to avoid idle for fullscreen apps windowrulev2 = idleinhibit fullscreen, class:^(*)$ windowrulev2 = idleinhibit fullscreen, title:^(*)$ windowrulev2 = idleinhibit fullscreen, fullscreen:1 # windowrule v2 move to workspace windowrulev2 = workspace 1, class:^([Tt]hunderbird)$ windowrulev2 = workspace 2, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr)$ windowrulev2 = workspace 2, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable)?)$ #windowrulev2 = workspace 3, class:^([Tt]hunar)$ windowrulev2 = workspace 4, class:^(com.obsproject.Studio)$ windowrulev2 = workspace 5, class:^([Ss]team)$ windowrulev2 = workspace 5, class:^([Ll]utris)$ windowrulev2 = workspace 7, class:^([Dd]iscord)$ windowrulev2 = workspace 7, class:^([Ww]ebCord)$ windowrulev2 = workspace 7, class:^([Vv]esktop)$ windowrulev2 = workspace 7, class:^([Ff]erdium)$ windowrulev2 = workspace 7, class:^([Ww]hatsapp-for-linux)$ # windowrule v2 move to workspace (silent) windowrulev2 = workspace 6 silent, class:^(virt-manager)$ windowrulev2 = workspace 9 silent, class:^([Aa]udacious)$ # windowrule v2 - float windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$ windowrulev2 = float, class:([Zz]oom|onedriver|onedriver-launcher)$ windowrulev2 = float, class:([Tt]hunar), title:(File Operation Progress) windowrulev2 = float, class:([Tt]hunar), title:(Confirm to replace files) windowrulev2 = float, class:(xdg-desktop-portal-gtk) windowrulev2 = float, class:(org.gnome.Calculator), title:(Calculator) windowrulev2 = float, class:(codium|codium-url-handler|VSCodium), title:(Add Folder to Workspace) windowrulev2 = float, class:^([Rr]ofi)$ windowrulev2 = float, class:^(eog)$ windowrulev2 = float, class:^(pavucontrol|org.pulseaudio.pavucontrol)$ windowrulev2 = float, class:^(nwg-look|qt5ct|qt6ct|mpv)$ windowrulev2 = float, class:^(nm-applet|nm-connection-editor|blueman-manager)$ windowrulev2 = float, class:^(gnome-system-monitor|org.gnome.SystemMonitor)$ # system monitor windowrulev2 = float, class:^(yad)$ # icon browser windowrulev2 = float, class:^(wihotspot-gui)$ # wifi hotspot windowrulev2 = float, class:^(evince)$ # document viewer windowrulev2 = float, class:^(file-roller|org.gnome.FileRoller)$ # archive manager windowrulev2 = float, class:^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer windowrulev2 = float, title:(Kvantum Manager) windowrulev2 = float, class:^([Ss]team)$,title:^((?![Ss]team).*|[Ss]team [Ss]ettings)$ windowrulev2 = float, class:^([Qq]alculate-gtk)$ windowrulev2 = float, class:^([Ww]hatsapp-for-linux)$ windowrulev2 = float, class:^([Ff]erdium)$ # windowrule v2 - opacity #enable as desired windowrulev2 = opacity 0.9 0.6, class:^([Rr]ofi)$ windowrulev2 = opacity 0.9 0.7, class:^(Brave-browser(-beta|-dev)?)$ windowrulev2 = opacity 0.9 0.7, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr)$ windowrulev2 = opacity 0.9 0.8, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable)?)$ windowrulev2 = opacity 0.9 0.8, class:^(google-chrome(-beta|-dev|-unstable)?)$ windowrulev2 = opacity 0.94 0.86, class:^(chrome-.+-Default)$ # Chrome PWAs windowrulev2 = opacity 0.9 0.8, class:^([Tt]hunar)$ windowrulev2 = opacity 0.8 0.6, class:^(pcmanfm-qt)$ windowrulev2 = opacity 0.8 0.7, class:^(gedit|org.gnome.TextEditor)$ windowrulev2 = opacity 0.9 0.8, class:^(deluge)$ windowrulev2 = opacity 0.9 0.8, class:^(Alacritty)$ windowrulev2 = opacity 0.9 0.8, class:^(kitty)$ windowrulev2 = opacity 0.9 0.7, class:^(mousepad)$ windowrulev2 = opacity 0.9 0.7, class:^(VSCodium|codium-url-handler)$ windowrulev2 = opacity 0.9 0.8, class:^(nwg-look|qt5ct|qt6ct|yad)$ windowrulev2 = opacity 0.9 0.8, title:(Kvantum Manager) windowrulev2 = opacity 0.9 0.7, class:^(com.obsproject.Studio)$ windowrulev2 = opacity 0.9 0.7, class:^([Aa]udacious)$ windowrulev2 = opacity 0.9 0.8, class:^(org.gnome.Nautilus)$ windowrulev2 = opacity 0.9 0.8, class:^(VSCode|code-url-handler)$ windowrulev2 = opacity 0.9 0.8, class:^(jetbrains-.+)$ # JetBrains IDEs windowrulev2 = opacity 0.94 0.86, class:^([Dd]iscord|[Vv]esktop)$ windowrulev2 = opacity 0.9 0.8, class:^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$ windowrulev2 = opacity 0.94 0.86, class:^(gnome-disks|evince|wihotspot-gui|org.gnome.baobab)$ windowrulev2 = opacity 0.9 0.8, class:^(file-roller|org.gnome.FileRoller)$ # archive manager windowrulev2 = opacity 0.8 0.7, class:^(app.drey.Warp)$ # Warp file transfer windowrulev2 = opacity 0.9 0.8, class:^(seahorse)$ # gnome-keyring gui windowrulev2 = opacity 0.82 0.75, class:^(gnome-system-monitor|org.gnome.SystemMonitor)$ windowrulev2 = opacity 0.9 0.8, class:^(xdg-desktop-portal-gtk)$ # gnome-keyring gui windowrulev2 = opacity 0.9 0.7, class:^([Ww]hatsapp-for-linux)$ windowrulev2 = opacity 0.9 0.7, class:^([Ff]erdium)$ # windowrule v2 - size windowrulev2 = size 70% 70%, class:^(gnome-system-monitor|org.gnome.SystemMonitor)$ windowrulev2 = size 70% 70%, class:^(xdg-desktop-portal-gtk)$ windowrulev2 = size 60% 70%, title:(Kvantum Manager) windowrulev2 = size 60% 70%, class:^(qt6ct)$ windowrulev2 = size 70% 70%, class:^(evince|wihotspot-gui)$ windowrulev2 = size 60% 70%, class:^(file-roller|org.gnome.FileRoller)$ windowrulev2 = size 60% 70%, class:^([Ww]hatsapp-for-linux)$ windowrulev2 = size 60% 70%, class:^([Ff]erdium)$ #layerrule = unset,class:^([Rr]ofi)$ #layerrule = blur,class:^([Rr]ofi)$ #layerrule = ignorezero,Description
While viewing a YouTube Video and often switching between both of my monitors, Hyprland crashed and I got send back to the Login Screen. It might have to do something with mouse movement/moving the mouse between monitors. I crashed 6 times in a couple of hours in a fresh Fedora install. I think in every Crash I was moving the mouse, and in about half of the crashes my cursor was transitioning from one Monitor to another.
How to reproduce
I guess move the Mouse around and rapidly move the Mouse between Monitors. I tried to replicate it myself for some Time, but I haven't succeeded.
Crash reports, logs, images, videos
hyprlandCrashReport2214.txt hyprlandCrashReport4815.txt hyprlandCrashReport6922.txt hyprlandCrashReport7585.txt hyprlandCrashReport15235.txt hyprlandCrashReport16075.txt