代码片段¶
切换电源模式并发送通知¶
单行命令,适用于快捷键触发电源模式切换等场景。
前提条件
需要安装 powerprofilesctl 和 notify-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")'