如何让Emacs shell命令发送桌面通知
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,小编给大家分享一下如何让Emacs shell命令发送桌面通知,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我总是使用 E
千家信息网最后更新 2025年12月01日如何让Emacs shell命令发送桌面通知
小编给大家分享一下如何让Emacs shell命令发送桌面通知,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
我总是使用 Eshell 来与操作系统进行交互,因为它与 Emacs 无缝整合、支持处理 (远程) TRAMP 文件,而且在 Windows 上也能工作得很好。
启动 shell 命令后 (比如耗时严重的构建任务) 我经常会由于切换缓冲区而忘了追踪任务的运行状态。
多亏了 Emacs 的 钩子 机制,你可以配置 Emacs 在某个外部命令完成后调用一个 elisp 函数。
我使用 John Wiegleys 所编写的超棒的 alert 包来发送桌面通知:
(require 'alert) (defun eshell-command-alert (process status) "Send `alert' with severity based on STATUS when PROCESS finished." (let* ((cmd (process-command process)) (buffer (process-buffer process)) (msg (format "%s: %s" (mapconcat 'identity cmd " ") status))) (if (string-prefix-p "finished" status) (alert msg :buffer buffer :severity 'normal) (alert msg :buffer buffer :severity 'urgent)))) (add-hook 'eshell-kill-hook #'eshell-command-alert)
alert 的规则可以用程序来设置。就我这个情况来看,我只需要当对应的缓冲区不可见时得到通知:
(alert-add-rule :status '(buried) ;only send alert when buffer not visible :mode 'eshell-mode :style 'notifications)
这甚至对于 TRAMP 也一样生效。下面这个截屏展示了失败的 make 命令产生的 Gnome 桌面通知。

以上是"如何让Emacs shell命令发送桌面通知"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
命令
桌面
篇文章
任务
内容
缓冲区
缓冲
操作系统
不怎么
函数
大部分
常会
情况
文件
无缝
更多
机制
状态
知识
程序
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器网络延迟测试对比工具
mineNAS服务器迈K1
切实加强网络安全
网络安全工程专业有哪些学校
冒险岛露西德服务器
苹果平板电脑id注册服务器错误
锁定协议数据库
网络技术专业大三课程安排
浪潮服务器配置管理卡地址
富士伦镜头服务器成都
向服务器发送购买请求
上海网络技术学院
ios互联网科技有限公司
元神服务器崩了还能玩吗
扒车服务器简介
小米8无缘无故显示微信无服务器
网络安全监督管理局怎么改
ibm 服务器 黄灯亮
联想服务器st558指示灯图解
软件开发公司的盈利模式
网络安全应急处置表述
系统自带的数据库如何打开
h12服务器
网络安全模式可以杀毒嘛
软件开发软件开发亿敛信
sql数据库目录在哪
我们从自己做起网络安全宣传周
输入密码登录后找不到服务器
服务器在国外的vpn
余姚手机软件开发项目