Giter VIP home page Giter VIP logo

alerter's Introduction

Alerter

alerter is a command-line tool to send Mac OS X User Alerts (Notifications), which are available in Mac OS X 10.8 and higher. (even catalina) the program ends when the alerter is activated or closed, writing the activated value to output (stdout), or a json object to describe the alert event.

Alerts are OS X notifications that stay on screen unless dismissed.

2 kinds of alert notification can be triggered : "Reply Alert" or "Actions Alert"

Reply alert

Open a notification in the top-right corner of your screen and display a "Reply" button, which opens a text input.

Actions alert

Open a notification in the top-right corner of your screen and display one or more actions to click on.

Features

  • set alert's icon, title, subtitle, image.
  • capture text typed by user in the reply type alert.
  • timeout : automatically close the alert notification after a delay.
  • change the close button label.
  • change the actions dropdown label.
  • play a sound while delivering the alert notification.
  • value or json output on alert's event (closed, timeout, replied, activated...)
  • close the alert notification on SIGINT, SIGTERM.

Installation

  1. Download the zipped precompiled binary from the releases section.
  2. Extract the binary.
  3. Use as described below.

Adding to $PATH

If you don't want to have to specify the absolute/relative path to the binary, you can place the binary in any directory that is listed in your $PATH so that your system can automatically find it.

If you would like to see which directories are currently in your $PATH, you can run echo $PATH.

You can use the cp command to copy the binary to your chosen directory. For example:

cp ~/Downloads/alerter /path/to/directory/you/choose/

Usage

$ ./alerter -[message|group|list] [VALUE|ID|ID] [options]

Some examples are:

Display piped data with a sound

$ echo 'Piped Message Data!' | alerter -sound default

Display piped data with a sound

Multiple actions and custom dropdown list

./alerter -message "Deploy now on UAT ?" -actions Now,"Later today","Tomorrow" -dropdownLabel "When ?"

Multiple actions and custom dropdown list

Yes or No ?

./alerter -title ProjectX -subtitle "new tag detected" -message "Deploy now on UAT ?" -closeLabel No -actions Yes -appIcon http://vjeantet.fr/images/logo.png

Yes or No

What is the name of this release ?

./alerter -reply -message "What is the name of this release ?" -title "Deploy in progress..."

What is the name of this release

Options

At a minimum, you have to specify either the -message , the -remove or the -list option.


-message VALUE [required]

The message body of the notification.

Note that if this option is omitted and data is piped to the application, that data will be used instead.


-reply

The notification will be displayed as a reply type alert.


-actions VALUE1,VALUE2,"VALUE 3"

The notification actions available. When you provide more than one value, a dropdown will be displayed. You can customize this dropdown label with the next option. Does not work when -reply is used.


-dropdownLabel VALUE

The notification actions dropdown title (only when multiples -actions values are provided). Does not work when -reply is used.


-closeLabel VALUE

The notification "Close" button label.


-title VALUE

The title of the notification. This defaults to ‘Terminal’.


-subtitle VALUE

The subtitle of the notification.


-timeout NUMBER

Auto close the alert notification after NUMBER seconds.


-sound NAME

The name of a sound to play when the notification appears. The names are listed in Sound Preferences. Use 'default' for the default notification sound.


-json

Alerter will output a json struct to describe what happened to the alert.


-group ID

Specifies the ‘group’ a notification belongs to. For any ‘group’ only one notification will ever be shown, replacing previously posted notifications.

A notification can be explicitly removed with the -remove option, described below.

Examples are:

  • The sender’s name to scope the notifications by tool.
  • The sender’s process ID to scope the notifications by a unique process.
  • The current working directory to scope notifications by project.

-remove ID [required]

Removes a notification that was previously sent with the specified ‘group’ ID, if one exists. If used with the special group "ALL", all message are removed.


-list ID [required]

Lists details about the specified ‘group’ ID. If used with the special group "ALL", details about all currently active messages are displayed.

The output of this command is a json array of alert notifications.


-sender ID

Specifying this will make it appear as if the notification was send by that application instead, including using its icon.

Using this option fakes the sender application, so that the notification system will launch that application when the notification is clicked. Because of this it is important to note that you cannot combine this with options like -execute, -open, and -activate which depend on the sender of the notification to be ‘alerter’ to perform its work.

For information on the ID see the -activate option.


-appIcon PATH [10.9+ only]

Specifies The PATH or URL of an image to display instead of the application icon.

WARNING: This option is subject to change since it relies on a private method.


-contentImage PATH [10.9+ only]

Specifies The PATH or URL of an image to display attached inside the notification.

WARNING: This option is subject to change since it relies on a private method.


Example usage with shell script

ANSWER="$(./alerter -message 'Start now ?' -closeLabel No -actions YES,MAYBE,'one more action' -timeout 10)"
case $ANSWER in
    "@TIMEOUT") echo "Timeout man, sorry" ;;
    "@CLOSED") echo "You clicked on the default alert' close button" ;;
    "@CONTENTCLICKED") echo "You clicked the alert's content !" ;;
    "@ACTIONCLICKED") echo "You clicked the alert default action button" ;;
    "MAYBE") echo "Action MAYBE" ;;
    "NO") echo "Action NO" ;;
    "YES") echo "Action YES" ;;
    **) echo "? --> $ANSWER" ;;
esac

Support & Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

This project is based on a fork of terminal notifier by @JulienXX.

License

All the works are available under the MIT license.

Copyright (C) 2012-2023 Valère Jeantet [email protected], Eloy Durán [email protected], Julien Blanchard [email protected]

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

alerter's People

Contributors

homebysix avatar j450h1 avatar jcsplash avatar rramphal avatar toy avatar vjeantet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

alerter's Issues

Leakage of memory

Hello! Thanks for your product, this that that I looked for. The problem if to leave windows in "Notices", occurs leakage of memory. In 12 hours lost 10GB.
Mac os 10.14.3 system
Excuse for bad English)))

Alerter not showing up in notification center

Just rebuilt my Mac, did a git clone plus downloaded the executable which I placed in /usr/local/bin and it does issue a alert notification, but I'm not finding the app in the notification settings .. Any idea on how to fix this?

Thanks

Missing interpolation of MARKETING_VERSION in a few places

I randomly saw the var substitution/str interpolation template in a few places when using the latest binary, alerter_v004_darwin_amd64.zip:

Finder "Info", Version metadata

image

Invoking cli without args

image

I didn't actually go looking for this, so it's possible there are other places where this var needs to be subbed.

Use the new Apple Notification Framework

'NSUserNotification' is deprecated: first deprecated in macOS 11.0 - All NSUserNotifications API should be replaced with UserNotifications.frameworks API.

And today, some options are no more relevant, like the close button, as it was removed by apple in recent MacOS..

"timeout" parameter not working on multiple alerts

The "timeout" parameter for Alerter doesn't work properly when multiple alerts are displayed at the same time in separate processes. For example, if 3 alerts are displayed, one will close normally but the other 2 will remain displayed until closed by the user. Clicking on the body of any alert does nothing. Only way to close these alerts is to click on the "Close" button.

AppleScript code used for testing:

use AppleScript version "2.4"
use scripting additions
set alerterPath to quoted form of (POSIX path of "Macintosh HD:Users:Home:alerter")
do shell script alerterPath & " -message 'Test1' -title 'Testing' -subtitle 'Subtitle' -timeout 10 -sender com.apple.script.id.MyApplet -actions '_' > /dev/null 2> /dev/null & "
do shell script alerterPath & " -message 'Test2' -title 'Testing' -subtitle 'Subtitle' -timeout 10 -sender com.apple.script.id.MyApplet -actions '_' > /dev/null 2> /dev/null & "
do shell script alerterPath & " -message 'Test3' -title 'Testing' -subtitle 'Subtitle' -timeout 10 -sender com.apple.script.id.MyApplet -actions '_' > /dev/null 2> /dev/null & "

I have found this behaviour in macOS 12.2, 10.15, 10.14, 10.13 and 10.12.

It also occurs in macOS 12.2 but there's an additional problem in that, at first, the alerts almost completely overlap. But, when the body of he top alert is clicked, they rearrange and display correctly. But, then, they don't close.

This behaviour also occurs if the sender parameter is omitted.

Also, sometimes, the alerts show in the wrong order e.g. Test1, Test3, Test2.

Fixes for this would be great.

Macports Port?

Would anyone familiar with making Macports ports be interested in adding one for this? It's a very useful utility and terminal-notifier is available via Macports. I know there was an attempt to merge the two utilities but it seems to have stalled for now?

Anyway, a Macports port would be really useful.

Add "placeholder" text option

Option could be -placeholder 'Some example text'

Upon clicking "reply", would show a grayed out text in input box offering user an example of what to write (instead of the present implementation which just shows "Reply"). When clicked into, the gray text disappears.

Why two icons

I was wondering why, when we specify -appIcon we still have the Terminal icon as if it was the first character of the title.
as in the third screenshot in your documentation.

How to, if I want to get rid of this small icon ?

No notifications, hanging command on Catalina

When I run the alerter command (release 003) on MacOS 10.15 it doesn't throw any errors but the notification never appears and the execution of the alerter command never returns.

I previously ran it (release 002) on MacOS 10.14 without issues.

Some -sender notifications hang

I have a problem similar to #27
On Mojave everything is working as expected, but on Big Sur some notifications just hang when I'm using the -sender parameter.
If I send as com.apple.TextEdit, it just works, but when I'm trying with com.microsoft.Outlook it just hangs and never gets anywhere.

Example:
alerter -message "Hi there" -title "This is awesome" -sender "com.microsoft.outlook"

This is on Big Sur 11.2.1, with Outlook 16.46 and I've tried both the precompiled version of alerter, an earlier version of alerter and I even downloaded the project and compiled it myself. Still no luck.

I can see in the Console.app that when it hangs, the NotificationCenter never gets the call, instead I see messages of this nature:

error 13:43:48.541532+0100 usernoted Legacy client com.microsoft.Outlook connecting to modern client. You can't mix modern clients with legacy clients. <ClientConnect: 0x000000014b133200 identifier: com.microsoft.Outlook pid: 37218 type: Application>
error 13:43:48.541897+0100 usernoted Denying message 3 from connection
error 13:44:07.695655+0100 usernoted Denying message 7 from connection

Let me know if you need more information or if I should try something else.

Dyld error on macOS Mojave

Running /usr/bin/local/alerter without options led to a crash and the error

dyld: cannot load 'alerter' (load command 0x80000034 is unknown)
Abort trap: 6

Earlier, the command /usr/bin/local/alerter -h spurred kernel panic.

Is the binary compatible with macOS 10.14? The description says it's designed to work with 10.8+, however, on my 10.9 machine it returns the same error.

Not an issue, but a question

Is it possible to set the time at which the alert will be displayed? What I want to do is schedule reminder alerts. Ideally, it would be possible to trigger the alerts with something like the unix program remind.

Use dropdown actions without closing dialog

Could you add an option that lets the user click the dropdown actions without closing the dialog, ie. the dialog must be explicitly closed with the "Close" button.

-sticky      Don't remove notification until user explicitly touches the "Close" button

Throws exception when using -actions ... without -closeLabel

This works fine:
alerter -message "Choose pill" -actions "Blue","Red" -dropdownLabel "Colour" -closeLabel "No Thanks" -json

but the moment you do not pass -closeLabel (with the label string), then only the 'dropdown' button appears and when you click on it, you get a complete stack trace plus Abort trap: 6

Latest release not working on Mojave?

I've downloaded your latest version of alerter, but when a run it under Mojave I get the following errors:

./alerter -message "Deploy the canons"
dyld: lazy symbol binding failed: Symbol not found: _objc_opt_new
Referenced from: /Users/stre/Downloads/./alerter (which was built for Mac OS X 10.15)
Expected in: /usr/lib/libobjc.A.dylib

dyld: Symbol not found: _objc_opt_new
Referenced from: /Users/stre/Downloads/./alerter (which was built for Mac OS X 10.15)
Expected in: /usr/lib/libobjc.A.dylib

Abort trap: 6

If I download and run v002 everything works as expected.

repeatedly approving alerter in Notification Center

macOS 10.15.6, alerter v1.1.0

after approval in Notification Center, the entry in the sqlite db is:
fr.sodadi.${product_name:rfc1034identifier}

am I having to repeatedly approve alerter b/c there is no app name in the bundle ID?

Window focus

Is there any way for alerter to remain in the background when then notification shows?

A bit confused about this project vs. terminal-notifier

Sorry to post this if it doesn't belong here, but...

I saw the release of 2.0.0 of terminal-notifier, and that they removed some of the features I was using (json response + actions). So it's suggested to use this project instead. However I see the last release was in 2015, so I am not sure what issues it has or if it's being updated etc. and I have a lot of scripts already written that depend on terminal-notifier.

Should we be using this instead? What are the issues that Julien was referring to? Any additional info would be greatly appreciated. Thanks

Documentation

Sorry, I know this will seem insanely simple but would it be possible to add a tiny install section?

...
[Download](...#)
Prebuilt binaries are available from the releases section.

# Installation 
...
# Usage
..

mouse over disable timeout

In case of terminal-notifier, one can mouse over the notification to prevent from disappearing but this doesn't work with alerter! any solution?

Bigsur support

I'm trying the latest binary from GitHub on Bigsur 11.0.1 and it seems to hang on the terminal until I press ctrl+c - no message displayed. Anything I can do?

timeout closes last notification on expire

do:
alerter -message "One" -timeout 30 &

and then a bit later:
alerter -message "Two" &

results to:
@TIMEOUT@CLOSED

and only the last one, if you would do this with three or more or multiple message with timeouts, only the last one gets closed as well. That would not be such a big problem, unless you would await a actual user feedback

Notification not in notification center

I tried with or without -timeout or -group, setting alerter as banner or notifications, telling System Pref to keep 20 notifications from alerter, nothing works, notifications are disappearing from notification center as soon as they're added (I'm in 10.11 El Capitan).

Is that a normal behavior ?

Add a -version option

Hi!
It would be great to have a version option to allow for easier auto-update scripting.
Thanks a lot.

"alerter" can't be opened because Apple cannot check it for malicious software

Hi, I'm running into an issue with alerter on 11.4 clients perhaps because the app is not notarized? I've tried packaging it using Composer and signing the installer package with a Developer ID certificate but when it's run I get the prompt "alerter" can't be opened because Apple cannot check it for malicious software.

Screen Shot 2021-07-14 at 6 38 47 PM

Build issue on MacOS Ventura

Hello.

Homebrew maintainer. alerter 1.0.1 fails to build on macOS Ventura.
Here is the error:

==> xcodebuild -arch x86_64 -project alerter.xcodeproj -target alerter -configuration Release SYMROOT=build
2023-04-05 18:59:20.974 xcodebuild[7583:8256001] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default (DVTEnableCoreDevice=disabled)
Command line invocation:
    /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -arch x86_64 -project alerter.xcodeproj -target alerter -configuration Release SYMROOT=build

User defaults from command line:
    IDEPackageSupportUseBuiltinSCM = YES

Build settings from command line:
    ARCHS = x86_64
    SYMROOT = build

2023-04-05 18:59:20.985 xcodebuild[7583:8256009]  DVTErrorPresenter: Unable to load simulator devices.
Domain: DVTCoreSimulatorAdditionsErrorDomain
Code: 3
Failure Reason: The version of the CoreSimulator framework installed on this Mac is out-of-date and not supported by this version of Xcode.
Recovery Suggestion: Please ensure that you have installed all available updates to your Mac's software, and that you are running the most recent version of Xcode supported by macOS.
--
CoreSimulator is out of date. Current version (857.7.0) is older than build version (885.2.0).
Domain: DVTCoreSimulatorAdditionsErrorDomain
Code: 3
--
2023-04-05 18:59:20.985 xcodebuild[7583:8256009]  iOSSimulator: [SimServiceContext sharedServiceContextForDeveloperDir:error:] returned nil (Error Domain=DVTCoreSimulatorAdditionsErrorDomain Code=3 "CoreSimulator is out of date. Current version (857.7.0) is older than build version (885.2.0)." UserInfo={NSLocalizedDescription=CoreSimulator is out of date. Current version (857.7.0) is older than build version (885.2.0).}). Simulator device support disabled.
2023-04-05 18:59:21.357 xcodebuild[7583:8256009] NetworkStorageDB:_openDBReadConnections: failed to open read connection to DB @ /Users/michkapopoff/Library/Caches/com.apple.dt.xcodebuild/Cache.db.  Error=14. Cause=unable to open database file
2023-04-05 18:59:21.357 xcodebuild[7583:8256009] The read-connection to the DB=/Users/michkapopoff/Library/Caches/com.apple.dt.xcodebuild/Cache.db is NOT valid.  Unable to determine schema version.
2023-04-05 18:59:21.357 xcodebuild[7583:8256009] NetworkStorageDB:_openDBWriteConnections: failed to open write connection to DB @ /Users/michkapopoff/Library/Caches/com.apple.dt.xcodebuild/Cache.db.  Error=14. Cause=unable to open database file
2023-04-05 18:59:21.357 xcodebuild[7583:8256009] DEBUG: there is no SQL cache DB located at /Users/michkapopoff/Library/Caches/com.apple.dt.xcodebuild/Cache.db.
2023-04-05 18:59:21.357 xcodebuild[7583:8256009] DEBUG: there is no SQL cache DB located at /Users/michkapopoff/Library/Caches/com.apple.dt.xcodebuild/Cache.db-shm.
2023-04-05 18:59:21.357 xcodebuild[7583:8256009] DEBUG: there is no SQL cache DB located at /Users/michkapopoff/Library/Caches/com.apple.dt.xcodebuild/Cache.db-wal.
2023-04-05 18:59:21.358 xcodebuild[7583:8256008] writeDBwithCachedResponse-ERROR: (_dbWriteConnection=0x7f7aa1c38fb0) insert SQL stmnt. is nil for storage: /Users/michkapopoff/Library/Caches/com.apple.dt.xcodebuild
Computing target dependency graph and provisioning inputs

Create build description
Build description signature: aba58688310f63c2bb7ae292a2f307b1
Build description path: /tmp/alerter-20230405-7543-1kuo9i4/alerter-1.0.1/build/XCBuildData/aba58688310f63c2bb7ae292a2f307b1.xcbuilddata

warning: Building targets in manual order is deprecated - check "Parallelize build for command-line builds" in the project editor, or set DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING in any of the targets in the current build to suppress this warning
/tmp/alerter-20230405-7543-1kuo9i4/alerter-1.0.1/alerter.xcodeproj: error: No signing certificate "Mac Development" found: No "Mac Development" signing certificate matching team ID "NQLLJK2GK3" with a private key was found. (in target 'alerter' from project 'alerter')

Could you help us with this to be able to update the package?

Support For macOS Catalina

Hi - Love your app by the way.

Do you intend it to support macOS Catalina?
Seeing an issue - SSoftLinking - The function 'SLSIsSuppressedByScreenTime' can't be found in the (null) framework.

Alerter processes left running if user refuses permission

In macOS 10.15.7, an Alerter process stays running if the user refuses permission for Alerter to send notifications. Same if user chooses "None" in notification style. I have found a large number of Alerter processes running which have to be killed in Activity Monitor (or I guess by logging off).

Can Alerter be updated so that it kills its own process when user refuses permission ? It does that if the notification is displayed but not if the Notification is not displayed.

Thanks.

Help does not contain application name

Using

$ alerter --help

returns in first line

${EXECUTABLE_NAME} (1.0.0) is a command-line tool to send OS X User Notifications.

Seems that an macro expansion does not work well…

Big sur- option ?

Is it just me or when the alerter notification slide in, you can not see the buttons right away , but now to click the little "options" first to see available other buttons?
before it was possible to see buttons right away when it did slide in

-sender com.getdropbox.dropbox causes hang

When I try to specify Dropbox as -sender like this:

alerter \
	-sender com.getdropbox.dropbox \
	-message 'Launch Dropbox ?' \
	-closeLabel No \
	-actions 'Launch' \
	-timeout 30

The alert does not appear, and the timeout does not happen.

If I remove the -sender line, it works.

If I use -sender com.apple.TextEdit instead, it works.

This is using alerter (1.1.0) on latest Catalina non-beta:

ProductName:	Mac OS X
ProductVersion:	10.15.4
BuildVersion:	19E266

Not working

i get nothing when i do echo 'Hello World!' | alerter -sound default alerter is in my $PATH also. echo doesn't return to prompt simply stays there like its waiting for something. no notifications pop up.

How to call alerter from script without blocking?

Hi,

I'm trying to trigger a notification from inside a bash script, however I do not want the script to wait for a user to click on the notification. I want the script to fire the notification and then continue on to the next line.

I haven't been able to find a way to achieve this by going through the help message of the command - The closest solution I could find was to use the timeout flag, which still causes the script to be blocked for that many seconds.

Can someone please point me in the right direction?

10.15 Catalina Support?

Love the app like so many. Any chance you can make it supportable in 10.15?
Doesn't work on latest beta build 19A558d

Unexpected action "Show" on Big Sur

When running this command:

 /usr/local/bin/alerter -message Msg -title title -subtitle subtitle -closeLabel close_label -dropdownlabel drop -actions one,two,three -json -timeout 10

image
action list in the notification contains Show item, clicking it leads to exception:

2021-11-19 23:53:54.519 alerter[58872:14756858] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndexedSubscript:]: index 9223372036854775807 beyond bounds [0 .. 2]'
*** First throw call stack:
(
        0   CoreFoundation                      0x00007fff2066f1db __exceptionPreprocess + 242
        1   libobjc.A.dylib                     0x00007fff203a8d92 objc_exception_throw + 48
        2   CoreFoundation                      0x00007fff20725e0a _CFThrowFormattedException + 202
        3   CoreFoundation                      0x00007fff205e3140 +[NSNull null] + 0
        4   alerter                             0x000000010ae176e5 -[AppDelegate userNotificationCenter:didActivateNotification:] + 540
        5   Foundation                          0x00007fff2142bf63 -[_NSConcreteUserNotificationCenter _sendDelegateMessage:sendToAppDelegate:withObject:] + 118
        6   Foundation                          0x00007fff215e891a -[_NSConcreteUserNotificationCenter _notificationClickedMessage:] + 460
        7   Foundation                          0x00007fff213de9b2 __54-[_NSConcreteUserNotificationCenter _serverConnection]_block_invoke_4 + 49
        8   libdispatch.dylib                   0x00007fff20352623 _dispatch_call_block_and_release + 12
        9   libdispatch.dylib                   0x00007fff20353806 _dispatch_client_callout + 8
        10  libdispatch.dylib                   0x00007fff2035fb4f _dispatch_main_queue_callback_4CF + 940
        11  CoreFoundation                      0x00007fff20631f18 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
        12  CoreFoundation                      0x00007fff205f4112 __CFRunLoopRun + 2755
        13  CoreFoundation                      0x00007fff205f2f8c CFRunLoopRunSpecific + 563
        14  HIToolbox                           0x00007fff2883aa83 RunCurrentEventLoopInMode + 292
        15  HIToolbox                           0x00007fff2883a7e5 ReceiveNextEventCommon + 587
        16  HIToolbox                           0x00007fff2883a583 _BlockUntilNextEventMatchingListInModeWithFilter + 70
        17  AppKit                              0x00007fff22dfc172 _DPSNextEvent + 864
        18  AppKit                              0x00007fff22dfa945 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1364
        19  AppKit                              0x00007fff22decc69 -[NSApplication run] + 586
        20  alerter                             0x000000010ae1882a main + 147
        21  libdyld.dylib                       0x00007fff20518f3d start + 1
)
libc++abi: terminating with uncaught exception of type NSException

"Reply" style alert without button ?

Is it possible to get a 'reply' style alert, (with a text entry field), without first having to have the notification ask if you would like to reply?

Thanks -Kevin

The "-remove ID" option doesn't remove an alert and the "-remove ALL" option works but spawns another alert

I am issuing calls to Alerter from AppleScript using "do shell script" which uses the "sh" shell.

I want an alert to remain visible until removed by my app. I first tried working with a specific ID. But, that did not remove the alert.

Must the "ID" be a Bundle ID or can it be any text ?

I tried the "-remove ALL" option which worked but, after removing the alert, another alert is shown.

Is there a way to prevent the second alert showing ?

Thanks.

What do the -open, -execute and -activate options do ?

The readme info on _Alerter _ says:

Because of this it is important to note that you cannot combine this with options like -execute , -open , and -activate which depend on the sender of the notification to be ‘alerter’ to perform its work.

But, I can't find any detail on what -execute , -open , and -activate do. I've played with adding them to my Alerter call (e.g. -open "/System/Applications/TextEdit.app"). but nothing happens.

I can't find any reference to them in the code so, are they planned for the future ?

Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.