Как передать скрипт Python в Lemonbar?

Вам нужно:

alias aliasname="free | awk '/^Mem/ { printf(\"free: %.2f %\n\", \$4/\$2 * 100.0) }'"

Обратите внимание, что вам нужно экранировать как ", так и $.

0
16.03.2021, 20:36
1 ответ

На самом деле я только что узнал, как это сделать, прочитав, как кто-то реализовал модуль для лемонгара

import time
from subprocess import Popen, PIPE

fd = Popen('lemonbar', stdin=PIPE, stdout=PIPE, encoding='UTF-8')

while True:
    time.sleep(1)
    fd.stdin.write('%{c}hello')
    fd.stdin.flush()
    print(fd.stdout.read())

Хитрость заключалась в том, чтобы очистить файловый дескриптор после записи в него

Так что я мог бы сделать и так

bar.py

import time 
import sys
fd = sys.stdout
while True:
    fd.write("%{c}hello")
    fd.flush()
    time.sleep(1)

и запустите как обычно

python bar.py | lemonbar
0
18.03.2021, 22:24

Теги

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