MinimumMenuをもっと自分好みに改造する

昨日は、画面上端を 2 回つっついて青い線を表示するように改造した。いっそのこと二回つついたら即座に MinimumMenu がアクティベートするようにしたらどうだろう。
この設定も Preferences パネルで設定できるように見越して次のメソッドを作っておく。

- (BOOL)supportQuickAppSwitching {
    return YES;
}

MinimumMenu がアクティブのとき、すなわち ClearWindow がキーウィンドウの時は保存していたアクティブなアプリケーションを復帰させる。そうでない場合は、自分自身をアクティベートする。自分自身をアクティベートするには NSAppactivateIgnoringOtherApps: を送る。以下のように mouseEntered: を改造すればOKだ。

- (void)mouseEntered:(NSEvent *)event {
    ////NSLog(@"mouseEntered");
    if ([self supportDoubleKnocking]) {
        NSTimeInterval secondKnockTime = [NSDate timeIntervalSinceReferenceDate];
        if (secondKnockTime - firstKnockTime > [self doubleKnockingInterval]) {
        }
        else if ([self isKeyWindow]) {
            if ([self supportQuickAppSwitching]) {
                [self restoreActiveApp];
                [self hide_];
            }
            else {
                [self show];
            }
        }
        else if ([self supportQuickAppSwitching]) {
            [self storeActiveApp];
            [NSApp activateIgnoringOtherApps:YES];
        }
        else {
            [self show];
            [self storeActiveApp];
        }
        firstKnockTime = secondKnockTime;
    }
    else {
        [self show];
        [self storeActiveApp];
    }
}