[waybar] Rework nightlight
This commit is contained in:
parent
c6c570dc1c
commit
8923862edc
6 changed files with 105 additions and 23 deletions
|
|
@ -14,5 +14,7 @@ in {
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.waybar.enable = true;
|
programs.waybar.enable = true;
|
||||||
|
|
||||||
|
services.atd.enable = true; # Command scheduler
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# Script to disable for an hour or immediately continue wlsunset. 'Toggle'
|
|
||||||
|
|
||||||
# Check if wlsunset is still running
|
|
||||||
pid=$(pgrep wlsunset)
|
|
||||||
|
|
||||||
if [[ -z ${pid} ]] ; then
|
|
||||||
# Start wlsunset right away.
|
|
||||||
wlsunset -l 50.50 -L 4.00 -t 3000 -T 6500 &
|
|
||||||
else
|
|
||||||
# Currently stop wlsunset but restart in an hour.
|
|
||||||
kill ${pid}
|
|
||||||
notify-send 'Stopping sunset' 'Restarting in an hour'
|
|
||||||
at now +1 hours -f "${0}"
|
|
||||||
fi
|
|
||||||
44
scripts/toggle-nightlight.sh
Executable file
44
scripts/toggle-nightlight.sh
Executable file
|
|
@ -0,0 +1,44 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# Script to disable for an hour or immediately continue wlsunset. 'Toggle'
|
||||||
|
|
||||||
|
# Get current state
|
||||||
|
pid=$(pgrep wlsunset)
|
||||||
|
|
||||||
|
while getopts ":g" option; do
|
||||||
|
case "${option}" in
|
||||||
|
g)
|
||||||
|
if [[ -z "${pid}" ]]; then
|
||||||
|
state='active'
|
||||||
|
tooltip='Turn off nightlight'
|
||||||
|
class='activated'
|
||||||
|
else
|
||||||
|
state='inactive'
|
||||||
|
tooltip='Turn on nightlight'
|
||||||
|
class='none'
|
||||||
|
fi
|
||||||
|
printf '{"alt": "%s", "tooltip": "%s", "class": "%s" }' \
|
||||||
|
"${state}" "${tooltip}" "${class}"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo 'Invalid option'
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# Toggle
|
||||||
|
if [[ -z ${pid} ]] ; then
|
||||||
|
if [ "$( command -v wlsunset )" ]; then
|
||||||
|
notify-send 'Starting nightlight' --app-name='twm'
|
||||||
|
wlsunset -l 50.50 -L 4.00 -t 3000 -T 6500 &
|
||||||
|
else
|
||||||
|
notify-send 'Nightlight is not available'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Currently stop wlsunset but restart in an hour.
|
||||||
|
kill ${pid}
|
||||||
|
notify-send 'Stopping sunset' 'Restarting in an hour'
|
||||||
|
at now +1 hours -f "${0}"
|
||||||
|
fi
|
||||||
|
|
@ -51,6 +51,7 @@
|
||||||
"privacy",
|
"privacy",
|
||||||
"tray",
|
"tray",
|
||||||
"group/control-center",
|
"group/control-center",
|
||||||
|
"group/display",
|
||||||
"group/network",
|
"group/network",
|
||||||
"pulseaudio",
|
"pulseaudio",
|
||||||
"group/power",
|
"group/power",
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,15 @@
|
||||||
{
|
{
|
||||||
|
"backlight": {
|
||||||
|
"device": "intel_backlight",
|
||||||
|
"format": "{percent}% {icon}",
|
||||||
|
"format-icons": [
|
||||||
|
"\uf111", /* */
|
||||||
|
"\uf185" /* */
|
||||||
|
],
|
||||||
|
"on-click": "brightnessctl -sq set 0",
|
||||||
|
"on-click-right": "wl-mirror $(hyprctl monitors -j | jq --raw-output '.[] | select(.focused) | .name')"
|
||||||
|
},
|
||||||
|
|
||||||
"battery": {
|
"battery": {
|
||||||
"format": "{capacity}% {icon}",
|
"format": "{capacity}% {icon}",
|
||||||
"format-alt": "{time} {icon}",
|
"format-alt": "{time} {icon}",
|
||||||
|
|
@ -71,6 +82,12 @@
|
||||||
"tooltip": false
|
"tooltip": false
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"custom/display": {
|
||||||
|
"format": "\ue163", /* */
|
||||||
|
"tooltip": false,
|
||||||
|
"on-click": "wdisplays"
|
||||||
|
},
|
||||||
|
|
||||||
"custom/meta": {
|
"custom/meta": {
|
||||||
"format": "\uf17c", /* */
|
"format": "\uf17c", /* */
|
||||||
"tooltip": false,
|
"tooltip": false,
|
||||||
|
|
@ -134,6 +151,19 @@
|
||||||
"tooltip": true
|
"tooltip": true
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"custom/toggle-nightlight": {
|
||||||
|
"exec": "bash ${SCRIPT_DIR}/toggle-nightlight.sh -g",
|
||||||
|
"interval": 60,
|
||||||
|
"return-type": "json",
|
||||||
|
"on-click": "bash ${SCRIPT_DIR}/toggle-nightlight.sh",
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"active": "\uf186", /* */
|
||||||
|
"inactive": "\uf0eb" /* */
|
||||||
|
},
|
||||||
|
"tooltip": true
|
||||||
|
},
|
||||||
|
|
||||||
"custom/toggle-notifications": {
|
"custom/toggle-notifications": {
|
||||||
"exec": "bash ${SCRIPT_DIR}/toggle-notifications.sh -g",
|
"exec": "bash ${SCRIPT_DIR}/toggle-notifications.sh -g",
|
||||||
"interval": 60,
|
"interval": 60,
|
||||||
|
|
@ -163,12 +193,31 @@
|
||||||
"group/control-center": {
|
"group/control-center": {
|
||||||
"orientation": "inherit",
|
"orientation": "inherit",
|
||||||
"modules": [
|
"modules": [
|
||||||
|
/* Preview */
|
||||||
"custom/control-center",
|
"custom/control-center",
|
||||||
|
/* Left-most */
|
||||||
"group/language",
|
"group/language",
|
||||||
/* "hyprland/language", "sway/language", */
|
"custom/toggle-notifications"
|
||||||
"custom/toggle-notifications",
|
/* Right-most */
|
||||||
|
],
|
||||||
|
"drawer": {
|
||||||
|
"transition-duration": 500,
|
||||||
|
"transition-left-to-right": false,
|
||||||
|
"children-class": "drawer-child"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"group/display": {
|
||||||
|
"orientation": "inherit",
|
||||||
|
"modules": [
|
||||||
|
/* Preview */
|
||||||
|
"custom/display",
|
||||||
|
/* Most-left */
|
||||||
|
"idle_inhibitor",
|
||||||
|
"custom/toggle-nightlight",
|
||||||
"custom/toggle-light-dark",
|
"custom/toggle-light-dark",
|
||||||
"bluetooth"
|
"backlight"
|
||||||
|
/* Most-right */
|
||||||
],
|
],
|
||||||
"drawer": {
|
"drawer": {
|
||||||
"transition-duration": 500,
|
"transition-duration": 500,
|
||||||
|
|
@ -199,6 +248,7 @@
|
||||||
/* Preview */
|
/* Preview */
|
||||||
"network",
|
"network",
|
||||||
/* Most-left */
|
/* Most-left */
|
||||||
|
"bluetooth",
|
||||||
"custom/toggle-tailscale"
|
"custom/toggle-tailscale"
|
||||||
/* Most-right */
|
/* Most-right */
|
||||||
],
|
],
|
||||||
|
|
@ -220,8 +270,7 @@
|
||||||
"custom/system-hibernate",
|
"custom/system-hibernate",
|
||||||
"custom/system-sleep",
|
"custom/system-sleep",
|
||||||
"custom/system-lock",
|
"custom/system-lock",
|
||||||
"power-profiles-daemon",
|
"power-profiles-daemon"
|
||||||
"idle_inhibitor"
|
|
||||||
/* Most-right */
|
/* Most-right */
|
||||||
],
|
],
|
||||||
"drawer": {
|
"drawer": {
|
||||||
|
|
|
||||||
|
|
@ -82,12 +82,13 @@ window#waybar {
|
||||||
#privacy,
|
#privacy,
|
||||||
#privacy-item,
|
#privacy-item,
|
||||||
#privacy-item.screenshare,
|
#privacy-item.screenshare,
|
||||||
#privacy-item.audio-in {
|
#privacy-item.audio-in,
|
||||||
|
#privacy-item.audio-out {
|
||||||
background-color: @safety;
|
background-color: @safety;
|
||||||
}
|
}
|
||||||
|
|
||||||
#privacy-item.screenshare {
|
#privacy-item {
|
||||||
background-color: #000000;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pulseaudio.muted {
|
#pulseaudio.muted {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue