diff options
23 files changed, 239 insertions, 90 deletions
@@ -5,7 +5,7 @@ <key>CFBundleDevelopmentRegion</key> <string>English</string> <key>CFBundleDisplayName</key> - <string>Flat Bezel Interface</string> + <string>Liquid Glass Bezel Interface</string> <key>CFBundleExecutable</key> <string>${EXECUTABLE_NAME}</string> <key>CFBundleIdentifier</key> @@ -13,7 +13,7 @@ <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> - <string>Flat Bezel Interface</string> + <string>Liquid Glass Bezel Interface</string> <key>CFBundlePackageType</key> <string>BNDL</string> <key>CFBundleShortVersionString</key> @@ -29,41 +29,41 @@ <string>Interfaces</string> </array> <key>description</key> - <string>A new take on the Bezel Interface, using a flatter look.</string> + <string>The classic Bezel Quicksilver interface, but now in liquid glass.</string> <key>extendedDescription</key> - <string><h2>Flat Bezel Interface</h2> -<p>A new take on the Bezel Interface, using a flatter look.</p> + <string><h2>Liquid Glass Bezel Interface</h2> +<p>The classic Bezel Quicksilver interface, but now in liquid glass.</p> <h3>Colors</h3> -<p>Both light mode and dark mode are supported by this plugin. Choose your color preferences by enabling the Flat Bezel interface in the Appearance preferences, and then clicking the 'Customize' button.</p> +<p>Both light mode and dark mode are supported by this plugin. Choose your color preferences by enabling the Liquid Glass Bezel interface in the Appearance preferences, and then clicking the 'Customize' button.</p> <h3>Credits</h3> -This plugin was created by Ruben Beltran del Río, building on top of the Yosemite interface that was originally built by Mikkel Malmberg (<a href="https://github.com/mikker/">@mikker</a>), and updated by the Patrick Robertson and the Quicksilver Development Team.</string> +This plugin was created by Ruben Beltran del Río, building on top of the Yosemite interface that was originally built by Mikkel Malmberg (<a href="https://github.com/mikker/">@mikker</a>), and updated by the Patrick Robertson and the Quicksilver Development Team.</string> </dict> <key>QSRegistration</key> <dict> <key>QSCommandInterfaceControllers</key> <dict> - <key>Flat Bezel</key> - <string>BBFlatBezelInterface</string> + <key>Liquid Glass Bezel</key> + <string>BBLiquidGlassBezelInterface</string> </dict> <key>QSPreferencePanes</key> <dict> - <key>BBFlatBezelPrefs</key> + <key>BBLiquidGlassBezelPrefs</key> <dict> <key>class</key> - <string>BBFlatBezelPrefs</string> + <string>BBLiquidGlassBezelPrefs</string> <key>description</key> - <string>Flat Bezel interface preferences</string> + <string>Liquid Glass Bezel interface preferences</string> <key>icon</key> <string></string> <key>name</key> - <string>Flat Bezel</string> + <string>Liquid Glass Bezel</string> <key>nibBundle</key> - <string>pizza.unlimited.Flat-Bezel</string> + <string>pizza.unlimited.Liquid-Glass-Bezel</string> <key>nibName</key> - <string>BBFlatBezelPrefs</string> + <string>BBLiquidGlassBezelPrefs</string> <key>type</key> <string>hidden</string> </dict> diff --git a/Liquid Glass Bezel.xcodeproj/BBLiquidGlassBezelPrefs.h b/Liquid Glass Bezel.xcodeproj/BBLiquidGlassBezelPrefs.h new file mode 100644 index 0000000..bf14a58 --- /dev/null +++ b/Liquid Glass Bezel.xcodeproj/BBLiquidGlassBezelPrefs.h @@ -0,0 +1,18 @@ +#import <QSInterface/QSInterface.h> + +NS_ASSUME_NONNULL_BEGIN + +@interface BBLiquidGlassBezelPrefs : QSPreferencePane { + // Add your preference outlets here + // For example: + // IBOutlet NSButton *enableEffectsButton; + // IBOutlet NSSlider *opacitySlider; +} + +// Add any preference action methods here +// - (IBAction)toggleEffects:(id)sender; +// - (IBAction)adjustOpacity:(id)sender; + +@end + +NS_ASSUME_NONNULL_END
\ No newline at end of file diff --git a/Liquid Glass Bezel.xcodeproj/BBLiquidGlassBezelPrefs.m b/Liquid Glass Bezel.xcodeproj/BBLiquidGlassBezelPrefs.m new file mode 100644 index 0000000..88d838d --- /dev/null +++ b/Liquid Glass Bezel.xcodeproj/BBLiquidGlassBezelPrefs.m @@ -0,0 +1,21 @@ +// +// BBLiquidGlassBezelPrefs.m +// Liquid Glass Bezel +// +// Created by Ruben Beltran del Rio on 2025-09-04. +// Copyright © 2025 BRNBW. All rights reserved. +// + +#import "BBLiquidGlassBezelPrefs.h" + +@implementation BBLiquidGlassBezelPrefs + +- (id)init { + return [self initWithBundle:[NSBundle bundleForClass:[self class]]]; +} + +- (NSString *)mainNibName { + return @"BBLiquidGlassBezelPrefs"; +} + +@end
\ No newline at end of file diff --git a/Flat Bezel.xcodeproj/project.pbxproj b/Liquid Glass Bezel.xcodeproj/project.pbxproj index 9dd19c0..4ac4f8a 100644 --- a/Flat Bezel.xcodeproj/project.pbxproj +++ b/Liquid Glass Bezel.xcodeproj/project.pbxproj @@ -8,26 +8,33 @@ /* Begin PBXBuildFile section */ 42447D7D19407DA00077B4B2 /* BBObjectCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 42447D7C19407DA00077B4B2 /* BBObjectCell.m */; }; - 42663058193CC1FA00C0DD31 /* BBFlatBezelInterface.xib in Resources */ = {isa = PBXBuildFile; fileRef = 42663057193CC1FA00C0DD31 /* BBFlatBezelInterface.xib */; }; + 42663058193CC1FA00C0DD31 /* BBLiquidGlassBezelInterface.xib in Resources */ = {isa = PBXBuildFile; fileRef = 42663057193CC1FA00C0DD31 /* BBLiquidGlassBezelInterface.xib */; }; B576D2F52993FBD400A8B645 /* BackgroundView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B576D2F42993FBD400A8B645 /* BackgroundView.swift */; }; - B59AD27F2997AC2F006DA797 /* FlatBezelSearchObjectView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B59AD27E2997AC2F006DA797 /* FlatBezelSearchObjectView.swift */; }; - B59AD2812997AE4A006DA797 /* FlatBezelCollectingSearchObjectView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B59AD2802997AE4A006DA797 /* FlatBezelCollectingSearchObjectView.swift */; }; - B59AD2852997B860006DA797 /* FlatBezelObjectCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B59AD2842997B860006DA797 /* FlatBezelObjectCell.swift */; }; + B57CEE502E698DEC00628387 /* BBLiquidGlassBezelPrefs 2.m in Sources */ = {isa = PBXBuildFile; fileRef = B57CEE4F2E698DEC00628387 /* BBLiquidGlassBezelPrefs 2.m */; }; + B57CEE522E698E7100628387 /* BBLiquidGlassBezelPrefs.xib in Resources */ = {isa = PBXBuildFile; fileRef = B57CEE512E698E7100628387 /* BBLiquidGlassBezelPrefs.xib */; }; + B59AD27F2997AC2F006DA797 /* LiquidGlassBezelSearchObjectView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B59AD27E2997AC2F006DA797 /* LiquidGlassBezelSearchObjectView.swift */; }; + B59AD2812997AE4A006DA797 /* LiquidGlassBezelCollectingSearchObjectView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B59AD2802997AE4A006DA797 /* LiquidGlassBezelCollectingSearchObjectView.swift */; }; + B59AD2852997B860006DA797 /* LiquidGlassBezelObjectCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B59AD2842997B860006DA797 /* LiquidGlassBezelObjectCell.swift */; }; E470B7E31709F3A0000169F2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E470B7E21709F3A0000169F2 /* Cocoa.framework */; }; E470B7E91709F3A0000169F2 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = E470B7E71709F3A0000169F2 /* InfoPlist.strings */; }; - E470B7F81709F3A0000169F2 /* BBFlatBezelInterface.m in Sources */ = {isa = PBXBuildFile; fileRef = E470B7F71709F3A0000169F2 /* BBFlatBezelInterface.m */; }; + E470B7F81709F3A0000169F2 /* BBLiquidGlassBezelInterface.m in Sources */ = {isa = PBXBuildFile; fileRef = E470B7F71709F3A0000169F2 /* BBLiquidGlassBezelInterface.m */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ 42447D7B19407DA00077B4B2 /* BBObjectCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BBObjectCell.h; sourceTree = "<group>"; }; 42447D7C19407DA00077B4B2 /* BBObjectCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BBObjectCell.m; sourceTree = "<group>"; }; - 42663057193CC1FA00C0DD31 /* BBFlatBezelInterface.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = BBFlatBezelInterface.xib; sourceTree = "<group>"; }; + 42663057193CC1FA00C0DD31 /* BBLiquidGlassBezelInterface.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = BBLiquidGlassBezelInterface.xib; sourceTree = "<group>"; }; B576D2F42993FBD400A8B645 /* BackgroundView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BackgroundView.swift; sourceTree = "<group>"; }; - B576D2F62993FD7500A8B645 /* FlatBezel-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "FlatBezel-Bridging-Header.h"; sourceTree = "<group>"; }; - B59AD27E2997AC2F006DA797 /* FlatBezelSearchObjectView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlatBezelSearchObjectView.swift; sourceTree = "<group>"; }; - B59AD2802997AE4A006DA797 /* FlatBezelCollectingSearchObjectView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlatBezelCollectingSearchObjectView.swift; sourceTree = "<group>"; }; - B59AD2842997B860006DA797 /* FlatBezelObjectCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlatBezelObjectCell.swift; sourceTree = "<group>"; }; - E470B7DF1709F3A0000169F2 /* Flat Bezel.qsplugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Flat Bezel.qsplugin"; sourceTree = BUILT_PRODUCTS_DIR; }; + B576D2F62993FD7500A8B645 /* LiquidGlassBezel-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "LiquidGlassBezel-Bridging-Header.h"; sourceTree = "<group>"; }; + B57CEE4A2E6987E700628387 /* BBLiquidGlassBezelPrefs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BBLiquidGlassBezelPrefs.h; sourceTree = "<group>"; }; + B57CEE4B2E69881000628387 /* BBLiquidGlassBezelPrefs.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BBLiquidGlassBezelPrefs.m; sourceTree = "<group>"; }; + B57CEE4E2E698DE900628387 /* BBLiquidGlassBezelPrefs 2.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BBLiquidGlassBezelPrefs 2.h"; sourceTree = "<group>"; }; + B57CEE4F2E698DEC00628387 /* BBLiquidGlassBezelPrefs 2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "BBLiquidGlassBezelPrefs 2.m"; sourceTree = "<group>"; }; + B57CEE512E698E7100628387 /* BBLiquidGlassBezelPrefs.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BBLiquidGlassBezelPrefs.xib; sourceTree = "<group>"; }; + B59AD27E2997AC2F006DA797 /* LiquidGlassBezelSearchObjectView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiquidGlassBezelSearchObjectView.swift; sourceTree = "<group>"; }; + B59AD2802997AE4A006DA797 /* LiquidGlassBezelCollectingSearchObjectView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiquidGlassBezelCollectingSearchObjectView.swift; sourceTree = "<group>"; }; + B59AD2842997B860006DA797 /* LiquidGlassBezelObjectCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiquidGlassBezelObjectCell.swift; sourceTree = "<group>"; }; + E470B7DF1709F3A0000169F2 /* Liquid Glass Bezel.qsplugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Liquid Glass Bezel.qsplugin"; sourceTree = BUILT_PRODUCTS_DIR; }; E470B7E21709F3A0000169F2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; E470B7E61709F3A0000169F2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = SOURCE_ROOT; }; E470B7E81709F3A0000169F2 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; }; @@ -37,8 +44,8 @@ E470B7EE1709F3A0000169F2 /* QSPlugIn.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = QSPlugIn.xcconfig; sourceTree = "<group>"; }; E470B7EF1709F3A0000169F2 /* Quicksilver.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Quicksilver.pch; sourceTree = "<group>"; }; E470B7F01709F3A0000169F2 /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; }; - E470B7F61709F3A0000169F2 /* BBFlatBezelInterface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BBFlatBezelInterface.h; sourceTree = "<group>"; }; - E470B7F71709F3A0000169F2 /* BBFlatBezelInterface.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BBFlatBezelInterface.m; sourceTree = "<group>"; }; + E470B7F61709F3A0000169F2 /* BBLiquidGlassBezelInterface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BBLiquidGlassBezelInterface.h; sourceTree = "<group>"; }; + E470B7F71709F3A0000169F2 /* BBLiquidGlassBezelInterface.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BBLiquidGlassBezelInterface.m; sourceTree = "<group>"; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -58,14 +65,14 @@ children = ( E470B7E11709F3A0000169F2 /* Frameworks */, E470B7E01709F3A0000169F2 /* Products */, - E470B7E41709F3A0000169F2 /* Flat Bezel */, + E470B7E41709F3A0000169F2 /* Liquid Glass Bezel */, ); sourceTree = "<group>"; }; E470B7E01709F3A0000169F2 /* Products */ = { isa = PBXGroup; children = ( - E470B7DF1709F3A0000169F2 /* Flat Bezel.qsplugin */, + E470B7DF1709F3A0000169F2 /* Liquid Glass Bezel.qsplugin */, ); name = Products; sourceTree = "<group>"; @@ -78,22 +85,27 @@ name = Frameworks; sourceTree = "<group>"; }; - E470B7E41709F3A0000169F2 /* Flat Bezel */ = { + E470B7E41709F3A0000169F2 /* Liquid Glass Bezel */ = { isa = PBXGroup; children = ( + B57CEE4A2E6987E700628387 /* BBLiquidGlassBezelPrefs.h */, + B57CEE4B2E69881000628387 /* BBLiquidGlassBezelPrefs.m */, E470B7EA1709F3A0000169F2 /* Configuration */, E470B7E51709F3A0000169F2 /* Supporting Files */, 42447D7B19407DA00077B4B2 /* BBObjectCell.h */, 42447D7C19407DA00077B4B2 /* BBObjectCell.m */, - E470B7F61709F3A0000169F2 /* BBFlatBezelInterface.h */, - E470B7F71709F3A0000169F2 /* BBFlatBezelInterface.m */, - 42663057193CC1FA00C0DD31 /* BBFlatBezelInterface.xib */, + E470B7F61709F3A0000169F2 /* BBLiquidGlassBezelInterface.h */, + E470B7F71709F3A0000169F2 /* BBLiquidGlassBezelInterface.m */, + 42663057193CC1FA00C0DD31 /* BBLiquidGlassBezelInterface.xib */, B576D2F42993FBD400A8B645 /* BackgroundView.swift */, - B59AD27E2997AC2F006DA797 /* FlatBezelSearchObjectView.swift */, - B59AD2802997AE4A006DA797 /* FlatBezelCollectingSearchObjectView.swift */, - B59AD2842997B860006DA797 /* FlatBezelObjectCell.swift */, + B59AD27E2997AC2F006DA797 /* LiquidGlassBezelSearchObjectView.swift */, + B59AD2802997AE4A006DA797 /* LiquidGlassBezelCollectingSearchObjectView.swift */, + B59AD2842997B860006DA797 /* LiquidGlassBezelObjectCell.swift */, + B57CEE4E2E698DE900628387 /* BBLiquidGlassBezelPrefs 2.h */, + B57CEE4F2E698DEC00628387 /* BBLiquidGlassBezelPrefs 2.m */, + B57CEE512E698E7100628387 /* BBLiquidGlassBezelPrefs.xib */, ); - path = "Flat Bezel"; + path = "Liquid Glass Bezel"; sourceTree = "<group>"; }; E470B7E51709F3A0000169F2 /* Supporting Files */ = { @@ -101,7 +113,7 @@ children = ( E470B7E61709F3A0000169F2 /* Info.plist */, E470B7E71709F3A0000169F2 /* InfoPlist.strings */, - B576D2F62993FD7500A8B645 /* FlatBezel-Bridging-Header.h */, + B576D2F62993FD7500A8B645 /* LiquidGlassBezel-Bridging-Header.h */, ); name = "Supporting Files"; sourceTree = "<group>"; @@ -123,9 +135,9 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - E470B7DE1709F3A0000169F2 /* Flat Bezel */ = { + E470B7DE1709F3A0000169F2 /* Liquid Glass Bezel */ = { isa = PBXNativeTarget; - buildConfigurationList = E470B7FB1709F3A0000169F2 /* Build configuration list for PBXNativeTarget "Flat Bezel" */; + buildConfigurationList = E470B7FB1709F3A0000169F2 /* Build configuration list for PBXNativeTarget "Liquid Glass Bezel" */; buildPhases = ( E470B7DA1709F3A0000169F2 /* ShellScript */, E470B7DB1709F3A0000169F2 /* Sources */, @@ -136,9 +148,9 @@ ); dependencies = ( ); - name = "Flat Bezel"; + name = "Liquid Glass Bezel"; productName = SquareBezel; - productReference = E470B7DF1709F3A0000169F2 /* Flat Bezel.qsplugin */; + productReference = E470B7DF1709F3A0000169F2 /* Liquid Glass Bezel.qsplugin */; productType = "com.apple.product-type.bundle"; }; /* End PBXNativeTarget section */ @@ -157,7 +169,7 @@ }; }; }; - buildConfigurationList = E470B7D91709F3A0000169F2 /* Build configuration list for PBXProject "Flat Bezel" */; + buildConfigurationList = E470B7D91709F3A0000169F2 /* Build configuration list for PBXProject "Liquid Glass Bezel" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; @@ -170,7 +182,7 @@ projectDirPath = ""; projectRoot = ""; targets = ( - E470B7DE1709F3A0000169F2 /* Flat Bezel */, + E470B7DE1709F3A0000169F2 /* Liquid Glass Bezel */, ); }; /* End PBXProject section */ @@ -180,7 +192,8 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 42663058193CC1FA00C0DD31 /* BBFlatBezelInterface.xib in Resources */, + 42663058193CC1FA00C0DD31 /* BBLiquidGlassBezelInterface.xib in Resources */, + B57CEE522E698E7100628387 /* BBLiquidGlassBezelPrefs.xib in Resources */, E470B7E91709F3A0000169F2 /* InfoPlist.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -208,12 +221,13 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B59AD2812997AE4A006DA797 /* FlatBezelCollectingSearchObjectView.swift in Sources */, + B59AD2812997AE4A006DA797 /* LiquidGlassBezelCollectingSearchObjectView.swift in Sources */, B576D2F52993FBD400A8B645 /* BackgroundView.swift in Sources */, 42447D7D19407DA00077B4B2 /* BBObjectCell.m in Sources */, - E470B7F81709F3A0000169F2 /* BBFlatBezelInterface.m in Sources */, - B59AD2852997B860006DA797 /* FlatBezelObjectCell.swift in Sources */, - B59AD27F2997AC2F006DA797 /* FlatBezelSearchObjectView.swift in Sources */, + B57CEE502E698DEC00628387 /* BBLiquidGlassBezelPrefs 2.m in Sources */, + E470B7F81709F3A0000169F2 /* BBLiquidGlassBezelInterface.m in Sources */, + B59AD2852997B860006DA797 /* LiquidGlassBezelObjectCell.swift in Sources */, + B59AD27F2997AC2F006DA797 /* LiquidGlassBezelSearchObjectView.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -296,9 +310,9 @@ MACOSX_DEPLOYMENT_TARGET = 26; MARKETING_VERSION = 1.1.0; PRODUCT_BUNDLE_IDENTIFIER = "pizza.unlimited.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "Flat Bezel"; + PRODUCT_NAME = "Liquid Glass Bezel"; PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OBJC_BRIDGING_HEADER = "Flat Bezel/FlatBezel-Bridging-Header.h"; + SWIFT_OBJC_BRIDGING_HEADER = "Liquid Glass Bezel/LiquidGlassBezel-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; }; @@ -321,9 +335,9 @@ MACOSX_DEPLOYMENT_TARGET = 26; MARKETING_VERSION = 1.1.0; PRODUCT_BUNDLE_IDENTIFIER = "pizza.unlimited.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "Flat Bezel"; + PRODUCT_NAME = "Liquid Glass Bezel"; PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OBJC_BRIDGING_HEADER = "Flat Bezel/FlatBezel-Bridging-Header.h"; + SWIFT_OBJC_BRIDGING_HEADER = "Liquid Glass Bezel/LiquidGlasssBezel-Bridging-Header.h"; SWIFT_VERSION = 5.0; }; name = Release; @@ -331,7 +345,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - E470B7D91709F3A0000169F2 /* Build configuration list for PBXProject "Flat Bezel" */ = { + E470B7D91709F3A0000169F2 /* Build configuration list for PBXProject "Liquid Glass Bezel" */ = { isa = XCConfigurationList; buildConfigurations = ( E470B7F91709F3A0000169F2 /* Debug */, @@ -340,7 +354,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E470B7FB1709F3A0000169F2 /* Build configuration list for PBXNativeTarget "Flat Bezel" */ = { + E470B7FB1709F3A0000169F2 /* Build configuration list for PBXNativeTarget "Liquid Glass Bezel" */ = { isa = XCConfigurationList; buildConfigurations = ( E470B7FC1709F3A0000169F2 /* Debug */, diff --git a/Flat Bezel.xcodeproj/xcshareddata/xcschemes/Flat Bezel.xcscheme b/Liquid Glass Bezel.xcodeproj/xcshareddata/xcschemes/Liquid Glass Bezel.xcscheme index 3a26b25..758e9cf 100644 --- a/Flat Bezel.xcodeproj/xcshareddata/xcschemes/Flat Bezel.xcscheme +++ b/Liquid Glass Bezel.xcodeproj/xcshareddata/xcschemes/Liquid Glass Bezel.xcscheme @@ -15,9 +15,9 @@ <BuildableReference BuildableIdentifier = "primary" BlueprintIdentifier = "E470B7DE1709F3A0000169F2" - BuildableName = "Flat Bezel.qsplugin" - BlueprintName = "Flat Bezel" - ReferencedContainer = "container:Flat Bezel.xcodeproj"> + BuildableName = "Liquid Glass Bezel.qsplugin" + BlueprintName = "Liquid Glass Bezel" + ReferencedContainer = "container:Liquid Glass Bezel.xcodeproj"> </BuildableReference> </BuildActionEntry> </BuildActionEntries> @@ -56,9 +56,9 @@ <BuildableReference BuildableIdentifier = "primary" BlueprintIdentifier = "E470B7DE1709F3A0000169F2" - BuildableName = "Flat Bezel.qsplugin" - BlueprintName = "Flat Bezel" - ReferencedContainer = "container:Flat Bezel.xcodeproj"> + BuildableName = "Liquid Glass Bezel.qsplugin" + BlueprintName = "Liquid Glass Bezel" + ReferencedContainer = "container:Liquid Glass Bezel.xcodeproj"> </BuildableReference> </MacroExpansion> </ProfileAction> diff --git a/Flat Bezel/BBFlatBezelInterface.h b/Liquid Glass Bezel/BBLiquidGlassBezelInterface.h index 301542d..d4671fd 100644 --- a/Flat Bezel/BBFlatBezelInterface.h +++ b/Liquid Glass Bezel/BBLiquidGlassBezelInterface.h @@ -1,4 +1,4 @@ -@interface BBFlatBezelInterface : QSResizingInterfaceController { +@interface BBLiquidGlassBezelInterface : QSResizingInterfaceController { NSRect standardRect; } diff --git a/Flat Bezel/BBFlatBezelInterface.m b/Liquid Glass Bezel/BBLiquidGlassBezelInterface.m index 47af67f..335eacd 100644 --- a/Flat Bezel/BBFlatBezelInterface.m +++ b/Liquid Glass Bezel/BBLiquidGlassBezelInterface.m @@ -1,14 +1,14 @@ -#import "BBFlatBezelInterface.h" +#import "BBLiquidGlassBezelInterface.h" -@interface BBFlatBezelInterface () { +@interface BBLiquidGlassBezelInterface () { CGRect initialRect; } @end -@implementation BBFlatBezelInterface +@implementation BBLiquidGlassBezelInterface - (id)init { - return [self initWithWindowNibName:@"BBFlatBezelInterface"]; + return [self initWithWindowNibName:@"BBLiquidGlassBezelInterface"]; } - (void)windowDidLoad { @@ -96,4 +96,8 @@ return 0.01; } +- (IBAction)customize:(id)sender{ + [[NSClassFromString(@"QSPreferencesController") sharedInstance] showPaneWithIdentifier:@"BBLiquidGlassBezelPrefs"]; +} + @end diff --git a/Flat Bezel/BBFlatBezelInterface.xib b/Liquid Glass Bezel/BBLiquidGlassBezelInterface.xib index b6fd59e..db6f979 100644 --- a/Flat Bezel/BBFlatBezelInterface.xib +++ b/Liquid Glass Bezel/BBLiquidGlassBezelInterface.xib @@ -1,12 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES"> +<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="24123.1" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES"> <dependencies> - <deployment identifier="macosx"/> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/> + <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="24123.1"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> </dependencies> <objects> - <customObject id="-2" userLabel="File's Owner" customClass="BBFlatBezelInterface"> + <customObject id="-2" userLabel="File's Owner" customClass="BBLiquidGlassBezelInterface"> <connections> <outlet property="aSelector" destination="69" id="79"/> <outlet property="dSelector" destination="68" id="75"/> @@ -22,13 +21,13 @@ <windowStyleMask key="styleMask" titled="YES" closable="YES" nonactivatingPanel="YES"/> <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/> <rect key="contentRect" x="530" y="653" width="608" height="200"/> - <rect key="screenRect" x="0.0" y="0.0" width="1512" height="944"/> + <rect key="screenRect" x="0.0" y="0.0" width="1512" height="948"/> <value key="minSize" type="size" width="440" height="200"/> - <view key="contentView" id="6" customClass="BackgroundView" customModule="Flat_Bezel" customModuleProvider="target"> + <view key="contentView" id="6" customClass="BackgroundView" customModule="Liquid_Glass_Bezel" customModuleProvider="target"> <rect key="frame" x="0.0" y="0.0" width="608" height="200"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> - <customView translatesAutoresizingMaskIntoConstraints="NO" id="68" customClass="FlatBezelCollectingSearchObjectView" customModule="Flat_Bezel" customModuleProvider="target"> + <customView translatesAutoresizingMaskIntoConstraints="NO" id="68" customClass="LiquidGlassBezelCollectingSearchObjectView" customModule="Liquid_Glass_Bezel" customModuleProvider="target"> <rect key="frame" x="8" y="8" width="184" height="184"/> <constraints> <constraint firstAttribute="height" constant="184" id="SwQ-fC-3aw"/> @@ -38,7 +37,7 @@ <outlet property="nextKeyView" destination="69" id="105"/> </connections> </customView> - <customView translatesAutoresizingMaskIntoConstraints="NO" id="69" customClass="FlatBezelSearchObjectView" customModule="Flat_Bezel" customModuleProvider="target"> + <customView translatesAutoresizingMaskIntoConstraints="NO" id="69" customClass="LiquidGlassBezelSearchObjectView" customModule="Liquid_Glass_Bezel" customModuleProvider="target"> <rect key="frame" x="200" y="8" width="184" height="184"/> <constraints> <constraint firstAttribute="width" constant="184" id="O3w-M3-b05"/> @@ -48,7 +47,7 @@ <outlet property="nextKeyView" destination="70" id="106"/> </connections> </customView> - <customView translatesAutoresizingMaskIntoConstraints="NO" id="70" customClass="FlatBezelCollectingSearchObjectView" customModule="Flat_Bezel" customModuleProvider="target"> + <customView translatesAutoresizingMaskIntoConstraints="NO" id="70" customClass="LiquidGlassBezelCollectingSearchObjectView" customModule="Liquid_Glass_Bezel" customModuleProvider="target"> <rect key="frame" x="392" y="8" width="184" height="184"/> <constraints> <constraint firstAttribute="width" constant="184" id="Jbn-VW-sSJ"/> @@ -66,15 +65,15 @@ </progressIndicator> <button translatesAutoresizingMaskIntoConstraints="NO" id="209" customClass="QSMenuButton"> <rect key="frame" x="584" y="173.5" width="16" height="21"/> - <constraints> - <constraint firstAttribute="height" constant="16" id="cvg-xh-bvD"/> - <constraint firstAttribute="width" constant="16" id="w12-Bf-x2f"/> - </constraints> <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="arrowtriangle.down.square.fill" catalog="system" imagePosition="only" alignment="center" inset="2" id="216"> <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> <font key="font" metaFont="system"/> </buttonCell> <color key="contentTintColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/> + <constraints> + <constraint firstAttribute="height" constant="16" id="cvg-xh-bvD"/> + <constraint firstAttribute="width" constant="16" id="w12-Bf-x2f"/> + </constraints> </button> </subviews> <constraints> diff --git a/Liquid Glass Bezel/BBLiquidGlassBezelPrefs 2.h b/Liquid Glass Bezel/BBLiquidGlassBezelPrefs 2.h new file mode 100644 index 0000000..36c5177 --- /dev/null +++ b/Liquid Glass Bezel/BBLiquidGlassBezelPrefs 2.h @@ -0,0 +1,6 @@ +#import <QSInterface/QSInterface.h> +NS_ASSUME_NONNULL_BEGIN +@interface BBLiquidGlassBezelPrefs : QSPreferencePane { +} +@end +NS_ASSUME_NONNULL_END
\ No newline at end of file diff --git a/Liquid Glass Bezel/BBLiquidGlassBezelPrefs 2.m b/Liquid Glass Bezel/BBLiquidGlassBezelPrefs 2.m new file mode 100644 index 0000000..4e57c7a --- /dev/null +++ b/Liquid Glass Bezel/BBLiquidGlassBezelPrefs 2.m @@ -0,0 +1,10 @@ +// +// BBLiquidGlassBezelPrefs.h +// Liquid Glass Bezel +// +// Created by Ruben Beltran del Rio on 2025-09-04. +// Copyright © 2025 BRNBW. All rights reserved. +// +#import "BBLiquidGlassBezelPrefs.h" +@implementation BBLiquidGlassBezelPrefs +@end
\ No newline at end of file diff --git a/Liquid Glass Bezel/BBLiquidGlassBezelPrefs.h b/Liquid Glass Bezel/BBLiquidGlassBezelPrefs.h new file mode 100644 index 0000000..2ce6bb6 --- /dev/null +++ b/Liquid Glass Bezel/BBLiquidGlassBezelPrefs.h @@ -0,0 +1,10 @@ +#import <QSInterface/QSInterface.h> + +NS_ASSUME_NONNULL_BEGIN + +@interface BBLiquidGlassBezelPrefs : QSPreferencePane { + +} +@end + +NS_ASSUME_NONNULL_END diff --git a/Liquid Glass Bezel/BBLiquidGlassBezelPrefs.m b/Liquid Glass Bezel/BBLiquidGlassBezelPrefs.m new file mode 100644 index 0000000..1deb432 --- /dev/null +++ b/Liquid Glass Bezel/BBLiquidGlassBezelPrefs.m @@ -0,0 +1,13 @@ +// +// BBLiquidGlassBezelPrefs.h +// Liquid Glass Bezel +// +// Created by Ruben Beltran del Rio on 2025-09-04. +// Copyright © 2025 BRNBW. All rights reserved. +// + +#import "BBLiquidGlassBezelPrefs.h" + +@implementation BBLiquidGlassBezelPrefs + +@end diff --git a/Liquid Glass Bezel/BBLiquidGlassBezelPrefs.xib b/Liquid Glass Bezel/BBLiquidGlassBezelPrefs.xib new file mode 100644 index 0000000..41e51fd --- /dev/null +++ b/Liquid Glass Bezel/BBLiquidGlassBezelPrefs.xib @@ -0,0 +1,56 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="24123.1" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct"> + <dependencies> + <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="24123.1"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <objects> + <customObject id="-2" userLabel="File's Owner" customClass="BBLiquidGlassBezelPrefs"> + <connections> + <outlet property="_window" destination="QvC-M9-y7g" id="cN0-9e-T8O"/> + </connections> + </customObject> + <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> + <customObject id="-3" userLabel="Application" customClass="NSObject"/> + <window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" deferred="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="QvC-M9-y7g"> + <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/> + <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/> + <rect key="contentRect" x="196" y="240" width="389" height="273"/> + <rect key="screenRect" x="0.0" y="0.0" width="1512" height="948"/> + <view key="contentView" wantsLayer="YES" id="EiT-Mj-1SZ"> + <rect key="frame" x="0.0" y="0.0" width="389" height="273"/> + <autoresizingMask key="autoresizingMask"/> + <subviews> + <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="m0T-dG-aXE"> + <rect key="frame" x="12" y="237" width="125" height="16"/> + <autoresizingMask key="autoresizingMask"/> + <textFieldCell key="cell" lineBreakMode="clipping" title="Choose Glass Style:" id="bXE-zS-DgD"> + <font key="font" usesAppearanceFont="YES"/> + <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> + <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> + </textFieldCell> + </textField> + <popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5P5-iQ-pZN"> + <rect key="frame" x="144" y="231" width="120" height="25"/> + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> + <popUpButtonCell key="cell" type="push" title="Regular" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="bjs-2K-21R" id="aqc-Gf-EiA"> + <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/> + <font key="font" metaFont="message"/> + <menu key="menu" id="6kp-fp-sI3"> + <items> + <menuItem title="Regular" state="on" id="bjs-2K-21R"/> + <menuItem title="Clear" tag="1" id="iVE-75-QeO"/> + </items> + </menu> + </popUpButtonCell> + <connections> + <binding destination="od0-QH-X0x" name="selectedTag" keyPath="values.QSLiquidGlassBezelGlassStyle" id="8w3-oM-wU3"/> + </connections> + </popUpButton> + </subviews> + </view> + <point key="canvasLocation" x="94.5" y="148.5"/> + </window> + <userDefaultsController representsSharedInstance="YES" id="od0-QH-X0x"/> + </objects> +</document> diff --git a/Flat Bezel/BBObjectCell.h b/Liquid Glass Bezel/BBObjectCell.h index 3fa67c6..3fa67c6 100644 --- a/Flat Bezel/BBObjectCell.h +++ b/Liquid Glass Bezel/BBObjectCell.h diff --git a/Flat Bezel/BBObjectCell.m b/Liquid Glass Bezel/BBObjectCell.m index 7bf1b3c..7bf1b3c 100644 --- a/Flat Bezel/BBObjectCell.m +++ b/Liquid Glass Bezel/BBObjectCell.m diff --git a/Flat Bezel/BackgroundView.swift b/Liquid Glass Bezel/BackgroundView.swift index e5f4c86..e5f4c86 100644 --- a/Flat Bezel/BackgroundView.swift +++ b/Liquid Glass Bezel/BackgroundView.swift diff --git a/Flat Bezel/FlatBezel-Bridging-Header.h b/Liquid Glass Bezel/LiquidGlassBezel-Bridging-Header.h index f216cf4..f216cf4 100644 --- a/Flat Bezel/FlatBezel-Bridging-Header.h +++ b/Liquid Glass Bezel/LiquidGlassBezel-Bridging-Header.h diff --git a/Flat Bezel/FlatBezelCollectingSearchObjectView.swift b/Liquid Glass Bezel/LiquidGlassBezelCollectingSearchObjectView.swift index 26586be..a7c8a90 100644 --- a/Flat Bezel/FlatBezelCollectingSearchObjectView.swift +++ b/Liquid Glass Bezel/LiquidGlassBezelCollectingSearchObjectView.swift @@ -1,4 +1,4 @@ -class FlatBezelCollectingSearchObjectView: QSCollectingSearchObjectView { +class LiquidGlassBezelCollectingSearchObjectView: QSCollectingSearchObjectView { override static var cellClass : AnyClass? { get { return BBObjectCell.self } set { super.cellClass = newValue } diff --git a/Flat Bezel/FlatBezelObjectCell.swift b/Liquid Glass Bezel/LiquidGlassBezelObjectCell.swift index da38a1b..dfffce6 100644 --- a/Flat Bezel/FlatBezelObjectCell.swift +++ b/Liquid Glass Bezel/LiquidGlassBezelObjectCell.swift @@ -1,7 +1,7 @@ /* import Foundation -class FlatBezelObjectCell: QSObjectCell { +class LiquidGlassBezelObjectCell: QSObjectCell { override func preferredImagePosition() -> NSControl.ImagePosition { return .imageAbove } diff --git a/Flat Bezel/FlatBezelSearchObjectView.swift b/Liquid Glass Bezel/LiquidGlassBezelSearchObjectView.swift index 902bede..825b2d3 100644 --- a/Flat Bezel/FlatBezelSearchObjectView.swift +++ b/Liquid Glass Bezel/LiquidGlassBezelSearchObjectView.swift @@ -1,4 +1,4 @@ -class FlatBezelSearchObjectView: QSSearchObjectView { +class LiquidGlassBezelSearchObjectView: QSSearchObjectView { override static var cellClass : AnyClass? { get { return BBObjectCell.self } set { super.cellClass = newValue } diff --git a/Flat Bezel/en.lproj/InfoPlist.strings b/Liquid Glass Bezel/en.lproj/InfoPlist.strings index 477b28f..477b28f 100644 --- a/Flat Bezel/en.lproj/InfoPlist.strings +++ b/Liquid Glass Bezel/en.lproj/InfoPlist.strings @@ -1,10 +1,8 @@ -### Flat Bezel qsplugin +### Liquid Glass Bezel qsplugin **To-do: Add Screenshot** -Pre-alpha development. - -A new take on the Bezel Interface, using a flatter look. +The classic Bezel Quicksilver interface, but now in liquid glass. ## Building diff --git a/scripts/build.sh b/scripts/build.sh index 1ae8203..37d4ab9 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -18,16 +18,16 @@ xcodebuild \ -quiet \ -destination generic/platform=macos \ -configuration "${configuration}" \ - -scheme 'Flat Bezel' \ + -scheme 'Liquid Glass Bezel' \ build echo "Build complete, signing." > /dev/stderr output_path="/tmp/QS/build/Release/Quicksilver.app/Contents/PlugIns/" -plugin_name="Flat Bezel.qsplugin" +plugin_name="Liquid Glass Bezel.qsplugin" codesign --force -vvv --deep --sign ${SIGNING_IDENTITY} "${output_path}${plugin_name}" echo "Signing complete, archiving." > /dev/stderr -archive_name="Flat_Bezel.qsplugin.tar.gz" +archive_name="Liquid_Glass_Bezel.qsplugin.tar.gz" pushd "${output_path}" tar -czvf "${archive_name}" "${plugin_name}" popd |