已完成任务的桌面通知

已完成任务的桌面通知

我想实现的目标如下。假设我在tmux的窗口中运行命令:

sleep 5; notify-me

我想看到一个通知,告诉我刚刚完成的tmux会话名称和窗口名称。tmux我正在运行 Awesome 窗口管理器。

我可以像这样显示通知:

#!/usr/bin/env bash
set -eu
echo "
    local n = require('naughty')
    n.notify({
        text = "session 1: window 1: job's done"
        , preset = n.config.presets.normal
    })
" | awesome-client

我想我可以在这里利用 的tmux警报挂钩,但我没有找到办法找出它(警报)来自哪里。

答案1

我提出了以下函数(将放入~/.bashrc):

n() {
    local msg=$(tmux display-message -p '#S: #W: finished')
    echo "
        local n = require('naughty')
        n.notify({
            text = '$msg'
            , preset = n.config.presets.critical
        })
    " | awesome-client
}

相关内容