Skip to content

[Bug]: Screen locking doesn't work until after a Hyprland reload #612

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
RyanBreaker opened this issue May 11, 2025 · 13 comments
Open

[Bug]: Screen locking doesn't work until after a Hyprland reload #612

RyanBreaker opened this issue May 11, 2025 · 13 comments
Labels
bug Something isn't working

Comments

@RyanBreaker
Copy link

RyanBreaker commented May 11, 2025

Description

I've run into this issue with a totally fresh install including after a second fresh install after changing drives for the OS location. On initial launch, locking either with Super+L, the power menu, or hyprctl lock just doesn't work (nothing happens, no noticeable errors show either) until a Hyprland config reload occurs (either with hyprctl reload or by making a config change). After triggering a config reload, locking the screen works fine.

I've only experienced this on just this one PC so far, I intend on installing this as well on a laptop to see if it'll replicate there as well.

Steps to Reproduce

  1. Install HyDE on a fresh Arch installation from a user (non-root) account.
  2. Reboot after installation.
  3. Log in to the user account.
  4. Attempt to Lock the machine with Super+L, by going to the power menu and pressing Lock. For me, nothing happens here.
  5. Trigger a Hyprland reload by running hyprctl reload or making a change in the Hyprland config.
  6. Locking with Super+L or other methods should now work.

Expected Behavior

The screen locks.

Actual Behavior

Nothing happens.

Checking the Hyprland logs with logs enabled, the only output related to this is the following:

[LOG] Process Created with pid 7769
[LOG] Keybind triggered, calling dispatcher (64, , 108, exec)
[LOG] Executing lockscreen.sh

If there's another place to look for logs for the output of this to find why it's failing please let me know.

Screenshots

No response

Environment

Hyprland 0.48.1 built from branch  at commit 29e2e59fdbab8ed2cc23a20e3c6043d5decb5cdc  (version: bump to v0.48.1).
Date: Fri Mar 28 16:16:07 2025
Tag: v0.48.1, commits: 5937
built against:
 aquamarine 0.8.0
 hyprlang 0.6.1
 hyprutils 0.7.0
 hyprcursor 0.1.12
 hyprgraphics 0.1.3


no flags were set


System Information:
System name: Linux
Node name: arch-pc
Release: 6.14.6-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Fri, 09 May 2025 17:36:18 +0000


GPU information: 
2d:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] [1002:73bf] (rev c1) (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/breaker/.config/hypr/hyprland.conf: Read Succeeded
#!      ░▒▒▒░░░▓▓           ___________
#!    ░░▒▒▒░░░░░▓▓        //___________/
#!   ░░▒▒▒░░░░░▓▓     _   _ _    _ _____
#!   ░░▒▒░░░░░▓▓▓▓▓▓ | | | | |  | |  __/
#!    ░▒▒░░░░▓▓   ▓▓ | |_| | |_/ /| |___
#!     ░▒▒░░▓▓   ▓▓   \__  |____/ |____/
#!       ░▒▓▓   ▓▓  //____/

#? Read https://hydeproject.pages.dev/en/configuring/hyprland/ for the full documentation.

source = $HOME/.local/share/hyde/hyprland.conf # HyDE's core configuration // DO NOT TOUCH!!! ( 。 •̀ ᴖ •́ 。)
source = ./keybindings.conf # Keyboard shortcuts
source = ./windowrules.conf # Window rules
source = ./monitors.conf # Monitor configuration
source = ./userprefs.conf # Your hyprland configuration // Edit this file to change your Hyprland configuration
source = ./workflows.conf # workflows configuration overrides everything

# // ██████╗░░█████╗░  ███╗░░██╗░█████╗░████████╗  ███████╗██████╗░██╗████████╗
# // ██╔══██╗██╔══██╗  ████╗░██║██╔══██╗╚══██╔══╝  ██╔════╝██╔══██╗██║╚══██╔══╝
# // ██║░░██║██║░░██║  ██╔██╗██║██║░░██║░░░██║░░░  █████╗░░██║░░██║██║░░░██║░░░
# // ██║░░██║██║░░██║  ██║╚████║██║░░██║░░░██║░░░  ██╔══╝░░██║░░██║██║░░░██║░░░
# // ██████╔╝╚█████╔╝  ██║░╚███║╚█████╔╝░░░██║░░░  ███████╗██████╔╝██║░░░██║░░░
# // ╚═════╝░░╚════╝░  ╚═╝░░╚══╝░╚════╝░░░░╚═╝░░░  ╚══════╝╚═════╝░╚═╝░░░╚═╝░░░



Config File: /home/breaker/.local/share/hyde/hyprland.conf: Read Succeeded
#!      ░▒▒▒░░░▓▓           ___________
#!    ░░▒▒▒░░░░░▓▓        //___________/
#!   ░░▒▒▒░░░░░▓▓     _   _ _    _ _____
#!   ░░▒▒░░░░░▓▓▓▓▓▓ | | | | |  | |  __/
#!    ░▒▒░░░░▓▓   ▓▓ | |_| | |_/ /| |___
#!     ░▒▒░░▓▓   ▓▓   \__  |____/ |____/
#!       ░▒▓▓   ▓▓  //____/

# // ██████╗░░█████╗░  ███╗░░██╗░█████╗░████████╗  ███████╗██████╗░██╗████████╗
# // ██╔══██╗██╔══██╗  ████╗░██║██╔══██╗╚══██╔══╝  ██╔════╝██╔══██╗██║╚══██╔══╝
# // ██║░░██║██║░░██║  ██╔██╗██║██║░░██║░░░██║░░░  █████╗░░██║░░██║██║░░░██║░░░
# // ██║░░██║██║░░██║  ██║╚████║██║░░██║░░░██║░░░  ██╔══╝░░██║░░██║██║░░░██║░░░
# // ██████╔╝╚█████╔╝  ██║░╚███║╚█████╔╝░░░██║░░░  ███████╗██████╔╝██║░░░██║░░░
# // ╚═════╝░░╚════╝░  ╚═╝░░╚══╝░╚════╝░░░░╚═╝░░░  ╚══════╝╚═════╝░╚═╝░░░╚═╝░░░

$scrPath=$HOME/.local/lib/hyde # set scripts path

# Main modifier
$mainMod = SUPER # windows key
# assign apps

$default.$QUICKAPPS =
$default.BROWSER = hyde-launch.sh --fall firefox web-browser
$default.EDITOR = hyde-launch.sh --fall code-oss text-editor
$default.EXPLORER= hyde-launch.sh --fall dolphin file-manager
$default.TERMINAL = kitty
$default.LOCKSCREEN=hyprlock
$default.IDLE=hypridle

$QUICKAPPS = $default.$QUICKAPPS
$BROWSER = $default.BROWSER
$EDITOR = $default.EDITOR
$EXPLORER= $default.EXPLORER
$TERMINAL = $default.TERMINAL
$LOCKSCREEN=$default.LOCKSCREEN
$IDLE= $default.IDLE


# // █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
# // █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█

# See https://wiki.hyprland.org/Configuring/Keywords/

$start.XDG_PORTAL_RESET=$scrPath/resetxdgportal.sh
$start.DBUS_SHARE_PICKER=dbus-update-activation-environment --systemd --all # for XDPH
$start.SYSTEMD_SHARE_PICKER=systemctl --user import-environment QT_QPA_PLATFORMTHEME WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
$start.BAR=waybar
$start.NOTIFICATIONS=dunst
$start.APPTRAY_BLUETOOTH=blueman-applet
$start.WALLPAPER=$scrPath/wallpaper.sh --global
$start.TEXT_CLIPBOARD=wl-paste --type text --watch cliphist store
$start.IMAGE_CLIPBOARD=wl-paste --type image --watch cliphist store
$start.BATTERY_NOTIFY=$scrPath/batterynotify.sh
$start.NETWORK_MANAGER=nm-applet --indicator
$start.REMOVABLE_MEDIA=udiskie --no-automount --smart-tray
$start.AUTH_DIALOGUE=$scrPath/polkitkdeauth.sh
$start.IDLE_DAEMON=$IDLE

# // █▀▀ █▄░█ █░█
# // ██▄ █░▀█ ▀▄▀

# See https://wiki.hyprland.org/Configuring/Environment-variables/

# Toolkit Backend Variables - https://wiki.hyprland.org/Configuring/Environment-variables/#toolkit-backend-variables
$env.GDK_BACKEND = wayland,x11,* # GTK: Use wayland if available. If not: try x11, then any other GDK backend.
# $env.QT_QPA_PLATFORM = wayland;xcb # Qt: Use wayland if available, fall back to x11 if not.
$env.SDL_VIDEODRIVER = wayland # Run SDL2 applications on Wayland. Remove or set to x11 if games that provide older versions of SDL cause compatibility issues
$env.CLUTTER_BACKEND = wayland # Clutter package already has wayland enabled, this variable will force Clutter applications to try and use the Wayland backend

# XDG Specifications - https://wiki.hyprland.org/Configuring/Environment-variables/#xdg-specifications
$env.XDG_CURRENT_DESKTOP = Hyprland
$env.XDG_SESSION_TYPE = wayland
$env.XDG_SESSION_DESKTOP = Hyprland

# Qt Variables  - https://wiki.hyprland.org/Configuring/Environment-variables/#qt-variables

$env.QT_AUTO_SCREEN_SCALE_FACTOR = 1 # (From the Qt documentation) enables automatic scaling, based on the monitor’s pixel density
$env.QT_QPA_PLATFORM = wayland;xcb # Tell Qt applications to use the Wayland backend, and fall back to x11 if Wayland is unavailable
$env.QT_WAYLAND_DISABLE_WINDOWDECORATION = 1 # Disables window decorations on Qt applications
$env.QT_QPA_PLATFORMTHEME = qt6ct # Tells Qt based applications to pick your theme from qt5ct, use with Kvantum.


# HyDE Environment Variables -

$env.PATH =
$env.MOZ_ENABLE_WAYLAND=1 # Enable Wayland for Firefox
$env.GDK_SCALE=1 # Set GDK scale to 1 // For Xwayland on HiDPI
$env.ELECTRON_OZONE_PLATFORM_HINT=auto # Set Electron Ozone Platform Hint to auto // For Electron apps on Wayland

#  XDG-DIRS
# $XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR:-/run/user/$(id -u)}
# $XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-$HOME/.config}
# >> $env.XDG_CACHE_HOME=${XDG_CACHE_HOME:-$HOME/.cache}
# $XDG_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share}

$env.XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR
$env.XDG_CONFIG_HOME=$HOME/.config
$env.XDG_CACHE_HOME=$HOME/.cache
$env.XDG_DATA_HOME=$HOME/.local/share
$env.XDG_STATE_HOME=$HOME/.local/state



# // █▀▀ ▀█▀ █▄▀
# // █▄█ ░█░ █░█

$default.GTK_THEME=Wallbash-Gtk
$default.ICON_THEME=Tela-circle-dracula
$default.COLOR_SCHEME=prefer-dark

$GTK_THEME=$default.GTK_THEME
$ICON_THEME=$default.ICON_THEME
$COLOR_SCHEME=$default.COLOR_SCHEME

# // █▀▀ █░█ █▀█ █▀ █▀█ █▀█
# // █▄▄ █▄█ █▀▄ ▄█ █▄█ █▀▄

$default.CURSOR_THEME=Bibata-Modern-Ice
$default.CURSOR_SIZE=24

$CURSOR_THEME=$default.CURSOR_THEME
$CURSOR_SIZE=$default.CURSOR_SIZE

# // █▀▀ █▀█ █▄░█ ▀█▀
# // █▀░ █▄█ █░▀█ ░█░

$default.FONT=Cantarell
$default.FONT_SIZE=10
$default.DOCUMENT_FONT=Cantarell
$default.DOCUMENT_FONT_SIZE=10
$default.MONOSPACE_FONT=CaskaydiaCove Nerd Font Mono
$default.MONOSPACE_FONT_SIZE=9
$default.NOTIFICATION_FONT=Mononoki Nerd Font Mono
$default.BAR_FONT=JetBrainsMono Nerd Font
# $default.MENU_FONT=This is not yet set as it looks perfect with the global font 
$default.FONT_ANTIALIASING=rgba
$default.FONT_HINTING=full

$FONT=$default.FONT
$FONT_SIZE=$default.FONT_SIZE
$DOCUMENT_FONT=$default.DOCUMENT_FONT
$DOCUMENT_FONT_SIZE=$default.DOCUMENT_FONT_SIZE
$MONOSPACE_FONT=$default.MONOSPACE_FONT
$MONOSPACE_FONT_SIZE=$default.MONOSPACE_FONT_SIZE
$NOTIFICATION_FONT=$default.NOTIFICATION_FONT
$BAR_FONT=$default.BAR_FONT
# $MENU_FONT=$default.MENU_FONT
$FONT_ANTIALIASING=$default.FONT_ANTIALIASING
$FONT_HINTING=$default.FONT_HINTING

# // █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█
# // █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄

# See https://wiki.hyprland.org/Configuring/Monitors/

monitor = ,preferred,auto,auto

# // █▀ █▀█ █▀▀ █▀▀ █ ▄▀█ █░░
# // ▄█ █▀▀ ██▄ █▄▄ █ █▀█ █▄▄

decoration {
    dim_special = 0.3
    active_opacity = 0.90
    inactive_opacity = 0.75
    fullscreen_opacity = 1
    blur {
        special = true
    }
}

# // ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# // █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█

# See https://wiki.hyprland.org/Configuring/Animations/

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, 30, liner, once
    animation = fade, 1, 10, default
    animation = workspaces, 1, 5, wind
}


# // █ █▄░█ █▀█ █░█ ▀█▀
# // █ █░▀█ █▀▀ █▄█ ░█░


input {
    # See https://wiki.hyprland.org/Configuring/Variables/#input
    force_no_accel = 1
    numlock_by_default = true
}

gestures {
    #See https://wiki.hyprland.org/Configuring/Variables/#gestures
    workspace_swipe = true
}


# // █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀
# // █▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█

# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/

dwindle {
    pseudotile = yes
    preserve_split = yes
}

# See https://wiki.hyprland.org/Configuring/Master-Layout/

master {
    new_status = master
}


# // █▀▄▀█ █ █▀ █▀▀
# // █░▀░█ █ ▄█ █▄▄

# See https://wiki.hyprland.org/Configuring/Variables/#misc

misc {
    vrr = 0
    disable_hyprland_logo = true
    disable_splash_rendering = true
    force_default_wallpaper = 0
}

xwayland {
    force_zero_scaling = true
}


general {
    snap { # snapping for floating windows
        enabled = true
    }
}


# // █▀ █▀█ █░█ █▀█ █▀▀ █▀▀
# // ▄█ █▄█ █▄█ █▀▄ █▄▄ ██▄

# hyprlang noerror true
# source = $env.XDG_STATE_HOME/hyde/hyprgui.conf # GUI specific config. Used  to not break the low level configs. this will be available downstream
source = $env.XDG_CONFIG_HOME/hypr/themes/colors.conf # Hyde wallbash colors

# Source groupbar in here
group:groupbar {
    col.inactive = rgba($wallbash_pry3ee)
    col.active = rgba($wallbash_pry1ee)
    col.locked_active = rgba($wallbash_pry2ee)
    col.locked_inactive = rgba($wallbash_pry4ee)
}

source = $env.XDG_CONFIG_HOME/hypr/themes/theme.conf # theme specific settings
source = $env.XDG_CONFIG_HOME/hypr/themes/wallbash.conf # Theme specific settings after Sanitize and handle fallbacks
source = $env.XDG_CONFIG_HOME/hypr/nvidia.conf # Nvidia specific settings
source = $env.XDG_CONFIG_HOME/hypr/animations.conf # source animations variables
# hyprlang noerror false
source = $env.XDG_CONFIG_HOME/hypr/hyde.conf
# hyprlang noerror true
source = $env.XDG_STATE_HOME/hyde/hyprland.conf # translated from config.toml
# hyprlang noerror false

#! Below this is an immutable part of the configuration file, and should not be modified by the user.

#? By Hyprland convention env and startup files are sourced at the end of the main configuration file
#? To ensure that the user's settings are not overridden by the default settings
#? This will let us launch after all envs and variables are set.

# LEGACY
$quickapps = $QUICKAPPS
$term = $TERMINAL
$editor = $EDITOR
$file = $EXPLORER
$browser = $BROWSER

# Group Bar
group:groupbar{
    enabled = true
    gradients = 1
    render_titles = 1
    font_size = 12
    font_family = $FONT
}

# Misc 

misc {
    font_family = $FONT
    
}


# // █▀▀ █▄░█ █░█
# // ██▄ █░▀█ ▀▄▀

# # See https://wiki.hyprland.org/Configuring/Environment-variables/
#! Remove for now 
# env = GDK_BACKEND,$env.GDK_BACKEND
# env = SDL_VIDEODRIVER,$env.SDL_VIDEODRIVER
# env = CLUTTER_BACKEND,$env.CLUTTER_BACKEND

# Qt Variables
env = QT_AUTO_SCREEN_SCALE_FACTOR,$env.QT_AUTO_SCREEN_SCALE_FACTOR
env = QT_QPA_PLATFORM,$env.QT_QPA_PLATFORM
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,$env.QT_WAYLAND_DISABLE_WINDOWDECORATION
env = QT_QPA_PLATFORMTHEME,$env.QT_QPA_PLATFORMTHEME

# Wayland-ENV
env = MOZ_ENABLE_WAYLAND,$env.MOZ_ENABLE_WAYLAND
env = GDK_SCALE,$env.GDK_SCALE
env = ELECTRON_OZONE_PLATFORM_HINT,$env.ELECTRON_OZONE_PLATFORM_HINT

# XDG Spec
env = XDG_CURRENT_DESKTOP,$env.XDG_CURRENT_DESKTOP
env = XDG_SESSION_TYPE,$env.XDG_SESSION_TYPE
env = XDG_SESSION_DESKTOP,$env.XDG_SESSION_DESKTOP


# HyDE Variables
$hyde.PATH=$HOME/.local/bin:$scrPath:$env.PATH:$PATH
env = PATH,$hyde.PATH

# XDG-ENV
env = XDG_CONFIG_HOME,$env.XDG_CONFIG_HOME
env = XDG_CACHE_HOME,$env.XDG_CACHE_HOME
env = XDG_DATA_HOME,$env.XDG_DATA_HOME

# HyDE-ENV
env = HYDE_RUNTIME_DIR,$env.XDG_RUNTIME_DIR/hyde
env = HYDE_CONFIG_HOME,$env.XDG_CONFIG_HOME/hyde
env = HYDE_CACHE_HOME,$env.XDG_CACHE_HOME/hyde
env = HYDE_DATA_HOME,$env.XDG_DATA_HOME/hyde
env = HYDE_STATE_HOME,$env.XDG_STATE_HOME/hyde

# CURSOR ENV
# env = HYPRCURSOR_THEME,$CURSOR_THEME
# env = HYPRCURSOR_SIZE,$CURSOR_SIZE
# env = XCURSOR_THEME,$CURSOR_THEME
# env = XCURSOR_SIZE,$CURSOR_SIZE

# Execute on reload

# HyDE Preparation
$exec.mkdir = mkdir -p $env.XDG_RUNTIME_DIR/hyde $env.XDG_CACHE_HOME/hyde/wallbash $env.XDG_CONFIG_HOME/hyde $env.XDG_DATA_HOME/hyde $(dirname $env.XDG_DATA_HOME)/state/hyde # Create HyDE directories
$set.env = printf "\n_SHELL='$SHELL'\nGDK_BACKEND='$env.GDK_BACKEND'\nQT_QPA_PLATFORM='$env.QT_QPA_PLATFORM'\nSDL_VIDEODRIVER='$env.SDL_VIDEODRIVER'\nCLUTTER_BACKEND='$env.CLUTTER_BACKEND'\nXDG_CURRENT_DESKTOP='$env.XDG_CURRENT_DESKTOP'\nXDG_SESSION_TYPE='$env.XDG_SESSION_TYPE'\nXDG_SESSION_DESKTOP='$env.XDG_SESSION_DESKTOP'\nQT_AUTO_SCREEN_SCALE_FACTOR='$env.QT_AUTO_SCREEN_SCALE_FACTOR'\nQT_WAYLAND_DISABLE_WINDOWDECORATION='$env.QT_WAYLAND_DISABLE_WINDOWDECORATION'\nQT_QPA_PLATFORMTHEME='$env.QT_QPA_PLATFORMTHEME'\nHYDE_PATH='$hyde.PATH'\nMOZ_ENABLE_WAYLAND='$env.MOZ_ENABLE_WAYLAND'\nGDK_SCALE='$env.GDK_SCALE'\nELECTRON_OZONE_PLATFORM_HINT='$env.ELECTRON_OZONE_PLATFORM_HINT'\nXDG_RUNTIME_DIR='$env.XDG_RUNTIME_DIR'\nXDG_CONFIG_HOME='$env.XDG_CONFIG_HOME'\nXDG_CACHE_HOME='$env.XDG_CACHE_HOME'\nXDG_DATA_HOME='$env.XDG_DATA_HOME'\n_GTK_THEME='$GTK_THEME'\n_ICON_THEME='$ICON_THEME'\n_COLOR_SCHEME='$COLOR_SCHEME'\n_CURSOR_SIZE='$CURSOR_SIZE'\n_CURSOR_THEME='$CURSOR_THEME'\nFONT='$FONT'\nFONT_SIZE='$FONT_SIZE'\nDOCUMENT_FONT='$DOCUMENT_FONT'\nDOCUMENT_FONT_SIZE='$DOCUMENT_FONT_SIZE'\nMONOSPACE_FONT='$MONOSPACE_FONT'\nMONOSPACE_FONT_SIZE='$MONOSPACE_FONT_SIZE'\nFONT_ANTIALIASING='$FONT_ANTIALIASING'\nFONT_HINTING='$FONT_HINTING'\nHYDE_RUNTIME_DIR='$env.XDG_RUNTIME_DIR/hyde'\nHYDE_CONFIG_HOME='$env.XDG_CONFIG_HOME/hyde'\nHYDE_CACHE_HOME='$env.XDG_CACHE_HOME/hyde'\nHYDE_DATA_HOME='$env.XDG_DATA_HOME/hyde'\nHYDE_STATE_HOME='$(dirname $env.XDG_DATA_HOME)/state/hyde'\nexport TERMINAL='$(which $TERMINAL)'\nexport LOCKSCREEN='$LOCKSCREEN'" > "$env.XDG_RUNTIME_DIR/hyde/environment"

# Create a dconf file that will be loaded later one time, better than multiple dconf commands and better than gsettings
$dconFile=$env.XDG_CACHE_HOME/hyde/dconf
$dConf = \n[org/gnome/desktop/interface]\n
$dConf = $dConf icon-theme='$ICON_THEME'\n
$dConf = $dConf gtk-theme='$GTK_THEME'\n
$dConf = $dConf color-scheme='$COLOR_SCHEME'\n
$dConf = $dConf cursor-theme='$CURSOR_THEME'\n
$dConf = $dConf cursor-size=$CURSOR_SIZE\n
$dConf = $dConf font-name='$FONT $FONT_SIZE'\n
$dConf = $dConf document-font-name='$DOCUMENT_FONT $DOCUMENT_FONT_SIZE'\n
$dConf = $dConf monospace-font-name='$MONOSPACE_FONT $MONOSPACE_FONT_SIZE'\n
$dConf = $dConf font-antialiasing='$FONT_ANTIALIASING'\n
$dConf = $dConf font-hinting='$FONT_HINTING'\n
$dConf = $dConf [org/gnome/desktop/default-applications/terminal]\nexec='$(which $TERMINAL)'
# $dconf.preserve =  dconf dump / > $dconFile
$dconf.populate =  printf "$dConf" >> $dconFile
# $dconf.reset = dconf reset -f / < $dconFile #! use dconf update instead
$dconf.load = dconf load -f / < $dconFile
$dconf.update = dconf update
$set.hyprCursor = hyprctl setcursor $CURSOR_THEME $CURSOR_SIZE
$exec.dConf = ( $dconf.populate && $dconf.load && $dconf.update && $set.hyprCursor ) 

$exec.keybinds_hint =  $scrPath/keybinds.hint.py --format rofi > $env.XDG_RUNTIME_DIR/hyde/keybinds_hint.rofi

# Execute
exec = $exec.mkdir & $set.env & $exec.dConf & $exec.animation & $exec.keybinds_hint

# // █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
# // █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█


exec-once = $start.XDG_PORTAL_RESET # reset XDPH for screenshare
exec-once = $start.DBUS_SHARE_PICKER # for XDPHgl
exec-once = $start.SYSTEMD_SHARE_PICKER # for XDPH
exec-once = $start.AUTH_DIALOGUE # authentication dialogue for GUI apps
exec-once = $start.BAR # launch the system bar
exec-once = $start.APPTRAY_BLUETOOTH # systray app for Bluetooth
exec-once = $start.REMOVABLE_MEDIA # front-end that allows to manage removable media
exec-once = $start.NETWORK_MANAGER # systray app for Network/Wifi
exec-once = $start.NOTIFICATIONS # start notification demon
exec-once = $start.TEXT_CLIPBOARD # clipboard store text data
exec-once = $start.IMAGE_CLIPBOARD # clipboard store image data
exec-once = $start.WALLPAPER # start wallpaper daemon
exec-once = $start.BATTERY_NOTIFY # battery notification
exec-once = $start.IDLE_DAEMON # idle daemon

# hyde/config.toml is parsed and exported to the environment
# exec-once = $scrPath/parse.config.py --daemon --input $env.XDG_CONFIG_HOME/hyde/config.toml --env $env.XDG_STATE_HOME/hyde/config --hypr $env.XDG_STATE_HOME/hyde/hyprland.conf
exec-once = systemctl --user start hyde-config.service #! If this is not working try the command above!


#? Rules can be added here as most of the configuration are dynamic

# // █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀
# // ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█

# See https://wiki.hyprland.org/Configuring/Window-Rules/

# Ony add the Core applications here
windowrulev2 = float, class:^(com.gabm.satty)$
windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Progress Dialog — Dolphin)$
windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$
windowrulev2 = float,title:^(About Mozilla Firefox)$
windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$
windowrulev2 = float,class:^(firefox)$,title:^(Library)$
windowrulev2 = float,class:^(.*)$,initialTitle:^(.*)(top)(.*)$
windowrulev2 = float,class:^(.*)$,initialTitle:^(.*)(btop)(.*)$
windowrulev2 = float,class:^(.*)$,initialTitle:^(.*)(htop)(.*)$
windowrulev2 = float,class:^(vlc)$
windowrulev2 = float,class:^(kvantummanager)$
windowrulev2 = float,class:^(qt5ct)$
windowrulev2 = float,class:^(qt6ct)$
windowrulev2 = float,class:^(nwg-look)$
windowrulev2 = float,class:^(nwg-displays)$
windowrulev2 = float,class:^(org.kde.ark)$
windowrulev2 = float,class:^(org.pulseaudio.pavucontrol)$
windowrulev2 = float,class:^(blueman-manager)$
windowrulev2 = float,class:^(nm-applet)$
windowrulev2 = float,class:^(nm-connection-editor)$
windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$
windowrulev2 = float,class:^([Xx]dg-desktop-portal-gtk)$


# // █░░ ▄▀█ █▄█ █▀▀ █▀█   █▀█ █░█ █░░ █▀▀ █▀
# // █▄▄ █▀█ ░█░ ██▄ █▀▄   █▀▄ █▄█ █▄▄ ██▄ ▄█

layerrule = blur,rofi
layerrule = ignorezero,rofi
layerrule = blur,notifications
layerrule = ignorezero,notifications
layerrule = blur,swaync-notification-window
layerrule = ignorezero,swaync-notification-window
layerrule = blur,swaync-control-center
layerrule = ignorezero,swaync-control-center
layerrule = blur,logout_dialog


Config File: /home/breaker/.config/hypr/themes/colors.conf: Read Succeeded
# Autogenerated colors by wallbash
# This can be sourced in by any hyprlang configuration file

# Color group 1

$wallbash_pry1 = 2A2A3A    # primary color 1
$wallbash_txt1 = FFFFFF    # text color 1
$wallbash_1xa1 = 292952    # accent color 1 for primary color 1
$wallbash_1xa2 = 3A3A6B    # accent color 2 for primary color 1
$wallbash_1xa3 = 4B4B7D    # accent color 3 for primary color 1
$wallbash_1xa4 = 57578F    # accent color 4 for primary color 1
$wallbash_1xa5 = 6565A3    # accent color 5 for primary color 1
$wallbash_1xa6 = 7A7AC2    # accent color 6 for primary color 1
$wallbash_1xa7 = 9A9AE6    # accent color 7 for primary color 1
$wallbash_1xa8 = AAAAF0    # accent color 8 for primary color 1
$wallbash_1xa9 = CCCCFF    # accent color 9 for primary color 1

# in rgba format
$wallbash_pry1_rgba = rgba(42,42,58,0.95)    # primary color 1
$wallbash_txt1_rgba = rgba(255,255,255,0.95)    # text color 1
$wallbash_1xa1_rgba = rgba(41,41,82,0.95)    # accent color 1 for primary color 1
$wallbash_1xa2_rgba = rgba(58,58,107,0.95)    # accent color 2 for primary color 1
$wallbash_1xa3_rgba = rgba(75,75,125,0.95)    # accent color 3 for primary color 1
$wallbash_1xa4_rgba = rgba(87,87,143,0.95)    # accent color 4 for primary color 1
$wallbash_1xa5_rgba = rgba(101,101,163,0.95)    # accent color 5 for primary color 1
$wallbash_1xa6_rgba = rgba(122,122,194,0.95)    # accent color 6 for primary color 1
$wallbash_1xa7_rgba = rgba(154,154,230,0.95)    # accent color 7 for primary color 1
$wallbash_1xa8_rgba = rgba(170,170,240,0.95)    # accent color 8 for primary color 1
$wallbash_1xa9_rgba = rgba(204,204,255,0.95)    # accent color 9 for primary color 1


# Color group 2

$wallbash_pry2 = 525062    # primary color 2
$wallbash_txt2 = FFFFFF    # text color 2
$wallbash_2xa1 = 2D2952    # accent color 1 for primary color 2
$wallbash_2xa2 = 3F3A6B    # accent color 2 for primary color 2
$wallbash_2xa3 = 514B7D    # accent color 3 for primary color 2
$wallbash_2xa4 = 5D578F    # accent color 4 for primary color 2
$wallbash_2xa5 = 6C65A3    # accent color 5 for primary color 2
$wallbash_2xa6 = 827AC2    # accent color 6 for primary color 2
$wallbash_2xa7 = A29AE6    # accent color 7 for primary color 2
$wallbash_2xa8 = B2AAF0    # accent color 8 for primary color 2
$wallbash_2xa9 = D2CCFF    # accent color 9 for primary color 2

# in rgba format
$wallbash_pry2_rgba = rgba(82,80,98,0.95)    # primary color 2
$wallbash_txt2_rgba = rgba(255,255,255,0.95)    # text color 2
$wallbash_2xa1_rgba = rgba(45,41,82,0.95)    # accent color 1 for primary color 2
$wallbash_2xa2_rgba = rgba(63,58,107,0.95)    # accent color 2 for primary color 2
$wallbash_2xa3_rgba = rgba(81,75,125,0.95)    # accent color 3 for primary color 2
$wallbash_2xa4_rgba = rgba(93,87,143,0.95)    # accent color 4 for primary color 2
$wallbash_2xa5_rgba = rgba(108,101,163,0.95)    # accent color 5 for primary color 2
$wallbash_2xa6_rgba = rgba(130,122,194,0.95)    # accent color 6 for primary color 2
$wallbash_2xa7_rgba = rgba(162,154,230,0.95)    # accent color 7 for primary color 2
$wallbash_2xa8_rgba = rgba(178,170,240,0.95)    # accent color 8 for primary color 2
$wallbash_2xa9_rgba = rgba(210,204,255,0.95)    # accent color 9 for primary color 2

# Color group 3

$wallbash_pry3 = B19084    # primary color 3
$wallbash_txt3 = 101010    # text color 3
$wallbash_3xa1 = 523429    # accent color 1 for primary color 3
$wallbash_3xa2 = 6B473A    # accent color 2 for primary color 3
$wallbash_3xa3 = 7D584B    # accent color 3 for primary color 3
$wallbash_3xa4 = 8F6657    # accent color 4 for primary color 3
$wallbash_3xa5 = A37665    # accent color 5 for primary color 3
$wallbash_3xa6 = C28D7A    # accent color 6 for primary color 3
$wallbash_3xa7 = E6AE9A    # accent color 7 for primary color 3
$wallbash_3xa8 = F0BDAA    # accent color 8 for primary color 3
$wallbash_3xa9 = FFDACC    # accent color 9 for primary color 3

# in rgba format
$wallbash_pry3_rgba = rgba(177,144,132,0.95)    # primary color 3
$wallbash_txt3_rgba = rgba(16,16,16,0.95)    # text color 3
$wallbash_3xa1_rgba = rgba(82,52,41,0.95)    # accent color 1 for primary color 3
$wallbash_3xa2_rgba = rgba(107,71,58,0.95)    # accent color 2 for primary color 3
$wallbash_3xa3_rgba = rgba(125,88,75,0.95)    # accent color 3 for primary color 3
$wallbash_3xa4_rgba = rgba(143,102,87,0.95)    # accent color 4 for primary color 3
$wallbash_3xa5_rgba = rgba(163,118,101,0.95)    # accent color 5 for primary color 3
$wallbash_3xa6_rgba = rgba(194,141,122,0.95)    # accent color 6 for primary color 3
$wallbash_3xa7_rgba = rgba(230,174,154,0.95)    # accent color 7 for primary color 3
$wallbash_3xa8_rgba = rgba(240,189,170,0.95)    # accent color 8 for primary color 3
$wallbash_3xa9_rgba = rgba(255,218,204,0.95)    # accent color 9 for primary color 3

# Color group 4

$wallbash_pry4 = F1D9C2    # primary color 4
$wallbash_txt4 = 060606    # text color 4
$wallbash_4xa1 = 523D29    # accent color 1 for primary color 4
$wallbash_4xa2 = 6B523A    # accent color 2 for primary color 4
$wallbash_4xa3 = 7D634B    # accent color 3 for primary color 4
$wallbash_4xa4 = 8F7257    # accent color 4 for primary color 4
$wallbash_4xa5 = A38465    # accent color 5 for primary color 4
$wallbash_4xa6 = C29D7A    # accent color 6 for primary color 4
$wallbash_4xa7 = E6BF9A    # accent color 7 for primary color 4
$wallbash_4xa8 = F0CCAA    # accent color 8 for primary color 4
$wallbash_4xa9 = FFE5CC    # accent color 9 for primary color 4

# in rgba format
$wallbash_pry4_rgba = rgba(241,217,194,0.95)    # primary color 4
$wallbash_txt4_rgba = rgba(6,6,6,0.95)    # text color 4
$wallbash_4xa1_rgba = rgba(82,61,41,0.95)    # accent color 1 for primary color 4
$wallbash_4xa2_rgba = rgba(107,82,58,0.95)    # accent color 2 for primary color 4
$wallbash_4xa3_rgba = rgba(125,99,75,0.95)    # accent color 3 for primary color 4
$wallbash_4xa4_rgba = rgba(143,114,87,0.95)    # accent color 4 for primary color 4
$wallbash_4xa5_rgba = rgba(163,132,101,0.95)    # accent color 5 for primary color 4
$wallbash_4xa6_rgba = rgba(194,157,122,0.95)    # accent color 6 for primary color 4
$wallbash_4xa7_rgba = rgba(230,191,154,0.95)    # accent color 7 for primary color 4
$wallbash_4xa8_rgba = rgba(240,204,170,0.95)    # accent color 8 for primary color 4
$wallbash_4xa9_rgba = rgba(255,229,204,0.95)    # accent color 9 for primary color 4


Config File: /home/breaker/.config/hypr/themes/theme.conf: Read Succeeded
#  P̳r̳a̳s̳a̳n̳t̳h̳ R̳a̳n̳g̳a̳n̳

$GTK_THEME = Tokyo-Night
$ICON_THEME = Tela-circle-purple
$COLOR_SCHEME = prefer-dark

# Optional: The varibles above will be set automatically when the theme is loaded
# This exec commands will soon be deprecated


general {
    gaps_in = 3
    gaps_out = 8
    border_size = 2
    col.active_border = rgba(bb9af7ff) rgba(b4f9f8ff) 45deg
    col.inactive_border = rgba(565f89cc) rgba(9aa5cecc) 45deg
    layout = dwindle
    resize_on_border = true
}

group {
    col.border_active = rgba(bb9af7ff) rgba(b4f9f8ff) 45deg
    col.border_inactive = rgba(565f89cc) rgba(9aa5cecc) 45deg
    col.border_locked_active = rgba(bb9af7ff) rgba(b4f9f8ff) 45deg
    col.border_locked_inactive = rgba(565f89cc) rgba(9aa5cecc) 45deg
}

decoration {
    rounding = 10
    shadow:enabled = false

    blur {
        enabled = yes
        size = 6
        passes = 3
        new_optimizations = on
        ignore_opacity = on
        xray = false
    }
}

layerrule = blur,waybar


Config File: /home/breaker/.config/hypr/themes/wallbash.conf: Read Succeeded
# Auto-generated by HyDE // Read-only
# // ----------------------------
# HyDE Theme: Tokyo Night
# Configuration File: "/home/breaker/.config/hyde/themes/Tokyo Night/hypr.theme"
# Wallbash Mode : theme
# // ----------------------------

$HYDE_THEME=Tokyo Night
$GTK_THEME=Tokyo-Night
$COLOR-SCHEME=prefer-dark
$ICON_THEME=Tela-circle-purple

$CURSOR_THEME=Bibata-Modern-Ice
$CURSOR_SIZE=24

$FONT=Cantarell
$FONT_SIZE=10
$DOCUMENT_FONT=Cantarell
$DOCUMENT_FONT_SIZE=10
$MONOSPACE_FONT=CaskaydiaCove Nerd Font Mono
$MONOSPACE_FONT_SIZE=9


$CODE_THEME=Wallbash
$SDDM_THEME=

# // ----------------------------
# README:
# Values above are derived and sanitized from the theme.conf file,
# This is to ensure themes won't have any 'exec' or 'source'
# commands that could potentially harm the system
#  or undesired behavior.
#
# Dear Theme Owner:
# You can still add your own custom 'exec' or 'source' commands
#  by adding it as variable, examples (you can name the variable anything):
# Note that you should indicate it in your README.md
#
#
# -- ⌨️ theme.conf --
# $RUN_CMD="some_command"
# $SOURCE_FILE="/some/files"
#
#
# -- ⌨️ userprefs.conf --
# exec = ${RUN_CMD}"
# source = ${SOURCE_FILE}
# exec = hyde-shell walbash code $CODE_THEME # Setting the code theme

# // ----------------------------


Config File: /home/breaker/.config/hypr/animations.conf: Read Succeeded

#! ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
#! █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█

# See https://wiki.hyprland.org/Configuring/Animations/
# HyDE Controlled content // DO NOT EDIT
# Edit or add animations in the ./hypr/animations/ directory
# and run the 'animations.sh --select' command to update this file 

$ANIMATION=theme
$ANIMATION_PATH=./animations/theme.conf
source = $ANIMATION_PATH


Config File: /home/breaker/.config/hypr/animations/theme.conf: Read Succeeded
# This file is generated by wallbash:animations.dcol

# // ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# // █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█

# See https://wiki.hyprland.org/Configuring/Animations/
# credits: https://github.com/prasanthrangan/hyprdots

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, 30, liner, once
    animation = fade, 1, 10, default
    animation = workspaces, 1, 5, wind
}


Config File: /home/breaker/.config/hypr/hyde.conf: Read Succeeded
#!      ░▒▒▒░░░▓▓           ___________
#!    ░░▒▒▒░░░░░▓▓        //___________/
#!   ░░▒▒▒░░░░░▓▓     _   _ _    _ _____
#!   ░░▒▒░░░░░▓▓▓▓▓▓ | | | | |  | |  __/
#!    ░▒▒░░░░▓▓   ▓▓ | |_| | |_/ /| |___
#!     ░▒▒░░▓▓   ▓▓   \__  |____/ |____/
#!       ░▒▓▓   ▓▓  //____/

# Use this for reference to override the default HyDE' hyprland configuration

# ! Never source ~/.config/hypr/hyde.conf directly, it is sourced by the main configuration file
# This file acts as an override configuration for the user to set their environment variables and startup commands
# Static variable declaration in hyde.conf will be prioritized over the default and dynamic configuration

#  NOTE 
# Leaving the variable empty will unset the variable
# Commenting out the variable will use the default value
# For updated configuration options, see https://github.com/HyDE-Project/HyDE/blob/master/Configs/.config/hypr/hyde.conf
# For simplicity, ./hyde.conf ONLY accepts $ for variables and # for comments, will sanitize the file to remove any other characters
# $start.VAR , $env.VAR are ONLY HyDE specific conventions for consistency.

# Keyboard modifier
# $mainMod = SUPER # windows key


# ▄▀█ █▀█ █▀█ █▀
# █▀█ █▀▀ █▀▀ ▄█

# $QUICKAPPS = # used for quick app launcher
$BROWSER = zen-browser # default browser, if commented out , will use the default browser
$EDITOR = nvim # default editor, if commented out , will use the default editor
# $EXPLORER= dolphin # default file manager, if commented out , will use the default file manager
# $TERMINAL = kitty # default terminal, if commented out , will use the org.gnome.desktop.default-applications.terminal
# $LOCKSCREEN=hyprlock # default lockscreen, you can use any lockscreen you want, eg swaylock
# $IDLE=hypridle # default idle manager, you can use any idle manager you want,eg swayidle


# // █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
# // █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█
# See https://wiki.hyprland.org/Configuring/Keywords/
# Override the default startup commands

# $start.XDG_PORTAL_RESET=$scrPath/resetxdgportal.sh
# $start.DBUS_SHARE_PICKER=dbus-update-activation-environment --systemd --all                                              # for XDPH
# $start.SYSTEMD_SHARE_PICKER=systemctl --user import-environment QT_QPA_PLATFORMTHEME WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
# $start.BAR=waybar
# $start.NOTIFICATIONS=swaync # dunst
# $start.APPTRAY_BLUETOOTH=blueman-applet
# $start.WALLPAPER=$scrPath/swwwallpaper.sh
# $start.TEXT_CLIPBOARD=wl-paste --type text --watch cliphist store
# $start.IMAGE_CLIPBOARD=wl-paste --type image --watch cliphist store
# $start.BATTERY_NOTIFY=$scrPath/batterynotify.sh
# $start.NETWORK_MANAGER=nm-applet --indicator
# $start.REMOVABLE_MEDIA=udiskie --no-automount --smart-tray
# $start.AUTH_DIALOGUE=$scrPath/polkitkdeauth.sh
# $start.IDLE_DAEMON=$IDLE

# // █▀▀ █▄░█ █░█
# // ██▄ █░▀█ ▀▄▀

# See https://wiki.hyprland.org/Configuring/Environment-variables/
# Override the default environment variables


# # Toolkit Backend Variables - https://wiki.hyprland.org/Configuring/Environment-variables/#toolkit-backend-variables
# $env.GDK_BACKEND = wayland,x11,* #s GTK: Use wayland if available. If not: try x11, then any other GDK backend.
# # $env.QT_QPA_PLATFORM = wayland;xcb #Qt: Use wayland if available, fall back to x11 if not.
# $env.SDL_VIDEODRIVER = wayland #s Run SDL2 applications on Wayland. Remove or set to x11 if games that provide older versions of SDL cause compatibility issues
# $env.CLUTTER_BACKEND = wayland #s Clutter package already has wayland enabled, this variable will force Clutter applications to try and use the Wayland backend

# # XDG Specifications - https://wiki.hyprland.org/Configuring/Environment-variables/#xdg-specifications
# $env.XDG_CURRENT_DESKTOP = Hyprland
# $env.XDG_SESSION_TYPE = wayland
# $env.XDG_SESSION_DESKTOP = Hyprland

# # Qt Variables  - https://wiki.hyprland.org/Configuring/Environment-variables/#qt-variables

# $env.QT_AUTO_SCREEN_SCALE_FACTOR = 1 # (From the Qt documentation) enables automatic scaling, based on the monitor’s pixel density
# $env.QT_QPA_PLATFORM=wayland;xcb # Tell Qt applications to use the Wayland backend, and fall back to x11 if Wayland is unavailable
# $env.QT_WAYLAND_DISABLE_WINDOWDECORATION = 1 # Disables window decorations on Qt applications
# $env.QT_QPA_PLATFORMTHEME = qt6ct            # Tells Qt based applications to pick your theme from qt5ct, use with Kvantum.

# # HyDE Environment Variables -

# $env.PATH =
# $env.MOZ_ENABLE_WAYLAND=1              # Enable Wayland for Firefox
# $env.GDK_SCALE=1                       # Set GDK scale to 1 // For Xwayland on HiDPI
# $env.ELECTRON_OZONE_PLATFORM_HINT=auto # Set Electron Ozone Platform Hint to auto // For Electron apps on Wayland

# #  XDG-DIRS

# $env.XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR
# $env.XDG_CONFIG_HOME=$HOME/.config
# $env.XDG_CACHE_HOME=$HOME/.cache
# $env.XDG_DATA_HOME=$HOME/.local/share



# These variable will override the default and the theme configuration
# Do not uncomment the variables if you want HyDE to do the theme configuration for you

# // █▀▀ ▀█▀ █▄▀
# // █▄█ ░█░ █░█


#$GTK_THEME=Wallbash-Gtk
#$ICON_THEME=Tela-circle-dracula
#$COLOR_SCHEME=prefer-dark

# // █▀▀ █░█ █▀█ █▀ █▀█ █▀█
# // █▄▄ █▄█ █▀▄ ▄█ █▄█ █▀▄

#$CURSOR_THEME=Bibata-Modern-Ice
#$CURSOR_SIZE=30

# // █▀▀ █▀█ █▄░█ ▀█▀
# // █▀░ █▄█ █░▀█ ░█░

#$FONT=Canterell
#$FONT_SIZE=10
#$DOCUMENT_FONT=Cantarell
#$DOCUMENT_FONT_SIZE=10
#$MONOSPACE_FONT=CaskaydiaCove Nerd Font Mono
#$MONOSPACE_FONT_SIZE=9
#$FONT_ANTIALIASING=rgba
#$FONT_HINTING=full


#  // █░░ █▀█ █▀▀ █▄▀ █▀ █▀▀ █▀█ █▀▀ █▀▀ █▄░█
#  // █▄▄ █▄█ █▄▄ █░█ ▄█ █▄▄ █▀▄ ██▄ ██▄ █░▀█

#Setting the Hyprlock layout will override any layout set in the ./hypr/hyprlock.sh
# Dynamic Hyprlock layout should be set in the ./hypr/hyprlock.sh file
# $LAYOUT_PATH=/path/to/hyprlock/layout.conf


Config File: /home/breaker/.local/state/hyde/hyprland.conf: Read Succeeded
# This is an autogenerated file
# converted [hyprland*] from config.toml

Config File: /home/breaker/.config/hypr/keybindings.conf: Read Succeeded
## █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
## █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█

# see https://wiki.hyprland.org/configuring/keywords/ for more
# example binds, see https://wiki.hyprland.org/configuring/binds/ for more

# Grouping of binds for easier management
#  $d=[Group Name|Subgroup Name1|Subgroup Name2|...]
# '$d' is a variable that is used to group binds together (or use another variable)
# This is only for organization purposes and is not a defined hyprland variable
# What we did here is to modify the Description of the binds to include the group name
# The $d will be parsed as a separate key to be use for a GUI or something pretty
# [Main|Subgroup1|Subgroup2|...]
# Main - The main groupname
# Subgroup1.. - The subgroup names can be use to avoid repeating the same description


#*  Variables 
# Default if commented out
# $mainMod = Super # super / meta / windows key
# Assign apps
# $TERMINAL = kitty
# $EDITOR = code
# $EXPLORER = dolphin
$BROWSER = zen-browser

$wm=Window Management
$d=[$wm]
bindd = $mainMod, Q, $d close focused window, exec, $scrPath/dontkillsteam.sh
bindd = Alt, F4, $d close focused window, exec, $scrPath/dontkillsteam.sh
bindd = $mainMod, Delete, $d kill hyprland session, exit
bindd = $mainMod, W, $d Toggle floating,  exec, hyprctl --batch "dispatch togglefloating; dispatch resizeactive exact 95% 95%; dispatch centerwindow"
bindd = $mainMod, G, $d toggle group, togglegroup
bindd = Shift, F11, $d toggle fullscreen, fullscreen
bindd = $mainMod, L, $d lock screen, exec, lockscreen.sh
bindd = $mainMod Shift, F, $d toggle pin on focused window, exec, $scrPath/windowpin.sh
bindd = Control Alt, Delete, $d logout menu, exec, $scrPath/logoutlaunch.sh
bindd = Alt_R, Control_R, $d toggle waybar and reload config, exec, killall waybar || (env reload_flag=1 $scrPath/wbarconfgen.sh)
# bindd = ALT_R, Control_R,toggle waybar, exec, killall waybar || waybar # toggle waybar without reloading, this is faster

$d=[$wm|Group Navigation]
bindd = $mainMod Control, H, $d change active group backwards   , changegroupactive, b
bindd = $mainMod Control, L, $d change active group forwards  , changegroupactive, f

$d=[$wm|Change focus]
bindd = $mainMod, Left, $d focus left, movefocus, l
bindd = $mainMod, Right, $d focus right , movefocus, r
bindd = $mainMod, Up, $d focus up , movefocus, u
bindd = $mainMod, Down , $d focus down, movefocus, d
bindd = ALT, Tab,$d Cycle focus, cyclenext

$d=[$wm|Resize Active Window]
# Resize windows
bindde = $mainMod Shift, Right, $d resize window right , resizeactive, 30 0
bindde = $mainMod Shift, Left, $d resize window left, resizeactive, -30 0
bindde = $mainMod Shift, Up, $d resize window up, resizeactive, 0 -30
bindde = $mainMod Shift, Down, $d resize  window down, resizeactive, 0 30

# Move active window around current workspace with mainMod + Shift + Control [←→↑↓]
$d=[$wm|Move active window across workspace]
$moveactivewindow=grep -q "true" <<< $(hyprctl activewindow -j | jq -r .floating) && hyprctl dispatch moveactive
bindde = $mainMod Shift Control, left, Move active window to the left, exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l
bindde = $mainMod Shift Control, right, Move active window to the right, exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r
bindde = $mainMod Shift Control, up, Move active window up, exec, $moveactivewindow  0 -30 || hyprctl dispatch movewindow u
bindde = $mainMod Shift Control, down, Move active window down, exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d

# Move/Resize focused window
$d=[$wm|Move & Resize with mouse]
binddm = $mainMod, mouse:272, $d hold to move window, movewindow
binddm = $mainMod, mouse:273, $d hold to resize window, resizewindow
binddm = $mainMod, Z, $d hold to move window , movewindow
binddm = $mainMod, X, $d hold to resize window, resizewindow

# Toggle focused window split
$d=[$wm]
bindd = $mainMod, J, $d toggle split, togglesplit

$l=Launcher
$d=[$l|Apps]
bindd = $mainMod, T, $d terminal emulator , exec, $TERMINAL
bindd = $mainMod, E, $d file explorer , exec, $EXPLORER
bindd = $mainMod, C, $d text editor , exec, $EDITOR
bindd = $mainMod, B, $d web browser , exec, $BROWSER
bindd = Control Shift, Escape, $d system monitor , exec, $scrPath/sysmonlaunch.sh

$d=[$l|Rofi menus]
$rofi-launch=$scrPath/rofilaunch.sh
bindd = $mainMod, A, $d application finder , exec, pkill -x rofi || $rofi-launch d
bindd = $mainMod, TAB, $d window switcher , exec, pkill -x rofi || $rofi-launch w
bindd = $mainMod Shift, E, $d file finder , exec, pkill -x rofi || $rofi-launch f
bindd = $mainMod, slash, $d keybindings hint, exec, pkill -x rofi || $scrPath/keybinds_hint.sh c # launch keybinds hint
bindd = $mainMod, comma, $d emoji  picker , exec, pkill -x rofi || $scrPath/emoji-picker.sh # launch emoji picker
bindd = $mainMod, period, $d glyph picker , exec, pkill -x rofi || $scrPath/glyph-picker.sh # launch glyph picker
bindd = $mainMod, V, $d clipboard ,  exec, pkill -x rofi || $scrPath/cliphist.sh -c # launch clipboard,
bindd = $mainMod Shift, V, $d clipboard manager , exec, pkill -x rofi || $scrPath/cliphist.sh # launch clipboard Manager
bindd = $mainMod Shift, A, $d select rofi launcher , exec, pkill -x rofi || $scrPath/rofiselect.sh # launch select menu


$hc=Hardware Controls
$d=[$hc|Audio]
binddl  = , F10, $d toggle mute output , exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
binddl  = , XF86AudioMute,$d  toggle mute output, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
binddel = , F11, $d decrease volume , exec, $scrPath/volumecontrol.sh -o d # decrease volume
binddel = , F12, $d increase volume , exec, $scrPath/volumecontrol.sh -o i # increase volume
binddl  = , XF86AudioMicMute,$d un/mute microphone  , exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute
binddel = , XF86AudioLowerVolume, $d decrease volume , exec, $scrPath/volumecontrol.sh -o d # decrease volume
binddel = , XF86AudioRaiseVolume, $d increase volume , exec, $scrPath/volumecontrol.sh -o i # increase volume

$d=[$hc|Media]
binddl  = , XF86AudioPlay,$d play media, exec, playerctl play-pause # toggle between media play and pause
binddl  = , XF86AudioPause,$d pause media, exec, playerctl play-pause # toggle between media play and pause
binddl  = , XF86AudioNext,$d next media  , exec, playerctl next # media next
binddl  = , XF86AudioPrev,$d  previous media , exec, playerctl previous # media previous

$d=[$hc|Brightness]
binddel = , XF86MonBrightnessUp, $d increase brightness , exec, $scrPath/brightnesscontrol.sh i # increase brightness
binddel = , XF86MonBrightnessDown, $d decrease brightness , exec, $scrPath/brightnesscontrol.sh d # decrease brightness


$ut=Utilities
$d=[$ut]
binddl = $mainMod, K, $d toggle keyboard layout , exec, $scrPath/keyboardswitch.sh # switch keyboard layout
bindd = $mainMod Alt, G, $d game mode , exec, $scrPath/gamemode.sh # disable hypr effects for gamemode
bindd = $mainMod Shift, G, $d open game launcher , exec, $scrPath/gamelauncher.sh # run game launcher for steam and lutris

$d=[$ut|Screen Capture]
bindd = $mainMod Shift, P, $d color picker, exec, hyprpicker -an # Pick color (Hex) >> clipboard#
bindd = $mainMod, P, $d snip screen , exec, $scrPath/screenshot.sh s # partial screenshot capture
bindd = $mainMod Control, P, $d freeze and snip screen, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen)
binddl = $mainMod Alt, P, $d print monitor , exec, $scrPath/screenshot.sh m # monitor screenshot capture
binddl = , Print, $d print all monitors , exec, $scrPath/screenshot.sh p # all monitors screenshot capture

# TODO Make a main rofi menu for these selectors
$rice=Theming and Wallpaper
$d=[$rice]
bindd = $mainMod Alt, Right, $d next global wallpaper , exec, $scrPath/wallpaper.sh -Gn # next global wallpaper
bindd = $mainMod Alt, Left, $d previous global wallpaper , exec, $scrPath/wallpaper.sh -Gp # previous global wallpaper
bindd = $mainMod Shift, W, $d select a global wallpaper , exec, pkill -x rofi || $scrPath/wallpaper.sh -SG # launch wallpaper select menu
bindd = $mainMod Alt, Up, $d next waybar layout , exec, $scrPath/wbarconfgen.sh n # next waybar mode
bindd = $mainMod Alt, Down, $d previous waybar layout , exec, $scrPath/wbarconfgen.sh p # previous waybar mode
bindd = $mainMod Shift, R, $d wallbash mode selector , exec, pkill -x rofi || $scrPath/wallbashtoggle.sh -m # launch wallbash mode select menu
bindd = $mainMod Shift, T, $d select a theme, exec, pkill -x rofi || $scrPath/themeselect.sh # launch theme select menu



$ws=Workspaces
$d=[$ws|Navigation]
bindd = $mainMod, 1, $d navigate to workspace 1 , workspace, 1
bindd = $mainMod, 2, $d navigate to workspace 2 , workspace, 2
bindd = $mainMod, 3, $d navigate to workspace 3 , workspace, 3
bindd = $mainMod, 4, $d navigate to workspace 4 , workspace, 4
bindd = $mainMod, 5, $d navigate to workspace 5 , workspace, 5
bindd = $mainMod, 6, $d navigate to workspace 6 , workspace, 6
bindd = $mainMod, 7, $d navigate to workspace 7 , workspace, 7
bindd = $mainMod, 8, $d navigate to workspace 8 , workspace, 8
bindd = $mainMod, 9, $d navigate to workspace 9 , workspace, 9
bindd = $mainMod, 0, $d navigate to workspace 10 , workspace, 10

$d=[$ws|Navigation|Relative workspace]
bindd = $mainMod Control, Right, $d change active workspace forwards  , workspace, r+1
bindd = $mainMod Control, Left, $d change active workspace backwards , workspace, r-1

$d=[$ws|Navigation]
bindd = $mainMod Control, Down, $d navigate to the nearest empty workspace , workspace, empty

# Move focused window to a workspace
$d=[$ws|Move window to workspace]
bindd = $mainMod Shift, 1, $d move to workspace 1 , movetoworkspace, 1
bindd = $mainMod Shift, 2, $d move to workspace 2 , movetoworkspace, 2
bindd = $mainMod Shift, 3, $d move to workspace 3 , movetoworkspace, 3
bindd = $mainMod Shift, 4, $d move to workspace 4 , movetoworkspace, 4
bindd = $mainMod Shift, 5, $d move to workspace 5 , movetoworkspace, 5
bindd = $mainMod Shift, 6, $d move to workspace 6 , movetoworkspace, 6
bindd = $mainMod Shift, 7, $d move to workspace 7 , movetoworkspace, 7
bindd = $mainMod Shift, 8, $d move to workspace 8 , movetoworkspace, 8
bindd = $mainMod Shift, 9, $d move to workspace 9 , movetoworkspace, 9
bindd = $mainMod Shift, 0, $d move to workspace 10 , movetoworkspace, 10

# Move focused window to a relative workspace
$d=[$ws]
bindd = $mainMod Control+Alt, Right, $d move window to next relative workspace , movetoworkspace, r+1
bindd = $mainMod Control+Alt, Left, $d move window to previous relative workspace , movetoworkspace, r-1


# Scroll through existing workspaces
$d=[$ws|Navigation]
bindd = $mainMod, mouse_down, $d next workspace, workspace, e+1
bindd = $mainMod, mouse_up, $d previous workspace, workspace, e-1


# Move/Switch to special workspace (scratchpad)
$d=[$ws|Navigation|Special workspace]
bindd = $mainMod Shift, S, $d move to scratchpad  , movetoworkspace, special
bindd = $mainMod Alt, S, $d move to scratchpad (silent) , movetoworkspacesilent, special
bindd = $mainMod, S, $d toggle scratchpad ,  togglespecialworkspace

# Move focused window to a workspace silently
$d=[$ws|Navigation|Move window silently]
bindd = $mainMod Alt, 1, $d move to workspace 1  (silent), movetoworkspacesilent, 1
bindd = $mainMod Alt, 2, $d move to workspace 2  (silent), movetoworkspacesilent, 2
bindd = $mainMod Alt, 3, $d move to workspace 3  (silent), movetoworkspacesilent, 3
bindd = $mainMod Alt, 4, $d move to workspace 4  (silent), movetoworkspacesilent, 4
bindd = $mainMod Alt, 5, $d move to workspace 5  (silent), movetoworkspacesilent, 5
bindd = $mainMod Alt, 6, $d move to workspace 6  (silent), movetoworkspacesilent, 6
bindd = $mainMod Alt, 7, $d move to workspace 7  (silent), movetoworkspacesilent, 7
bindd = $mainMod Alt, 8, $d move to workspace 8  (silent), movetoworkspacesilent, 8
bindd = $mainMod Alt, 9, $d move to workspace 9  (silent), movetoworkspacesilent, 9
bindd = $mainMod Alt, 0, $d move to workspace 10 (silent), movetoworkspacesilent, 10



$d=#! unset the group name


Config File: /home/breaker/.config/hypr/windowrules.conf: Read Succeeded

# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█

# See https://wiki.hyprland.org/Configuring/Window-Rules/

# '$&' is a hyde specific shorthand for "override" \\ analogous to a reference
# This symbol indicates that the following values will override the default configuration
$&=override

windowrulev2 = opacity 0.90 $& 0.90 $& 1,class:^(firefox)$
windowrulev2 = opacity 0.90 $& 0.90 $& 1,class:^(Brave-browser)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(code-oss)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^([Cc]ode)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(code-url-handler)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(code-insiders-url-handler)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(kitty)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(org.kde.dolphin)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(org.kde.ark)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(nwg-look)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(qt5ct)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(qt6ct)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(kvantummanager)$
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(org.pulseaudio.pavucontrol)$
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(blueman-manager)$
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(nm-applet)$
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(nm-connection-editor)$
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(org.kde.polkit-kde-authentication-agent-1)$
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(polkit-gnome-authentication-agent-1)$
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(org.freedesktop.impl.portal.desktop.gtk)$
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(org.freedesktop.impl.portal.desktop.hyprland)$
windowrulev2 = opacity 0.70 $& 0.70 $& 1,class:^([Ss]team)$
windowrulev2 = opacity 0.70 $& 0.70 $& 1,class:^(steamwebhelper)$
windowrulev2 = opacity 0.70 $& 0.70 $& 1,class:^([Ss]potify)$
windowrulev2 = opacity 0.70 $& 0.70 $& 1,initialTitle:^(Spotify Free)$
windowrulev2 = opacity 0.70 $& 0.70 $& 1,initialTitle:^(Spotify Premium)$

windowrulev2 = opacity 0.90 0.90,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(hu.kramo.Cartridges)$ # Cartridges-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(com.obsproject.Studio)$ # Obs-Qt
windowrulev2 = opacity 0.80 0.80,class:^(gnome-boxes)$ # Boxes-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(vesktop)$ # Vesktop
windowrulev2 = opacity 0.80 0.80,class:^(discord)$ # Discord-Electron
windowrulev2 = opacity 0.80 0.80,class:^(WebCord)$ # WebCord-Electron
windowrulev2 = opacity 0.80 0.80,class:^(ArmCord)$ # ArmCord-Electron
windowrulev2 = opacity 0.80 0.80,class:^(app.drey.Warp)$ # Warp-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt
windowrulev2 = opacity 0.80 0.80,class:^(yad)$ # Protontricks-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(Signal)$ # Signal-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.github.alainm23.planify)$ # planify-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.github.flattool.Warehouse)$ # Warehouse-Gtk

windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Progress Dialog — Dolphin)$
windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$
windowrulev2 = float,title:^(About Mozilla Firefox)$
windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$
windowrulev2 = float,class:^(firefox)$,title:^(Library)$
windowrulev2 = float,class:^(kitty)$,title:^(top)$
windowrulev2 = float,class:^(kitty)$,title:^(btop)$
windowrulev2 = float,class:^(kitty)$,title:^(htop)$
windowrulev2 = float,class:^(vlc)$
windowrulev2 = float,class:^(kvantummanager)$
windowrulev2 = float,class:^(qt5ct)$
windowrulev2 = float,class:^(qt6ct)$
windowrulev2 = float,class:^(nwg-look)$
windowrulev2 = float,class:^(org.kde.ark)$
windowrulev2 = float,class:^(org.pulseaudio.pavucontrol)$
windowrulev2 = float,class:^(blueman-manager)$
windowrulev2 = float,class:^(nm-applet)$
windowrulev2 = float,class:^(nm-connection-editor)$
windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$

windowrulev2 = float,class:^(Signal)$ # Signal-Gtk
windowrulev2 = float,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk
windowrulev2 = float,class:^(app.drey.Warp)$ # Warp-Gtk
windowrulev2 = float,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt
windowrulev2 = float,class:^(yad)$ # Protontricks-Gtk
windowrulev2 = float,class:^(eog)$ # Imageviewer-Gtk
windowrulev2 = float,class:^(io.github.alainm23.planify)$ # planify-Gtk
windowrulev2 = float,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
windowrulev2 = float,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gkk
windowrulev2 = float,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
windowrulev2 = float,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk

# common modals
windowrule = float,initialtitle:^(Open File)$
windowrule = float,initialTitle:^(Open File)$
windowrule = float,title:^(Choose Files)$
windowrule = float,title:^(Save As)$
windowrule = float,title:^(Confirm to replace files)$
windowrule = float,title:^(File Operation Progress)$
windowrulev2 = float,class:^(xdg-desktop-portal-gtk)$

# █░░ ▄▀█ █▄█ █▀▀ █▀█   █▀█ █░█ █░░ █▀▀ █▀
# █▄▄ █▀█ ░█░ ██▄ █▀▄   █▀▄ █▄█ █▄▄ ██▄ ▄█

layerrule = blur,rofi
layerrule = ignorezero,rofi
layerrule = blur,notifications
layerrule = ignorezero,notifications
layerrule = blur,swaync-notification-window
layerrule = ignorezero,swaync-notification-window
layerrule = blur,swaync-control-center
layerrule = ignorezero,swaync-control-center
layerrule = blur,logout_dialog


Config File: /home/breaker/.config/hypr/monitors.conf: Read Succeeded

# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█ █▀
# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄ ▄█

# Set your monitor configuration here
# See https://wiki.hyprland.org/Configuring/Monitors/
# For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/monitors.t2

monitor=DP-1,highrr,auto,auto,bitdepth,10,cm,wide,vrr,2



Config File: /home/breaker/.config/hypr/userprefs.conf: Read Succeeded

# █░█ █▀ █▀▀ █▀█   █▀█ █▀█ █▀▀ █▀▀ █▀
# █▄█ ▄█ ██▄ █▀▄   █▀▀ █▀▄ ██▄ █▀░ ▄█

# Set your personal hyprland configuration here
# See https://wiki.hyprland.org/Configuring for more information

# // █ █▄░█ █▀█ █░█ ▀█▀
# // █ █░▀█ █▀▀ █▄█ ░█░


# input {
# # See https://wiki.hyprland.org/Configuring/Variables/#input
#     kb_layout = us
#     follow_mouse = 1
#     sensitivity = 0
#     force_no_accel = 1
#     numlock_by_default = true

#     touchpad {
# # See https://wiki.hyprland.org/Configuring/Variables/#touchpad
#         natural_scroll = no
#     }

# }


# gestures {
# # See https://wiki.hyprland.org/Configuring/Variables/#gestures
#     workspace_swipe = true
#     workspace_swipe_fingers = 3
# }

debug {
  disable_logs = false
}



Config File: /home/breaker/.config/hypr/workflows.conf: Read Succeeded
#! █░█░█ █▀█ █▀█ █▄▀ █▀▀ █░░ █▀█ █░█░█ █▀
#! ▀▄▀▄▀ █▄█ █▀▄ █░█ █▀░ █▄▄ █▄█ ▀▄▀▄▀ ▄█

# This file sets the current workflow for Hyprland
# HyDE Controlled content // DO NOT EDIT
# Edit or add workflows in the ./workflows/ directory
# and run the 'workflows.sh select' command to update this file

#  Workflows are a set of configurations that can be applied to Hyprland
#   that suits the actual workflow you are doing. 
# It can be gaming mode, work mode, or anything else you can think of.
# you can also exec a command within the workflow

$WORKFLOW = default
$WORKFLOW_ICON = 
$WORKFLOW_DESCRIPTION = Default HyDE configuration // Disables workflow overrides
$WORKFLOWS_PATH = ./workflows/default.conf
source = $WORKFLOWS_PATH



Config File: /home/breaker/.config/hypr/workflows/default.conf: Read Succeeded
# // █▀▄ █▀▀ █▀▀ ▄▀█ █░█ █░░ ▀█▀
# // █▄▀ ██▄ █▀░ █▀█ █▄█ █▄▄ ░█░

$WORKFLOW_ICON=
$WORKFLOW_DESCRIPTION = Unset workflow configuration

======Config-End========

Additional Information

No response

@RyanBreaker RyanBreaker added the bug Something isn't working label May 11, 2025
@kRHYME7
Copy link
Contributor

kRHYME7 commented May 11, 2025

Happens on every reboot? or just 1 time after fresh installation?

@RyanBreaker
Copy link
Author

RyanBreaker commented May 11, 2025

Sorry, I should have mentioned that. Yes, on every reboot the problem re-occurs until Hyprland reloads the configuration. It does not appear to be affected by logging out and back in.

@YuvanMichaelVivenzi
Copy link

YuvanMichaelVivenzi commented May 12, 2025

Hey, @kRHYME7 why don't we add a hyprctl reload command? During startup, Hyprland will reload. Preferrably twice? Since the user says that reloading Hyprland fixes the issue, let's just add a line to the autostart section that does this.

@RyanBreaker Try this

add the following line to the autostart config.

exec-once = hyprctl reload

It would also be helpful if you put the output of lockscreen.sh over here as the dev requested.

@kRHYME7
Copy link
Contributor

kRHYME7 commented May 12, 2025

@RyanBreaker

what's the output when you run

lockscreen.sh after reboot?

@RyanBreaker
Copy link
Author

Oh I didn't realize it was just on the PATH like that. Here's the output:

/home/breaker/.local/lib/hyde/lockscreen.sh: line 9: /run/user/1000/hyde/environment: No such file or directory
/home/breaker/.local/lib/hyde/lockscreen.sh: line 11: : command not found

Sot the bug appears to be that the environment file isn't generating on first launch. It indeed doesn't exist at first but shows up immediately after hyprctl reload.

@RyanBreaker Try this

add the following line to the autostart config.

exec-once = hyprctl reload

It would also be helpful if you put the output of lockscreen.sh over here as the dev requested.

This temporary workaround does appear to work, unless that ends up being the intended fix.

@kRHYME7
Copy link
Contributor

kRHYME7 commented May 13, 2025

Sot the bug appears to be that the environment file isn't generating on first launch. It indeed doesn't exist at first but shows up immediately after hyprctl reload.

Ah this, some commits might have broken it. I'll try to fix it.

@kRHYME7
Copy link
Contributor

kRHYME7 commented May 13, 2025

hmm can repro!

ls /run/user/1000/hyde/environment

output for this on reboot.


And it looks like your env is not updated!

Image

can you send again the output of
hyprctl version?

mine

Image


This might not so related but looks like your hyprlang dependency is not updated!!

@prime-run @rubiin @dieBakterie @HyDE-Project/testers Can you repro. Thank you!

@UnaTried
Copy link

The file exists for me

@kRHYME7
Copy link
Contributor

kRHYME7 commented May 13, 2025

Thank you for the quick response @UnaTried . You tried rebooting, then checking the file if it exists? And actually SUPER + L works after reboot without invoking hyprctl reload ?

@UnaTried
Copy link

UnaTried commented May 13, 2025

Yes to all of that. I usually do Super+L on accident, because I use the Super+VimMotions to navigate in my private Development user.

@Guillaumecoi
Copy link
Collaborator

@kRHYME7 File also exist for me on a fresh install. And Super + L works initially and after reboot

@RyanBreaker
Copy link
Author

Here's my hyprctl version output:

Hyprland 0.49.0 built from branch  at commit 9958d297641b5c84dcff93f9039d80a5ad37ab00  (version: bump to 0.49.0).
Date: Thu May 8 20:15:18 2025
Tag: v0.49.0, commits: 6098
built against:
 aquamarine 0.8.0
 hyprlang 0.6.3
 hyprutils 0.7.1
 hyprcursor 0.1.12
 hyprgraphics 0.1.3


no flags were set

This install again was based on a fresh minimal Arch install. If I find time tonight I'll give it a try on my laptop as well.

@rubiin
Copy link
Collaborator

rubiin commented May 14, 2025

No problem on mine so far

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants