Refresh clock after timezone change
This commit is contained in:
@@ -4,7 +4,9 @@
|
|||||||
# omarchy:group=menu
|
# omarchy:group=menu
|
||||||
# omarchy:name=timezone
|
# omarchy:name=timezone
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
timezone=$(timedatectl list-timezones | omarchy-menu-select "Set timezone" -- --width 520 --maxheight 520) || exit 1
|
timezone=$(timedatectl list-timezones | omarchy-menu-select "Set timezone" -- --width 520 --maxheight 520) || exit 1
|
||||||
sudo timedatectl set-timezone "$timezone"
|
sudo timedatectl set-timezone "$timezone"
|
||||||
omarchy-shell -q Clock refresh
|
omarchy-shell -q omarchy.clock refresh
|
||||||
omarchy-notification-send "Timezone is now set to $timezone"
|
omarchy-notification-send "Timezone is now set to $timezone"
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
source "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)/base-test.sh"
|
||||||
|
|
||||||
|
timezone_menu="$ROOT/bin/omarchy-menu-timezone"
|
||||||
|
sudoers_file="$ROOT/etc/sudoers.d/omarchy-tzupdate"
|
||||||
|
|
||||||
|
grep -F '%wheel ALL=(root) NOPASSWD: /usr/bin/tzupdate, /usr/bin/timedatectl set-timezone *' "$sudoers_file" >/dev/null ||
|
||||||
|
fail "timezone sudoers rule allows passwordless timedatectl timezone changes"
|
||||||
|
|
||||||
|
grep -F 'sudo timedatectl set-timezone "$timezone"' "$timezone_menu" >/dev/null ||
|
||||||
|
fail "timezone menu uses the passwordless sudoers timedatectl rule"
|
||||||
|
|
||||||
|
! grep -F 'pkexec timedatectl set-timezone "$timezone"' "$timezone_menu" >/dev/null ||
|
||||||
|
fail "timezone menu does not wrap timedatectl in pkexec"
|
||||||
|
|
||||||
|
! grep -F 'pkexec /usr/bin/timedatectl set-timezone "$timezone"' "$timezone_menu" >/dev/null ||
|
||||||
|
fail "timezone menu does not wrap timedatectl in pkexec"
|
||||||
|
|
||||||
|
! grep -F 'sudo /usr/bin/timedatectl set-timezone "$timezone"' "$timezone_menu" >/dev/null ||
|
||||||
|
fail "timezone menu lets sudo resolve timedatectl from its secure path"
|
||||||
|
|
||||||
|
! grep -Fx 'timedatectl set-timezone "$timezone"' "$timezone_menu" >/dev/null ||
|
||||||
|
fail "timezone menu does not use bare timedatectl, which triggers polkit"
|
||||||
|
|
||||||
|
grep -F 'omarchy-shell -q omarchy.clock refresh' "$timezone_menu" >/dev/null ||
|
||||||
|
fail "timezone menu refreshes the namespaced clock IPC target"
|
||||||
|
|
||||||
|
! grep -F 'omarchy-shell -q Clock refresh' "$timezone_menu" >/dev/null ||
|
||||||
|
fail "timezone menu no longer refreshes the retired Clock IPC target"
|
||||||
|
|
||||||
|
pass "timezone menu refreshes clock after timezone changes"
|
||||||
Reference in New Issue
Block a user