跳转至

代码片段

切换电源模式并发送通知

单行命令,适用于快捷键触发电源模式切换等场景。

前提条件

需要安装 powerprofilesctlnotify-send.py

/bin/bash -c 'NOTIF_ID_FILE="/tmp/power_profile_switcher_notification_id"; LAST_ID=$(cat "$NOTIF_ID_FILE" 2>/dev/null); PROFILES=($(powerprofilesctl list | grep -oP "^[ \*] \K[^(  )].*(?=:)" | grep -v "^$")); CURRENT=$(powerprofilesctl get); CURRENT_INDEX=0; for i in "${!PROFILES[@]}"; do [[ "${PROFILES[$i]}" == "$CURRENT" ]] && CURRENT_INDEX=$i && break; done; NEXT_INDEX=$(( (CURRENT_INDEX + 1) % ${#PROFILES[@]} )); MODE_TO_SET="${PROFILES[$NEXT_INDEX]}"; powerprofilesctl set "$MODE_TO_SET" && (NEW_ID="$(notify-send.py -a "电源模式切换 (Clover Yan)" -i "power-profile-${MODE_TO_SET}-symbolic" -r "${LAST_ID:-0}" "切换到 $MODE_TO_SET" "已切换到 $MODE_TO_SET 电源模式")"; echo "$NEW_ID" > "$NOTIF_ID_FILE")'