Changed /usr/bin/bash to /usr/bin/env bash

On branch development
 Your branch is up to date with 'origin/development'.

 Changes to be committed:
	modified:   Distro-Hyprland.sh
	modified:   config/hypr/UserScripts/RainbowBorders.sh
	modified:   config/hypr/UserScripts/RofiBeats.sh
	modified:   config/hypr/UserScripts/RofiCalc.sh
	modified:   config/hypr/UserScripts/Tak0-Autodispatch.sh
	modified:   config/hypr/UserScripts/WallpaperAutoChange.sh
	modified:   config/hypr/UserScripts/WallpaperEffects.sh
	modified:   config/hypr/UserScripts/WallpaperRandom.sh
	modified:   config/hypr/UserScripts/WallpaperSelect.sh
	modified:   config/hypr/UserScripts/Weather.sh
	modified:   config/hypr/UserScripts/WeatherWrap.sh
	modified:   config/hypr/UserScripts/ZshChangeTheme.sh
	new file:   config/hypr/configs/Startup_Apps.conf
	new file:   config/hypr/configs/WindowRules.conf
	modified:   config/hypr/hyprland.conf
	modified:   config/hypr/initial-boot.sh
	modified:   config/hypr/scripts/AirplaneMode.sh
	modified:   config/hypr/scripts/Animations.sh
	modified:   config/hypr/scripts/Battery.sh
	modified:   config/hypr/scripts/Brightness.sh
	modified:   config/hypr/scripts/BrightnessKbd.sh
	modified:   config/hypr/scripts/ChangeBlur.sh
	modified:   config/hypr/scripts/ChangeLayout.sh
	modified:   config/hypr/scripts/ClipManager.sh
	new file:   config/hypr/scripts/ComposeHyprConfigs.sh
	modified:   config/hypr/scripts/DarkLight.sh
	modified:   config/hypr/scripts/Distro_update.sh
	modified:   config/hypr/scripts/Dropterminal.sh
	modified:   config/hypr/scripts/GameMode.sh
	modified:   config/hypr/scripts/Hypridle.sh
	modified:   config/hypr/scripts/KeyBinds.sh
	modified:   config/hypr/scripts/KeyHints.sh
	modified:   config/hypr/scripts/KillActiveProcess.sh
	modified:   config/hypr/scripts/Kitty_themes.sh
	modified:   config/hypr/scripts/KooLsDotsUpdate.sh
	modified:   config/hypr/scripts/Kool_Quick_Settings.sh
	modified:   config/hypr/scripts/LockScreen.sh
	modified:   config/hypr/scripts/MediaCtrl.sh
	modified:   config/hypr/scripts/MonitorProfiles.sh
	modified:   config/hypr/scripts/Polkit-NixOS.sh
	modified:   config/hypr/scripts/Polkit.sh
	modified:   config/hypr/scripts/PortalHyprland.sh
	modified:   config/hypr/scripts/Refresh.sh
	modified:   config/hypr/scripts/RefreshNoWaybar.sh
	modified:   config/hypr/scripts/RofiEmoji.sh
	modified:   config/hypr/scripts/RofiSearch.sh
	modified:   config/hypr/scripts/RofiThemeSelector-modified.sh
	modified:   config/hypr/scripts/RofiThemeSelector.sh
	modified:   config/hypr/scripts/ScreenShot.sh
	modified:   config/hypr/scripts/Sounds.sh
	modified:   config/hypr/scripts/SwitchKeyboardLayout.sh
	modified:   config/hypr/scripts/Tak0-Autodispatch.sh
	modified:   config/hypr/scripts/TouchPad.sh
	modified:   config/hypr/scripts/Volume.sh
	modified:   config/hypr/scripts/WallustSwww.sh
	modified:   config/hypr/scripts/WaybarLayout.sh
	modified:   config/hypr/scripts/WaybarScripts.sh
	modified:   config/hypr/scripts/WaybarStyles.sh
	modified:   config/hypr/scripts/Wlogout.sh
	modified:   config/hypr/scripts/sddm_wallpaper.sh
	modified:   copy.sh
	modified:   release.sh
	modified:   upgrade.sh
This commit is contained in:
Don Williams
2025-10-28 17:30:59 -04:00
parent dad4a040a8
commit 758b466c5f
63 changed files with 544 additions and 69 deletions

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# https://github.com/JaKooLit
# Script design to clone the Distro-Hyprland install scripts

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# for rainbow borders animation

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# For Rofi Beats to play online Music or Locally saved media files

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */
# /* Calculator (using qalculate) and rofi */
# /* Submitted by: https://github.com/JosephArmas */

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# USAGE / ІНСТРУКЦІЯ:
# 1) Run from terminal:
# ./dispatch.sh <application_command> <target_workspace_number>

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# source https://wiki.archlinux.org/title/Hyprland#Using_a_script_to_change_wallpaper_every_X_minutes

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
# Wallpaper Effects using ImageMagick (SUPER SHIFT W)

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Script for Random Wallpaper ( CTRL ALT W)

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */
# This script for selecting wallpapers (SUPER W)

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# weather info from wttr. https://github.com/chubin/wttr.in
# Remember to add city

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Weather entrypoint: prefer Python (OpenMeteo), fallback to legacy Bash (wttr.in)

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Script for Oh my ZSH theme ( CTRL SHIFT O)

View File

@@ -0,0 +1,58 @@
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
# Commands and Apps to be executed at launch (vendor defaults)
$scriptsDir = $HOME/.config/hypr/scripts
$UserScripts = $HOME/.config/hypr/UserScripts
$wallDIR=$HOME/Pictures/wallpapers
$lock = $scriptsDir/LockScreen.sh
$SwwwRandom = $UserScripts/WallpaperAutoChange.sh
$livewallpaper=""
# 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
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
# Initialize 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 &
# Polkit (Polkit Gnome / KDE)
exec-once = $scriptsDir/Polkit.sh
# starup apps
exec-once = nm-applet --indicator
exec-once = nm-tray # For ubuntu
exec-once = swaync
#exec-once = ags
#exec-once = blueman-applet
#exec-once = rog-control-center
exec-once = waybar
exec-once = qs # quickshell AGS Desktop Overview alternative
#clipboard manager
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
# Rainbow borders
exec-once = $UserScripts/RainbowBorders.sh
# Starting hypridle to start hyprlock
exec-once = hypridle
# Here are list of features available but disabled by default
# exec-once = swww-daemon --format xrgb && swww img $HOME/Pictures/wallpapers/mecha-nostalgia.png # persistent wallpaper
#gnome polkit for nixos
#exec-once = $scriptsDir/Polkit-NixOS.sh
# xdg-desktop-portal-hyprland (should be auto starting. However, you can force to start)
#exec-once = $scriptsDir/PortalHyprland.sh

View File

@@ -0,0 +1,235 @@
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
# Vendor defaults 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

View File

@@ -15,7 +15,9 @@ source=$configs/Keybinds.conf # Pre-configured keybinds
# ## This is where you want to start tinkering
$UserConfigs = $HOME/.config/hypr/UserConfigs # User Configs directory path
source= $UserConfigs/Startup_Apps.conf # put your start-up packages on this file
# Generated merges (vendor + user overlay with dedupe/disable)
source= $HOME/.config/hypr/generated/Startup_Apps.conf
source= $HOME/.config/hypr/generated/WindowRules.conf
source= $UserConfigs/ENVariables.conf # Environment variables to load

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
# A bash script designed to run only once dotfiles installed

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Airplane Mode. Turning on or off all wifi using rfkill.

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# For applying Animations from different users

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
for i in {0..3}; do
if [ -f /sys/class/power_supply/BAT$i/capacity ]; then

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Script for Monitor backlights (if supported) using brightnessctl

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Script for keyboard backlights (if supported) using brightnessctl

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Script for changing blurs on the fly

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# for changing Hyprland Layouts (Master or Dwindle) on the fly

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Clipboard Manager. This script uses cliphist, rofi, and wl-copy.

View File

@@ -0,0 +1,109 @@
#!/usr/bin/env bash
# Compose merged Hyprland configs for Startup_Apps and WindowRules
set -euo pipefail
BASE_DIR="$HOME/.config/hypr"
BASE_CFG_DIR="$BASE_DIR/configs"
USER_DIR="$BASE_DIR/UserConfigs"
GEN_DIR="$BASE_DIR/generated"
mkdir -p "$GEN_DIR"
log() { printf "[compose] %s\n" "$*"; }
# Trim leading/trailing whitespace
trim() { sed -E 's/^\s+//;s/\s+$//'; }
# Normalize spaces in a directive line
normalize() { awk '{$1=$1;print}'; }
# Build merged Startup_Apps.conf
compose_startup_apps() {
local base_file="$BASE_CFG_DIR/Startup_Apps.conf"
local user_file="$USER_DIR/Startup_Apps.conf"
local disable_file="$USER_DIR/Startup_Apps.disable"
local out_file="$GEN_DIR/Startup_Apps.conf"
: >"$out_file"
# Header and variable lines come from base
if [[ -f "$base_file" ]]; then
# Copy all non exec-once lines (comments, blanks, variables, etc.)
grep -Ev '^\s*exec-once\s*=' "$base_file" || true >>"$out_file"
fi
# Collect exec-once commands (the right side of '=')
declare -A cmds=()
if [[ -f "$base_file" ]]; then
while IFS= read -r line; do
[[ "$line" =~ ^\s*exec-once\s*= ]] || continue
cmd="${line#*=}"
cmd="$(echo "$cmd" | trim)"
cmds["$cmd"]=1
done <"$base_file"
fi
if [[ -f "$user_file" ]]; then
while IFS= read -r line; do
[[ "$line" =~ ^\s*exec-once\s*= ]] || continue
cmd="${line#*=}"
cmd="$(echo "$cmd" | trim)"
cmds["$cmd"]=1
done <"$user_file"
fi
# Apply disables (exact match of command string)
if [[ -f "$disable_file" ]]; then
while IFS= read -r d; do
d="$(echo "$d" | trim)"
[[ -z "$d" || "$d" =~ ^# ]] && continue
unset 'cmds[$d]'
done <"$disable_file"
fi
# Emit combined exec-once (stable sort)
for k in "${!cmds[@]}"; do echo "$k"; done | sort -u | while IFS= read -r cmd; do
[[ -z "$cmd" ]] && continue
printf "exec-once = %s\n" "$cmd" >>"$out_file"
done
log "Wrote $out_file"
}
# Build merged WindowRules.conf
compose_window_rules() {
local base_file="$BASE_CFG_DIR/WindowRules.conf"
local user_file="$USER_DIR/WindowRules.conf"
local disable_file="$USER_DIR/WindowRules.disable"
local out_file="$GEN_DIR/WindowRules.conf"
: >"$out_file"
echo "# Generated merged WindowRules" >>"$out_file"
declare -A rules=()
add_rules() {
local f="$1"
[[ -f "$f" ]] || return 0
grep -E '^(windowrule|layerrule)\s*=' "$f" | trim | while IFS= read -r r; do
rules["$r"]=1
done
}
add_rules "$base_file"
add_rules "$user_file"
if [[ -f "$disable_file" ]]; then
while IFS= read -r d; do
d="$(echo "$d" | trim)"
[[ -z "$d" || "$d" =~ ^# ]] && continue
unset 'rules[$d]'
done <"$disable_file"
fi
for r in "${!rules[@]}"; do echo "$r"; done | sort -u >>"$out_file"
log "Wrote $out_file"
}
compose_startup_apps
compose_window_rules

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# For Dark and Light switching
# Note: Scripts are looking for keywords Light or Dark except for wallpapers as the are in a separate directories

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Simple bash script to check and will try to update your system

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
#
# Made and brought to by Kiran George

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Game Mode. Turning off all animations

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# This is for custom version of waybar idle_inhibitor which activates / deactivates hypridle instead

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# searchable enabled keybinds using rofi

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# GDK BACKEND. Change to either wayland or x11 if having issues

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Copied from Discord post. Thanks to @Zorg

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */  #
# Kitty Themes Source https://github.com/dexpota/kitty-themes #

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# simple bash script to check if update is available by comparing local version and github version

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Rofi menu for KooL Hyprland Quick Settings (SUPER SHIFT E)

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# For Hyprlock

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Playerctl

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# For applying Pre-configured Monitor Profiles

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# For NixOS starting of polkit-gnome. Dec 2023, the settings stated in NixOS wiki does not work so have to manual start it

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# This script starts the first available Polkit agent from a list of possible locations

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# For manually starting xdg-desktop-portal-hyprland

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Scripts for refreshing ags, waybar, rofi, swaync, wallust

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Modified version of Refresh.sh but waybar wont refresh

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Variables

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# For Searching via web browsers

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# A modified version of Rofi-Theme-Selector, concentrating only on ~/.local and also, applying only 10 @themes in ~/.config/rofi/config.rasi
# as opposed to continous adding of //@theme

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */  #
# Rofi Themes - Script to preview and apply themes by live-reloading the config.

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Screenshots scripts

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# This script is used to play system sounds.
# Script is used by Volume.Sh and ScreenShots.sh

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# This is for changing kb_layouts. Set kb_layouts in $settings_file

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# USAGE / ІНСТРУКЦІЯ:
# 1) Run from terminal:
# ./dispatch.sh <application_command> <target_workspace_number>

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# For disabling touchpad.
# Edit the Touchpad_Device on ~/.config/hypr/UserConfigs/Laptops.conf according to your system

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Scripts for volume controls for audio and mic

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Wallust: derive colors from the current wallpaper and update templates
# Usage: WallustSwww.sh [absolute_path_to_wallpaper]

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Script for waybar layout or configs

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
# This file used on waybar modules sourcing defaults set in $HOME/.config/hypr/UserConfigs/01-UserDefaults.conf

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Script for waybar styles

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# wlogout (Power, Screen Lock, Suspend, etc)

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */
# SDDM Wallpaper and Wallust Colors Setter

84
copy.sh
View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
clear
@@ -111,8 +111,17 @@ fi
# Proper Polkit for NixOS
if hostnamectl | grep -q 'Operating System: NixOS'; then
echo "${INFO} NixOS Distro Detected. Setting up proper env's and configs." 2>&1 | tee -a "$LOG" || true
sed -i -E '/^#?exec-once = \$scriptsDir\/Polkit-NixOS\.sh/s/^#//' config/hypr/UserConfigs/Startup_Apps.conf
sed -i '/^exec-once = \$scriptsDir\/Polkit\.sh$/ s/^#*/#/' config/hypr/UserConfigs/Startup_Apps.conf
# Ensure NixOS polkit is enabled via overlay and default polkit is disabled via disable list
OVERLAY_SA="config/hypr/UserConfigs/Startup_Apps.conf"
DISABLE_SA="config/hypr/UserConfigs/Startup_Apps.disable"
mkdir -p "$(dirname "$OVERLAY_SA")"
touch "$OVERLAY_SA" "$DISABLE_SA"
if ! grep -qx 'exec-once = $scriptsDir/Polkit-NixOS.sh' "$OVERLAY_SA"; then
echo 'exec-once = $scriptsDir/Polkit-NixOS.sh' >> "$OVERLAY_SA"
fi
if ! grep -qx '\$scriptsDir/Polkit.sh' "$DISABLE_SA"; then
echo '$scriptsDir/Polkit.sh' >> "$DISABLE_SA"
fi
fi
# activating hyprcursor on env by checking if the directory ~/.icons/Bibata-Modern-Ice/hyprcursors exists
@@ -236,17 +245,23 @@ done
# Check if asusctl is installed and add rog-control-center on Startup
if command -v asusctl >/dev/null 2>&1; then
sed -i '/^\s*#exec-once = rog-control-center/s/^#//' config/hypr/UserConfigs/Startup_Apps.conf
OVERLAY_SA="config/hypr/UserConfigs/Startup_Apps.conf"
mkdir -p "$(dirname "$OVERLAY_SA")"; touch "$OVERLAY_SA"
grep -qx 'exec-once = rog-control-center' "$OVERLAY_SA" || echo 'exec-once = rog-control-center' >> "$OVERLAY_SA"
fi
# Check if blueman-applet is installed and add blueman-applet on Startup
if command -v blueman-applet >/dev/null 2>&1; then
sed -i '/^\s*#exec-once = blueman-applet/s/^#//' config/hypr/UserConfigs/Startup_Apps.conf
OVERLAY_SA="config/hypr/UserConfigs/Startup_Apps.conf"
mkdir -p "$(dirname "$OVERLAY_SA")"; touch "$OVERLAY_SA"
grep -qx 'exec-once = blueman-applet' "$OVERLAY_SA" || echo 'exec-once = blueman-applet' >> "$OVERLAY_SA"
fi
# Check if ags is installed edit ags behaviour on configs
if command -v ags >/dev/null 2>&1; then
sed -i '/^\s*#exec-once = ags/s/^#//' config/hypr/UserConfigs/Startup_Apps.conf
OVERLAY_SA="config/hypr/UserConfigs/Startup_Apps.conf"
mkdir -p "$(dirname "$OVERLAY_SA")"; touch "$OVERLAY_SA"
grep -qx 'exec-once = ags' "$OVERLAY_SA" || echo 'exec-once = ags' >> "$OVERLAY_SA"
sed -i '/#ags -q && ags &/s/^#//' config/hypr/scripts/RefreshNoWaybar.sh
sed -i '/#ags -q && ags &/s/^#//' config/hypr/scripts/Refresh.sh
@@ -259,7 +274,9 @@ fi
# Check if quickshell is installed; edit quickshell behaviour on configs
if command -v qs >/dev/null 2>&1; then
sed -i '/^\s*#exec-once = qs/s/^#//' config/hypr/UserConfigs/Startup_Apps.conf
OVERLAY_SA="config/hypr/UserConfigs/Startup_Apps.conf"
mkdir -p "$(dirname "$OVERLAY_SA")"; touch "$OVERLAY_SA"
grep -qx 'exec-once = qs' "$OVERLAY_SA" || echo 'exec-once = qs' >> "$OVERLAY_SA"
sed -i '/#pkill qs && qs &/s/^#//' config/hypr/scripts/RefreshNoWaybar.sh
sed -i '/#pkill qs && qs &/s/^#//' config/hypr/scripts/Refresh.sh
@@ -814,6 +831,37 @@ FILES_TO_RESTORE=(
"WindowRules.conf"
)
# Helper to extract overlay (additions) and optional disables from a previous user file compared to vendor base
compose_overlay_from_backup() {
local type="$1" # startup|windowrules
local base_file="$2"
local old_user_file="$3"
local new_user_file="$4"
local disable_file="$5"
mkdir -p "$(dirname "$new_user_file")"
: >"$new_user_file"
: >"$disable_file"
if [ "$type" = "startup" ]; then
# additions: exec-once lines present in old user but not in base
grep -E '^\s*exec-once\s*=' "$old_user_file" | sed -E 's/^\s+//;s/\s+$//' | sort -u >"$old_user_file.tmp.exec"
grep -E '^\s*exec-once\s*=' "$base_file" | sed -E 's/^\s+//;s/\s+$//' | sort -u >"$base_file.tmp.exec"
comm -23 "$old_user_file.tmp.exec" "$base_file.tmp.exec" >"$new_user_file"
# treat commented exec-once in old user as disables
grep -E '^\s*#\s*exec-once\s*=' "$old_user_file" | sed -E 's/^\s*#\s*exec-once\s*=\s*//' | sed -E 's/^\s+//;s/\s+$//' | sort -u >"$disable_file"
rm -f "$old_user_file.tmp.exec" "$base_file.tmp.exec"
elif [ "$type" = "windowrules" ]; then
# additions
grep -E '^(windowrule|layerrule)\s*=' "$old_user_file" | sed -E 's/^\s+//;s/\s+$//' | sort -u >"$old_user_file.tmp.rules"
grep -E '^(windowrule|layerrule)\s*=' "$base_file" | sed -E 's/^\s+//;s/\s+$//' | sort -u >"$base_file.tmp.rules"
comm -23 "$old_user_file.tmp.rules" "$base_file.tmp.rules" >"$new_user_file"
# disables: lines commented in old user
grep -E '^\s*#\s*(windowrule|layerrule)\s*=' "$old_user_file" | sed -E 's/^\s*#\s*//' | sed -E 's/^\s+//;s/\s+$//' | sort -u >"$disable_file"
rm -f "$old_user_file.tmp.rules" "$base_file.tmp.rules"
fi
}
DIRPATH="$HOME/.config/$DIRH"
BACKUP_DIR=$(get_backup_dirname)
BACKUP_DIR_PATH="$DIRPATH-backup-$BACKUP_DIR/UserConfigs"
@@ -830,14 +878,27 @@ if [ -d "$BACKUP_DIR_PATH" ]; then
NOTES for RESTORING PREVIOUS CONFIGS
█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
If you decide to restore your old configs, make sure to
handle the updates or changes manually !!!
We now auto-migrate Startup_Apps and WindowRules by extracting
your additions into overlay files and optional disable lists.
This keeps new defaults while preserving your custom changes.
"
echo -e "${MAGENTA}Kindly Visit and check KooL's Hyprland-Dots GitHub page for the history of commits.${RESET}"
for FILE_NAME in "${FILES_TO_RESTORE[@]}"; do
BACKUP_FILE="$BACKUP_DIR_PATH/$FILE_NAME"
if [ -f "$BACKUP_FILE" ]; then
# Special handling for Startup_Apps.conf and WindowRules.conf
if [ "$FILE_NAME" = "Startup_Apps.conf" ]; then
compose_overlay_from_backup "startup" "$DIRPATH/configs/Startup_Apps.conf" "$BACKUP_FILE" "$DIRPATH/UserConfigs/Startup_Apps.conf" "$DIRPATH/UserConfigs/Startup_Apps.disable"
echo "${OK} - Migrated overlay for ${YELLOW}$FILE_NAME${RESET}" 2>&1 | tee -a "$LOG"
continue
fi
if [ "$FILE_NAME" = "WindowRules.conf" ]; then
compose_overlay_from_backup "windowrules" "$DIRPATH/configs/WindowRules.conf" "$BACKUP_FILE" "$DIRPATH/UserConfigs/WindowRules.conf" "$DIRPATH/UserConfigs/WindowRules.disable"
echo "${OK} - Migrated overlay for ${YELLOW}$FILE_NAME${RESET}" 2>&1 | tee -a "$LOG"
continue
fi
printf "\n${INFO} Found ${YELLOW}$FILE_NAME${RESET} in hypr backup...\n"
echo -n "${CAT} Do you want to restore ${YELLOW}$FILE_NAME${RESET} from backup? (y/N): "
read file_restore
@@ -855,6 +916,11 @@ if [ -d "$BACKUP_DIR_PATH" ]; then
done
fi
# Compose merged configs (Startup_Apps and WindowRules)
if [ -x "$DIRPATH/scripts/ComposeHyprConfigs.sh" ]; then
"$DIRPATH/scripts/ComposeHyprConfigs.sh" 2>&1 | tee -a "$LOG" || true
fi
printf "\n%.0s" {1..1}
# Restoring previous UserScripts

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
# For downloading dots from releases

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
# for Semi-Manual upgrading your system.
# NOTE: requires rsync
@@ -196,7 +196,12 @@ if version_gt "$latest_version" "$stored_version"; then
chmod +x "$HOME/.config/hypr/scripts/"* 2>&1 | tee -a "$LOG"
chmod +x "$HOME/.config/hypr/UserScripts/"* 2>&1 | tee -a "$LOG"
# Set executable for initial-boot.sh
chmod +x "$HOME/.config/hypr/initial-boot.sh" 2>&1 | tee -a "$LOG"
chmod +x "$HOME/.config/hypr/initial-boot.sh" 2>&1 | tee -a "$LOG"
# Compose merged configs (Startup_Apps and WindowRules)
if [ -x "$HOME/.config/hypr/scripts/ComposeHyprConfigs.sh" ]; then
"$HOME/.config/hypr/scripts/ComposeHyprConfigs.sh" 2>&1 | tee -a "$LOG" || true
fi
else
echo "$MAGENTA Upgrade declined. No files or directories changed" 2>&1 | tee -a "$LOG"
fi