aboutsummaryrefslogtreecommitdiffstats
path: root/config/hypr/configs
diff options
context:
space:
mode:
Diffstat (limited to 'config/hypr/configs')
-rw-r--r--config/hypr/configs/ENVariables.conf92
-rw-r--r--config/hypr/configs/Keybinds.conf87
-rw-r--r--config/hypr/configs/Laptops.conf33
-rw-r--r--config/hypr/configs/Startup_Apps.conf22
-rw-r--r--config/hypr/configs/SystemSettings.conf124
-rw-r--r--config/hypr/configs/WindowRules-config-v3.conf208
6 files changed, 554 insertions, 12 deletions
diff --git a/config/hypr/configs/ENVariables.conf b/config/hypr/configs/ENVariables.conf
new file mode 100644
index 00000000..d38c2d36
--- /dev/null
+++ b/config/hypr/configs/ENVariables.conf
@@ -0,0 +1,92 @@
+# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
+# Environment variables. See https://wiki.hyprland.org/Configuring/Environment-variables/
+
+# Set your defaults editor through ENV in ~/.config/hypr/UserConfigs/01-UserDefaults.conf
+
+# environment-variables
+# Current Version of JakooLit Dotfiles:
+env = DOTS_VERSION,2.3.18
+
+### Toolkit Backend Variables ###
+env = GDK_BACKEND,wayland,x11,*
+env = QT_QPA_PLATFORM,wayland;xcb
+env = CLUTTER_BACKEND,wayland
+
+#Run SDL2 applications on Wayland.
+#Remove or set to x11 if games that provide older versions of SDL cause compatibility issues
+#env = SDL_VIDEODRIVER,wayland
+
+### XDG Specifications ###
+env = XDG_CURRENT_DESKTOP,Hyprland
+env = XDG_SESSION_DESKTOP,Hyprland
+env = XDG_SESSION_TYPE,wayland
+
+### QT Variables ###
+env = QT_AUTO_SCREEN_SCALE_FACTOR,1
+env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
+env = QT_QPA_PLATFORMTHEME,qt5ct
+env = QT_QPA_PLATFORMTHEME,qt6ct
+
+### hyprland-qt-support ###
+env = QT_QUICK_CONTROLS_STYLE,org.hyprland.style
+
+### xwayland apps scale fix (useful if you are use monitor scaling) ###
+# Set same value if you use scaling in Monitors.conf
+# 1 is 100% 1.5 is 150%
+# see https://wiki.hyprland.org/Configuring/XWayland/
+env = GDK_SCALE,1
+env = QT_SCALE_FACTOR,1
+
+# Bibata-Modern-Ice-Cursor
+# NOTE! You must have the hyprcursor version to activate this.
+# https://wiki.hyprland.org/Hypr-Ecosystem/hyprcursor/
+#env = HYPRCURSOR_THEME,Bibata-Modern-Ice
+#env = HYPRCURSOR_SIZE,24
+
+### firefox ###
+env = MOZ_ENABLE_WAYLAND,1
+
+### electron >28 apps (may help) ###
+# https://www.electronjs.org/docs/latest/api/environment-variables
+env = ELECTRON_OZONE_PLATFORM_HINT,auto # auto selects Wayland if possible, X11 otherwise
+
+### NVIDIA ###
+# This is from Hyprland Wiki. Below will be activated nvidia gpu detected
+# See hyprland wiki https://wiki.hyprland.org/Nvidia/#environment-variables
+
+#env = LIBVA_DRIVER_NAME,nvidia
+#env = __GLX_VENDOR_LIBRARY_NAME,nvidia
+#env = NVD_BACKEND,direct
+#env = GSK_RENDERER,ngl
+
+### additional ENV's for nvidia. Caution, activate with care ###
+#env = GBM_BACKEND,nvidia-drm
+
+#env = __GL_GSYNC_ALLOWED,1 #adaptive Vsync
+#env = __NV_PRIME_RENDER_OFFLOAD,1
+#env = __VK_LAYER_NV_optimus,NVIDIA_only
+#env = WLR_DRM_NO_ATOMIC,1
+
+### FOR VM and POSSIBLY NVIDIA ###
+# LIBGL_ALWAYS_SOFTWARE software mesa rendering
+#env = LIBGL_ALWAYS_SOFTWARE,1 # Warning. May cause hyprland to crash
+#env = WLR_RENDERER_ALLOW_SOFTWARE,1
+
+### nvidia firefox ###
+# check this post https://github.com/elFarto/nvidia-vaapi-driver#configuration
+#env = MOZ_DISABLE_RDD_SANDBOX,1
+#env = EGL_PLATFORM,wayland
+
+### Aquamarine Environment Variables (Hyprland > 0.45) ###
+# https://wiki.hyprland.org/Configuring/Environment-variables/#aquamarine-environment-variables----ref-httpsgithubcomhyprwmaquamarineblobmaindocsenvmd---
+# env = AQ_TRACE,1 # Enables more verbose logging.
+# env = AQ_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0 # Set an explicit list of DRM devices (GPUs) to use. It’s a colon-separated list of paths, with the first being the primary. E.g. /dev/dri/card1:/dev/dri/card0
+# env = AQ_MGPU_NO_EXPLICIT,1 # Disables explicit syncing on mgpu buffers
+# env = AQ_NO_MODIFIERS,1 # Disables modifiers for DRM buffers
+
+#### Hyprland Environment Variables ####
+# https://wiki.hyprland.org/Configuring/Environment-variables/#hyprland-environment-variables
+# env = HYPRLAND_TRACE,1 # Enables more verbose logging.
+# env = HYPRLAND_NO_RT,1 # Disables realtime priority setting by Hyprland.
+# env = HYPRLAND_NO_SD_NOTIFY,1 # If systemd, disables the 'sd_notify' calls.
+# env = HYPRLAND_NO_SD_VARS,1 # Disables management of variables in systemd and dbus activation environments.
diff --git a/config/hypr/configs/Keybinds.conf b/config/hypr/configs/Keybinds.conf
index fbe3bfe5..1ddbc81a 100644
--- a/config/hypr/configs/Keybinds.conf
+++ b/config/hypr/configs/Keybinds.conf
@@ -8,6 +8,72 @@ $scriptsDir = $HOME/.config/hypr/scripts
$UserConfigs = $HOME/.config/hypr/UserConfigs
$UserScripts = $HOME/.config/hypr/UserScripts
+# settings for User defaults apps - set your default terminal and file manager on this file
+source= $UserConfigs/01-UserDefaults.conf
+
+#### STANDAR ####
+# Common shortcuts
+#bindr = $mainMod, $mainMod_L, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window # Super Key to Launch rofi menu
+bindd = $mainMod, D, app launcher, exec, pkill rofi || true && rofi -show drun -modi drun,filebrowser,run,window
+bindd = $mainMod, B, open default browser, exec, xdg-open "https://"
+bindd = $mainMod, A, desktop overview, exec, $scriptsDir/OverviewToggle.sh # toggles quickshell or ags overview (tries QS first, falls back to AGS)
+#bindd = $mainMod, A, ags overview, exec, pkill rofi || true && ags -t 'overview' # desktop overview (if installed)
+#bindd = $mainMod, A, Quickshell overview, global, quickshell:overviewToggle # desktop overview (if installed)
+bindd = $mainMod, Return, Open terminal, exec, $term
+bindd = $mainMod, E, file manager, exec, $files
+
+# FEATURES / EXTRAS
+bindd = $mainMod, H, help / cheat sheet, exec, $scriptsDir/KeyHints.sh
+bindd = $mainMod ALT, R, refresh bar and menus, exec, $scriptsDir/Refresh.sh
+bindd = $mainMod ALT, E, emoji menu, exec, $scriptsDir/RofiEmoji.sh
+bindd = $mainMod, S, web search, exec, $scriptsDir/RofiSearch.sh
+bindd = $mainMod CTRL, S, window switcher, exec, rofi -show window
+bindd = $mainMod ALT, O, toggle blur, exec, $scriptsDir/ChangeBlur.sh
+bindd = $mainMod SHIFT, G, toggle game mode, exec, $scriptsDir/GameMode.sh
+bindd = $mainMod ALT, L, toggle master/dwindle layout, exec, $scriptsDir/ChangeLayout.sh
+bindd = $mainMod ALT, V, clipboard manager, exec, $scriptsDir/ClipManager.sh
+bindd = $mainMod CTRL, R, rofi theme selector, exec, $scriptsDir/RofiThemeSelector.sh
+bindd = $mainMod CTRL SHIFT, R, rofi theme selector (modified), exec, pkill rofi || true && $scriptsDir/RofiThemeSelector-modified.sh
+
+bindd = $mainMod SHIFT, F, fullscreen, fullscreen
+bindd = $mainMod CTRL, F, maximize window, fullscreen, 1
+bindd = $mainMod, SPACE, Float current window, togglefloating,
+bindd = $mainMod ALT, SPACE, Float all windows, exec, hyprctl dispatch workspaceopt allfloat
+bindd = $mainMod SHIFT, Return, DropDown terminal, exec, $scriptsDir/Dropterminal.sh $term
+
+# Desktop zooming or magnifier
+bindd = $mainMod ALT, mouse_down, zoom in, exec, hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor * 2.0}')"
+bindd = $mainMod ALT, mouse_up, zoom out, exec, hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor / 2.0}')"
+
+# Waybar / Bar related
+bindd = $mainMod CTRL ALT, B, toggle waybar on/off, exec, pkill -SIGUSR1 waybar
+bindd = $mainMod CTRL, B, waybar styles menu, exec, $scriptsDir/WaybarStyles.sh
+bindd = $mainMod ALT, B, waybar layout menu, exec, $scriptsDir/WaybarLayout.sh
+
+# Night light toggle (Hyprsunset)
+bindd = $mainMod, N, toggle night light, exec, $scriptsDir/Hyprsunset.sh toggle
+
+# FEATURES / EXTRAS (UserScripts)
+bindd = $mainMod SHIFT, M, online music, exec, $UserScripts/RofiBeats.sh
+bindd = $mainMod, W, select wallpaper, exec, $UserScripts/WallpaperSelect.sh
+bindd = $mainMod SHIFT, W, wallpaper effects, exec, $UserScripts/WallpaperEffects.sh
+bindd = CTRL ALT, W, random wallpaper, exec, $UserScripts/WallpaperRandom.sh
+bindd = $mainMod CTRL, O, toggle active window opacity, exec, hyprctl setprop active opaque toggle
+bindd = $mainMod SHIFT, K, search keybinds, exec, $scriptsDir/KeyBinds.sh
+bindd = $mainMod SHIFT, A, animations menu, exec, $scriptsDir/Animations.sh
+bindd = $mainMod SHIFT, O, change oh-my-zsh theme, exec, $UserScripts/ZshChangeTheme.sh
+bindlnd = ALT_L, SHIFT_L, switch keyboard layout globally, exec, $scriptsDir/SwitchKeyboardLayout.sh
+bindlnd = SHIFT_L, ALT_L, switch keyboard layout per-window, exec, $scriptsDir/Tak0-Per-Window-Switch.sh
+bindd = $mainMod ALT, C, calculator, exec, $UserScripts/RofiCalc.sh
+
+# Move current workspaces to monitors (left right up or down)
+bindd = $mainMod CTRL, F9, move workspace to left monitor, movecurrentworkspacetomonitor, l
+bindd = $mainMod CTRL, F10, move workspace to right monitor, movecurrentworkspacetomonitor, r
+bindd = $mainMod CTRL, F11, move workspace to up monitor, movecurrentworkspacetomonitor, u
+bindd = $mainMod CTRL, F12, move workspace to down monitor, movecurrentworkspacetomonitor, d
+
+
+#### SYSTEM ####
bindd = CTRL ALT, Delete, exit Hyprland, exec, hyprctl dispatch exit 0
bindd = $mainMod, Q, close active window, killactive,
bindd = $mainMod SHIFT, Q, Terminate active process, exec, $scriptsDir/KillActiveProcess.sh
@@ -32,9 +98,6 @@ bindd = $mainMod, P, toggle pseudo (dwindle), pseudo,
# Works on either layout (Master or Dwindle)
bindd = $mainMod, M, set split ratio 0.3, exec, hyprctl dispatch splitratio 0.3
-# group
-bindd = $mainMod, G, toggle group, togglegroup
-bindd = $mainMod CTRL, tab, change active in group, changegroupactive
# Cycle windows; if floating bring to top
bindd = ALT, tab, cycle next window, cyclenext
@@ -84,6 +147,24 @@ bindd = $mainMod ALT, right, swap window right, swapwindow, r
bindd = $mainMod ALT, up, swap window up, swapwindow, u
bindd = $mainMod ALT, down, swap window down, swapwindow, d
+# group
+bindd = $mainMod, G, toggle group, togglegroup
+
+# Navigate within a group
+bindd = $mainMod, Tab, Change Group Forward, changegroupactive, f
+bindd = $mainMod CTRL, tab, change active in group, changegroupactive
+bindd = $mainMod SHIFT, Tab, Change Group Back, changegroupactive, b
+
+# Move window into/out of group
+bindd = $mainMod CTRL, K, Move left into group, moveintogroup, l # Move active window left into a group A
+bindd = $mainMod CTRL, L, Move Right into group, moveintogroup, r # Move active window right into a group
+bindd = $mainMod CTRL, H, Move active out of group, moveoutofgroup # Move active window out of group
+
+# Try to dynamically move in grouped window and when ungrouped
+# Not working for me DW 11/26/25 PR: https://github.com/JaKooLit/Hyprland-Dots/pull/872
+#bindd = $mainMod, right, focus right, exec, bash -c 'if hyprctl activewindow -j | jq -e "((.grouped | type) == \"boolean\") or (.address == (.grouped[-1] // empty))" >/dev/null 2>&1; then hyprctl dispatch movefocus r; else hyprctl dispatch changegroupactive f; fi'
+#bindd = $mainMod, left, focus left, exec, bash -c 'if hyprctl activewindow -j | jq -e "((.grouped | type) == \"boolean\") or (.address == (.grouped[0] // empty))" >/dev/null 2>&1; then hyprctl dispatch movefocus l; else hyprctl dispatch changegroupactive b; fi'
+
# Move focus with mainMod + arrow keys
bindd = $mainMod, left, focus left, movefocus, l
bindd = $mainMod, right, focus right, movefocus, r
diff --git a/config/hypr/configs/Laptops.conf b/config/hypr/configs/Laptops.conf
new file mode 100644
index 00000000..d6addb1d
--- /dev/null
+++ b/config/hypr/configs/Laptops.conf
@@ -0,0 +1,33 @@
+# /* ---- 💫 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 # decrease keyboard brightness
+binde = , xf86KbdBrightnessUp, exec, $scriptsDir/BrightnessKbd.sh --inc # increase keyboard brightness
+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 # decrease monitor brightness
+binde = , xf86MonBrightnessUp, exec, $scriptsDir/Brightness.sh --inc # increase monitor brightness
+bind = , xf86TouchpadToggle, exec, $scriptsDir/TouchPad.sh # disable touchpad
+
+# Screenshot keybindings using F6 (no PrinSrc button)
+bind = $mainMod, F6, exec, $scriptsDir/ScreenShot.sh --now # screenshot
+bind = $mainMod SHIFT, F6, exec, $scriptsDir/ScreenShot.sh --area # screenshot (area)
+bind = $mainMod CTRL, F6, exec, $scriptsDir/ScreenShot.sh --in5 # # screenshot (5 secs delay)
+bind = $mainMod ALT, F6, exec, $scriptsDir/ScreenShot.sh --in10 # screenshot (10 secs delay)
+bind = ALT, F6, exec, $scriptsDir/ScreenShot.sh --active # screenshot (active window only)
+
+$TOUCHPAD_ENABLED = true
+device {
+ name = $Touchpad_Device
+ enabled = $TOUCHPAD_ENABLED
+}
+
diff --git a/config/hypr/configs/Startup_Apps.conf b/config/hypr/configs/Startup_Apps.conf
index 07a92a3f..0cfb6427 100644
--- a/config/hypr/configs/Startup_Apps.conf
+++ b/config/hypr/configs/Startup_Apps.conf
@@ -9,19 +9,20 @@ $lock = $scriptsDir/LockScreen.sh
$SwwwRandom = $UserScripts/WallpaperAutoChange.sh
$livewallpaper=""
-# wallpaper stuff
+### wallpaper stuff ###
exec-once = swww-daemon --format xrgb
#exec-once = mpvpaper '*' -o "load-scripts=no no-audio --loop" $livewallpaper
# wallpaper random
#exec-once = $SwwwRandom $wallDIR # random wallpaper switcher every 30 minutes
-# Startup
+### Startup ###
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = $scriptsDir/KeybindsLayoutInit.sh
-# Initialize Drop Down terminal - See Bug#810 https://github.com/JaKooLit/Hyprland-Dots/issues/810#issuecomment-3351947644
+# Drop Down terminal
+# See Bug#810 https://github.com/JaKooLit/Hyprland-Dots/issues/810#issuecomment-3351947644
exec-once = $HOME/.config/hypr/scripts/Dropterminal.sh kitty &
@@ -36,24 +37,27 @@ exec-once = swaync
#exec-once = blueman-applet
#exec-once = rog-control-center
exec-once = waybar
-exec-once = qs # quickshell AGS Desktop Overview alternative
+exec-once = qs -c overview # Quickshell Overview
-#clipboard manager
+# 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
+# hypridle for hyprlock
exec-once = hypridle
+# Resume Hyprsunset if state is "on" from previous session
+exec-once = $scriptsDir/Hyprsunset.sh init
# 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
+# Persistent wallpaper
+# exec-once = swww-daemon --format xrgb && swww img $HOME/Pictures/wallpapers/mecha-nostalgia.png
-#gnome polkit for nixos
+# 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 \ No newline at end of file
+#exec-once = $scriptsDir/PortalHyprland.sh
diff --git a/config/hypr/configs/SystemSettings.conf b/config/hypr/configs/SystemSettings.conf
new file mode 100644
index 00000000..44521156
--- /dev/null
+++ b/config/hypr/configs/SystemSettings.conf
@@ -0,0 +1,124 @@
+# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
+# Default 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/
+# NOTE: some settings are in ~/.config/hypr/UserConfigs/UserDecorAnimations.conf
+
+$scriptsDir = $HOME/.config/hypr/scripts
+
+dwindle {
+ pseudotile = true
+ preserve_split = true
+ #smart_split = true
+ special_scale_factor = 0.8
+}
+
+master {
+ new_status = master
+ new_on_top = 1
+ mfact = 0.5
+}
+
+general {
+ resize_on_border = true
+ layout = dwindle
+}
+
+input {
+ kb_layout = us
+ kb_variant =
+ kb_model =
+ kb_options =
+ kb_rules =
+ repeat_rate = 50
+ repeat_delay = 300
+
+ sensitivity = 0 #mouse sensitivity
+ #accel_profile = # flat or adaptive or blank or EMPTY means libinput’s default mode
+ numlock_by_default = true
+ left_handed = false
+ follow_mouse = 1
+ float_switch_override_focus = false
+
+ touchpad {
+ disable_while_typing = true
+ natural_scroll = true
+ clickfinger_behavior = false
+ middle_button_emulation = false
+ tap-to-click = true
+ drag_lock = false
+ }
+
+ # below for devices with touchdevice ie. touchscreen
+ touchdevice {
+ enabled = true
+ }
+
+ # below is for table see link above for proper variables
+ tablet {
+ transform = 0
+ left_handed = 0
+ }
+}
+
+
+gestures {
+ gesture = 3, horizontal, workspace
+ workspace_swipe_distance = 500
+ 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
+ #workspace_swipe_use_r = true #uncomment if wanted a forever create a new workspace with swipe right
+
+ gesture = 4, up, dispatcher, exec, hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor * 1.5}')"
+ gesture = 4, down, dispatcher, exec, hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor / 1.5}')"
+ gesture = 3, up, dispatcher, exec, $scriptsDir/OverviewToggle.sh
+}
+
+misc {
+ disable_hyprland_logo = true
+ disable_splash_rendering = true
+ vfr = true
+ vrr = 2
+ mouse_move_enables_dpms = true
+ enable_swallow = off
+ swallow_regex = ^(kitty)$
+ focus_on_activate = false
+ initial_workspace_tracking = 0
+ middle_click_paste = false
+ enable_anr_dialog = true # Application not Responding (ANR)
+ anr_missed_pings = 15 # ANR Threshold default 1 is too low
+ allow_session_lock_restore = true # Prevent lockscreen crash when resume from suspend
+}
+
+#opengl {
+# nvidia_anti_flicker = true
+#}
+
+binds {
+ workspace_back_and_forth = true
+ allow_workspace_cycles = true
+ pass_mouse_when_bound = false
+}
+
+#Could help when scaling and not pixelating
+xwayland {
+ enabled = true
+ force_zero_scaling = true
+}
+
+render {
+ direct_scanout = 0
+}
+
+cursor {
+ sync_gsettings_theme = true
+ no_hardware_cursors = 2 # change to 1 if want to disable
+ enable_hyprcursor = true
+ warp_on_change_workspace = 2
+ no_warps = true
+}
diff --git a/config/hypr/configs/WindowRules-config-v3.conf b/config/hypr/configs/WindowRules-config-v3.conf
new file mode 100644
index 00000000..fa62b316
--- /dev/null
+++ b/config/hypr/configs/WindowRules-config-v3.conf
@@ -0,0 +1,208 @@
+# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
+# For window rules and layerrules
+# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
+
+# NOTES: This is only for Hyprland > 0.52.1
+# note: This should NOT be implemented on Debian and Ubuntu
+# Vendor defaults for window rules and layerrules
+
+# windowrule - tags - add apps under appropriate tag to use the same settings
+windowrule = match:class ^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$, tag +browser
+windowrule = match:class ^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$, tag +browser
+windowrule = match:class ^(chrome-.+-Default)$ # Chrome PWAs, tag +browser
+windowrule = match:class ^([Cc]hromium)$, tag +browser
+windowrule = match:class ^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$, tag +browser
+windowrule = match:class ^(Brave-browser(-beta|-dev|-unstable)?)$, tag +browser
+windowrule = match:class ^([Tt]horium-browser|[Cc]achy-browser)$, tag +browser
+windowrule = match:class ^(zen-alpha|zen)$, tag +browser
+
+windowrule = match:class ^(swaync-control-center|swaync-notification-window|swaync-client|class)$, tag +notif
+
+windowrule = match:title ^(KooL Quick Cheat Sheet)$, tag +KooL_Cheat
+windowrule = match:title ^(KooL Hyprland Settings)$, tag +KooL_Settings
+windowrule = match:class ^(nwg-displays|nwg-look)$, tag +KooL-Settings
+
+windowrule = match:class ^(Alacritty|kitty|kitty-dropterm)$, tag +terminal
+
+windowrule = match:class ^([Tt]hunderbird|org.gnome.Evolution)$, tag +email
+windowrule = match:class ^(eu.betterbird.Betterbird)$, tag +email
+
+windowrule = match:class ^(codium|codium-url-handler|VSCodium)$, tag +projects
+windowrule = match:class ^(VSCode|code-url-handler)$, tag +projects
+windowrule = match:class ^(jetbrains-.+)$ # JetBrains IDEs, tag +projects
+
+windowrule = match:class ^(com.obsproject.Studio)$, tag +screenshare
+
+windowrule = match:class ^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$, tag +im
+windowrule = match:class ^([Ff]erdium)$, tag +im
+windowrule = match:class ^([Ww]hatsapp-for-linux)$, tag +im
+windowrule = match:class ^(ZapZap|com.rtosta.zapzap)$, tag +im
+windowrule = match:class ^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$, tag +im
+windowrule = match:class ^(teams-for-linux)$, tag +im
+windowrule = match:class ^(im.riot.Riot|Element)$ # Element Matrix client, tag +im
+
+windowrule = match:class ^(gamescope)$, tag +games
+windowrule = match:class ^(steam_app_\d+)$, tag +games
+
+windowrule = match:class ^([Ss]team)$, tag +gamestore
+windowrule = match:title ^([Ll]utris)$, tag +gamestore
+windowrule = match:class ^(com.heroicgameslauncher.hgl)$, tag +gamestore
+
+windowrule = match:class ^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$, tag +file-manager
+windowrule = match:class ^(app.drey.Warp)$, tag +file-manager
+
+windowrule = match:class ^([Ww]aytrogen)$, tag +wallpaper
+windowrule = match:class ^([Aa]udacious)$, tag +multimedia
+windowrule = match:class ^([Mm]pv|vlc)$, tag +multimedia_video
+
+windowrule = match:title ^(ROG Control)$, tag +settings
+windowrule = match:class ^(wihotspot(-gui)?)$ # wifi hotspot, tag +settings
+windowrule = match:class ^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer, tag +settings
+windowrule = match:class ^(gnome-disks|wihotspot(-gui)?)$, tag +settings
+windowrule = match:title (Kvantum Manager), tag +settings
+windowrule = match:class ^(file-roller|org.gnome.FileRoller)$ # archive manager, tag +settings
+windowrule = match:class ^(nm-applet|nm-connection-editor|blueman-manager)$, tag +settings
+windowrule = match:class ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$, tag +settings
+windowrule = match:class ^(qt5ct|qt6ct|[Yy]ad)$, tag +settings
+windowrule = match:class (xdg-desktop-portal-gtk), tag +settings
+windowrule = match:class ^(org.kde.polkit-kde-authentication-agent-1)$, tag +settings
+windowrule = match:class ^([Rr]ofi)$, tag +settings
+
+windowrule = match:class ^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ # system monitor, tag +viewer
+windowrule = match:class ^(evince)$ # document viewer, tag +viewer
+windowrule = match:class ^(eog|org.gnome.Loupe)$ # image viewer, tag +viewer
+
+windowrule = match:tag multimedia_video*, noblur
+windowrule = match:tag multimedia_video*, opacity 1.0
+
+# POSITION
+windowrule = match:tag KooL_Cheat*, center
+windowrule = match:class ([Tt]hunar) title negative:(.*[Tt]hunar.*), center
+windowrule = match:title ^(ROG Control)$, center
+windowrule = match:tag KooL-Settings*, center
+windowrule = match:title ^(Keybindings)$, center
+windowrule = match:class ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$, center
+windowrule = match:class ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$, center
+windowrule = match:class ^([Ff]erdium)$, center
+windowrule = match:title ^(Picture-in-Picture)$, move 72% 7%
+#windowrule = move 72% 7%,title:^(Firefox)$
+
+# windowrule to avoid idle for fullscreen apps
+#windowrule = idleinhibit fullscreen, class:^(*)$
+#windowrule = idleinhibit fullscreen, title:^(*)$
+windowrule = match:fullscreen 1, idleinhibit fullscreen
+
+# windowrule move to workspace
+#windowrule = workspace 1, tag:email*
+#windowrule = workspace 2, tag:browser*
+#windowrule = workspace 3, class:^([Tt]hunar)$
+#windowrule = workspace 3, tag:projects*
+#windowrule = workspace 5, tag:gamestore*
+#windowrule = workspace 7, tag:im*
+#windowrule = workspace 8, tag:games*
+
+# windowrule move to workspace (silent)
+#windowrule = workspace 4 silent, tag:screenshare*
+#windowrule = workspace 6 silent, class:^(virt-manager)$
+#windowrule = workspace 6 silent, class:^(.virt-manager-wrapped)$
+#windowrule = workspace 9 silent, tag:multimedia*
+
+# FLOAT
+windowrule = match:tag KooL_Cheat*, float
+windowrule = match:tag wallpaper*, float
+windowrule = match:tag settings*, float
+windowrule = match:tag viewer*, float
+windowrule = match:tag KooL-Settings*, float
+windowrule = match:class ([Zz]oom|onedriver|onedriver-launcher)$, float
+windowrule = match:class (org.gnome.Calculator) title (Calculator), float
+windowrule = match:class ^(mpv|com.github.rafostar.Clapper)$, float
+windowrule = match:class ^([Qq]alculate-gtk)$, float
+#windowrule = float, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
+windowrule = match:class ^([Ff]erdium)$, float
+windowrule = match:title ^(Picture-in-Picture)$, float
+#windowrule = float, title:^(Firefox)$
+
+# windowrule - ######### float popups and dialogue #######
+windowrule = match:title ^(Authentication Required)$, float
+windowrule = match:title ^(Authentication Required)$, center
+windowrule = match:class (codium|codium-url-handler|VSCodium) title negative:(.*codium.*|.*VSCodium.*), float
+windowrule = match:class ^(com.heroicgameslauncher.hgl)$ title negative:(Heroic Games Launcher), float
+windowrule = match:class ^([Ss]team)$ title negative:^([Ss]team)$, float
+windowrule = match:class ([Tt]hunar) title negative:(.*[Tt]hunar.*), float
+windowrule = match:title ^(Add Folder to Workspace)$, float
+windowrule = match:title ^(Add Folder to Workspace)$, size 70% 60%
+windowrule = match:title ^(Add Folder to Workspace)$, center
+windowrule = match:title ^(Save As)$, float
+windowrule = match:title ^(Save As)$, size 70% 60%
+windowrule = match:title ^(Save As)$, center
+windowrule = match:initialTitle (Open Files), float
+windowrule = match:initialTitle (Open Files), size 70% 60%
+windowrule = match:title ^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background, float
+windowrule = match:title ^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background, center
+windowrule = match:title ^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background, size 16% 12%
+# END of float popups and dialogue #######
+
+# OPACITY
+windowrule = match:tag browser*, opacity 0.99 0.8
+windowrule = match:tag projects*, opacity 0.9 0.8
+windowrule = match:tag im*, opacity 0.94 0.86
+windowrule = match:tag multimedia*, opacity 0.94 0.86
+windowrule = match:tag file-manager*, opacity 0.9 0.8
+windowrule = match:tag terminal*, opacity 0.9 0.7
+windowrule = match:tag settings*, opacity 0.8 0.7
+windowrule = match:tag viewer*, opacity 0.82 0.75
+windowrule = match:tag wallpaper*, opacity 0.9 0.7
+windowrule = match:class ^(gedit|org.gnome.TextEditor|mousepad)$, opacity 0.8 0.7
+windowrule = match:class ^(deluge)$, opacity 0.9 0.8
+windowrule = match:class ^(seahorse)$ # gnome-keyring gui, opacity 0.9 0.8
+windowrule = match:title ^(Picture-in-Picture)$, opacity 0.95 0.75
+windowrule = match:class ^(code)$, opacity 0.9
+
+# SIZE
+windowrule = match:tag KooL_Cheat*, size 65% 90%
+windowrule = match:tag wallpaper*, size 70% 70%
+windowrule = match:tag settings*, size 70% 70%
+windowrule = match:class ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$, size 60% 70%
+windowrule = match:class ^([Ff]erdium)$, size 60% 70%
+
+#windowrule = size 25% 25%, title:^(Picture-in-Picture)$
+#windowrule = size 25% 25%, title:^(Firefox)$
+
+# PINNING
+windowrule = match:title ^(Picture-in-Picture)$, pin
+#windowrule = pin,title:^(Firefox)$
+
+# windowrule - extras
+windowrule = match:title ^(Picture-in-Picture)$, keepaspectratio
+
+# BLUR & FULLSCREEN
+windowrule = match:tag games*, noblur
+windowrule = match:tag games*, fullscreen
+
+#This not gonna take the focus to the window that appears when hovering over some of the parts of the IntelliJ Products
+windowrule = match:class ^(jetbrains-*), noinitialfocus
+windowrule = match:title ^(wind.*)$, noinitialfocus
+
+#This will gonna make the VS Code bluer like other apps
+windowrule = match:class ^(code)$, opacity 0.8
+
+#windowrule = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1
+#windowrule = bordercolor rgb(282737) rgb(1E1D2D), floating:1
+#windowrule = opacity 0.8 0.8, pinned:1
+
+# LAYER RULES
+layerrule = blur, rofi
+layerrule = ignorezero, rofi
+layerrule = blur, notifications
+layerrule = ignorezero, notifications
+layerrule = blur, quickshell:overview
+layerrule = ignorezero, quickshell:overview
+layerrule = ignorealpha 0.5, quickshell:overview
+
+#layerrule = ignorealpha 0.5, tag:notif*
+#layerrule = ignorezero, class:^([Rr]ofi)$
+#layerrule = blur, class:^([Rr]ofi)$
+#layerrule = unset,class:^([Rr]ofi)$
+#layerrule = ignorezero, <rofi>
+#layerrule = ignorezero, overview
+#layerrule = blur, overview
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage