2015-09-10 09:28:17 +02:00

37 lines
874 B
Swift

//
// EventMonitor.swift
// ipbc-Client
//
// Created by Gerrit Linnemann on 09.09.15.
// Copyright (c) 2015 Adawim UG (haftungsbeschränkt). All rights reserved.
//
// More infos to EventMonitor: http://www.raywenderlich.com/98178/os-x-tutorial-menus-popovers-menu-bar-apps
//
import Cocoa
public class EventMonitor {
private var monitor: AnyObject?
private let mask: NSEventMask
private let handler: NSEvent? -> ()
public init(mask: NSEventMask, handler: NSEvent? -> ()) {
self.mask = mask
self.handler = handler
}
deinit {
stop()
}
public func start() {
monitor = NSEvent.addGlobalMonitorForEventsMatchingMask(mask, handler: handler)
}
public func stop() {
if monitor != nil {
NSEvent.removeMonitor(monitor!)
monitor = nil
}
}
}