aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorbrockar <martinnguzman.mg@gmail.com>2025-11-13 20:28:51 -0300
committerbrockar <martinnguzman.mg@gmail.com>2025-11-13 20:28:51 -0300
commit0dfd893ea1f310714c3ec2c79a17692b52ff4c43 (patch)
tree36a4f436ed174f209f0c00d09b62818f276ec239 /config
parent8fa285acf93e1f95080a60a03b00f57bac827a63 (diff)
parent872b09fa88825ec5631ba3cdc21e0e717ec241ee (diff)
Merge remote-tracking branch 'origin/development' into br-userconfigs
Diffstat (limited to 'config')
-rw-r--r--config/hypr/UserConfigs/ENVariables.conf2
-rw-r--r--config/hypr/UserConfigs/Startup_Apps.conf61
-rw-r--r--config/hypr/UserConfigs/UserKeybinds.conf1
-rwxr-xr-xconfig/hypr/UserScripts/RofiBeats.sh201
-rwxr-xr-xconfig/hypr/UserScripts/Weather.py2
-rw-r--r--config/hypr/configs/Keybinds.conf6
-rw-r--r--config/hypr/configs/Startup_Apps.conf3
-rw-r--r--config/hypr/hyprland.conf19
-rw-r--r--config/hypr/hyprlock-1080p.conf80
-rw-r--r--config/hypr/hyprlock.conf99
-rwxr-xr-x[-rw-r--r--]config/hypr/scripts/Battery.sh0
-rw-r--r--config/hypr/scripts/ComposeHyprConfigs.sh109
-rwxr-xr-xconfig/hypr/scripts/Hyprsunset.sh22
-rwxr-xr-xconfig/hypr/scripts/KeybindsLayoutInit.sh38
-rwxr-xr-xconfig/hypr/scripts/Kool_Quick_Settings.sh4
-rwxr-xr-xconfig/hypr/scripts/OverviewToggle.sh37
-rwxr-xr-x[-rw-r--r--]config/hypr/scripts/sddm_wallpaper.sh0
-rw-r--r--config/hypr/v2.3.18 (renamed from config/hypr/v2.3.17)0
-rw-r--r--config/rofi/online_music.list17
-rw-r--r--config/waybar/ModulesGroups2
20 files changed, 309 insertions, 394 deletions
diff --git a/config/hypr/UserConfigs/ENVariables.conf b/config/hypr/UserConfigs/ENVariables.conf
index d82fc2a6..4e736dc3 100644
--- a/config/hypr/UserConfigs/ENVariables.conf
+++ b/config/hypr/UserConfigs/ENVariables.conf
@@ -5,7 +5,7 @@
# environment-variables
# Current Version of JakooLit Dotfiles:
-env = DOTS_VERSION,2.3.17
+env = DOTS_VERSION,2.3.18
# Toolkit Backend Variables
env = GDK_BACKEND,wayland,x11,*
diff --git a/config/hypr/UserConfigs/Startup_Apps.conf b/config/hypr/UserConfigs/Startup_Apps.conf
deleted file mode 100644
index 2f5c7ae7..00000000
--- a/config/hypr/UserConfigs/Startup_Apps.conf
+++ /dev/null
@@ -1,61 +0,0 @@
-# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
-# Commands and Apps to be executed at launch
-
-$scriptsDir = $HOME/.config/hypr/scripts
-$UserScripts = $HOME/.config/hypr/UserScripts
-
-$wallDIR=$HOME/Pictures/wallpapers
-$lock = $scriptsDir/LockScreen.sh
-$SwwwRandom = $UserScripts/WallpaperAutoChange.sh
-$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
-
-# Weather script to populate cache on startup
-exec-once = $UserScripts/WeatherWrap.sh
-
-
-# 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
diff --git a/config/hypr/UserConfigs/UserKeybinds.conf b/config/hypr/UserConfigs/UserKeybinds.conf
index 4bebe342..17711559 100644
--- a/config/hypr/UserConfigs/UserKeybinds.conf
+++ b/config/hypr/UserConfigs/UserKeybinds.conf
@@ -18,6 +18,7 @@ source= $UserConfigs/01-UserDefaults.conf
#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
diff --git a/config/hypr/UserScripts/RofiBeats.sh b/config/hypr/UserScripts/RofiBeats.sh
index ca566019..a002a518 100755
--- a/config/hypr/UserScripts/RofiBeats.sh
+++ b/config/hypr/UserScripts/RofiBeats.sh
@@ -1,35 +1,39 @@
#!/usr/bin/env bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
-# For Rofi Beats to play online Music or Locally saved media files
+# RofiBeats - unified, dynamic UI (add, remove, manage, play)
-# Variables
mDIR="$HOME/Music/"
iDIR="$HOME/.config/swaync/icons"
rofi_theme="$HOME/.config/rofi/config-rofi-Beats.rasi"
-rofi_theme_1="$HOME/.config/rofi/config-rofi-Beats-menu.rasi"
+rofi_theme_menu="$HOME/.config/rofi/config-rofi-Beats-menu.rasi"
+music_list="$HOME/.config/rofi/online_music.list"
-# Online Stations. Edit as required
-declare -A online_music=(
- ["FM - Easy Rock 96.3 📻🎶"]="https://radio-stations-philippines.com/easy-rock"
- ["FM - Easy Rock - Baguio 91.9 📻🎶"]="https://radio-stations-philippines.com/easy-rock-baguio"
- ["FM - Love Radio 90.7 📻🎶"]="https://radio-stations-philippines.com/love"
- ["FM - WRock - CEBU 96.3 📻🎶"]="https://onlineradio.ph/126-96-3-wrock.html"
- ["FM - Fresh Philippines 📻🎶"]="https://onlineradio.ph/553-fresh-fm.html"
- ["Radio - Lofi Girl 🎧🎶"]="https://play.streamafrica.net/lofiradio"
- ["Radio - Chillhop 🎧🎶"]="http://stream.zeno.fm/fyn8eh3h5f8uv"
- ["Radio - Ibiza Global 🎧🎶"]="https://filtermusic.net/ibiza-global"
- ["Radio - Metal Music 🎧🎶"]="https://tunein.com/radio/mETaLmuSicRaDio-s119867/"
- ["YT - Wish 107.5 YT Pinoy HipHop 📻🎶"]="https://youtube.com/playlist?list=PLkrzfEDjeYJnmgMYwCKid4XIFqUKBVWEs&si=vahW_noh4UDJ5d37"
- ["YT - Youtube Top 100 Songs Global 📹🎶"]="https://youtube.com/playlist?list=PL4fGSI1pDJn6puJdseH2Rt9sMvt9E2M4i&si=5jsyfqcoUXBCSLeu"
- ["YT - Wish 107.5 YT Wishclusives 📹🎶"]="https://youtube.com/playlist?list=PLkrzfEDjeYJn5B22H9HOWP3Kxxs-DkPSM&si=d_Ld2OKhGvpH48WO"
- ["YT - Relaxing Piano Music 🎹🎶"]="https://youtu.be/6H7hXzjFoVU?si=nZTPREC9lnK1JJUG"
- ["YT - Youtube Remix 📹🎶"]="https://youtube.com/playlist?list=PLeqTkIUlrZXlSNn3tcXAa-zbo95j0iN-0"
- ["YT - Korean Drama OST 📹🎶"]="https://youtube.com/playlist?list=PLUge_o9AIFp4HuA-A3e3ZqENh63LuRRlQ"
- ["YT - lofi hip hop radio beats 📹🎶"]="https://www.youtube.com/live/jfKfPfyJRdk?si=PnJIA9ErQIAw6-qd"
- ["YT - Relaxing Piano Jazz Music 🎹🎶"]="https://youtu.be/85UEqRat6E4?si=jXQL1Yp2VP_G6NSn"
-)
+mkdir -p "$(dirname "$music_list")"
+[[ -f "$music_list" ]] || touch "$music_list"
-# Populate local_music array with files from music directory and subdirectories
+# Send notification
+notification() {
+ notify-send -u normal -i "$iDIR/music.png" "$@"
+}
+
+# Check if mpv is currently playing
+music_playing() { pgrep -x "mpv" >/dev/null; }
+
+# Stop all mpv processes except mpvpaper
+stop_music() {
+ mpv_pids=$(pgrep -x mpv)
+ if [ -n "$mpv_pids" ]; then
+ mpvpaper_pid=$(ps aux | grep -- 'unique-wallpaper-process' | grep -v 'grep' | awk '{print $2}')
+ for pid in $mpv_pids; do
+ if ! echo "$mpvpaper_pid" | grep -q "$pid"; then
+ kill -9 $pid || true
+ fi
+ done
+ notification "Music stopped"
+ fi
+}
+
+# Populate local music file list
populate_local_music() {
local_music=()
filenames=()
@@ -39,115 +43,94 @@ populate_local_music() {
done < <(find -L "$mDIR" -type f \( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.wav" -o -iname "*.ogg" -o -iname "*.mp4" \))
}
-# Function for displaying notifications
-notification() {
- notify-send -u normal -i "$iDIR/music.png" "Now Playing:" "$@"
-}
-
-# Main function for playing local music
+# Play selected local music file
play_local_music() {
populate_local_music
-
- # Prompt the user to select a song
- choice=$(printf "%s\n" "${filenames[@]}" | rofi -i -dmenu -config $rofi_theme)
-
- if [ -z "$choice" ]; then
- exit 1
- fi
-
- # Find the corresponding file path based on user's choice and set that to play the song then continue on the list
- for (( i=0; i<"${#filenames[@]}"; ++i )); do
+ choice=$(printf "%s\n" "${filenames[@]}" | rofi -i -dmenu -config "$rofi_theme" \
+ -theme-str 'entry { placeholder: "🎵 Choose Local Music"; }')
+ [[ -z "$choice" ]] && exit 1
+ for ((i = 0; i < "${#filenames[@]}"; ++i)); do
if [ "${filenames[$i]}" = "$choice" ]; then
-
- if music_playing; then
- stop_music
- fi
- notification "$choice"
- mpv --playlist-start="$i" --loop-playlist --vid=no "${local_music[@]}"
-
+ music_playing && stop_music
+ notification "Now Playing:" "$choice"
+ mpv --no-video --playlist-start="$i" --loop-playlist "${local_music[@]}"
break
fi
done
}
-# Main function for shuffling local music
+# Shuffle and play all local music
shuffle_local_music() {
- if music_playing; then
- stop_music
- fi
+ music_playing && stop_music
notification "Shuffle Play local music"
-
- # Play music in $mDIR on shuffle
- mpv --shuffle --loop-playlist --vid=no "$mDIR"
+ mpv --no-video --shuffle --loop-playlist "$mDIR"
}
-# Main function for playing online music
+# Play selected online music
play_online_music() {
- choice=$(for online in "${!online_music[@]}"; do
- echo "$online"
- done | sort | rofi -i -dmenu -config "$rofi_theme")
-
- if [ -z "$choice" ]; then
- exit 1
+ if [ ! -s "$music_list" ]; then
+ notify-send -u low -i "$iDIR/music.png" "No online music found" "Add some with Manage Music"
+ exit 0
fi
-
- link="${online_music[$choice]}"
-
- if music_playing; then
- stop_music
- fi
- notification "$choice"
-
- # Play the selected online music using mpv
- mpv --shuffle --vid=no "$link"
-}
-
-# Function to check if music is already playing
-music_playing() {
- pgrep -x "mpv" > /dev/null
+ choice=$(awk -F'|' '{print $1}' "$music_list" | sort | rofi -i -dmenu -config "$rofi_theme" \
+ -theme-str 'entry { placeholder: "🌐 Choose Online Station"; }')
+ [[ -z "$choice" ]] && exit 1
+ link=$(awk -F'|' -v name="$choice" '$1 == name {print $2; exit}' "$music_list")
+ [[ -z "$link" ]] && {
+ notify-send -u low -i "$iDIR/music.png" "URL not found for" "$choice"
+ exit 1
+ }
+ music_playing && stop_music
+ notification "Now Playing:" "$choice"
+ mpv --no-video --shuffle "$link"
}
-# Function to stop music and kill mpv processes
-stop_music() {
- mpv_pids=$(pgrep -x mpv)
+# Manage online music list (add, remove, view)
+manage_music() {
+ sub_choice=$(printf "Add Music\nRemove Music\nView List" | rofi -dmenu \
+ -config "$rofi_theme_menu" \
+ -theme-str 'entry { placeholder: "🛠️ Manage Music List"; }')
- if [ -n "$mpv_pids" ]; then
- # Get the PID of the mpv process used by mpvpaper (using the unique argument added)
- mpvpaper_pid=$(ps aux | grep -- 'unique-wallpaper-process' | grep -v 'grep' | awk '{print $2}')
-
- for pid in $mpv_pids; do
- if ! echo "$mpvpaper_pid" | grep -q "$pid"; then
- kill -9 $pid || true
- fi
- done
- notify-send -u low -i "$iDIR/music.png" "Music stopped" || true
- fi
+ case "$sub_choice" in
+ "Add Music")
+ name=$(rofi -dmenu -lines 0 -config "$rofi_theme_menu" \
+ -theme-str 'entry { placeholder: "🎼 Enter Music Title"; }')
+ [[ -z "$name" ]] && return
+ url=$(rofi -dmenu -lines 0 -config "$rofi_theme_menu" \
+ -theme-str 'entry { placeholder: "🔗 Enter Music URL"; }')
+ [[ -z "$url" ]] && return
+ echo "$name|$url" >>"$music_list"
+ notification "Added" "$name"
+ ;;
+ "Remove Music")
+ entry=$(awk -F'|' '{print $1}' "$music_list" | rofi -dmenu -config "$rofi_theme_menu" \
+ -theme-str 'entry { placeholder: "🗑️ Select Music to Remove"; }')
+ [[ -z "$entry" ]] && return
+ grep -vF "$entry" "$music_list" >"$music_list.tmp" && mv "$music_list.tmp" "$music_list"
+ notification "Removed" "$entry"
+ ;;
+ "View List")
+ # Show only titles, not URLs
+ awk -F'|' '{print $1}' "$music_list" | rofi -dmenu -config "$rofi_theme_menu" \
+ -theme-str 'entry { placeholder: "📜 Online Music List"; }' >/dev/null
+ ;;
+ esac
}
+# Main menu
user_choice=$(printf "%s\n" \
"Play from Online Stations" \
"Play from Music directory" \
"Shuffle Play from Music directory" \
"Stop RofiBeats" \
- | rofi -dmenu -config $rofi_theme_1)
-
-echo "User choice: $user_choice"
+ "Manage Music List" |
+ rofi -dmenu -config "$rofi_theme_menu" \
+ -theme-str 'entry { placeholder: "🎧 RofiBeats Menu"; }')
case "$user_choice" in
- "Play from Online Stations")
- play_online_music
- ;;
- "Play from Music directory")
- play_local_music
- ;;
- "Shuffle Play from Music directory")
- shuffle_local_music
- ;;
- "Stop RofiBeats")
- if music_playing; then
- stop_music
- fi
- ;;
- *)
- ;;
+"Play from Online Stations") play_online_music ;;
+"Play from Music directory") play_local_music ;;
+"Shuffle Play from Music directory") shuffle_local_music ;;
+"Stop RofiBeats") music_playing && stop_music ;;
+"Manage Music List") manage_music ;;
esac
diff --git a/config/hypr/UserScripts/Weather.py b/config/hypr/UserScripts/Weather.py
index a9a826e1..a6483777 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/Keybinds.conf b/config/hypr/configs/Keybinds.conf
index ebaee30a..fbe3bfe5 100644
--- a/config/hypr/configs/Keybinds.conf
+++ b/config/hypr/configs/Keybinds.conf
@@ -19,8 +19,10 @@ bindd = $mainMod SHIFT, E, Quick settings menu, exec, $scriptsDir/Kool_Quick_Set
# Master Layout
bindd = $mainMod CTRL, D, remove master, layoutmsg, removemaster
bindd = $mainMod, I, add master, layoutmsg, addmaster
-bindd = $mainMod, J, cycle next, layoutmsg, cyclenext
-bindd = $mainMod, K, cycle previous, layoutmsg, cycleprev
+# NOTE: J/K bindings are set dynamically by scripts/KeybindsLayoutInit.sh and scripts/ChangeLayout.sh
+# (we intentionally do not bind them statically here to avoid conflicts across layouts)
+# bindd = $mainMod, J, cycle next, layoutmsg, cyclenext
+# bindd = $mainMod, K, cycle previous, layoutmsg, cycleprev
bindd = $mainMod CTRL, Return, swap with master, layoutmsg, swapwithmaster
# Dwindle Layout
diff --git a/config/hypr/configs/Startup_Apps.conf b/config/hypr/configs/Startup_Apps.conf
index d952e65b..c1670595 100644
--- a/config/hypr/configs/Startup_Apps.conf
+++ b/config/hypr/configs/Startup_Apps.conf
@@ -19,6 +19,7 @@ exec-once = swww-daemon --format xrgb
# 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
exec-once = $HOME/.config/hypr/scripts/Dropterminal.sh kitty &
@@ -47,6 +48,8 @@ exec-once = $UserScripts/RainbowBorders.sh
# Starting hypridle to start 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
diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf
index fa8435dc..f509a76d 100644
--- a/config/hypr/hyprland.conf
+++ b/config/hypr/hyprland.conf
@@ -9,33 +9,28 @@ exec-once = $HOME/.config/hypr/initial-boot.sh
# 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
+source=$configs/Keybinds.conf # Pre-configured keybinds
+
+# Load vendor defaults, then user additions/overrides
+source= $configs/Startup_Apps.conf
source= $UserConfigs/Startup_Apps.conf
source= $UserConfigs/ENVariables.conf # Environment variables to load
-#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= $UserConfigs/Laptops.conf # For laptop related
-
source= $UserConfigs/LaptopDisplay.conf # Laptop display related. You need to read the comment on this file
-source= $UserConfigs/WindowRules.conf # all about Hyprland Window Rules and Layer Rules
+# Load vendor defaults, then user additions
+source= $configs/WindowRules.conf # all about Hyprland Window Rules and Layer Rules (defaults)
+source= $UserConfigs/WindowRules.conf # Window Rules and Layer Rules user configs
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/Battery.sh b/config/hypr/scripts/Battery.sh
index 2baed6ca..2baed6ca 100644..100755
--- a/config/hypr/scripts/Battery.sh
+++ b/config/hypr/scripts/Battery.sh
diff --git a/config/hypr/scripts/ComposeHyprConfigs.sh b/config/hypr/scripts/ComposeHyprConfigs.sh
deleted file mode 100644
index 55bc3c5c..00000000
--- a/config/hypr/scripts/ComposeHyprConfigs.sh
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/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 \ No newline at end of file
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/KeybindsLayoutInit.sh b/config/hypr/scripts/KeybindsLayoutInit.sh
new file mode 100755
index 00000000..fd34f90e
--- /dev/null
+++ b/config/hypr/scripts/KeybindsLayoutInit.sh
@@ -0,0 +1,38 @@
+#!/usr/bin/env bash
+# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
+# Initialize J/K keybinds to match the current default layout at startup
+
+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
+
+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
diff --git a/config/hypr/scripts/Kool_Quick_Settings.sh b/config/hypr/scripts/Kool_Quick_Settings.sh
index 79ddc163..16742492 100755
--- a/config/hypr/scripts/Kool_Quick_Settings.sh
+++ b/config/hypr/scripts/Kool_Quick_Settings.sh
@@ -55,10 +55,10 @@ main() {
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="$UserConfigs/WindowRules.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="$UserConfigs/Startup_Apps.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" ;;
diff --git a/config/hypr/scripts/OverviewToggle.sh b/config/hypr/scripts/OverviewToggle.sh
new file mode 100755
index 00000000..21c2da34
--- /dev/null
+++ b/config/hypr/scripts/OverviewToggle.sh
@@ -0,0 +1,37 @@
+#!/usr/bin/env bash
+# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
+# Overview toggle wrapper - tries Quickshell first, falls back to AGS
+
+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
+fi
+
+# If QS isn't running, try starting it and retry once
+if command -v qs >/dev/null 2>&1; then
+ qs >/dev/null 2>&1 &
+ sleep 0.6
+ if hyprctl dispatch global quickshell:overviewToggle >/dev/null 2>&1; then
+ exit 0
+ fi
+fi
+
+# 2) Fall back to AGS template
+if command -v ags >/dev/null 2>&1; then
+ pkill rofi || true
+ if ags -t 'overview' >/dev/null 2>&1; then
+ exit 0
+ fi
+ # If it failed, try starting AGS daemon then call the template
+ ags >/dev/null 2>&1 &
+ sleep 0.6
+ if ags -t 'overview' >/dev/null 2>&1; then
+ exit 0
+ fi
+fi
+
+# If we get here, neither worked
+notify-send "Overview" "Neither Quickshell nor AGS is available" -u low 2>/dev/null || true
+exit 1
diff --git a/config/hypr/scripts/sddm_wallpaper.sh b/config/hypr/scripts/sddm_wallpaper.sh
index 9dca2f72..9dca2f72 100644..100755
--- a/config/hypr/scripts/sddm_wallpaper.sh
+++ b/config/hypr/scripts/sddm_wallpaper.sh
diff --git a/config/hypr/v2.3.17 b/config/hypr/v2.3.18
index 31b3414d..31b3414d 100644
--- a/config/hypr/v2.3.17
+++ b/config/hypr/v2.3.18
diff --git a/config/rofi/online_music.list b/config/rofi/online_music.list
new file mode 100644
index 00000000..bb21b9d4
--- /dev/null
+++ b/config/rofi/online_music.list
@@ -0,0 +1,17 @@
+FM - Easy Rock 96.3 📻🎶|https://radio-stations-philippines.com/easy-rock
+FM - Easy Rock - Baguio 91.9 📻🎶|https://radio-stations-philippines.com/easy-rock-baguio
+FM - Love Radio 90.7 📻🎶|https://radio-stations-philippines.com/love
+FM - WRock - CEBU 96.3 📻🎶|https://onlineradio.ph/126-96-3-wrock.html
+FM - Fresh Philippines 📻🎶|https://onlineradio.ph/553-fresh-fm.html
+Radio - Lofi Girl 🎧🎶|https://play.streamafrica.net/lofiradio
+Radio - Chillhop 🎧🎶|http://stream.zeno.fm/fyn8eh3h5f8uv
+Radio - Ibiza Global 🎧🎶|https://filtermusic.net/ibiza-global
+Radio - Metal Music 🎧🎶|https://tunein.com/radio/mETaLmuSicRaDio-s119867/
+YT - Wish 107.5 YT Pinoy HipHop 📻🎶|https://youtube.com/playlist?list=PLkrzfEDjeYJnmgMYwCKid4XIFqUKBVWEs&si=vahW_noh4UDJ5d37
+YT - Youtube Top 100 Songs Global 📹🎶|https://youtube.com/playlist?list=PL4fGSI1pDJn6puJdseH2Rt9sMvt9E2M4i&si=5jsyfqcoUXBCSLeu
+YT - Wish 107.5 YT Wishclusives 📹🎶|https://youtube.com/playlist?list=PLkrzfEDjeYJn5B22H9HOWP3Kxxs-DkPSM&si=d_Ld2OKhGvpH48WO
+YT - Relaxing Piano Music 🎹🎶|https://youtu.be/6H7hXzjFoVU?si=nZTPREC9lnK1JJUG
+YT - Youtube Remix 📹🎶|https://youtube.com/playlist?list=PLeqTkIUlrZXlSNn3tcXAa-zbo95j0iN-0
+YT - Korean Drama OST 📹🎶|https://youtube.com/playlist?list=PLUge_o9AIFp4HuA-A3e3ZqENh63LuRRlQ
+YT - lofi hip hop radio beats 📹🎶|https://www.youtube.com/live/jfKfPfyJRdk?si=PnJIA9ErQIAw6-qd
+YT - Relaxing Piano Jazz Music 🎹🎶|https://youtu.be/85UEqRat6E4?si=jXQL1Yp2VP_G6NSn
diff --git a/config/waybar/ModulesGroups b/config/waybar/ModulesGroups
index 8d4453a2..30e47f16 100644
--- a/config/waybar/ModulesGroups
+++ b/config/waybar/ModulesGroups
@@ -89,7 +89,6 @@
},
"modules": [
"custom/power",
- "custom/nightlight",
"custom/lock",
"keyboard-state",
"custom/keyboard",
@@ -132,7 +131,6 @@
},
"modules": [
"custom/power",
- "custom/nightlight",
"custom/lock",
"custom/logout",
"custom/reboot"
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage