diff --git a/.config/hypr/battery.sh b/.config/hypr/battery.sh
new file mode 100755
index 0000000..a8ed79f
--- /dev/null
+++ b/.config/hypr/battery.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+# Get the current battery percentage
+battery_percentage=$(cat /sys/class/power_supply/BAT0/capacity)
+
+# Get the battery status (Charging or Discharging)
+battery_status=$(cat /sys/class/power_supply/BAT0/status)
+
+# Define the battery icons for each 10% segment
+battery_icons=("" "" "" "" "" "" "" "" "" "")
+
+# Define the charging icon
+charging_icon=""
+
+# Calculate the index for the icon array
+icon_index=$((battery_percentage / 10))
+
+# Get the corresponding icon
+battery_icon=${battery_icons[icon_index]}
+
+# Check if the battery is charging
+if [ "$battery_status" = "Charging" ]; then
+ battery_icon="$charging_icon"
+fi
+
+# Output the battery percentage and icon
+echo "$battery_percentage% $battery_icon"
diff --git a/.config/hypr/hypridle.conf b/.config/hypr/hypridle.conf
index b1466e7..a974206 100644
--- a/.config/hypr/hypridle.conf
+++ b/.config/hypr/hypridle.conf
@@ -10,41 +10,27 @@
$LOCKSCREEN = lockscreen.sh # Calls $LOCKSCREEN set from hyprland
general {
- lock_cmd = $LOCKSCREEN
- unlock_cmd = #notify-send "unlock!" # same as above, but unlock
- before_sleep_cmd = $LOCKSCREEN # command ran before sleep
- after_sleep_cmd = # notify-send "Awake!" # command ran after sleep
- ignore_dbus_inhibit = 0
+ lock_cmd = pidof hyprlock || hyprlock
+ on_unlock_cmd = bash -c 'notify-send "Welcome back!"'
+ before_sleep_cmd = loginctl lock-session
+ after_sleep_cmd = bash -c 'brightnessctl -r; brightnessctl -d tpacpi::kbd_backlight set 1; hyprctl dispatch dpms on'
}
-# Dims the display
listener {
- timeout = 120
-on-timeout = { brightnessctl -s && brightnessctl s 1% ;}
- on-resume = brightnessctl -r
+ timeout = 210 # 5min
+ on-timeout = loginctl lock-session # lock screen when timeout has passed
}
-# Lock it first before dpms off so that screen won't show for a moment after wake up.
listener {
- timeout = 240
- on-timeout = $LOCKSCREEN
+ timeout = 220 # 3.6 minutes
+ on-timeout = bash -c 'brightnessctl -s set 10; brightnessctl -d tpacpi::kbd_backlight set 0; hyprctl dispatch dpms off'
+ on-resume = bash -c 'brightnessctl -r; brightnessctl -d tpacpi::kbd_backlight set 1; hyprctl dispatch dpms on'
}
-# DPMS off
+
listener {
- timeout = 2300
- on-timeout = hyprctl dispatch dpms off #do not turn off display while media is playing
- on-resume = hyprctl dispatch dpms on
+ timeout = 230 # 5.5min
+ on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
+ on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
}
-# Suspend
-# listener {
-# timeout = 500
-# on-timeout = systemctl suspend
-# }
-
-# hyprlang noerror true
-# Source anything from this path if you want to add your own listener
-# source command actually do not exist yet
-source = ~/.config/hypridle/*
-# hyprlang noerror false
diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf
index 2cd71e7..2c28184 100644
--- a/.config/hypr/hyprland.conf
+++ b/.config/hypr/hyprland.conf
@@ -38,8 +38,9 @@ exec-once = wl-paste --type text --watch cliphist store # clipboard store text d
exec-once = wl-paste --type image --watch cliphist store # clipboard store image data
exec-once = $scrPath/swwwallpaper.sh # start wallpaper daemon
exec-once = $scrPath/batterynotify.sh # battery notification
-exec-once = xremap ~/.config/xremap/config.yml
-exec-once = swayidle -w timeout 180 'swaylock --timestr %H:%M -i ~/.config/swaylock/dmz.svg & brightnessctl -s & brightnessctl set 15' resume 'brightnessctl -r'
+exec-once = xremap --watch ~/.config/xremap/config.yml
+exec-once = hypridle
+
# █▀▀ █▄░█ █░█
diff --git a/.config/hypr/hyprlock.conf b/.config/hypr/hyprlock.conf
index d6d170e..62f6665 100644
--- a/.config/hypr/hyprlock.conf
+++ b/.config/hypr/hyprlock.conf
@@ -2,83 +2,115 @@
#! █▀█ ░█░ █▀▀ █▀▄ █▄▄ █▄█ █▄▄ █░█
#* Hyprlock Configuration File
-# Please do not edit this file manually.
-# Follow the instructions below on how to make changes.
+
+$fontColor = rgba(255,255,255,0.5)
+$fontFamily = SourceCodeVF ExtraBold
+$timeFontFamily = Cantarell ExtraBold
+
+general {
+ no_fade_in = true
+ grade = 1
+ ignore_empty_input = true
+ text_trim = true
+ fade_in_time = 0.8
+ disable_loading_bar = 0
+}
+
+background {
+ monitor =
+ path = ~/sync/Drive/pics/foss-world-crop.png
+ blur_passes = 2
+ blur_size = 4
+ contrast = 0.7
+ brightness = 0.3
+ vibrancy = 0.15
+ vibrancy_darkness = 0.5
+}
+
+image {
+ monitor =
+ path = ~/sync/Drive/pics/matrixom-crop.png
+ position = 0, 80
+ reload_time = -1
+ reload_cmd =
+}
+
+input-field {
+ monitor =
+ size = 20%, 5%
+ position = 0, -60
+ outline_thickness = 3
+ dots_size = 0.08
+ dots_spacing = 0.2
+ dots_center = true
+ outer_color = rgba(0,0,0,0.1)
+ inner_color = $fontColor
+ fade_on_empty = true
+}
+
+label {
+ monitor =
+ text = cmd[update:5000] echo "$(uptime -p)"
+ color = $fontColor
+ font_family = $fontFamily
+ font_size = 15
+ position = 0, 350
+}
+
+label {
+ monitor =
+ text = cmd[update:300000] echo "$(cat ~/.config/fish/greet.txt)"
+ color = $fontColor
+ font_family = $fontFamily
+ font_size = 14
+ position = 0, 310
+}
+
+label {
+ monitor =
+ text = cmd[update:1000] echo "$(date +"%H:%M")"
+ color = $fontColor
+ font_family = $timeFontFamily
+ font_size = 120
+ position = 0, -180
+ animation = pulse 2s infinite
+ opacity = 0.5
+ shadow_passes = 1
+ shadow_size = 1
+ shadow_color = rgba(0, 0, 0, 0.5)
+}
+
+label {
+ monitor =
+ text = cmd[update:1000] echo "$(LC_TIME=en_US.UF-8 date +'%A, %B %d')"
+ color = $fontColor
+ font_family = $fontFamily
+ font_size = 25
+ position = 0, -300
+}
+
+label {
+ monitor =
+ text = cmd[update:1000] echo -e "$(~/.config/hypr/battery.sh)"
+ color = $fontColor
+ font_family = $fontFamily
+ font_size = 14
+ position = -50, 30
+ halign = right
+ valign = bottom
+}
+
+label {
+ monitor =
+ color = $fontColor
+ text = cmd[] echo "⏻ "
+ font-size=24
+ onclick = systemctl poweroff
+ position = 50, 30
+ halign = left
+ valign = bottom
+}
-#* Hyprlock active layout path:
-# Set the layout path to be used by Hyprlock.
-# Check the available layouts in the './hyprlock/' directory.
-# Example: /=/path/to/anurati
-$LAYOUT_PATH=~/.config/hypr/hyprlock/theme.conf
-
-#* Persistent layout declaration
-# If a persistent layout path is declared in $XDG_CONFIG_HOME/hypr/hyde.conf,
-# the above layout setting will be ignored.
-# this should be the full path to the layout file.
-
-#* All boilerplate configurations are handled by HyDE
-source = ~/.local/share/hyde/hyprlock.conf
-
-#* Making a custom layout
-# To create a custom layout, make a file in the './hyprlock/' directory.
-# Example: './hyprlock/your_custom.conf'
-# To use the custom layout, set the following variable:
-# $LAYOUT_PATH=your_custom
-# The custom layout will be sourced automatically.
-# Alternatively, you can statically source the layout in '~/.config/hypr/hyde.conf'.
-# This will take precedence over the variable in '~/.config/hypr/hyprlock.conf'.
-#* Command Variables
-# Hyprlock ships with there default variables that can be used to customize the lock screen.
-# - https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#label
-# HyDE also provides custom variables that extend the functionality of Hyprlock.
-
-# $BACKGROUND_PATH
-# - The path to the wallpaper image.
-
-# $HYPRLOCK_BACKGROUND
-# - The path to the static hyprlock wallpaper image.
-# - Can be set to set a static wallpaper for Hyprlock.
-
-# $MPRIS_IMAGE
-# - The path to the MPRIS image.
-# - If MPRIS is not available, it will show the ~/.face.icon image
-# - if available, otherwise, it will show the HyDE logo.
-
-# $PROFILE_IMAGE
-# - The path to the profile image.
-# - If the image is not available, it will show the ~/.face.icon image
-# - if available, otherwise, it will show the HyDE logo.
-
-# $GREET_TEXT
-# - A greeting text to be displayed on the lock screen.
-# - The text will be updated every hour.
-
-# $resolve.font
-# - Resolves the font name and download link.
-# - HyDE will run 'font.sh resolve' to install the font for you.
-# - Note that you needed to have a network connection to download the font.
-# - You also need to restart Hyprlock to apply the font.
-
-# cmd [update:1000] $MPRIS_TEXT
-# - Text from media players in "Title Author" format.
-
-
-# cmd [update:1000] $SPLASH_CMD
-# - Outputs the song title when MPRIS is available,
-# - otherwise, it will output the splash command.
-
-# cmd [update:1] $CAVA_CMD
-# - The command to be executed to get the CAVA output.
-# - ⚠️ (Use with caution as it eats up the CPU.)
-
-# cmd [update:5000] $BATTERY_ICON
-# - The battery icon to be displayed on the lock screen.
-# - Only works if the battery is available.
-
-# cmd [update:1000] $KEYBOARD_LAYOUT
-# - The current keyboard layout
-# - SUPER + K to change the keyboard layout (or any binding you set)
-
diff --git a/.config/hypr/keybindings.conf b/.config/hypr/keybindings.conf
index faf1fdf..2428cf0 100644
--- a/.config/hypr/keybindings.conf
+++ b/.config/hypr/keybindings.conf
@@ -26,8 +26,7 @@ bind = $mainMod, Delete, exit, # kill hyprland session
bind = $mainMod, W, togglefloating, # toggle the window between focus and float
bind = $mainMod, G, togglegroup, # toggle the window between focus and group
bind = Alt, Return, fullscreen, # toggle the window between focus and fullscreen
-# bind = $mainMod, L, exec, swaylock --timestr %H:%M -i ~/.config/swaylock/dmz.svg # launch lock screen
-bind = $mainMod, L, exec, swaylock -i ~/.config/swaylock/dmz.svg # launch lock screen
+bind = $mainMod, L, exec, hyprlock --immediate #& sleep 0.3 && hyprctl dispatch dpms off
bind = Ctrl+Alt, W, exec, killall waybar || waybar # toggle waybar
# bind = $mainMod+Shift, F, exec, $scrPath/windowpin.sh # toggle pin on focused window
# bind = $mainMod, Backspace, exec, $scrPath/logoutlaunch.sh # launch logout menu
@@ -43,6 +42,7 @@ bind = $mainMod, F, exec, $yt # launch yt alternative
bind = $mainMod, B, exec, $browser # launch web browser
bind = $mainMod, G, exec, gajim # launch messanger
bind = $mainMod, K, exec, keepassxc # launch password manager
+bind = $mainMod, Escape, exec, dunstctl close
bindd = $mainMod, N, Neovim, exec, $term -e nvim
bindd = $mainMod, R, $d pyradio, exec, kitty --session ~/.config/kitty/music.conf
bindd = $mainMod, I, $d c2, exec, kitty --session ~/.config/kitty/c2.conf
diff --git a/.config/hypr/userprefs.conf b/.config/hypr/userprefs.conf
index 714bf96..94787b3 100644
--- a/.config/hypr/userprefs.conf
+++ b/.config/hypr/userprefs.conf
@@ -30,8 +30,6 @@ bind = $mainMod+Alt, XF86MonBrightnessUp, exec, hyprshade off # disable blue lig
# █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
# █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█
-# exec-once = swayidle -w timeout 600 'swaylock' timeout 900 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' # lock after 10 mins, sleep after 15 mins // install swayidle
-# exec-once = swayidle -w timeout 1200 'swaylock; hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' timeout 1800 'systemctl suspend' # lock and sleep after 20 mins, suspend after 30 mins // install swayidle
# exec-once = libinput-gestures // install libinput-gestures
# exec-once = swayosd-server # enable swayosd service
# exec-once = `pkexec swayosd-libinput-backend` # swayosd service for keyboard input (requires to be run in a subshell)