Growl的命令行 growlnotify 提示如何换行?

2011-11-14 18:57:28 +08:00
 richiefans
小弟正在做一个脚本,希望通过growl的命令行插件growlnotify来提示信息
提示信息是多行的 但目前在-m参数内输入\n是无效的
如果不使用-m参数让用户自行输入是支持换行的~

请各位大侠如果使用过请给个解决方案

看了下源码,对cfstring 和 cstring不太了解 贴下来供大家参考

// Check message
CFStringRef desc;
if (message && !(message[0] == '-' && message[1] == 0)) {
desc = CFStringCreateWithCString(NULL, message, kCFStringEncodingUTF8);
} else {
// Deal with stdin
if (isatty(STDIN_FILENO) && isatty(STDOUT_FILENO))
fputs("Enter a notification description, followed by newline, followed by Ctrl-D (End of File). To cancel, press Ctrl-C.\n", stdout);

char buffer[4096];
CFMutableStringRef temp = CFStringCreateMutable(kCFAllocatorDefault, 0);
while (!feof(stdin)) {
size_t len = fread(buffer, 1, sizeof(buffer)-1, stdin);
if (!len)
break;
buffer[len] = '\0';
CFStringAppendCString(temp, buffer, kCFStringEncodingUTF8);
}
CFStringTrimWhitespace(temp);
desc = temp;
}
4048 次点击
所在节点    macOS
5 条回复
richiefans
2011-11-16 03:26:37 +08:00
找到解决方案了$'\n'
mark在v2ex一下
xell
2011-11-16 14:01:56 +08:00
非常感谢!
richiefans
2011-11-16 14:47:39 +08:00
@xell 看来和我有同样疑问的不止我自己~只是大家都不说罢了
xell
2011-11-16 17:51:46 +08:00
@richiefans 哈,那我说点偏题的话。

当我看到你提问的帖子时,由于我自己不知道答案,所以我无法回应(回应“我也不知道”、“坐等高手”之类的并不符合社区原则);而且,对于我和大多数人而言,这个问题并不紧迫,即便一直不知道解答,也于日常生活或工作无碍,因此对于我,心中所想的就是“下次刷v2ex,如果碰巧看到了有人解答,我就瞅瞅,没有解答或者找不到这个帖子了,就当作这个问题从来没在我的生活中出现过”。

我想这正是结症所在。类似这样的“无关痛痒的”“冷门的”小知识,其实至今还没有一个很好的提问、解答、分享、索引和收集的渠道。各类问答网站已经在这方面努力了,但我没发现有太大的助益。因此除了感谢你分享之外,大家也没法做太多。更多的人是看到了,或许自己心里面记一下“哦,是用$'\n'啊”,然后就随手关闭这个页面了,不能苛求他们没有发言,只因为这种小知识实在太没有分量了,每天看到的信息如此海量,相对而言,在这个帖子中甚至不值得回复什么。

我希望有朝一日,google能做到更高级别的海量数据挖掘,提供一个真正的基于网络用户提供内容的、自动生成并不断更新的人类知识百科全书。那个时候,如果页面旁边有个“thanks”按钮的话,就太好了,至少随手点一下的人会多些。

p.s. 我在google搜索“growlnotify 换行”,只发现了(应当是你发的)另外论坛的一个依然无人回应的帖子。这意味着有这个需求的中文用户,得到帮助的几率依然不大。
tortoo
2017-08-01 15:39:00 +08:00
能问一下如果要实现点击 Growl 通知能跳转链接,是不是一定要安装 growlnotify ?安装了不知道如何配置,也不知道哪里有配置指导,能帮忙提示下么?很感谢啊!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/21421

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX