本文整理汇总了Python中Foundation.NSUserNotificationCenter类的典型用法代码示例。如果您正苦于以下问题:Python NSUserNotificationCenter类的具体用法?Python NSUserNotificationCenter怎么用?Python NSUserNotificationCenter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了NSUserNotificationCenter类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _pyobjc_notify
def _pyobjc_notify(message, title=None, subtitle=None, appIcon=None, contentImage=None, open_URL=None, delay=0, sound=False):
swizzle(objc.lookUpClass('NSBundle'),
b'bundleIdentifier',
swizzled_bundleIdentifier)
notification = NSUserNotification.alloc().init()
notification.setInformativeText_(message)
if title:
notification.setTitle_(title)
if subtitle:
notification.setSubtitle_(subtitle)
if appIcon:
url = NSURL.alloc().initWithString_(appIcon)
image = NSImage.alloc().initWithContentsOfURL_(url)
notification.set_identityImage_(image)
if contentImage:
url = NSURL.alloc().initWithString_(contentImage)
image = NSImage.alloc().initWithContentsOfURL_(url)
notification.setContentImage_(image)
if sound:
notification.setSoundName_(
"NSUserNotificationDefaultSoundName")
notification.setDeliveryDate_(
NSDate.dateWithTimeInterval_sinceDate_(delay, NSDate.date()))
NSUserNotificationCenter.defaultUserNotificationCenter().scheduleNotification_(
notification)
示例2: notify
def notify(self, title, subtitle, text):
"""Create a user notification and display it."""
# if appImage:
# source_img = AppKit.NSImage.alloc().initByReferencingFile_(appImage)
# notification.set_identityImage_(source_img)
# if contentImage:
# source_img = AppKit.NSImage.alloc().initBy
# notification.setContentImage_(source_img)
notification = NSUserNotification.alloc().init()
notification.setTitle_(str(title))
notification.setSubtitle_(str(subtitle))
notification.setInformativeText_(str(text))
notification.setSoundName_("NSUserNotificationDefaultSoundName")
# notification.set_showsButtons_(True)
# notification.setHasActionButton_(True)
# notification.setHasReplyButton_ (True) # this will allow the user to enter text to "reply"
# notification.setActionButtonTitle_("View")
# notification.setUserInfo_({"action":"open_url", "value":url})
NSUserNotificationCenter.defaultUserNotificationCenter().setDelegate_(self)
NSUserNotificationCenter.defaultUserNotificationCenter().scheduleNotification_(notification)
# Note that the notification center saves a *copy* of our object.
AppHelper.runConsoleEventLoop()
示例3: notification
def notification(title, subtitle, message, data=None, sound=True, image=None):
"""Send a notification to Notification Center (Mac OS X 10.8+). If running on a version of Mac OS X that does not
support notifications, a ``RuntimeError`` will be raised. Apple says,
"The userInfo content must be of reasonable serialized size (less than 1k) or an exception will be thrown."
So don't do that!
:param title: text in a larger font.
:param subtitle: text in a smaller font below the `title`.
:param message: text representing the body of the notification below the `subtitle`.
:param data: will be passed to the application's "notification center" (see :func:`rumps.notifications`) when this
notification is clicked.
:param sound: whether the notification should make a noise when it arrives.
"""
if not _NOTIFICATIONS:
raise RuntimeError('Mac OS X 10.8+ is required to send notifications')
if data is not None and not isinstance(data, Mapping):
raise TypeError('notification data must be a mapping')
_require_string_or_none(title, subtitle, message)
notification = NSUserNotification.alloc().init()
notification.setTitle_(title)
notification.setSubtitle_(subtitle)
notification.setInformativeText_(message)
notification.setUserInfo_({} if data is None else data)
if sound:
notification.setSoundName_("NSUserNotificationDefaultSoundName")
if image != None:
notification.setContentImage_(image)
notification.setDeliveryDate_(NSDate.dateWithTimeInterval_sinceDate_(0, NSDate.date()))
NSUserNotificationCenter.defaultUserNotificationCenter().scheduleNotification_(notification)
示例4: run
def run(self, **options):
"""Performs various setup tasks including creating the underlying Objective-C application, starting the timers,
and registering callback functions for click events. Then starts the application run loop.
.. versionchanged:: 0.2.1
Accepts `debug` keyword argument.
:param debug: determines if application should log information useful for debugging. Same effect as calling
:func:`rumps.debug_mode`.
"""
dont_change = object()
debug = options.get('debug', dont_change)
if debug is not dont_change:
debug_mode(debug)
nsapplication = NSApplication.sharedApplication()
nsapplication.activateIgnoringOtherApps_(True) # NSAlerts in front
self._nsapp = NSApp.alloc().init()
self._nsapp._app = self.__dict__ # allow for dynamic modification based on this App instance
nsapplication.setDelegate_(self._nsapp)
if _NOTIFICATIONS:
NSUserNotificationCenter.defaultUserNotificationCenter().setDelegate_(self._nsapp)
setattr(App, '*app_instance', self) # class level ref to running instance (for passing self to App subclasses)
t = b = None
for t in getattr(timer, '*timers', []):
t.start()
for b in getattr(clicked, '*buttons', []):
b(self) # we waited on registering clicks so we could pass self to access _menu attribute
del t, b
self._nsapp.initializeStatusBar()
AppHelper.runEventLoop()
示例5: notify
def notify(title, subtitle, text):
notification = NSUserNotification.alloc().init()
notification.setTitle_(str(title))
notification.setSubtitle_(str(subtitle))
notification.setInformativeText_(str(text))
notification.setSoundName_("NSUserNotificationDefaultSoundName")
NSUserNotificationCenter.defaultUserNotificationCenter().scheduleNotification_(notification)
示例6: send_OS_X_notify
def send_OS_X_notify(title, content, img_path):
'''发送Mac桌面通知'''
def swizzle(cls, SEL, func):
old_IMP = cls.instanceMethodForSelector_(SEL)
def wrapper(self, *args, **kwargs):
return func(self, old_IMP, *args, **kwargs)
new_IMP = objc.selector(wrapper, selector=old_IMP.selector,
signature=old_IMP.signature)
objc.classAddMethod(cls, SEL, new_IMP)
def swizzled_bundleIdentifier(self, original):
# Use iTunes icon for notification
return 'com.apple.itunes'
swizzle(objc.lookUpClass('NSBundle'),
b'bundleIdentifier',
swizzled_bundleIdentifier)
notification = NSUserNotification.alloc().init()
notification.setInformativeText_('')
notification.setTitle_(title.decode('utf-8'))
notification.setSubtitle_(content.decode('utf-8'))
notification.setInformativeText_('')
notification.setUserInfo_({})
if img_path is not None:
image = NSImage.alloc().initWithContentsOfFile_(img_path)
# notification.setContentImage_(image)
notification.set_identityImage_(image)
notification.setDeliveryDate_(
NSDate.dateWithTimeInterval_sinceDate_(0, NSDate.date())
)
NSUserNotificationCenter.defaultUserNotificationCenter().\
scheduleNotification_(notification)
示例7: alert
def alert(self, title, subtitle, message, delay=0, sound=False, userInfo={}):
self.notification.setTitle_(title)
self.notification.setSubtitle_(subtitle)
self.notification.setInformativeText_(message)
self.notification.setDeliveryDate_(NSDate.dateWithTimeInterval_sinceDate_(delay, NSDate.date()))
# self.notification.setUserInfo_(userInfo)
if sound:
self.notification.setSoundName_("NSUserNotificationDefaultSoundName")
NSUserNotificationCenter.defaultUserNotificationCenter().scheduleNotification_(self.notification)
示例8: notify
def notify(self, title, subtitle, text, url):
notification = NSUserNotification.alloc().init()
notification.setTitle_(str(title))
notification.setSubtitle_(str(subtitle))
notification.setInformativeText_(str(text))
notification.setSoundName_("NSUserNotificationDefaultSoundName")
notification.setUserInfo_({"action": "open_url", "value": url})
NSUserNotificationCenter.defaultUserNotificationCenter().setDelegate_(self)
NSUserNotificationCenter.defaultUserNotificationCenter().scheduleNotification_(notification)
示例9: notify
def notify(title, subtitle, text, fileType = None):
notification = NSUserNotification.alloc().init()
notification.setTitle_(str(title))
notification.setSubtitle_(str(subtitle))
notification.setInformativeText_(str(text))
notification.setSoundName_("NSUserNotificationDefaultSoundName")
if fileType is not None:
file_icon = NSWorkspace.sharedWorkspace().iconForFileType_(fileType)
notification.setContentImage_(file_icon)
NSUserNotificationCenter.defaultUserNotificationCenter().scheduleNotification_(notification)
示例10: userNotificationCenter_didActivateNotification_
def userNotificationCenter_didActivateNotification_(
self, center: NSUserNotificationCenter, notification: NSMutableDictionary
) -> None:
info = notification.userInfo()
if info and "uuid" not in info:
return
notifications = self._manager.notification_service.get_notifications()
if (
info["uuid"] not in notifications
or notifications[info["uuid"]].is_discard_on_trigger()
):
center.removeDeliveredNotification_(notification)
self._manager.notification_service.trigger_notification(info["uuid"])
示例11: writeFont_error_
def writeFont_error_(self, font, error):
"""
EXPORT dialog
This method is called when the Next button is pressed in the Export dialog,
and should ask the user for the place to store the font (not necessarily, you could choose to hard-wire the destination in the code).
Parameters:
- font: The font object to export
- error: PyObjc-Requirement. It is required here in order to return the error object upon export failure. Ignore its existence here.
return (True, None) if the export was successful
return (False, NSError) if the export failed
"""
try:
returnStatus, returnMessage = [False, 'export() is not implemented in the plugin.']
if hasattr(self, 'export'):
returnStatus, returnMessage = self.export(font)
# Export successful
# Change the condition (True) to your own assessment on whether or not the export succeeded
if returnStatus:
# Use Mac Notification Center
notification = NSUserNotification.alloc().init()
notification.setTitle_(self.title())
notification.setInformativeText_(returnMessage)
NSUserNotificationCenter.defaultUserNotificationCenter().scheduleNotification_(notification)
return (True, None)
# Export failed, give reason
else:
error = NSError.errorWithDomain_code_userInfo_(self.title(), -57, {
NSLocalizedDescriptionKey: NSLocalizedString('Export failed', None),
NSLocalizedRecoverySuggestionErrorKey: returnMessage
})
return (False, error)
# Python exception, return error message
except Exception as e:
self.logError(traceback.format_exc())
error = NSError.errorWithDomain_code_userInfo_(self.title(), -57, {
NSLocalizedDescriptionKey: NSLocalizedString('Python exception', None),
NSLocalizedRecoverySuggestionErrorKey: str(e) + '\nCheck Macro window output.'
})
return (False, error)
return True
示例12: notify
def notify(text):
notification = NSUserNotification.alloc().init()
notification.setTitle_('Clipbox')
notification.setInformativeText_(text)
center = NSUserNotificationCenter.defaultUserNotificationCenter()
center.deliverNotification_(notification)
示例13: notification
def notification(title, subtitle, message, data=None, sound=True):
"""
Notification sender. Apple says, "The userInfo content must be of reasonable serialized size (less than 1k) or an
exception will be thrown." So don't do that!
"""
if data is not None and not isinstance(data, Mapping):
raise TypeError('notification data must be a mapping')
notification = NSUserNotification.alloc().init()
notification.setTitle_(title)
notification.setSubtitle_(subtitle)
notification.setInformativeText_(message)
notification.setUserInfo_({} if data is None else data)
if sound:
notification.setSoundName_("NSUserNotificationDefaultSoundName")
notification.setDeliveryDate_(NSDate.dateWithTimeInterval_sinceDate_(0, NSDate.date()))
NSUserNotificationCenter.defaultUserNotificationCenter().scheduleNotification_(notification)
示例14: notify
def notify(
title: str,
subtitle: str,
info_text: str,
delay: int = 0,
sound: bool = False,
user_info: Dict[str, str] = None,
) -> None:
""" Python method to show a desktop notification on Mountain Lion. Where:
title: Title of notification
subtitle: Subtitle of notification
info_text: Informative text of notification
delay: Delay (in seconds) before showing the notification
sound: Play the default notification sound
userInfo: a dictionary that can be used to handle clicks in your
app's applicationDidFinishLaunching:aNotification method
"""
notification = NSUserNotification.alloc().init()
notification.setTitle_(title)
notification.setSubtitle_(subtitle)
notification.setInformativeText_(info_text)
user_info = user_info or {}
notification.setUserInfo_(user_info)
if sound:
notification.setSoundName_("NSUserNotificationDefaultSoundName")
center = NSUserNotificationCenter.defaultUserNotificationCenter()
if center is not None:
center.deliverNotification_(notification)
示例15: notify
def notify(content="", title="Security Notification", icon=None, sound=None):
if content:
log("[>] secnotify[%s]: %s" % (title, content))
notification = NSUserNotification.alloc().init()
notification.setTitle_(title)
notification.setInformativeText_(content)
center = NSUserNotificationCenter.defaultUserNotificationCenter()
center.deliverNotification_(notification)