[Hypr] hyprlock, hypridle
This commit is contained in:
27
.config/hypr/battery.sh
Executable file
27
.config/hypr/battery.sh
Executable file
@@ -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"
|
||||||
@@ -10,41 +10,27 @@
|
|||||||
$LOCKSCREEN = lockscreen.sh # Calls $LOCKSCREEN set from hyprland
|
$LOCKSCREEN = lockscreen.sh # Calls $LOCKSCREEN set from hyprland
|
||||||
|
|
||||||
general {
|
general {
|
||||||
lock_cmd = $LOCKSCREEN
|
lock_cmd = pidof hyprlock || hyprlock
|
||||||
unlock_cmd = #notify-send "unlock!" # same as above, but unlock
|
on_unlock_cmd = bash -c 'notify-send "Welcome back!"'
|
||||||
before_sleep_cmd = $LOCKSCREEN # command ran before sleep
|
before_sleep_cmd = loginctl lock-session
|
||||||
after_sleep_cmd = # notify-send "Awake!" # command ran after sleep
|
after_sleep_cmd = bash -c 'brightnessctl -r; brightnessctl -d tpacpi::kbd_backlight set 1; hyprctl dispatch dpms on'
|
||||||
ignore_dbus_inhibit = 0
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Dims the display
|
|
||||||
listener {
|
listener {
|
||||||
timeout = 120
|
timeout = 210 # 5min
|
||||||
on-timeout = { brightnessctl -s && brightnessctl s 1% ;}
|
on-timeout = loginctl lock-session # lock screen when timeout has passed
|
||||||
on-resume = brightnessctl -r
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Lock it first before dpms off so that screen won't show for a moment after wake up.
|
|
||||||
listener {
|
listener {
|
||||||
timeout = 240
|
timeout = 220 # 3.6 minutes
|
||||||
on-timeout = $LOCKSCREEN
|
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 {
|
listener {
|
||||||
timeout = 2300
|
timeout = 230 # 5.5min
|
||||||
on-timeout = hyprctl dispatch dpms off #do not turn off display while media is playing
|
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
|
||||||
on-resume = hyprctl dispatch dpms on
|
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
|
|
||||||
|
|||||||
@@ -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 = wl-paste --type image --watch cliphist store # clipboard store image data
|
||||||
exec-once = $scrPath/swwwallpaper.sh # start wallpaper daemon
|
exec-once = $scrPath/swwwallpaper.sh # start wallpaper daemon
|
||||||
exec-once = $scrPath/batterynotify.sh # battery notification
|
exec-once = $scrPath/batterynotify.sh # battery notification
|
||||||
exec-once = xremap ~/.config/xremap/config.yml
|
exec-once = xremap --watch ~/.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 = hypridle
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# █▀▀ █▄░█ █░█
|
# █▀▀ █▄░█ █░█
|
||||||
|
|||||||
@@ -2,83 +2,115 @@
|
|||||||
#! █▀█ ░█░ █▀▀ █▀▄ █▄▄ █▄█ █▄▄ █░█
|
#! █▀█ ░█░ █▀▀ █▀▄ █▄▄ █▄█ █▄▄ █░█
|
||||||
|
|
||||||
#* Hyprlock Configuration File
|
#* 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 "<span alpha='40%'>$(uptime -p)</span>"
|
||||||
|
color = $fontColor
|
||||||
|
font_family = $fontFamily
|
||||||
|
font_size = 15
|
||||||
|
position = 0, 350
|
||||||
|
}
|
||||||
|
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
text = cmd[update:300000] echo "<span alpha='50%'>$(cat ~/.config/fish/greet.txt)</span>"
|
||||||
|
color = $fontColor
|
||||||
|
font_family = $fontFamily
|
||||||
|
font_size = 14
|
||||||
|
position = 0, 310
|
||||||
|
}
|
||||||
|
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
text = cmd[update:1000] echo "<span alpha='50%'>$(date +"%H:%M")</span>"
|
||||||
|
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 "<span alpha='50%'>$(LC_TIME=en_US.UF-8 date +'%A, %B %d')</span>"
|
||||||
|
color = $fontColor
|
||||||
|
font_family = $fontFamily
|
||||||
|
font_size = 25
|
||||||
|
position = 0, -300
|
||||||
|
}
|
||||||
|
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
text = cmd[update:1000] echo -e "<span alpha='50%'>$(~/.config/hypr/battery.sh)</span>"
|
||||||
|
color = $fontColor
|
||||||
|
font_family = $fontFamily
|
||||||
|
font_size = 14
|
||||||
|
position = -50, 30
|
||||||
|
halign = right
|
||||||
|
valign = bottom
|
||||||
|
}
|
||||||
|
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
color = $fontColor
|
||||||
|
text = cmd[] echo "<span alpha='50%'>⏻ </span>"
|
||||||
|
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)
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,8 +26,7 @@ bind = $mainMod, Delete, exit, # kill hyprland session
|
|||||||
bind = $mainMod, W, togglefloating, # toggle the window between focus and float
|
bind = $mainMod, W, togglefloating, # toggle the window between focus and float
|
||||||
bind = $mainMod, G, togglegroup, # toggle the window between focus and group
|
bind = $mainMod, G, togglegroup, # toggle the window between focus and group
|
||||||
bind = Alt, Return, fullscreen, # toggle the window between focus and fullscreen
|
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, hyprlock --immediate #& sleep 0.3 && hyprctl dispatch dpms off
|
||||||
bind = $mainMod, L, exec, swaylock -i ~/.config/swaylock/dmz.svg # launch lock screen
|
|
||||||
bind = Ctrl+Alt, W, exec, killall waybar || waybar # toggle waybar
|
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+Shift, F, exec, $scrPath/windowpin.sh # toggle pin on focused window
|
||||||
# bind = $mainMod, Backspace, exec, $scrPath/logoutlaunch.sh # launch logout menu
|
# 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, B, exec, $browser # launch web browser
|
||||||
bind = $mainMod, G, exec, gajim # launch messanger
|
bind = $mainMod, G, exec, gajim # launch messanger
|
||||||
bind = $mainMod, K, exec, keepassxc # launch password manager
|
bind = $mainMod, K, exec, keepassxc # launch password manager
|
||||||
|
bind = $mainMod, Escape, exec, dunstctl close
|
||||||
bindd = $mainMod, N, Neovim, exec, $term -e nvim
|
bindd = $mainMod, N, Neovim, exec, $term -e nvim
|
||||||
bindd = $mainMod, R, $d pyradio, exec, kitty --session ~/.config/kitty/music.conf
|
bindd = $mainMod, R, $d pyradio, exec, kitty --session ~/.config/kitty/music.conf
|
||||||
bindd = $mainMod, I, $d c2, exec, kitty --session ~/.config/kitty/c2.conf
|
bindd = $mainMod, I, $d c2, exec, kitty --session ~/.config/kitty/c2.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 = libinput-gestures // install libinput-gestures
|
||||||
# exec-once = swayosd-server # enable swayosd service
|
# 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)
|
# exec-once = `pkexec swayosd-libinput-backend` # swayosd service for keyboard input (requires to be run in a subshell)
|
||||||
|
|||||||
Reference in New Issue
Block a user