// Copyright (c) 2021 Teddy Wing // // This file is part of Re-Good Catalina Invert Colours. // // Re-Good Catalina Invert Colours is free software: you can // redistribute it and/or modify it under the terms of the GNU General // Public License as published by the Free Software Foundation, either // version 3 of the License, or (at your option) any later version. // // Re-Good Catalina Invert Colours is distributed in the hope that it // will be useful, but WITHOUT ANY WARRANTY; without even the implied // warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See // the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Re-Good Catalina Invert Colours. If not, see // . #import #include #import "Invert.h" #import "DDHotKeyCenter.h" static const char *VERSION = "0.0.1"; static const int E_REGISTER_HOTKEY = 5; int register_hotkeys(); int main(int argc, const char * argv[]) { if (argc > 1 && ( strcmp("-V", argv[1]) == 0 || strcmp("--version", argv[1]) == 0 )) { printf("%s\n", VERSION); return 0; } [NSAutoreleasePool new]; [NSApplication sharedApplication]; int error_code = register_hotkeys(); if (error_code == E_REGISTER_HOTKEY) { return EX_SOFTWARE; } [NSApp run]; return 0; } int register_hotkeys() { Invert *invert = [[[Invert alloc] init] autorelease]; DDHotKeyCenter *c = [DDHotKeyCenter sharedHotKeyCenter]; if ( ![c registerHotKeyWithKeyCode:kVK_ANSI_8 modifierFlags: (NSEventModifierFlagControl | NSEventModifierFlagOption | NSEventModifierFlagCommand) target:invert action:@selector(toggleInvertColors:) object:nil] ) { NSLog(@"Error registering hotkey Apple+Option+Control-8"); return E_REGISTER_HOTKEY; } if ( ![c registerHotKeyWithKeyCode:kVK_F8 modifierFlags:0 target:invert action:@selector(toggleInvertColors:) object:nil] ) { NSLog(@"Error registering hotkey F8"); return E_REGISTER_HOTKEY; } return 0; }