Bitcoin ABC 0.30.5
P2P Digital Currency
macdockiconhandler.mm
Go to the documentation of this file.
1// Copyright (c) 2011-2019 The Bitcoin Core developers
2// Distributed under the MIT software license, see the accompanying
3// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
6
7#include <AppKit/AppKit.h>
8#include <objc/runtime.h>
9
11
12bool dockClickHandler(id self, SEL _cmd, ...) {
13 Q_UNUSED(self)
14 Q_UNUSED(_cmd)
15
17
18 // Return NO (false) to suppress the default macOS actions
19 return false;
20}
21
23 Class delClass =
24 (Class)[[[NSApplication sharedApplication] delegate] class];
25 SEL shouldHandle =
26 sel_registerName("applicationShouldHandleReopen:hasVisibleWindows:");
27 class_replaceMethod(delClass, shouldHandle, (IMP)dockClickHandler, "B@:");
28}
29
32}
33
36 return s_instance;
37}
38
40 delete s_instance;
41}
42
49 [[NSApplication sharedApplication] activateIgnoringOtherApps:YES];
50}
macOS-specific Dock icon handler.
static MacDockIconHandler * instance()
static MacDockIconHandler * s_instance
void setupDockClickHandler()
bool dockClickHandler(id self, SEL _cmd,...)
void ForceActivation()
Force application activation on macOS.