Как сказать, тотем играет видео или нет

544
Kyle

Я недавно переключился на DWM и настраивал его. У меня есть настройка xautolock для автоматической блокировки моего компьютера через 5 минут. Это раздражает, когда я смотрю фильм с помощью Totem. Есть ли способ узнать, воспроизводит ли Тотем фильм в настоящее время, чтобы я мог отредактировать сценарий блокировки экрана, чтобы проверить это? Я не просто хочу предположить, что из-за того, что Totem работает, блокировка экрана не подходит. Надо играть.

1
Я собирался сказать "использовать D-Bus", но оказалось, что Totem не раскрывает ничего из "D-Bus" через D-Bus ... Ignacio Vazquez-Abrams 11 лет назад 0

2 ответа на вопрос

0
Everett

Не могли бы вы проверить аудио на звуковой карте? Посмотрите на любой выход (наушники / динамик). Я сомневаюсь, что вы когда-нибудь будете молча смотреть фильм ...

Да, но я не против, если компьютер блокируется, пока я играю музыку. Kyle 11 лет назад 0
Тогда то, что вы пытаетесь сделать, может оказаться невозможным. Если вы ставите видео в очередь, то при появлении заставки компьютер не блокируется. Если вы не хотите делать это на основе запуска тотема, вам больше не о чем работать ... Everett 11 лет назад 0
0
Kyle

Я нашел сообщение о Stackoverflow, объясняющее, как включить плагин D-bus для тотема.

Сценарий Python, который я придумал, уродлив, но он делает работу, чтобы убедиться, что воспроизводимые фильмы не блокируют экран:

import dbus   def totem_is_playing(): try: T_SERVICE_NAME = "org.mpris.Totem" T_OBJECT_PATH = "/Player" T_INTERFACE = "org.freedesktop.MediaPlayer"  session_bus= dbus.SessionBus()  totem = session_bus.get_object(T_SERVICE_NAME, T_OBJECT_PATH) totem_mediaplayer = dbus.Interface(totem, dbus_interface=T_INTERFACE)  status = totem_mediaplayer.GetStatus() if status[0] == 0: return True return False except dbus.exceptions.DBusException: return False 

API плагина можно объяснить с помощью обзора кода здесь: https://yayoutube.googlecode.com/svn-history/r50/trunk/totem/mpris/mpris.py

Похожие вопросы