2016-12-01 5 views
14

는 lightscreen 및 볼륨 항목 옆에 항목을 추가 TouchSwitcher 응용 : https://hazeover.com/touchswitcher.html enter image description here오른쪽의 터치 바 컨트롤 센터에서 아이템을 얻는 방법은 무엇입니까?

터치 표시 줄의 오른쪽 지역에 제어 스트립에 항목을 표시 할 수있는 솔루션이 있습니까?

공식 문서에서 도움을받을 수 없습니다 ... 도와주세요!

+0

"터치 바의 오른쪽에, 시스템은 항상 사용 가능한 제어 스트립을 공급 조절 띠는 화면 밝기, 음량, 시리에 대한 표준 컨트롤에 대한 사용자 액세스를 제공합니다. 앱의 막대가 컨트롤 스트립의 왼쪽에 나타납니다 (사용자는 컨트롤 막대를 숨기도록 선택할 수 있습니다.이 컨트롤 막대는 가장 가까운 앱에 터치 막대 너비 전체를 표시합니다). "이는 앱의 막대가 항상 왼쪽 및 오른쪽 항목은 불가능합니다. 컨트롤 막대 막대 항목에는 액세스 할 수도 없습니다. 덕분에 – rocky

답변

4

디 컴파일 후, 나는/System/Library/PrivateFrameworks 아래에있는 DFRFoundation이라는 프레임 워크와 관련 방법 DFRElementSetControlStripPresenceForIdentifier에서 몇 가지 API를 발견했습니다. 추가 정보를 얻는 것이 매우 어렵다는 것을 알았 기 때문에이 API는 개인 프레임 워크에 있음을 알려 드리기 위해 여기서만 답변합니다. 누군가가 언젠가 비밀을 밝히기를 희망합니다.

+0

. 나는 길을 찾으려고 노력하고있다. – jimwan

3

여기에 what I use입니다. NSView과 원하는 식별자를 controlStrippify() 함수에 전달하십시오. 스위프트를 사용하여 똑같은 일을 한 시도가 충돌로 이어졌습니다. :) Inspiration from https://github.com/a2/touch-baer.

NSTouchBar 문서에서
@import Cocoa; 
@import Foundation; 

// See: https://github.com/a2/touch-baer 
extern void DFRSystemModalShowsCloseBoxWhenFrontMost(BOOL); 
extern void DFRElementSetControlStripPresenceForIdentifier(NSString *string, BOOL enabled); 

@interface NSTouchBarItem() 
+ (void)addSystemTrayItem:(NSTouchBarItem *)item; 
@end 

@interface NSTouchBar() 
+ (void)presentSystemModalFunctionBar:(NSTouchBar *)touchBar systemTrayItemIdentifier:(NSString *)identifier; 
@end 

void controlStrippify(NSView *view, NSString *identifier) { 
    if (@available(macOS 10.12.2, *)) { 
    DFRSystemModalShowsCloseBoxWhenFrontMost(YES); 

    NSCustomTouchBarItem *touchBarItem = [[NSCustomTouchBarItem alloc] initWithIdentifier:identifier]; 
    touchBarItem.view = view; 
    [NSTouchBarItem addSystemTrayItem:touchBarItem]; 
    DFRElementSetControlStripPresenceForIdentifier(identifier, YES); 
    } else { 
    // Fail! 
    } 
} 
+0

이 링크가 질문에 대답 할 수 있지만 여기에 답의 핵심 부분을 포함하고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. - [검토 중] (리뷰/저품절 게시물/17548296) – the4kman

+0

@ the4kman, 코드 스 니펫이 추가되었습니다. –

+0

'DFRSystemModalShowsCloseBoxWhenFrontMost'는 무엇을합니까? 제공된 bool 값이나 전체 라인의 존재 여부에 관계없이 아무런 영향을 미치지 않는 것 같습니다. – ReDetection