소스 검색

Add Screensaver Start/End Scripts

Things like suspending heavy applications and updating status in
Homeassistant
master
Nate Bohman 4 년 전
부모
커밋
36dcc58e7f
로그인 계정: Nate Bohman <natrinicle@gmail.com> GPG Key ID: C10546A54ABA1CE5
2개의 변경된 파일19개의 추가작업 그리고 0개의 파일을 삭제
  1. +3
    -0
      desktop/screensaver_end.sh
  2. +16
    -0
      desktop/screensaver_start.sh

+ 3
- 0
desktop/screensaver_end.sh 파일 보기

@@ -0,0 +1,3 @@
#!/usr/bin/env bash

ps -e -o stat,command,pid | grep '^T' | grep -P "(firefox|atom)" | awk '{print $NF}' | xargs -P0 -I {} kill -CONT {}

+ 16
- 0
desktop/screensaver_start.sh 파일 보기

@@ -0,0 +1,16 @@
#!/usr/bin/env bash

# MPRIS = Media Player Remote Interfacing Specification
firefox_mpris_dbus=$(dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.ListNames | grep -Po "org.mpris.*firefox[^\"]+")

if [ -n ${firefox_mpris_dbus} ]; then
playback_string=$(dbus-send --print-reply --dest=${firefox_mpris_dbus} /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'PlaybackStatus' | grep -Po "(?<=string \")[^\"]+")
fi

# Suspend Firefox processes if not playing media
if [ -z "${playback_string}" ] || [ "${playback_string}" != "Playing" ]; then
ps aux | grep [f]irefox/[f]irefox | awk '{print $2}' | xargs -P0 -I {} kill -STOP {}
fi

# Suspend Atom processes
ps aux | grep "/[a]tom" | awk '{print $2}' | xargs -P0 -I {} kill -STOP {}

Loading…
취소
저장