aboutsummaryrefslogtreecommitdiffstats
path: root/config/hypr
diff options
context:
space:
mode:
Diffstat (limited to 'config/hypr')
-rw-r--r--config/hypr/UserConfigs/ENVariables.conf69
-rw-r--r--config/hypr/UserConfigs/Laptops.conf26
-rw-r--r--config/hypr/UserConfigs/Startup_Apps.conf3
-rw-r--r--config/hypr/UserConfigs/UserKeybinds.conf71
-rw-r--r--config/hypr/UserConfigs/UserSettings.conf114
-rw-r--r--config/hypr/UserConfigs/WindowRules-old.conf206
-rw-r--r--config/hypr/UserConfigs/WindowRules.conf233
-rw-r--r--config/hypr/UserConfigs/WorkSpaceRules.conf (renamed from config/hypr/UserConfigs/WorkSpaceRules)0
-rwxr-xr-xconfig/hypr/UserScripts/WallpaperSelect.sh2
-rwxr-xr-xconfig/hypr/UserScripts/Weather.py2
-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
-rw-r--r--config/hypr/hyprland.conf35
-rw-r--r--config/hypr/hyprlock-1080p.conf80
-rw-r--r--config/hypr/hyprlock.conf99
-rwxr-xr-xconfig/hypr/scripts/ChangeLayout.sh10
-rwxr-xr-xconfig/hypr/scripts/GameMode.sh1
-rwxr-xr-xconfig/hypr/scripts/Hyprsunset.sh22
-rwxr-xr-xconfig/hypr/scripts/KeyBinds.sh95
-rwxr-xr-xconfig/hypr/scripts/KeybindsLayoutInit.sh40
-rwxr-xr-xconfig/hypr/scripts/Kool_Quick_Settings.sh57
-rwxr-xr-xconfig/hypr/scripts/OverviewToggle.sh14
-rwxr-xr-xconfig/hypr/scripts/Refresh.sh33
-rwxr-xr-xconfig/hypr/scripts/UserConfigsSwitcher.sh56
28 files changed, 926 insertions, 908 deletions
diff --git a/config/hypr/UserConfigs/ENVariables.conf b/config/hypr/UserConfigs/ENVariables.conf
index 4e736dc3..41d9b2d4 100644
--- a/config/hypr/UserConfigs/ENVariables.conf
+++ b/config/hypr/UserConfigs/ENVariables.conf
@@ -3,54 +3,20 @@
# 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
+### 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
-# 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).
+### 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
+# 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
+### NVIDIA ###
# This is from Hyprland Wiki. Below will be activated nvidia gpu detected
# See hyprland wiki https://wiki.hyprland.org/Nvidia/#environment-variables
@@ -59,34 +25,27 @@ env = ELECTRON_OZONE_PLATFORM_HINT,auto # auto selects Wayland if possible, X11
#env = NVD_BACKEND,direct
#env = GSK_RENDERER,ngl
-# additional ENV's for nvidia. Caution, activate with care
+### 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
+### 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 (for hardware acceleration on FF)?
+### 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---
+### Aquamarine Environment Variables (Hyprland > 0.45) ###
+# https://wiki.hyprland.org/Configuring/Environment-variables/#aquamarine-environment-variables
# 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/UserConfigs/Laptops.conf b/config/hypr/UserConfigs/Laptops.conf
index edb68463..af5cb583 100644
--- a/config/hypr/UserConfigs/Laptops.conf
+++ b/config/hypr/UserConfigs/Laptops.conf
@@ -1,5 +1,4 @@
# /* ---- πŸ’« 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
@@ -7,30 +6,6 @@ $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
-}
# Below are useful when you are connecting your laptop in external display
# Suggest you edit below for your laptop display
# From WIKI This is to disable laptop monitor when lid is closed.
@@ -52,4 +27,3 @@ device {
# for laptop-lid action (to erase the last entry)
#exec-once = echo "monitor = eDP-1, preferred, auto, 1" > $HOME/.config/hypr/UserConfigs/LaptopDisplay.conf
-#
diff --git a/config/hypr/UserConfigs/Startup_Apps.conf b/config/hypr/UserConfigs/Startup_Apps.conf
new file mode 100644
index 00000000..f00acf90
--- /dev/null
+++ b/config/hypr/UserConfigs/Startup_Apps.conf
@@ -0,0 +1,3 @@
+# /* ---- πŸ’« https://github.com/JaKooLit πŸ’« ---- */ #
+# Commands and Apps to be executed at launch
+
diff --git a/config/hypr/UserConfigs/UserKeybinds.conf b/config/hypr/UserConfigs/UserKeybinds.conf
index 17711559..e140cfe4 100644
--- a/config/hypr/UserConfigs/UserKeybinds.conf
+++ b/config/hypr/UserConfigs/UserKeybinds.conf
@@ -11,73 +11,30 @@ $scriptsDir = $HOME/.config/hypr/scripts
$UserScripts = $HOME/.config/hypr/UserScripts
$UserConfigs = $HOME/.config/hypr/UserConfigs
-# settings for User defaults apps - set your default terminal and file manager on this file
-source= $UserConfigs/01-UserDefaults.conf
+# IMPORTANT: If you want to remap and existing keybind you MUST unbindd it first
-# 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
+# The bindings are CASE SENSITIVE. We suggest you copy the exisitng binding here
+# Then change `bindd` to `unbind`
+# E.g.
+# unbind = $mainMod, Return, Open terminal, exec, $term
+# bindd = $mainMod, Return, Open terminal, exec, ghostty
+#
+# unbind = $mainMod, E, file manager, exec, $files
+# bindd = $mainMod, T, 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
+# If you are ADDING a bindd, make sure you include the description
+# Other the keybind search menu might not show it properly
+
+# E.g.
+# bindd = $mainMod, Z, My z app, exec APPNAME
-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}')"
-## NOTES for ja (Hyprland version 0.39 (Ubuntu 24.04))
-#bind = $mainMod ALT, mouse_down, exec, hyprctl keyword misc:cursor_zoom_factor "$(hyprctl getoption misc:cursor_zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor * 2.0}')"
-#bind = $mainMod ALT, mouse_up, exec, hyprctl keyword misc:cursor_zoom_factor "$(hyprctl getoption misc: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
# For passthrough keyboard into a VM
diff --git a/config/hypr/UserConfigs/UserSettings.conf b/config/hypr/UserConfigs/UserSettings.conf
index f81ccc6a..df68b396 100644
--- a/config/hypr/UserConfigs/UserSettings.conf
+++ b/config/hypr/UserConfigs/UserSettings.conf
@@ -4,117 +4,7 @@
# 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
+#
+# Look on ~/.config/hypr/configs/SystemSettings.conf to know how to modify this
-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
-}
-
-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/UserConfigs/WindowRules-old.conf b/config/hypr/UserConfigs/WindowRules-old.conf
deleted file mode 100644
index d6e1dead..00000000
--- a/config/hypr/UserConfigs/WindowRules-old.conf
+++ /dev/null
@@ -1,206 +0,0 @@
-# /* ---- πŸ’« 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 older versions (< 0.48)
-
-# windowrule v2 - tags - add apps under appropriate tag to use the same settings
-# browser tags
-windowrulev2 = tag +browser, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$
-windowrulev2 = tag +browser, class:^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$
-windowrulev2 = tag +browser, class:^(chrome-.+-Default)$ # Chrome PWAs
-windowrulev2 = tag +browser, class:^([Cc]hromium)$
-windowrulev2 = tag +browser, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$
-windowrulev2 = tag +browser, class:^(Brave-browser(-beta|-dev|-unstable)?)$
-windowrulev2 = tag +browser, class:^([Tt]horium-browser|[Cc]achy-browser)$
-windowrulev2 = tag +browser, class:^(zen-alpha|zen)$
-windowrulev2 = tag +notif, class:^(swaync-control-center|swaync-notification-window|swaync-client|class)$
-windowrulev2 = tag +KooL_Cheat, title:^(KooL Quick Cheat Sheet)$
-windowrulev2 = tag +KooL_Settings, title:^(KooL Hyprland Settings)$
-windowrulev2 = tag +KooL-Settings, class:^(nwg-displays|nwg-look)$
-
-# terminal tags
-windowrulev2 = tag +terminal, class:^(Alacritty|kitty|kitty-dropterm)$
-
-# email tags
-windowrulev2 = tag +email, class:^([Tt]hunderbird|org.gnome.Evolution)$
-windowrulev2 = tag +email, class:^(eu.betterbird.Betterbird)$
-
-# project tags
-windowrulev2 = tag +projects, class:^(codium|codium-url-handler|VSCodium)$
-windowrulev2 = tag +projects, class:^(VSCode|code-url-handler)$
-windowrulev2 = tag +projects, class:^(jetbrains-.+)$ # JetBrains IDEs
-
-# screenshare tags
-windowrulev2 = tag +screenshare, class:^(com.obsproject.Studio)$
-
-# IM tags
-windowrulev2 = tag +im, class:^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$
-windowrulev2 = tag +im, class:^([Ff]erdium)$
-windowrulev2 = tag +im, class:^([Ww]hatsapp-for-linux)$
-windowrulev2 = tag +im, class:^(ZapZap|com.rtosta.zapzap)$
-windowrulev2 = tag +im, class:^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$
-windowrulev2 = tag +im, class:^(teams-for-linux)$
-
-# game tags
-windowrulev2 = tag +games, class:^(gamescope)$
-windowrulev2 = tag +games, class:^(steam_app_\d+)$
-
-# gamestore tags
-windowrulev2 = tag +gamestore, class:^([Ss]team)$
-windowrulev2 = tag +gamestore, title:^([Ll]utris)$
-windowrulev2 = tag +gamestore, class:^(com.heroicgameslauncher.hgl)$
-
-# file-manager tags
-windowrulev2 = tag +file-manager, class:^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$
-windowrulev2 = tag +file-manager, class:^(app.drey.Warp)$
-
-# wallpaper tags
-windowrulev2 = tag +wallpaper title:^([Ww]aytrogen)$
-windowrulev2 = tag +wallpaper, class:^([Ww]aytrogen)$
-
-# multimedia tags
-windowrulev2 = tag +multimedia, class:^([Aa]udacious)$
-
-
-# settings tags
-windowrulev2 = tag +settings, title:^(ROG Control)$
-windowrulev2 = tag +settings, class:^(wihotspot(-gui)?)$ # wifi hotspot
-windowrulev2 = tag +settings, class:^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer
-windowrulev2 = tag +settings, class:^(gnome-disks|wihotspot(-gui)?)$
-windowrulev2 = tag +settings, title:(Kvantum Manager)
-windowrulev2 = tag +settings, class:^(file-roller|org.gnome.FileRoller)$ # archive manager
-windowrulev2 = tag +settings, class:^(nm-applet|nm-connection-editor|blueman-manager)$
-windowrulev2 = tag +settings, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$
-windowrulev2 = tag +settings, class:^(qt5ct|qt6ct|[Yy]ad)$
-windowrulev2 = tag +settings, class:(xdg-desktop-portal-gtk)
-windowrulev2 = tag +settings, class:^(org.kde.polkit-kde-authentication-agent-1)$
-windowrulev2 = tag +settings, class:^([Rr]ofi)$
-
-# viewer tags
-windowrulev2 = tag +viewer, class:^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ # system monitor
-windowrulev2 = tag +viewer, class:^(evince)$ # document viewer
-windowrulev2 = tag +viewer, class:^(eog|org.gnome.Loupe)$ # image viewer
-
-# POSITION
-# windowrulev2 = center,floating:1 # warning, it cause even the menu to float and center.
-windowrulev2 = center, tag:KooL_Cheat*
-windowrulev2 = center, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)
-windowrulev2 = center, title:^(ROG Control)$
-windowrulev2 = center, tag:KooL-Settings*
-windowrulev2 = center, title:^(Keybindings)$
-windowrulev2 = center, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$
-windowrulev2 = center, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
-windowrulev2 = center, class:^([Ff]erdium)$
-windowrulev2 = move 72% 7%,title:^(Picture-in-Picture)$
-#windowrulev2 = move 72% 7%,title:^(Firefox)$
-
-# windowrule v2 to avoid idle for fullscreen apps
-#windowrulev2 = idleinhibit fullscreen, class:^(*)$
-#windowrulev2 = idleinhibit fullscreen, title:^(*)$
-windowrulev2 = idleinhibit fullscreen, fullscreen:1
-
-# windowrule v2 move to workspace
-windowrulev2 = workspace 1, tag:email*
-windowrulev2 = workspace 2, tag:browser*
-#windowrulev2 = workspace 3, class:^([Tt]hunar)$
-#windowrulev2 = workspace 3, tag:projects*
-windowrulev2 = workspace 5, tag:gamestore*
-windowrulev2 = workspace 7, tag:im*
-windowrulev2 = workspace 8, tag:games*
-
-# windowrule v2 move to workspace (silent)
-windowrulev2 = workspace 4 silent, tag:screenshare*
-windowrulev2 = workspace 6 silent, class:^(virt-manager)$
-windowrulev2 = workspace 6 silent, class:^(.virt-manager-wrapped)$
-windowrulev2 = workspace 9 silent, tag:multimedia*
-
-# FLOAT
-windowrulev2 = float, tag:KooL_Cheat*
-windowrulev2 = float, tag:wallpaper*
-windowrulev2 = float, tag:settings*
-windowrulev2 = float, tag:viewer*
-windowrulev2 = float, tag:KooL-Settings*
-windowrulev2 = float, class:([Zz]oom|onedriver|onedriver-launcher)$
-windowrulev2 = float, class:(org.gnome.Calculator), title:(Calculator)
-windowrulev2 = float, class:^(mpv|com.github.rafostar.Clapper)$
-windowrulev2 = float, class:^([Qq]alculate-gtk)$
-#windowrulev2 = float, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
-windowrulev2 = float, class:^([Ff]erdium)$
-windowrulev2 = float, title:^(Picture-in-Picture)$
-#windowrulev2 = float, title:^(Firefox)$
-
-
-#windowrule v2 - float popups and dialogue
-windowrulev2 = float, title:^(Authentication Required)$
-windowrulev2 = center, title:^(Authentication Required)$
-windowrulev2 = float, class:(codium|codium-url-handler|VSCodium), title:negative:(.*codium.*|.*VSCodium.*)
-windowrulev2 = float, class:^(com.heroicgameslauncher.hgl)$, title:negative:(Heroic Games Launcher)
-windowrulev2 = float, class:^([Ss]team)$, title:negative:^([Ss]team)$
-windowrulev2 = float, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)
-#windowrulev2 = float, class:(electron), title:(Add Folder to Workspace)
-windowrulev2 = float, title:^(Add Folder to Workspace)$
-windowrulev2 = size 70% 60%, title:^(Add Folder to Workspace)$
-windowrulev2 = center, title:^(Add Folder to Workspace)$
-windowrulev2 = float, initialTitle:(Open Files)
-windowrulev2 = size 70% 60%, initialTitle:(Open Files)
-windowrulev2 = float, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
-windowrulev2 = center, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
-windowrulev2 = size 16% 12%, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
-
-# OPACITY
-windowrulev2 = opacity 0.9 0.7, tag:browser*
-windowrulev2 = opacity 0.9 0.8, tag:projects*
-windowrulev2 = opacity 0.94 0.86, tag:im*
-windowrulev2 = opacity 0.94 0.86, tag:multimedia*
-windowrulev2 = opacity 0.9 0.8, tag:file-manager*
-windowrulev2 = opacity 0.8 0.7, tag:terminal*
-windowrulev2 = opacity 0.8 0.7, tag:settings*
-windowrulev2 = opacity 0.82 0.75, tag:viewer*
-windowrulev2 = opacity 0.9 0.7, tag:wallpaper*
-windowrulev2 = opacity 0.8 0.7, class:^(gedit|org.gnome.TextEditor|mousepad)$
-windowrulev2 = opacity 0.9 0.8, class:^(deluge)$
-windowrulev2 = opacity 0.9 0.8, class:^(im.riot.Riot)$ # Element matrix client
-windowrulev2 = opacity 0.9 0.8, class:^(seahorse)$ # gnome-keyring gui
-windowrulev2 = opacity 0.95 0.75, title:^(Picture-in-Picture)$
-
-
-# SIZE
-windowrulev2 = size 65% 90%, tag:KooL_Cheat*
-windowrulev2 = size 70% 70%, tag:wallpaper*
-windowrulev2 = size 70% 70%, tag:settings*
-windowrulev2 = size 60% 70%, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
-windowrulev2 = size 60% 70%, class:^([Ff]erdium)$
-
-#windowrulev2 = size 25% 25%, title:^(Picture-in-Picture)$
-#windowrulev2 = size 25% 25%, title:^(Firefox)$
-
-# PINNING
-windowrulev2 = pin, title:^(Picture-in-Picture)$
-#windowrulev2 = pin,title:^(Firefox)$
-
-# windowrule v2 - extras
-windowrulev2 = keepaspectratio, title:^(Picture-in-Picture)$
-
-# BLUR & FULLSCREEN
-windowrulev2 = noblur, tag:games*
-windowrulev2 = fullscreen, tag:games*
-
-#windowrulev2 = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1
-#windowrulev2 = bordercolor rgb(282737) rgb(1E1D2D), floating:1
-#windowrulev2 = opacity 0.8 0.8, pinned:1
-
-# LAYER RULES
-layerrule = blur, rofi
-layerrule = ignorezero, rofi
-layerrule = blur, notifications
-layerrule = ignorezero, notifications
-#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 \ No newline at end of file
diff --git a/config/hypr/UserConfigs/WindowRules.conf b/config/hypr/UserConfigs/WindowRules.conf
index 2c24dafc..ee9eb317 100644
--- a/config/hypr/UserConfigs/WindowRules.conf
+++ b/config/hypr/UserConfigs/WindowRules.conf
@@ -2,234 +2,5 @@
# For window rules and layerrules
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
-# NOTES: This is only for Hyprland > 0.48
-
-# note for ja: This should NOT be implemented on Debian and Ubuntu
-
-# windowrule - tags - add apps under appropriate tag to use the same settings
-# browser tags
-windowrule = tag +browser, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$
-windowrule = tag +browser, class:^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$
-windowrule = tag +browser, class:^(chrome-.+-Default)$ # Chrome PWAs
-windowrule = tag +browser, class:^([Cc]hromium)$
-windowrule = tag +browser, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$
-windowrule = tag +browser, class:^(Brave-browser(-beta|-dev|-unstable)?)$
-windowrule = tag +browser, class:^([Tt]horium-browser|[Cc]achy-browser)$
-windowrule = tag +browser, class:^(zen-alpha|zen)$
-
-# notif tags
-windowrule = tag +notif, class:^(swaync-control-center|swaync-notification-window|swaync-client|class)$
-
-# KooL settings tag
-windowrule = tag +KooL_Cheat, title:^(KooL Quick Cheat Sheet)$
-windowrule = tag +KooL_Settings, title:^(KooL Hyprland Settings)$
-windowrule = tag +KooL-Settings, class:^(nwg-displays|nwg-look)$
-
-# terminal tags
-windowrule = tag +terminal, class:^(Alacritty|kitty|kitty-dropterm)$
-
-# email tags
-windowrule = tag +email, class:^([Tt]hunderbird|org.gnome.Evolution)$
-windowrule = tag +email, class:^(eu.betterbird.Betterbird)$
-
-# project tags
-windowrule = tag +projects, class:^(codium|codium-url-handler|VSCodium)$
-windowrule = tag +projects, class:^(VSCode|code-url-handler)$
-windowrule = tag +projects, class:^(jetbrains-.+)$ # JetBrains IDEs
-
-# screenshare tags
-windowrule = tag +screenshare, class:^(com.obsproject.Studio)$
-
-# IM tags
-windowrule = tag +im, class:^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$
-windowrule = tag +im, class:^([Ff]erdium)$
-windowrule = tag +im, class:^([Ww]hatsapp-for-linux)$
-windowrule = tag +im, class:^(ZapZap|com.rtosta.zapzap)$
-windowrule = tag +im, class:^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$
-windowrule = tag +im, class:^(teams-for-linux)$
-windowrule = tag +im, class:^(im.riot.Riot|Element)$ # Element Matrix client
-
-# game tags
-windowrule = tag +games, class:^(gamescope)$
-windowrule = tag +games, class:^(steam_app_\d+)$
-
-# gamestore tags
-windowrule = tag +gamestore, class:^([Ss]team)$
-windowrule = tag +gamestore, title:^([Ll]utris)$
-windowrule = tag +gamestore, class:^(com.heroicgameslauncher.hgl)$
-
-# file-manager tags
-windowrule = tag +file-manager, class:^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$
-windowrule = tag +file-manager, class:^(app.drey.Warp)$
-
-# wallpaper tags
-windowrule = tag +wallpaper, class:^([Ww]aytrogen)$
-
-# multimedia tags
-windowrule = tag +multimedia, class:^([Aa]udacious)$
-
-# multimedia-video tags
-windowrule = tag +multimedia_video, class:^([Mm]pv|vlc)$
-
-# settings tags
-windowrule = tag +settings, title:^(ROG Control)$
-windowrule = tag +settings, class:^(wihotspot(-gui)?)$ # wifi hotspot
-windowrule = tag +settings, class:^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer
-windowrule = tag +settings, class:^(gnome-disks|wihotspot(-gui)?)$
-windowrule = tag +settings, title:(Kvantum Manager)
-windowrule = tag +settings, class:^(file-roller|org.gnome.FileRoller)$ # archive manager
-windowrule = tag +settings, class:^(nm-applet|nm-connection-editor|blueman-manager)$
-windowrule = tag +settings, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$
-windowrule = tag +settings, class:^(qt5ct|qt6ct|[Yy]ad)$
-windowrule = tag +settings, class:(xdg-desktop-portal-gtk)
-windowrule = tag +settings, class:^(org.kde.polkit-kde-authentication-agent-1)$
-windowrule = tag +settings, class:^([Rr]ofi)$
-
-# viewer tags
-windowrule = tag +viewer, class:^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ # system monitor
-windowrule = tag +viewer, class:^(evince)$ # document viewer
-windowrule = tag +viewer, class:^(eog|org.gnome.Loupe)$ # image viewer
-
-# Some special override rules
-windowrule = noblur, tag:multimedia_video*
-windowrule = opacity 1.0, tag:multimedia_video*
-
-# POSITION
-# windowrule = center,floating:1 # warning, it cause even the menu to float and center.
-windowrule = center, tag:KooL_Cheat*
-windowrule = center, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)
-windowrule = center, title:^(ROG Control)$
-windowrule = center, tag:KooL-Settings*
-windowrule = center, title:^(Keybindings)$
-windowrule = center, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$
-windowrule = center, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
-windowrule = center, class:^([Ff]erdium)$
-windowrule = move 72% 7%,title:^(Picture-in-Picture)$
-#windowrule = move 72% 7%,title:^(Firefox)$
-
-# windowrule to avoid idle for fullscreen apps
-#windowrule = idleinhibit fullscreen, class:^(*)$
-#windowrule = idleinhibit fullscreen, title:^(*)$
-windowrule = idleinhibit fullscreen, fullscreen:1
-
-# 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 = float, tag:KooL_Cheat*
-windowrule = float, tag:wallpaper*
-windowrule = float, tag:settings*
-windowrule = float, tag:viewer*
-windowrule = float, tag:KooL-Settings*
-windowrule = float, class:([Zz]oom|onedriver|onedriver-launcher)$
-windowrule = float, class:(org.gnome.Calculator), title:(Calculator)
-windowrule = float, class:^(mpv|com.github.rafostar.Clapper)$
-windowrule = float, class:^([Qq]alculate-gtk)$
-#windowrule = float, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
-windowrule = float, class:^([Ff]erdium)$
-windowrule = float, title:^(Picture-in-Picture)$
-#windowrule = float, title:^(Firefox)$
-
-# windowrule - ######### float popups and dialogue #######
-windowrule = float, title:^(Authentication Required)$
-windowrule = center, title:^(Authentication Required)$
-windowrule = float, class:(codium|codium-url-handler|VSCodium), title:negative:(.*codium.*|.*VSCodium.*)
-windowrule = float, class:^(com.heroicgameslauncher.hgl)$, title:negative:(Heroic Games Launcher)
-windowrule = float, class:^([Ss]team)$, title:negative:^([Ss]team)$
-windowrule = float, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)
-
-windowrule = float, title:^(Add Folder to Workspace)$
-windowrule = size 70% 60%, title:^(Add Folder to Workspace)$
-windowrule = center, title:^(Add Folder to Workspace)$
-
-windowrule = float, title:^(Save As)$
-windowrule = size 70% 60%, title:^(Save As)$
-windowrule = center, title:^(Save As)$
-
-windowrule = float, initialTitle:(Open Files)
-windowrule = size 70% 60%, initialTitle:(Open Files)
-
-windowrule = float, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
-windowrule = center, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
-windowrule = size 16% 12%, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
-# END of float popups and dialogue #######
-
-# OPACITY
-windowrule = opacity 0.99 0.8, tag:browser*
-windowrule = opacity 0.9 0.8, tag:projects*
-windowrule = opacity 0.94 0.86, tag:im*
-windowrule = opacity 0.94 0.86, tag:multimedia*
-windowrule = opacity 0.9 0.8, tag:file-manager*
-windowrule = opacity 0.9 0.7, tag:terminal*
-windowrule = opacity 0.8 0.7, tag:settings*
-windowrule = opacity 0.82 0.75, tag:viewer*
-windowrule = opacity 0.9 0.7, tag:wallpaper*
-windowrule = opacity 0.8 0.7, class:^(gedit|org.gnome.TextEditor|mousepad)$
-windowrule = opacity 0.9 0.8, class:^(deluge)$
-windowrule = opacity 0.9 0.8, class:^(seahorse)$ # gnome-keyring gui
-windowrule = opacity 0.95 0.75, title:^(Picture-in-Picture)$
-windowrule = opacity 0.9,class:^(code)$
-
-# SIZE
-windowrule = size 65% 90%, tag:KooL_Cheat*
-windowrule = size 70% 70%, tag:wallpaper*
-windowrule = size 70% 70%, tag:settings*
-windowrule = size 60% 70%, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
-windowrule = size 60% 70%, class:^([Ff]erdium)$
-
-#windowrule = size 25% 25%, title:^(Picture-in-Picture)$
-#windowrule = size 25% 25%, title:^(Firefox)$
-
-# PINNING
-windowrule = pin, title:^(Picture-in-Picture)$
-#windowrule = pin,title:^(Firefox)$
-
-# windowrule - extras
-windowrule = keepaspectratio, title:^(Picture-in-Picture)$
-
-# BLUR & FULLSCREEN
-windowrule = noblur, tag:games*
-windowrule = fullscreen, tag:games*
-
-
-#This not gonna take the focus to the window that appears when hovering over some of the parts of the IntelliJ Products
-windowrule = noinitialfocus, class:^(jetbrains-*)
-windowrule = noinitialfocus, title:^(wind.*)$
-
-#This will gonna make the VS Code bluer like other apps
-windowrule = opacity 0.8,class:^(code)$
-
-#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
+# This file is used to add or overwrite window rules
+# This file will not be modified during dotfiles updates
diff --git a/config/hypr/UserConfigs/WorkSpaceRules b/config/hypr/UserConfigs/WorkSpaceRules.conf
index aa86b35c..aa86b35c 100644
--- a/config/hypr/UserConfigs/WorkSpaceRules
+++ b/config/hypr/UserConfigs/WorkSpaceRules.conf
diff --git a/config/hypr/UserScripts/WallpaperSelect.sh b/config/hypr/UserScripts/WallpaperSelect.sh
index 9e51125f..0029d3e5 100755
--- a/config/hypr/UserScripts/WallpaperSelect.sh
+++ b/config/hypr/UserScripts/WallpaperSelect.sh
@@ -93,7 +93,7 @@ menu() {
fi
printf "%s\x00icon\x1f%s\n" "$pic_name" "$cache_preview_image"
else
- printf "%s\x00icon\x1f%s\n" "$(echo "$pic_name" | cut -d. -f1)" "$pic_path"
+ printf "%s\x00icon\x1f%s\n" "$pic_name" "$pic_path"
fi
done
}
diff --git a/config/hypr/UserScripts/Weather.py b/config/hypr/UserScripts/Weather.py
index 7da48f1e..14256cfd 100755
--- a/config/hypr/UserScripts/Weather.py
+++ b/config/hypr/UserScripts/Weather.py
@@ -44,7 +44,7 @@ class WeatherData:
# Examples (zsh):
# # One-off run
# # WEATHER_UNITS can be "metric" or "imperial"
-# WEATHER_UNITS=imperial WEATHER_PLACE="Concord, NH" python3 /home/dwilliams/Projects/Weather.py
+# WEATHER_UNITS=imperial WEATHER_PLACE="Concord, NH" python3 ~/.config/hypr/UserScripts/Weather.py
#
# # Persist in current shell session
# export WEATHER_UNITS=imperial
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
diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf
index 8eb91df7..7119b3df 100644
--- a/config/hypr/hyprland.conf
+++ b/config/hypr/hyprland.conf
@@ -1,5 +1,5 @@
# /* ---- πŸ’« https://github.com/JaKooLit πŸ’« ---- */ #
-# always refer to Hyprland wiki
+# Always refer to Hyprland wiki
# https://wiki.hyprland.org/
# Initial boot script enable to apply initial wallpapers, theming, new settings etc.
@@ -7,37 +7,34 @@
# as long as the referrence file is present, this initial-boot.sh will not execute
exec-once = $HOME/.config/hypr/initial-boot.sh
-# Sourcing external config files
+### Sourcing external config files ###
$configs = $HOME/.config/hypr/configs # Default Configs directory path
-
-source=$configs/Keybinds.conf # Pre-configured keybinds
-
-# ## This is where you want to start tinkering
$UserConfigs = $HOME/.config/hypr/UserConfigs # User Configs directory path
-# Load vendor defaults, then user additions/overrides
-source= $configs/Startup_Apps.conf
+source=$configs/Keybinds.conf # Pre-configured keybinds
-source= $UserConfigs/ENVariables.conf # Environment variables to load
+# Load defaults, then user additions/overrides
+source= $configs/Startup_Apps.conf
+source= $UserConfigs/Startup_Apps.conf
-#source= $UserConfigs/Monitors.conf # Its all about your monitor config (old dots) will remove on push to main
-#source= $UserConfigs/WorkspaceRules.conf # Hyprland workspaces (old dots) will remove on push to main
+source= $configs/ENVariables.conf # Environment variables (defaults)
+source= $UserConfigs/ENVariables.conf # Environment variables (user)
-source= $UserConfigs/Laptops.conf # For laptop related
+# For laptop related
+source= $configs/Laptops.conf
+source= $UserConfigs/Laptops.conf
+source= $UserConfigs/LaptopDisplay.conf
-source= $UserConfigs/LaptopDisplay.conf # Laptop display related. You need to read the comment on this file
+# Load defaults, then user additions
+source= $configs/WindowRules.conf # Window Rules and Layer Rules (defaults)
+source= $UserConfigs/WindowRules.conf # Window Rules and Layer Rules (user)
-# Load vendor defaults, then user additions
-source= $configs/WindowRules.conf # all about Hyprland Window Rules and Layer Rules (defaults)
+source= $configs/SystemSettings.conf # Default config for hypr
source= $UserConfigs/UserDecorations.conf # Decorations config file
-
source= $UserConfigs/UserAnimations.conf # Animation config file
-
source= $UserConfigs/UserKeybinds.conf # Put your own keybinds here
-
source= $UserConfigs/UserSettings.conf # Main Hyprland Settings.
-
source= $UserConfigs/01-UserDefaults.conf # settings for User defaults apps
# nwg-displays
diff --git a/config/hypr/hyprlock-1080p.conf b/config/hypr/hyprlock-1080p.conf
index 14f2f35e..4251ac68 100644
--- a/config/hypr/hyprlock-1080p.conf
+++ b/config/hypr/hyprlock-1080p.conf
@@ -37,9 +37,9 @@ label {
monitor =
text = cmd[update:18000000] echo "<b> "$(date +'%A, %-d %B')" </b>"
color = $color13
- font_size = 16
+ font_size = 48
font_family = Victor Mono Bold Italic
- position = 0, -120
+ position = 0, -60
halign = center
valign = center
}
@@ -47,42 +47,42 @@ label {
# Hour-Time
label {
monitor =
- text = cmd[update:1000] echo "$(date +"%H")"
-# text = cmd[update:1000] echo "$(date +"%I")" #AM/PM
+# text = cmd[update:1000] echo "$(date +"%H")"
+ text = cmd[update:1000] echo "$(date +"%I:%M %p")" #AM/PM
#color = rgba(255, 185, 0, .8)
- color = $color13
- font_size = 200
+ color = $color8
+ font_size = 130
font_family = JetBrainsMono Nerd Font ExtraBold
- position = 0, -60
+ position = 0, -250
halign = center
valign = top
}
# Minute-Time
-label {
- monitor =
- text = cmd[update:1000] echo "$(date +"%M")"
- #color = rgba(15, 10, 222, .8)
- color = $color12
- font_size = 200
- font_family = JetBrainsMono Nerd Font ExtraBold
- position = 0, -340
- halign = center
- valign = top
-}
+# label {
+# monitor =
+# text = cmd[update:1000] echo "$(date +"%M")"
+# #color = rgba(15, 10, 222, .8)
+# color = $color12
+# font_size = 150
+# font_family = JetBrainsMono Nerd Font ExtraBold
+# position = 0, -340
+# halign = center
+ # valign = top
+# }
# Seconds-Time
-label {
- monitor =
- text = cmd[update:1000] echo "$(date +"%S")"
+#label {
+# monitor =
+## text = cmd[update:1000] echo "$(date +"%S")"
# text = cmd[update:1000] echo "$(date +"%S %p")" #AM/PM
- color = $color11
- font_size = 35
- font_family = JetBrainsMono Nerd Font ExtraBold
- position = 0, -350
- halign = center
- valign = top
-}
+# color = $color11
+# font_size = 32
+# font_family = JetBrainsMono Nerd Font ExtraBold
+# position = 0, -350
+# halign = center
+# valign = top
+#}
# Put a picture of choice here. Default is the current wallpaper
#image {
@@ -103,10 +103,10 @@ label {
label {
monitor =
text =  $USER
- color = $color13
- font_size = 24
+ color = $color9
+ font_size = 36
font_family = Victor Mono Bold Oblique
- position = 0, 220
+ position = 0, 275
halign = center
valign = bottom
}
@@ -114,12 +114,12 @@ label {
# INPUT FIELD
input-field {
monitor =
- size = 200, 60
+ size = 230, 70
outline_thickness = 2
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
- outer_color = $color11
+ outer_color = $color8
inner_color = rgba(255, 255, 255, 0.1)
capslock_color = rgb(255,255,255)
font_color = $color13
@@ -136,8 +136,8 @@ input-field {
label {
monitor =
text = $LAYOUT
- color = $color13
- font_size = 10
+ color = $color8
+ font_size = 14
font_family = Victor Mono Bold Oblique
position = 0, 70
halign = center
@@ -148,8 +148,8 @@ label {
label {
monitor =
text = cmd[update:60000] echo "<b> "$(uptime -p || $Scripts/UptimeNixOS.sh)" </b>"
- color = $color13
- font_size = 16
+ color = $color8
+ font_size = 24
font_family = Victor Mono Bold Oblique
position = 0, 0
halign = right
@@ -160,7 +160,7 @@ label {
label {
monitor =
text = cmd[update:1000] echo "<b> "$($Scripts/Battery.sh)" </b>"
- color = $color13
+ color = $color8
font_size = 16
font_family = Victor Mono Bold Oblique
position = 0, 30
@@ -174,8 +174,8 @@ label {
label {
monitor =
text = cmd[update:3600000] [ -f "$HOME/.cache/.weather_cache" ] && cat "$HOME/.cache/.weather_cache"
- color = $color13
- font_size = 16
+ color = $color8
+ font_size = 14
font_family = Victor Mono Bold Oblique
position = 50, 0
halign = left
diff --git a/config/hypr/hyprlock.conf b/config/hypr/hyprlock.conf
index b67bba51..f359357f 100644
--- a/config/hypr/hyprlock.conf
+++ b/config/hypr/hyprlock.conf
@@ -37,52 +37,52 @@ label {
monitor =
text = cmd[update:18000000] echo "<b> "$(date +'%A, %-d %B')" </b>"
color = $color13
- font_size = 18
+ font_size = 64
font_family = Victor Mono Bold Italic
- position = 0, -120
+ position = 0, -20
halign = center
valign = center
}
-# Hour-Time
+# Hour-Time (single horizontal time like 1080p variant)
label {
monitor =
- text = cmd[update:1000] echo "$(date +"%H")"
-# text = cmd[update:1000] echo "$(date +"%I")" #AM/PM
+# text = cmd[update:1000] echo "$(date +"%H:%M")" # 24h option
+ text = cmd[update:1000] echo "$(date +"%I:%M %p")" # AM/PM
#color = rgba(255, 185, 0, .8)
- color = $color13
- font_size = 240
+ color = $color8
+ font_size = 173
font_family = JetBrainsMono Nerd Font ExtraBold
- position = 0, -100
+ position = 0, -133
halign = center
valign = top
}
-# Minute-Time
-label {
- monitor =
- text = cmd[update:1000] echo "$(date +"%M")"
- #color = rgba(15, 10, 222, .8)
- color = $color12
- font_size = 240
- font_family = JetBrainsMono Nerd Font ExtraBold
- position = 0, -450
- halign = center
- valign = top
-}
+# Minute-Time (disabled; kept for reference)
+# label {
+# monitor =
+# text = cmd[update:1000] echo "$(date +"%M")"
+# #color = rgba(15, 10, 222, .8)
+# color = $color12
+# font_size = 240
+# font_family = JetBrainsMono Nerd Font ExtraBold
+# position = 0, -450
+# halign = center
+# valign = top
+# }
-# Seconds-Time
-label {
- monitor =
- text = cmd[update:1000] echo "$(date +"%S")"
-# text = cmd[update:1000] echo "$(date +"%S %p")" #AM/PM
- color = $color11
- font_size = 50
- font_family = JetBrainsMono Nerd Font ExtraBold
- position = 0, -450
- halign = center
- valign = top
-}
+# Seconds-Time (disabled; kept for reference)
+# label {
+# monitor =
+# text = cmd[update:1000] echo "$(date +"%S")"
+# # text = cmd[update:1000] echo "$(date +"%S %p")" #AM/PM
+# color = $color11
+# font_size = 50
+# font_family = JetBrainsMono Nerd Font ExtraBold
+# position = 0, -450
+# halign = center
+# valign = top
+# }
# Put a picture of choice here. Default is the current wallpaper
#image {
@@ -103,10 +103,10 @@ label {
label {
monitor =
text =  $USER
- color = $color13
- font_size = 24
+ color = $color9
+ font_size = 48
font_family = Victor Mono Bold Oblique
- position = 0, 280
+ position = 0, 300
halign = center
valign = bottom
}
@@ -114,33 +114,32 @@ label {
# INPUT FIELD
input-field {
monitor =
- size = 300, 60
+ size = 306, 93
outline_thickness = 2
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
- outer_color = $color11
+ outer_color = $color8
inner_color = rgba(255, 255, 255, 0.1)
+ capslock_color = rgb(255,255,255)
font_color = $color13
- capslock_color = rgb(255,255,255)
fade_on_empty = false
font_family = Victor Mono Bold Oblique
placeholder_text = <i><span foreground="##ffffff99">πŸ”’ Type Password</span></i>
hide_input = false
- position = 0, 120
+ position = 0, 100
halign = center
valign = bottom
}
-
# Keyboard LAYOUT
label {
monitor =
text = $LAYOUT
- color = $color13
- font_size = 12
+ color = $color8
+ font_size = 19
font_family = Victor Mono Bold Oblique
- position = 0, 80
+ position = 0, 53
halign = center
valign = bottom
}
@@ -149,8 +148,8 @@ label {
label {
monitor =
text = cmd[update:60000] echo "<b> "$(uptime -p || $Scripts/UptimeNixOS.sh)" </b>"
- color = $color13
- font_size = 18
+ color = $color8
+ font_size = 32
font_family = Victor Mono Bold Oblique
position = 0, 0
halign = right
@@ -161,10 +160,10 @@ label {
label {
monitor =
text = cmd[update:1000] echo "<b> "$($Scripts/Battery.sh)" </b>"
- color = $color13
- font_size = 18
+ color = $color8
+ font_size = 21
font_family = Victor Mono Bold Oblique
- position = 0, 30
+ position = 0, 40
halign = right
valign = bottom
}
@@ -175,8 +174,8 @@ label {
label {
monitor =
text = cmd[update:3600000] [ -f "$HOME/.cache/.weather_cache" ] && cat "$HOME/.cache/.weather_cache"
- color = $color13
- font_size = 18
+ color = $color8
+ font_size = 19
font_family = Victor Mono Bold Oblique
position = 50, 0
halign = left
diff --git a/config/hypr/scripts/ChangeLayout.sh b/config/hypr/scripts/ChangeLayout.sh
index 78428188..e2436b79 100755
--- a/config/hypr/scripts/ChangeLayout.sh
+++ b/config/hypr/scripts/ChangeLayout.sh
@@ -9,20 +9,14 @@ LAYOUT=$(hyprctl -j getoption general:layout | jq '.str' | sed 's/"//g')
case $LAYOUT in
"master")
hyprctl keyword general:layout dwindle
- hyprctl keyword unbind SUPER,J
- hyprctl keyword unbind SUPER,K
- hyprctl keyword bind SUPER,J,cyclenext
- hyprctl keyword bind SUPER,K,cyclenext,prev
+ # SUPER+J/K are global and managed by KeybindsLayoutInit.sh; only manage SUPER+O here
hyprctl keyword bind SUPER,O,togglesplit
notify-send -e -u low -i "$notif" " Dwindle Layout"
;;
"dwindle")
hyprctl keyword general:layout master
- hyprctl keyword unbind SUPER,J
- hyprctl keyword unbind SUPER,K
+ # Drop togglesplit binding on SUPER+O when switching back to master
hyprctl keyword unbind SUPER,O
- hyprctl keyword bind SUPER,J,layoutmsg,cyclenext
- hyprctl keyword bind SUPER,K,layoutmsg,cycleprev
notify-send -e -u low -i "$notif" " Master Layout"
;;
*) ;;
diff --git a/config/hypr/scripts/GameMode.sh b/config/hypr/scripts/GameMode.sh
index ec1e541e..59cf7372 100755
--- a/config/hypr/scripts/GameMode.sh
+++ b/config/hypr/scripts/GameMode.sh
@@ -20,6 +20,7 @@ if [ "$HYPRGAMEMODE" = 1 ] ; then
hyprctl keyword "windowrule opacity 1 override 1 override 1 override, ^(.*)$"
swww kill
notify-send -e -u low -i "$notif" " Gamemode:" " enabled"
+ sleep 0.1
exit
else
swww-daemon --format xrgb && swww img "$HOME/.config/rofi/.current_wallpaper" &
diff --git a/config/hypr/scripts/Hyprsunset.sh b/config/hypr/scripts/Hyprsunset.sh
index c7c4b395..4a2b52f4 100755
--- a/config/hypr/scripts/Hyprsunset.sh
+++ b/config/hypr/scripts/Hyprsunset.sh
@@ -8,12 +8,12 @@ set -euo pipefail
# - On: sunset icon if available, otherwise a blue sun
#
# Customize via env vars:
-# HYPERSUNSET_TEMP default 4500 (K)
-# HYPERSUNSET_ICON_MODE sunset|blue (default: sunset)
+# HYPRSUNSET_TEMP default 4500 (K)
+# HYPRSUNSET_ICON_MODE sunset|blue (default: sunset)
STATE_FILE="$HOME/.cache/.hyprsunset_state"
-TARGET_TEMP="${HYPERSUNSET_TEMP:-4500}"
-ICON_MODE="${HYPERSUNSET_ICON_MODE:-sunset}"
+TARGET_TEMP="${HYPRSUNSET_TEMP:-4500}"
+ICON_MODE="${HYPRSUNSET_ICON_MODE:-sunset}"
ensure_state() {
[[ -f "$STATE_FILE" ]] || echo "off" > "$STATE_FILE"
@@ -92,8 +92,20 @@ cmd_status() {
printf '{"text":"%s","class":"%s","tooltip":"%s"}\n' "$txt" "$cls" "$tip"
}
+cmd_init() {
+ ensure_state
+ state="$(cat "$STATE_FILE" || echo off)"
+
+ if [[ "$state" == "on" ]]; then
+ if command -v hyprsunset >/dev/null 2>&1; then
+ nohup hyprsunset -t "$TARGET_TEMP" >/dev/null 2>&1 &
+ fi
+ fi
+}
+
case "${1:-}" in
toggle) cmd_toggle ;;
status) cmd_status ;;
- *) echo "usage: $0 [toggle|status]" >&2; exit 2 ;;
+ init) cmd_init ;;
+ *) echo "usage: $0 [toggle|status|init]" >&2; exit 2 ;;
esac
diff --git a/config/hypr/scripts/KeyBinds.sh b/config/hypr/scripts/KeyBinds.sh
index 46953cc5..4158b762 100755
--- a/config/hypr/scripts/KeyBinds.sh
+++ b/config/hypr/scripts/KeyBinds.sh
@@ -21,9 +21,87 @@ msg='☣️ NOTE ☣️: Clicking with Mouse or Pressing ENTER will have NO func
files=("$keybinds_conf" "$user_keybinds_conf")
[[ -f "$laptop_conf" ]] && files+=("$laptop_conf")
-raw_keybinds=$(cat "${files[@]}" 2>/dev/null \
- | grep -E '^[[:space:]]*bind' \
- | sed -E 's/[[:space:]]+#.*$//')
+# Parse binds/unbinds from files, detect overrides, and keep unique effective binds
+declare -A binding_map # combo -> bind line (effective)
+declare -A source_map # combo -> source file
+declare -A user_bind_map # combo -> user bind line
+declare -A unbound_user # combo -> 1 if explicitly unbound in user file
+declare -A seen_any_bind # combo -> 1 if any bind seen (for iteration)
+declare -A default_seen # combo -> 1 if default bind exists
+declare -a missing_unbind_suggestions_arr
+
+normalize_combo() { echo "$1" | sed -E 's/[[:space:]]//g'; }
+
+extract_combo() {
+ # arg: a bind/unbind line; returns "mods,key" via echo
+ local s="$1"
+ s="$(echo "$s" | sed -E 's/[[:space:]]+#.*$//')"
+ if [[ "$s" =~ = ]]; then
+ local rhs="${s#*=}"
+ local mods="$(echo "$rhs" | awk -F',' '{gsub(/^[ \t]+|[ \t]+$/,"",$1); print $1}')"
+ local key="$(echo "$rhs" | awk -F',' '{gsub(/^[ \t]+|[ \t]+$/,"",$2); print $2}')"
+ echo "${mods},${key}"
+ fi
+}
+
+for file in "${files[@]}"; do
+ [[ ! -f "$file" ]] && continue
+ while IFS= read -r line; do
+ [[ -z "$line" || "$line" =~ ^[[:space:]]*# ]] && continue
+
+ if [[ "$line" =~ ^[[:space:]]*bind[a-z]*[[:space:]]*= ]]; then
+ combo_raw="$(extract_combo "$line")"
+ [[ -z "$combo_raw" ]] && continue
+ combo="$(normalize_combo "$combo_raw")"
+ seen_any_bind["$combo"]=1
+
+ if [[ "$file" != "$user_keybinds_conf" ]]; then
+ default_seen["$combo"]=1
+ fi
+
+ # prefer user bind, else first seen
+ if [[ -z "${source_map[$combo]}" ]]; then
+ binding_map["$combo"]="$line"
+ source_map["$combo"]="$file"
+ fi
+ if [[ "$file" == "$user_keybinds_conf" ]]; then
+ user_bind_map["$combo"]="$line"
+ binding_map["$combo"]="$line"
+ source_map["$combo"]="$file"
+ fi
+
+ elif [[ "$line" =~ ^[[:space:]]*unbind[[:space:]]*= ]]; then
+ combo_raw="$(extract_combo "$line")"
+ [[ -z "$combo_raw" ]] && continue
+ combo="$(normalize_combo "$combo_raw")"
+ if [[ "$file" == "$user_keybinds_conf" ]]; then
+ unbound_user["$combo"]=1
+ fi
+ fi
+ done < "$file"
+done
+
+# Build raw_keybinds for display and collect missing unbind suggestions
+raw_keybinds=""
+for combo in "${!seen_any_bind[@]}"; do
+ eff_line="${binding_map[$combo]}"
+ src="${source_map[$combo]}"
+ [[ -z "$eff_line" ]] && continue
+ raw_keybinds+="$eff_line"$'\n'
+
+ # If user overrides a default but didn't unbind in user file, suggest unbind
+ if [[ "$src" == "$user_keybinds_conf" && -n "${default_seen[$combo]}" && -z "${unbound_user[$combo]}" ]]; then
+ suggest="$(echo "$eff_line" | sed -E 's/^[[:space:]]*bind[a-z]*/unbind/')"
+ missing_unbind_suggestions_arr+=("$suggest")
+ fi
+done
+
+# If there are missing unbinds, write suggestions to a temp file and note in message
+if (( ${#missing_unbind_suggestions_arr[@]} > 0 )); then
+ suggestions_file="$(mktemp -t hypr-unbind-suggestions.XXXX.conf)"
+ printf '%s\n' "${missing_unbind_suggestions_arr[@]}" > "$suggestions_file"
+ msg="$msg | Overrides missing unbind: ${#missing_unbind_suggestions_arr[@]} (suggestions: $suggestions_file)"
+fi
# check for any keybinds to display
if [[ -z "$raw_keybinds" ]]; then
@@ -31,7 +109,7 @@ if [[ -z "$raw_keybinds" ]]; then
exit 1
fi
-# transform into a readable list: MODS+KEY β€” DESCRIPTION β€” DISPATCHER [PARAMS]
+# transform into a readable list: MODS+KEY β€” DESCRIPTION (for bindd) or DISPATCHER [PARAMS] (for bind)
display_keybinds=$(echo "$raw_keybinds" | awk -F'=' '
function trim(s){ gsub(/^[ \t]+|[ \t]+$/,"",s); return s }
/^[[:space:]]*bind/ {
@@ -60,13 +138,8 @@ display_keybinds=$(echo "$raw_keybinds" | awk -F'=' '
combo = (mods && key) ? mods "+" key : (key?key:mods);
- if (desc != "") {
- if (dispatcher != "" && params != "")
- print combo, " β€” ", desc, " β€” ", dispatcher, " ", params;
- else if (dispatcher != "")
- print combo, " β€” ", desc, " β€” ", dispatcher;
- else
- print combo, " β€” ", desc;
+ if (hasdesc && desc != "") {
+ print combo, " β€” ", desc;
} else {
if (dispatcher != "" && params != "")
print combo, " β€” ", dispatcher, " ", params;
diff --git a/config/hypr/scripts/KeybindsLayoutInit.sh b/config/hypr/scripts/KeybindsLayoutInit.sh
index fd34f90e..0a53eaaf 100755
--- a/config/hypr/scripts/KeybindsLayoutInit.sh
+++ b/config/hypr/scripts/KeybindsLayoutInit.sh
@@ -1,38 +1,14 @@
#!/usr/bin/env bash
# /* ---- πŸ’« https://github.com/JaKooLit πŸ’« ---- */ ##
-# Initialize J/K keybinds to match the current default layout at startup
+# Initialize J/K keybinds so they always cycle windows globally (no layout-specific behavior)
+# This avoids double-actions when layouts change.
set -euo pipefail
-# Determine current layout (master|dwindle); be robust to null at startup
-LAYOUT=$(hyprctl -j getoption general:layout | jq -r '.str // empty' 2>/dev/null || true)
-if [ -z "${LAYOUT:-}" ]; then
- # Fallback: parse non-JSON output (e.g., "str: dwindle")
- LAYOUT=$(hyprctl getoption general:layout 2>/dev/null | awk -F'str:' 'NF>1 {gsub(/^ +| +$/,"",$2); print $2}')
-fi
-[ -z "${LAYOUT:-}" ] && exit 0
+# Always reset and bind SUPER+J/K the same way on startup
+hyprctl keyword unbind SUPER,J || true
+hyprctl keyword unbind SUPER,K || true
-case "$LAYOUT" in
- master)
- # Ensure master layout-style binds
- hyprctl keyword unbind SUPER,J
- hyprctl keyword unbind SUPER,K
- hyprctl keyword unbind SUPER,O
- hyprctl keyword bind SUPER,J,layoutmsg,cyclenext
- hyprctl keyword bind SUPER,K,layoutmsg,cycleprev
- ;;
- dwindle)
- # Ensure dwindle layout-style binds
- hyprctl keyword unbind SUPER,J
- hyprctl keyword unbind SUPER,K
- hyprctl keyword unbind SUPER,O
- hyprctl keyword bind SUPER,J,cyclenext
- hyprctl keyword bind SUPER,K,cyclenext,prev
- # ensure SUPER+O togglesplit is available on dwindle
- hyprctl keyword bind SUPER,O,togglesplit
- ;;
- *)
- # Do nothing for unexpected values
- :
- ;;
- esac
+# Cycle windows globally: J = next, K = previous
+hyprctl keyword bind SUPER,J,cyclenext
+hyprctl keyword bind SUPER,K,cyclenext,prev
diff --git a/config/hypr/scripts/Kool_Quick_Settings.sh b/config/hypr/scripts/Kool_Quick_Settings.sh
index 16742492..8ab71ba2 100755
--- a/config/hypr/scripts/Kool_Quick_Settings.sh
+++ b/config/hypr/scripts/Kool_Quick_Settings.sh
@@ -1,6 +1,7 @@
#!/usr/bin/env bash
# /* ---- πŸ’« https://github.com/JaKooLit πŸ’« ---- */ ##
# Rofi menu for KooL Hyprland Quick Settings (SUPER SHIFT E)
+# Updated for UserConfigs/configs separation
# Modify this config file for default terminal and EDITOR
config_file="$HOME/.config/hypr/UserConfigs/01-UserDefaults.conf"
@@ -19,19 +20,30 @@ iDIR="$HOME/.config/swaync/images"
scriptsDir="$HOME/.config/hypr/scripts"
UserScripts="$HOME/.config/hypr/UserScripts"
+# Function to show info notification
+show_info() {
+ notify-send -i "$iDIR/info.png" "Info" "$1"
+}
+
# Function to display the menu options without numbers
menu() {
cat <<EOF
-view/edit User Defaults
-view/edit ENV variables
-view/edit Window Rules
-view/edit User Keybinds
-view/edit User Settings
-view/edit Startup Apps
-view/edit Decorations
-view/edit Animations
-view/edit Laptop Keybinds
-view/edit Default Keybinds
+--- USER CUSTOMIZATIONS ---
+Edit User Defaults
+Edit User Keybinds
+Edit User ENV variables
+Edit User Startup Apps (overlay)
+Edit User Window Rules (overlay)
+Edit User Settings
+Edit User Decorations
+Edit User Animations
+Edit User Laptop Settings
+--- SYSTEM DEFAULTS ---
+Edit System Default Keybinds
+Edit System Default Startup Apps
+Edit System Default Window Rules
+Edit System Default Settings
+--- UTILITIES ---
Choose Kitty Terminal Theme
Configure Monitors (nwg-displays)
Configure Workspace Rules (nwg-displays)
@@ -53,16 +65,19 @@ main() {
# Map choices to corresponding files
case "$choice" in
- "view/edit User Defaults") file="$UserConfigs/01-UserDefaults.conf" ;;
- "view/edit ENV variables") file="$UserConfigs/ENVariables.conf" ;;
- "view/edit Window Rules") file="$configs/WindowRules.conf" ;;
- "view/edit User Keybinds") file="$UserConfigs/UserKeybinds.conf" ;;
- "view/edit User Settings") file="$UserConfigs/UserSettings.conf" ;;
- "view/edit Startup Apps") file="$configs/Startup_Apps.conf" ;;
- "view/edit Decorations") file="$UserConfigs/UserDecorations.conf" ;;
- "view/edit Animations") file="$UserConfigs/UserAnimations.conf" ;;
- "view/edit Laptop Keybinds") file="$UserConfigs/Laptops.conf" ;;
- "view/edit Default Keybinds") file="$configs/Keybinds.conf" ;;
+ "Edit User Defaults") file="$UserConfigs/01-UserDefaults.conf" ;;
+ "Edit User ENV variables") file="$UserConfigs/ENVariables.conf" ;;
+ "Edit User Keybinds") file="$UserConfigs/UserKeybinds.conf" ;;
+ "Edit User Startup Apps (overlay)") file="$UserConfigs/Startup_Apps.conf" ;;
+ "Edit User Window Rules (overlay)") file="$UserConfigs/WindowRules.conf" ;;
+ "Edit User Settings") file="$configs/SystemSettings.conf"; show_info "Editing default settings. Copy to UserConfigs/UserSettings.conf to override." ;;
+ "Edit User Decorations") file="$UserConfigs/UserDecorations.conf" ;;
+ "Edit User Animations") file="$UserConfigs/UserAnimations.conf" ;;
+ "Edit User Laptop Settings") file="$UserConfigs/Laptops.conf" ;;
+ "Edit System Default Keybinds") file="$configs/Keybinds.conf" ;;
+ "Edit System Default Startup Apps") file="$configs/Startup_Apps.conf" ;;
+ "Edit System Default Window Rules") file="$configs/WindowRules.conf" ;;
+ "Edit System Default Settings") file="$configs/SystemSettings.conf" ;;
"Choose Kitty Terminal Theme") $scriptsDir/Kitty_themes.sh ;;
"Configure Monitors (nwg-displays)")
if ! command -v nwg-displays &>/dev/null; then
@@ -114,4 +129,4 @@ if pidof rofi > /dev/null; then
pkill rofi
fi
-main \ No newline at end of file
+main
diff --git a/config/hypr/scripts/OverviewToggle.sh b/config/hypr/scripts/OverviewToggle.sh
index 21c2da34..8d4b285f 100755
--- a/config/hypr/scripts/OverviewToggle.sh
+++ b/config/hypr/scripts/OverviewToggle.sh
@@ -4,16 +4,18 @@
set -euo pipefail
-# 1) Try Quickshell via Hyprland global dispatch (works if QS is running and listening)
-if hyprctl dispatch global quickshell:overviewToggle >/dev/null 2>&1; then
- exit 0
+# 1) Try Quickshell via IPC (works if QS is running and listening)
+if pgrep -x quickshell >/dev/null 2>&1; then
+ if qs ipc -c overview call overview toggle >/dev/null 2>&1; then
+ exit 0
+ fi
fi
-# If QS isn't running, try starting it and retry once
+# If QS isn't running, but the CLI exists, try starting it and retry once
if command -v qs >/dev/null 2>&1; then
- qs >/dev/null 2>&1 &
+ qs -c overview >/dev/null 2>&1 &
sleep 0.6
- if hyprctl dispatch global quickshell:overviewToggle >/dev/null 2>&1; then
+ if qs ipc -c overview call overview toggle >/dev/null 2>&1; then
exit 0
fi
fi
diff --git a/config/hypr/scripts/Refresh.sh b/config/hypr/scripts/Refresh.sh
index 2e772aa9..76757aa4 100755
--- a/config/hypr/scripts/Refresh.sh
+++ b/config/hypr/scripts/Refresh.sh
@@ -7,23 +7,25 @@ UserScripts=$HOME/.config/hypr/UserScripts
# Define file_exists function
file_exists() {
- if [ -e "$1" ]; then
- return 0 # File exists
- else
- return 1 # File does not exist
- fi
+ if [ -e "$1" ]; then
+ return 0 # File exists
+ else
+ return 1 # File does not exist
+ fi
}
# Kill already running processes
_ps=(waybar rofi swaync ags)
for _prs in "${_ps[@]}"; do
- if pidof "${_prs}" >/dev/null; then
- pkill "${_prs}"
- fi
+ if pidof "${_prs}" >/dev/null; then
+ pkill "${_prs}"
+ fi
done
# added since wallust sometimes not applying
-killall -SIGUSR2 waybar
+killall -SIGUSR2 waybar
+# Added sleep for GameMode causing multiple waybar
+sleep 0.1
# quit ags & relaunch ags
#ags -q && ags &
@@ -33,23 +35,24 @@ killall -SIGUSR2 waybar
# some process to kill
for pid in $(pidof waybar rofi swaync ags swaybg); do
- kill -SIGUSR1 "$pid"
+ kill -SIGUSR1 "$pid"
+ sleep 0.1
done
#Restart waybar
-sleep 1
+sleep 0.1
waybar &
# relaunch swaync
-sleep 0.5
-swaync > /dev/null 2>&1 &
+sleep 0.3
+swaync >/dev/null 2>&1 &
# reload swaync
swaync-client --reload-config
# Relaunching rainbow borders if the script exists
sleep 1
if file_exists "${UserScripts}/RainbowBorders.sh"; then
- ${UserScripts}/RainbowBorders.sh &
+ ${UserScripts}/RainbowBorders.sh &
fi
-exit 0 \ No newline at end of file
+exit 0
diff --git a/config/hypr/scripts/UserConfigsSwitcher.sh b/config/hypr/scripts/UserConfigsSwitcher.sh
new file mode 100755
index 00000000..ad1d4e63
--- /dev/null
+++ b/config/hypr/scripts/UserConfigsSwitcher.sh
@@ -0,0 +1,56 @@
+#!/usr/bin/env bash
+# /* ---- πŸ’« https://github.com/JaKooLit πŸ’« ---- */ ##
+# Script to manage UserConfigs and UserConfigsBak
+
+HYPR_CONFIG_DIR="$HOME/.config/hypr"
+USER_CONFIGS="$HYPR_CONFIG_DIR/UserConfigs"
+USER_CONFIGS_BAK="$HYPR_CONFIG_DIR/UserConfigsBak"
+
+if [ -d "$USER_CONFIGS" ] && [ ! -d "$USER_CONFIGS_BAK" ]; then
+ echo "Moving UserConfigs to UserConfigsBak..."
+ mv "$USER_CONFIGS" "$USER_CONFIGS_BAK"
+ echo "Done. Your UserConfigs are now in UserConfigsBak."
+elif [ ! -d "$USER_CONFIGS" ] && [ -d "$USER_CONFIGS_BAK" ]; then
+ echo "Moving UserConfigsBak to UserConfigs..."
+ mv "$USER_CONFIGS_BAK" "$USER_CONFIGS"
+ echo "Done. Your backup has been restored to UserConfigs."
+elif [ -d "$USER_CONFIGS" ] && [ -d "$USER_CONFIGS_BAK" ]; then
+ echo "Both UserConfigs and UserConfigsBak exist."
+ echo "Please choose what to do:"
+ PS3="Enter your choice: "
+ select option in "Backup current UserConfigs (move to UserConfigsBak)" "Restore backup (move UserConfigsBak to UserConfigs)" "Swap them" "Do nothing"; do
+ case $REPLY in
+ 1)
+ echo "Backing up UserConfigs..."
+ rm -rf "$USER_CONFIGS_BAK"
+ mv "$USER_CONFIGS" "$USER_CONFIGS_BAK"
+ echo "Done. UserConfigs moved to UserConfigsBak."
+ break
+ ;;
+ 2)
+ echo "Restoring backup..."
+ rm -rf "$USER_CONFIGS"
+ mv "$USER_CONFIGS_BAK" "$USER_CONFIGS"
+ echo "Done. UserConfigsBak moved to UserConfigs."
+ break
+ ;;
+ 3)
+ echo "Swapping..."
+ mv "$USER_CONFIGS" "$HYPR_CONFIG_DIR/UserConfigs.tmp"
+ mv "$USER_CONFIGS_BAK" "$USER_CONFIGS"
+ mv "$HYPR_CONFIG_DIR/UserConfigs.tmp" "$USER_CONFIGS_BAK"
+ echo "Done. UserConfigs and UserConfigsBak have been swapped."
+ break
+ ;;
+ 4)
+ echo "No changes made."
+ break
+ ;;
+ *)
+ echo "Invalid option. Please try again."
+ ;;
+ esac
+ done
+else
+ echo "Neither UserConfigs nor UserConfigsBak directory found. Nothing to do."
+fi
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage