summaryrefslogtreecommitdiff
path: root/.i3lock/lock.sh
blob: abce85fdbd2a5ab259cd0fe9fcd9398bc907c642 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/bash

if [ $(grep -r "RUNNING" /proc/asound | wc -l) -eq 0 ] || [[ $# -ne 0  ]]; then
	# Disables dunst, my notification daemon, so I don't see notification on lock screen
	#
	# NOTE: Since I started using i3lock-color, dunst is never on top of lock screen, so if you want to use i3lock, uncomment the dunstctl set-paused lines
	#
	# https://github.com/dunst-project/dunst/issues/697
	# https://wiki.archlinux.org/title/Dunst#Disable_dunst_temporarily

	#dunstctl set-paused true

	if [[ "$1" == "suspend" ]]; then
		# Apps that are playing audio could stop being able to play audio after suspend (to fix, restart app)
		# By restarting pipewire, I try to make sure that any audio that might be playing, stops
		systemctl --user restart pipewire

		# Usually suspending should be done with "systemctl suspend", but I've had issues with that so I directly tell the kernel to sleep the system
		# For that I have a script in /usr/loca/sbin that just continains:
		#
		# #!/bin/bash
		# echo -n mem>/sys/power/state
		#
		# And I've added the following to /etc/sudoers (where kamen is my username), so I don't need to put in my password:
		#
		# kamen ALL = (root) NOPASSWD: /usr/local/sbin/sleep.sh
		sudo -u root /usr/local/sbin/sleep.sh
	fi

	# The first line is normal i3lock arguments, while the rest of the lines are i3lock-color ones
	# If you want to use i3lock, remove those lines (and the \ at the end)
	# But I hightly advise you to use i3lock-color, it's amazing: https://github.com/Raymo111/i3lock-color
	i3lock -f -c d49408 -i /home/kamen/.i3lock/lockscreen.png -n                                                \
		-F -k --indicator --keylayout 1 --radius 95 --pass-volume-keys                                          \
		--date-str="%d.%m.%Y" --verif-text="Verifying…" --wrong-text="Wrong!" --noinput-text="No Input!"        \
		--insidever-color d47408cc --ringver-color d47408 --insidewrong-color c35b5bcc --ringwrong-color c35b5b \
		--layout-color ffeede --time-color ffeede --date-color ffeede --greeter-color ffeede --verif-color ffeede --wrong-color ffeede

	#dunstctl set-paused false # Enables my notification daemon
	if [[ "$1" == "suspend" ]]; then
		pkill tint2; gtk-launch tint2 # sometimes tint2 get's messed up and transparency breaks, this makes sure that this doesn't happen
		gtk-launch picom # sometimes my compositor stops working after suspend, this makes sure it's running
	fi
fi