Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions Simple Client/Simple Client.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,7 @@
GCC_PREFIX_HEADER = Simple_Client_Prefix.pch;
INFOPLIST_FILE = "Simple_Client-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "info.v002.syphon.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "Simple Client";
};
Expand All @@ -352,6 +353,7 @@
GCC_PREFIX_HEADER = Simple_Client_Prefix.pch;
INFOPLIST_FILE = "Simple_Client-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "info.v002.syphon.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "Simple Client";
};
Expand Down Expand Up @@ -391,10 +393,9 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.9;
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
VALID_ARCHS = "i386 x86_64";
};
name = Debug;
};
Expand Down Expand Up @@ -430,9 +431,8 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.9;
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
SDKROOT = macosx;
VALID_ARCHS = "i386 x86_64";
};
name = Release;
};
Expand Down
7 changes: 7 additions & 0 deletions Simple Client/SimpleClientAppDelegate.m
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,13 @@ - (void)applicationDidFinishLaunching:(NSNotification *)aNotification

[[self.view window] setContentMinSize:(NSSize){400.0,300.0}];
[[self.view window] setDelegate:self];

// macOS 11+ defaults to the compact unified toolbar style, which
// collapses our view-based toolbar items (server menu, status box)
// into the overflow menu — use the classic expanded layout instead
if (@available(macOS 11.0, *)) {
[[self.view window] setToolbarStyle:NSWindowToolbarStyleExpanded];
}
}

- (NSArray *)selectedServerDescriptions
Expand Down
19 changes: 18 additions & 1 deletion Simple Client/ToolbarDelegate.m
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,9 @@ @implementation ToolbarDelegate {

- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar *)toolbar
{
return @[kStatusItemIdentifier, NSToolbarFlexibleSpaceItemIdentifier, kServersMenuItemIdentifier];
// server menu at the left, status box centered (see toolbarWillAddItem:)
// — the layout the app has always had
return @[kServersMenuItemIdentifier, kStatusItemIdentifier];
}

- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar *)toolbar
Expand All @@ -56,7 +58,9 @@ - (NSToolbarItem *)toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString
[item setPaletteLabel:@"Source"];
[item setToolTip:@"Select a Syphon Server"];
[item setView:availableServersMenu];
[self sizeItem:item toView:availableServersMenu];
NSMenuItem *menuForm = [[NSMenuItem alloc] init];
[menuForm setTitle:@"Source"];
[menuForm setMenu:[availableServersMenu menu]];
[item setMenuFormRepresentation:menuForm];
}
Expand All @@ -67,6 +71,7 @@ - (NSToolbarItem *)toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString
[item setToolTip:@"Status"];
[statusBox setCornerRadius:4.0];
[item setView:statusBox];
[self sizeItem:item toView:statusBox];
}
else
{
Expand All @@ -76,6 +81,18 @@ - (NSToolbarItem *)toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString
return item;
}

// When built with a modern SDK, NSToolbarItem no longer derives its size
// from the custom view's frame, so view-based items collapse and vanish
// into the overflow menu. Pin them to the size they have in the nib, as
// old SDKs did implicitly.
- (void)sizeItem:(NSToolbarItem *)item toView:(NSView *)view
{
NSSize size = view.frame.size;
view.translatesAutoresizingMaskIntoConstraints = NO;
[view.widthAnchor constraintEqualToConstant:size.width].active = YES;
[view.heightAnchor constraintEqualToConstant:size.height].active = YES;
}

- (void)toolbarWillAddItem:(NSNotification *)notification
{
if (@available(macOS 10.14, *)) {
Expand Down
8 changes: 4 additions & 4 deletions Simple Server/Simple Server.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -327,6 +327,7 @@
GCC_PREFIX_HEADER = Simple_Server_Prefix.pch;
INFOPLIST_FILE = "Simple_Server-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "info.v002.syphon.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "Simple Server";
};
Expand All @@ -346,6 +347,7 @@
GCC_PREFIX_HEADER = Simple_Server_Prefix.pch;
INFOPLIST_FILE = "Simple_Server-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "info.v002.syphon.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "Simple Server";
};
Expand Down Expand Up @@ -384,10 +386,9 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.9;
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
VALID_ARCHS = "i386 x86_64";
};
name = Debug;
};
Expand Down Expand Up @@ -422,9 +423,8 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.9;
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
SDKROOT = macosx;
VALID_ARCHS = "i386 x86_64";
};
name = Release;
};
Expand Down
Loading