├── .github ├── ISSUE_TEMPLATE │ └── bug_report.md └── workflows │ └── release.yml ├── .gitignore ├── CONTRIBUTING.md ├── Hidden Bar.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── swiftpm │ │ └── Package.resolved └── xcshareddata │ └── xcschemes │ └── Hidden Bar.xcscheme ├── HiddenBar ├── Adaptors │ ├── GlobalKeybindingPreferences.swift │ └── SelectedSecond.swift ├── AppDelegate.swift ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── icon_128@1x.png │ │ ├── icon_128@2x.png │ │ ├── icon_16@1x.png │ │ ├── icon_16@2x.png │ │ ├── icon_256@1x.png │ │ ├── icon_256@2x.png │ │ ├── icon_32@1x.png │ │ ├── icon_32@2x.png │ │ ├── icon_512@1x.png │ │ └── icon_512@2x.png │ ├── AppIconV2.appiconset │ │ ├── Contents.json │ │ ├── icon_128x128.png │ │ ├── icon_128x128@2x.png │ │ ├── icon_16x16.png │ │ ├── icon_16x16@2x.png │ │ ├── icon_256x256.png │ │ ├── icon_256x256@2x.png │ │ ├── icon_32x32.png │ │ ├── icon_32x32@2x.png │ │ ├── icon_512x512.png │ │ └── icon_512x512@2x.png │ ├── Contents.json │ ├── arrow.imageset │ │ ├── Contents.json │ │ └── arrow.pdf │ ├── banner.imageset │ │ ├── Contents.json │ │ └── banner.pdf │ ├── banner_alway_hide.imageset │ │ ├── Contents.json │ │ └── banner_alway_hide.pdf │ ├── ic_collapse.imageset │ │ ├── Contents.json │ │ └── ic_collapse.png │ ├── ic_dot.imageset │ │ ├── Contents.json │ │ └── baseline_lens_white_18dp.png │ ├── ic_expand.imageset │ │ ├── Contents.json │ │ └── ic_expand.png │ ├── ic_line.imageset │ │ ├── Contents.json │ │ └── ic_line.png │ ├── ic_logo.imageset │ │ ├── Contents.json │ │ └── ic_logo.png │ ├── ico_1.imageset │ │ ├── Contents.json │ │ └── ico_1.pdf │ ├── ico_2.imageset │ │ ├── Contents.json │ │ └── ico_2.pdf │ ├── ico_3.imageset │ │ ├── Contents.json │ │ └── ico_3.pdf │ ├── ico_4.imageset │ │ ├── Contents.json │ │ └── ico_4.pdf │ ├── ico_5.imageset │ │ ├── Contents.json │ │ └── ico_5.pdf │ ├── ico_6.imageset │ │ ├── Contents.json │ │ └── ico_6.pdf │ ├── ico_7.imageset │ │ ├── Contents.json │ │ └── ico_7.pdf │ ├── ico_collapse.imageset │ │ ├── Contents.json │ │ └── ico_collapse.pdf │ ├── ico_compass.imageset │ │ ├── Contents.json │ │ └── ico_compass.pdf │ ├── ico_email.imageset │ │ ├── Contents.json │ │ └── ico_email.pdf │ ├── ico_fb.imageset │ │ ├── Contents.json │ │ └── ico_fb.pdf │ ├── ico_github.imageset │ │ ├── Contents.json │ │ └── ico_github.pdf │ ├── ico_twitter.imageset │ │ ├── Contents.json │ │ └── ico_twitter.pdf │ ├── seprated.imageset │ │ ├── Contents.json │ │ └── seprated.pdf │ └── seprated_1.imageset │ │ ├── Contents.json │ │ └── seprated_1.pdf ├── Base.lproj │ └── Main.storyboard ├── Common │ ├── ProductGlobal.swift │ └── Util.swift ├── Controllers │ ├── AppActivationManager.swift │ ├── AssetManager.swift │ ├── ContextMenuManager.swift │ ├── HotKeyManager.swift │ ├── PreferenceManager.swift │ └── StatusBarManager.swift ├── Extensions │ ├── Bundle+Extension.swift │ ├── Date+Extension.swift │ ├── HyperlinkTextField.swift │ ├── NSBarButtonItem+Extension.swift │ ├── NSImage+Extension.swift │ ├── NSView+Extension.swift │ ├── NSWindow+Extension.swift │ ├── Notification.Name+Extension.swift │ ├── StackView+Extension.swift │ └── String+Extension.swift ├── Hidden.entitlements ├── Info.plist ├── Main.swift ├── MetaAssets │ └── HiddenBar.sketch ├── ProjectGlobal.swift ├── UserInterfaces │ ├── AboutViewController.swift │ ├── PreferencesViewController.swift │ └── PreferencesWindowController.swift ├── ar.lproj │ ├── Localizable.strings │ └── Main.strings ├── de.lproj │ ├── Localizable.strings │ └── Main.strings ├── en.lproj │ ├── InfoPlist.strings │ ├── Localizable.strings │ └── Main.strings ├── fr.lproj │ ├── Localizable.strings │ └── Main.strings ├── hr.lproj │ ├── Localizable.strings │ └── Main.strings ├── ja.lproj │ ├── InfoPlist.strings │ ├── Localizable.strings │ └── Main.strings ├── vi.lproj │ ├── Localizable.strings │ └── Main.strings ├── zh-Hans.lproj │ ├── InfoPlist.strings │ ├── Localizable.strings │ └── Main.strings └── zh-Hant.lproj │ ├── InfoPlist.strings │ ├── Localizable.strings │ └── Main.strings ├── LICENSE ├── PRIVACY_POLICY.md ├── README.md └── img ├── appstore.svg ├── icon_512@2x.png ├── screen1.png ├── screen2.png └── tutorial.gif /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: "[BUG]" 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | > A clear and concise description of what the bug is. 12 | 13 | [The app breaks when...] 14 | 15 | **Steps to Reproduce** 16 | > Steps to reproduce the behavior. 17 | 18 | 1. [Go to '...'] 19 | 2. ... 20 | 3. [See error] 21 | 22 | 23 | **Expected behavior** 24 | > A clear and concise description of what you expected to happen. 25 | 26 | [The expected behavior is...] 27 | 28 | **Environments:** 29 | > A clear and concise description of what the environment the bug is in. 30 | 31 | - OS: [e.g. macOS 10.15] 32 | - App Version: [e.g. v2.0.0] 33 | 34 | 35 | **Additional materials** 36 | > Add any other context about the problem here. If applicable, add screenshots to help explain your problem. 37 | 38 | [A screenshot describing this bug...] 39 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Build and Release macOS App 2 | on: 3 | workflow_dispatch: 4 | 5 | push: 6 | tags: 7 | - 'release' 8 | 9 | jobs: 10 | build_and_release: 11 | permissions: 12 | contents: write 13 | runs-on: macos-14 # macOS-latest is still macos-12 14 | steps: 15 | - name: Checkout code 16 | uses: actions/checkout@v2 17 | 18 | - uses: maxim-lobanov/setup-xcode@v1 19 | with: 20 | xcode-version: latest 21 | 22 | - name: Build macOS App 23 | run: | 24 | xcodebuild \ 25 | -project "Hidden Bar.xcodeproj" \ 26 | -scheme "Hidden Bar" \ 27 | -configuration Release \ 28 | -archivePath "${{ github.workspace }}/build/Hidden Bar.xcarchive" \ 29 | clean archive \ 30 | CODE_SIGN_IDENTITY="" \ 31 | CODE_SIGNING_REQUIRED=NO \ 32 | CODE_SIGN_ENTITLEMENTS="" 33 | 34 | - name: Extract Unsigned App from Archive 35 | run: | 36 | cd "${{ github.workspace }}/build/Hidden Bar.xcarchive/Products/Applications/" && zip -r "${{ github.workspace }}/Hidden Bar.app.zip" "Hidden Bar.app" 37 | ls -ale "${{ github.workspace }}/Hidden Bar.app.zip" 38 | #- name: Package App 39 | # run: | 40 | # xcodebuild \ 41 | # -exportArchive \ 42 | # -archivePath "$HOME/build/Hidden Bar.xcarchive" \ 43 | # -exportOptionsPlist exportOptions.plist \ # Replace with the path to your Export Options plist 44 | # -exportPath $HOME/build 45 | 46 | - name: Create Release 47 | id: create_release 48 | uses: actions/create-release@v1 49 | env: 50 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 51 | with: 52 | tag_name: ${{ github.ref_name }} 53 | release_name: ${{ github.event.head_commit.title }} 54 | body: | 55 | ${{ github.event.head_commit.message }} 56 | draft: true 57 | prerelease: false 58 | 59 | - name: Upload Release Asset 60 | uses: actions/upload-release-asset@v1 61 | env: 62 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 63 | with: 64 | upload_url: ${{ steps.create_release.outputs.upload_url }} 65 | asset_path: "${{ github.workspace }}/Hidden Bar.app.zip" # Replace with the path to your built app 66 | asset_name: "Hidden Bar.app.zip" # Replace with the desired name for the uploaded asset 67 | asset_content_type: application/octet-stream 68 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.gitignore.io/api/macos,swift 3 | # Edit at https://www.gitignore.io/?templates=macos,swift 4 | 5 | ### macOS ### 6 | # General 7 | .DS_Store 8 | .AppleDouble 9 | .LSOverride 10 | 11 | # Icon must end with two \r 12 | Icon 13 | 14 | # Thumbnails 15 | ._* 16 | 17 | # Files that might appear in the root of a volume 18 | .DocumentRevisions-V100 19 | .fseventsd 20 | .Spotlight-V100 21 | .TemporaryItems 22 | .Trashes 23 | .VolumeIcon.icns 24 | .com.apple.timemachine.donotpresent 25 | 26 | # Directories potentially created on remote AFP share 27 | .AppleDB 28 | .AppleDesktop 29 | Network Trash Folder 30 | Temporary Items 31 | .apdisk 32 | 33 | ### Swift ### 34 | # Xcode 35 | # 36 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 37 | 38 | ## Build generated 39 | build/ 40 | DerivedData/ 41 | 42 | ## Various settings 43 | *.pbxuser 44 | !default.pbxuser 45 | *.mode1v3 46 | !default.mode1v3 47 | *.mode2v3 48 | !default.mode2v3 49 | *.perspectivev3 50 | !default.perspectivev3 51 | xcuserdata/ 52 | 53 | ## Other 54 | *.moved-aside 55 | *.xccheckout 56 | *.xcscmblueprint 57 | 58 | ## Obj-C/Swift specific 59 | *.hmap 60 | *.ipa 61 | *.dSYM.zip 62 | *.dSYM 63 | 64 | ## Playgrounds 65 | timeline.xctimeline 66 | playground.xcworkspace 67 | 68 | # Swift Package Manager 69 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. 70 | # Packages/ 71 | # Package.pins 72 | # Package.resolved 73 | .build/ 74 | 75 | # CocoaPods 76 | # We recommend against adding the Pods directory to your .gitignore. However 77 | # you should judge for yourself, the pros and cons are mentioned at: 78 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 79 | # Pods/ 80 | # Add this line if you want to avoid checking in source code from the Xcode workspace 81 | # *.xcworkspace 82 | 83 | # Carthage 84 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 85 | # Carthage/Checkouts 86 | 87 | Carthage/Build 88 | 89 | # fastlane 90 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 91 | # screenshots whenever they are needed. 92 | # For more information about the recommended setup visit: 93 | # https://docs.fastlane.tools/best-practices/source-control/#source-control 94 | 95 | fastlane/report.xml 96 | fastlane/Preview.html 97 | fastlane/screenshots/**/*.png 98 | fastlane/test_output 99 | 100 | # Code Injection 101 | # After new code Injection tools there's a generated folder /iOSInjectionProject 102 | # https://github.com/johnno1962/injectionforxcode 103 | 104 | iOSInjectionProject/ 105 | 106 | ## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) 107 | *.xcscmblueprint 108 | *.xccheckout 109 | 110 | ## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) 111 | build/ 112 | DerivedData/ 113 | *.moved-aside 114 | *.pbxuser 115 | !default.pbxuser 116 | *.mode1v3 117 | !default.mode1v3 118 | *.mode2v3 119 | !default.mode2v3 120 | *.perspectivev3 121 | !default.perspectivev3 122 | 123 | ### Xcode Patch ### 124 | /*.gcno 125 | **/xcshareddata/WorkspaceSettings.xcsettings 126 | 127 | # End of https://www.gitignore.io/api/macos,swift 128 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | When contributing to this repository, please first discuss the change you wish to make via issue, 4 | email, or any other method with the owners of this repository before making a change. 5 | 6 | Please note we have a code of conduct, please follow it in all your interactions with the project. 7 | 8 | ## Pull Request Process 9 | 10 | 1. Ensure any install or build dependencies are removed before the end of the layer when doing a 11 | build. 12 | 2. Please fully test whether the existing features are affected by your modifications. 13 | 3. Follow the git-flow workflow. You can see more about git-flow [here](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) 14 | 15 | ### Branch name convention 16 | 17 | The branch name meaning should be clear and follow these conventions: 18 | - Feature branch should be `feature/add-something` 19 | - Bugfix branch should be `bugfix/fix-something` 20 | 21 | ## Code of Conduct 22 | 23 | ### Our Pledge 24 | 25 | We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. 26 | 27 | We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. 28 | 29 | ### Our Standards 30 | 31 | Examples of behavior that contributes to a positive environment for our community include: 32 | 33 | * Demonstrating empathy and kindness toward other people 34 | * Being respectful of differing opinions, viewpoints, and experiences 35 | * Giving and gracefully accepting constructive feedback 36 | * Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience 37 | * Focusing on what is best not just for us as individuals, but for the overall community 38 | 39 | Examples of unacceptable behavior include: 40 | 41 | * The use of sexualized language or imagery, and sexual attention or 42 | advances of any kind 43 | * Trolling, insulting or derogatory comments, and personal or political attacks 44 | * Public or private harassment 45 | * Publishing others' private information, such as a physical or email 46 | address, without their explicit permission 47 | * Other conduct which could reasonably be considered inappropriate in a 48 | professional setting 49 | 50 | ### Enforcement Responsibilities 51 | 52 | Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful. 53 | 54 | Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate. 55 | 56 | ### Scope 57 | 58 | This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. 59 | 60 | ### Enforcement 61 | 62 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at [INSERT CONTACT METHOD]. All complaints will be reviewed and investigated promptly and fairly. 63 | 64 | All community leaders are obligated to respect the privacy and security of the reporter of any incident. 65 | 66 | ### Enforcement Guidelines 67 | 68 | Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct: 69 | 70 | #### 1. Correction 71 | 72 | **Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community. 73 | 74 | **Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested. 75 | 76 | #### 2. Warning 77 | 78 | **Community Impact**: A violation through a single incident or series of actions. 79 | 80 | **Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban. 81 | 82 | #### 3. Temporary Ban 83 | 84 | **Community Impact**: A serious violation of community standards, including sustained inappropriate behavior. 85 | 86 | **Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban. 87 | 88 | #### 4. Permanent Ban 89 | 90 | **Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals. 91 | 92 | **Consequence**: A permanent ban from any sort of public interaction within the project community. 93 | 94 | ### Attribution 95 | 96 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0, 97 | available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. 98 | 99 | Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity). 100 | 101 | [homepage]: https://www.contributor-covenant.org 102 | 103 | For answers to common questions about this code of conduct, see the FAQ at 104 | https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations. -------------------------------------------------------------------------------- /Hidden Bar.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Hidden Bar.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Hidden Bar.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved: -------------------------------------------------------------------------------- 1 | { 2 | "originHash" : "d5995384c2d7fe001a4f6d148aaff6b22593786b9234d2ef89e41962c9fc3208", 3 | "pins" : [ 4 | { 5 | "identity" : "hotkey", 6 | "kind" : "remoteSourceControl", 7 | "location" : "https://github.com/soffes/HotKey", 8 | "state" : { 9 | "branch" : "main", 10 | "revision" : "4d02d80de143d69b7eeb5962729591a157a57ede" 11 | } 12 | }, 13 | { 14 | "identity" : "launchatlogin", 15 | "kind" : "remoteSourceControl", 16 | "location" : "https://github.com/sindresorhus/LaunchAtLogin", 17 | "state" : { 18 | "branch" : "main", 19 | "revision" : "22923d335429bfd38c52435505b06a10bcc520fd" 20 | } 21 | } 22 | ], 23 | "version" : 3 24 | } 25 | -------------------------------------------------------------------------------- /Hidden Bar.xcodeproj/xcshareddata/xcschemes/Hidden Bar.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 45 | 51 | 52 | 53 | 54 | 60 | 62 | 68 | 69 | 70 | 71 | 73 | 74 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /HiddenBar/Adaptors/GlobalKeybindingPreferences.swift: -------------------------------------------------------------------------------- 1 | // 2 | // GlobalKeybindingPreferences.swift 3 | // Hidden Bar 4 | // 5 | // Created by phucld on 12/18/19. 6 | // Copyright © 2019 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | struct GlobalKeybindPreferences: Codable, CustomStringConvertible { 12 | let function : Bool 13 | let control : Bool 14 | let command : Bool 15 | let shift : Bool 16 | let option : Bool 17 | let capsLock : Bool 18 | let carbonFlags : UInt32 19 | let characters : String? 20 | let keyCode : UInt32 21 | 22 | var description: String { 23 | print(keyCode) 24 | var stringBuilder = "" 25 | if self.function { 26 | stringBuilder += "Fn" 27 | } 28 | if self.control { 29 | stringBuilder += "⌃" 30 | } 31 | if self.option { 32 | stringBuilder += "⌥" 33 | } 34 | if self.command { 35 | stringBuilder += "⌘" 36 | } 37 | if self.shift { 38 | stringBuilder += "⇧" 39 | } 40 | if self.capsLock { 41 | stringBuilder += "⇪" 42 | } 43 | if keyCode == 36 { // return 44 | stringBuilder += "⏎" 45 | return stringBuilder 46 | } 47 | 48 | if keyCode == 51 { // delete 49 | stringBuilder += "⌫" 50 | return stringBuilder 51 | } 52 | 53 | if keyCode == 49 { // spacer 54 | stringBuilder += "⎵" 55 | return stringBuilder 56 | } 57 | 58 | if let characters = self.characters { 59 | stringBuilder += characters.uppercased() 60 | } 61 | 62 | return "\(stringBuilder)" 63 | } 64 | } 65 | 66 | extension GlobalKeybindPreferences { 67 | func save() { 68 | 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /HiddenBar/Adaptors/SelectedSecond.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SelectedSecond.swift 3 | // Hidden Bar 4 | // 5 | // Created by phucld on 12/18/19. 6 | // Copyright © 2019 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | enum SelectedSecond: Int { 12 | case fiveSeconds = 0 13 | case tenSeconds = 1 14 | case fifteenSeconds = 2 15 | case thirdtySeconds = 3 16 | case oneMinus = 4 17 | 18 | func toSeconds() -> Double { 19 | switch self { 20 | case .fiveSeconds: 21 | return 5.0 22 | case .tenSeconds: 23 | return 10.0 24 | case .fifteenSeconds: 25 | return 15.0 26 | case .thirdtySeconds: 27 | return 30.0 28 | case .oneMinus: 29 | return 60.0 30 | } 31 | } 32 | 33 | static func secondToPossition(seconds: Double) -> Int { 34 | switch seconds { 35 | case 10.0: 36 | return 1 37 | case 15.0: 38 | return 2 39 | case 30.0: 40 | return 3 41 | case 60.0: 42 | return 4 43 | default: 44 | return 0 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /HiddenBar/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // vanillaClone 4 | // 5 | // Created by Thanh Nguyen on 1/24/19. 6 | // Copyright © 2019 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import AppKit 10 | import HotKey 11 | 12 | class AppDelegate: NSObject, NSApplicationDelegate{ 13 | 14 | func applicationDidFinishLaunching(_ aNotification: Notification) { 15 | ContextMenuManager.setup() 16 | StatusBarManager.setup() 17 | HotKeyManager.setup() 18 | AppActivationManager.setup() 19 | NSLog("App launched.") 20 | } 21 | 22 | func applicationShouldHandleReopen(_ sender: NSApplication, hasVisibleWindows flag: Bool) -> Bool { 23 | PreferencesWindowController.showPrefWindow() 24 | NSLog("App Reopened.") 25 | return true 26 | } 27 | 28 | func applicationWillTerminate(_ notification: Notification) { 29 | NSLog("App shutting down.") 30 | AppActivationManager.finishUp() 31 | HotKeyManager.finishUp() 32 | StatusBarManager.finishUp() 33 | ContextMenuManager.finishUp() 34 | } 35 | 36 | } 37 | 38 | 39 | -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "icon_16@1x.png", 5 | "idiom" : "mac", 6 | "scale" : "1x", 7 | "size" : "16x16" 8 | }, 9 | { 10 | "filename" : "icon_16@2x.png", 11 | "idiom" : "mac", 12 | "scale" : "2x", 13 | "size" : "16x16" 14 | }, 15 | { 16 | "filename" : "icon_32@1x.png", 17 | "idiom" : "mac", 18 | "scale" : "1x", 19 | "size" : "32x32" 20 | }, 21 | { 22 | "filename" : "icon_32@2x.png", 23 | "idiom" : "mac", 24 | "scale" : "2x", 25 | "size" : "32x32" 26 | }, 27 | { 28 | "filename" : "icon_128@1x.png", 29 | "idiom" : "mac", 30 | "scale" : "1x", 31 | "size" : "128x128" 32 | }, 33 | { 34 | "filename" : "icon_128@2x.png", 35 | "idiom" : "mac", 36 | "scale" : "2x", 37 | "size" : "128x128" 38 | }, 39 | { 40 | "filename" : "icon_256@1x.png", 41 | "idiom" : "mac", 42 | "scale" : "1x", 43 | "size" : "256x256" 44 | }, 45 | { 46 | "filename" : "icon_256@2x.png", 47 | "idiom" : "mac", 48 | "scale" : "2x", 49 | "size" : "256x256" 50 | }, 51 | { 52 | "filename" : "icon_512@1x.png", 53 | "idiom" : "mac", 54 | "scale" : "1x", 55 | "size" : "512x512" 56 | }, 57 | { 58 | "filename" : "icon_512@2x.png", 59 | "idiom" : "mac", 60 | "scale" : "2x", 61 | "size" : "512x512" 62 | } 63 | ], 64 | "info" : { 65 | "author" : "xcode", 66 | "version" : 1 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_128@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_128@1x.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_128@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_128@2x.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_16@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_16@1x.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_16@2x.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_256@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_256@1x.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_256@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_256@2x.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_32@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_32@1x.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_32@2x.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_512@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_512@1x.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_512@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIcon.appiconset/icon_512@2x.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIconV2.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "icon_16x16.png", 5 | "idiom" : "mac", 6 | "scale" : "1x", 7 | "size" : "16x16" 8 | }, 9 | { 10 | "filename" : "icon_16x16@2x.png", 11 | "idiom" : "mac", 12 | "scale" : "2x", 13 | "size" : "16x16" 14 | }, 15 | { 16 | "filename" : "icon_32x32.png", 17 | "idiom" : "mac", 18 | "scale" : "1x", 19 | "size" : "32x32" 20 | }, 21 | { 22 | "filename" : "icon_32x32@2x.png", 23 | "idiom" : "mac", 24 | "scale" : "2x", 25 | "size" : "32x32" 26 | }, 27 | { 28 | "filename" : "icon_128x128.png", 29 | "idiom" : "mac", 30 | "scale" : "1x", 31 | "size" : "128x128" 32 | }, 33 | { 34 | "filename" : "icon_128x128@2x.png", 35 | "idiom" : "mac", 36 | "scale" : "2x", 37 | "size" : "128x128" 38 | }, 39 | { 40 | "filename" : "icon_256x256.png", 41 | "idiom" : "mac", 42 | "scale" : "1x", 43 | "size" : "256x256" 44 | }, 45 | { 46 | "filename" : "icon_256x256@2x.png", 47 | "idiom" : "mac", 48 | "scale" : "2x", 49 | "size" : "256x256" 50 | }, 51 | { 52 | "filename" : "icon_512x512.png", 53 | "idiom" : "mac", 54 | "scale" : "1x", 55 | "size" : "512x512" 56 | }, 57 | { 58 | "filename" : "icon_512x512@2x.png", 59 | "idiom" : "mac", 60 | "scale" : "2x", 61 | "size" : "512x512" 62 | } 63 | ], 64 | "info" : { 65 | "author" : "xcode", 66 | "version" : 1 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_128x128.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_128x128@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_128x128@2x.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_16x16.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_16x16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_16x16@2x.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_256x256.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_256x256@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_256x256@2x.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_32x32.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_32x32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_32x32@2x.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_512x512.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_512x512@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/AppIconV2.appiconset/icon_512x512@2x.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/arrow.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "arrow.pdf", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/arrow.imageset/arrow.pdf: -------------------------------------------------------------------------------- 1 | %PDF-1.7 2 | 3 | 1 0 obj 4 | << /ExtGState << /E1 << /ca 0.450000 >> >> >> 5 | endobj 6 | 7 | 2 0 obj 8 | << /Length 3 0 R >> 9 | stream 10 | /DeviceRGB CS 11 | /DeviceRGB cs 12 | q 13 | /E1 gs 14 | 1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm 15 | 0.000000 0.000000 0.000000 scn 16 | 5.014648 69.914551 m 17 | 5.224121 70.136719 5.446289 70.231934 5.719238 70.231934 c 18 | 5.985839 70.231934 6.214355 70.136719 6.423828 69.914551 c 19 | 11.184570 65.045898 l 20 | 11.355957 64.880859 11.438477 64.671387 11.438477 64.430176 c 21 | 11.438477 63.941406 11.044922 63.541504 10.556152 63.541504 c 22 | 10.308594 63.541504 10.086426 63.643066 9.915039 63.820801 c 23 | 6.802218 67.018265 l 24 | 6.802243 1.000000 l 25 | 6.802243 0.447716 6.354528 0.000000 5.802243 0.000000 c 26 | 5.249958 0.000000 4.802243 0.447716 4.802243 1.000000 c 27 | 4.802217 67.198936 l 28 | 1.523438 63.820801 l 29 | 1.345703 63.643066 1.123535 63.541504 0.882324 63.541504 c 30 | 0.393555 63.541504 0.000000 63.941406 0.000000 64.430176 c 31 | 0.000000 64.677734 0.082519 64.880859 0.253906 65.045898 c 32 | 5.014648 69.914551 l 33 | h 34 | f* 35 | n 36 | Q 37 | 38 | endstream 39 | endobj 40 | 41 | 3 0 obj 42 | 874 43 | endobj 44 | 45 | 4 0 obj 46 | << /Annots [] 47 | /Type /Page 48 | /MediaBox [ 0.000000 0.000000 11.438477 70.231934 ] 49 | /Resources 1 0 R 50 | /Contents 2 0 R 51 | /Parent 5 0 R 52 | >> 53 | endobj 54 | 55 | 5 0 obj 56 | << /Kids [ 4 0 R ] 57 | /Count 1 58 | /Type /Pages 59 | >> 60 | endobj 61 | 62 | 6 0 obj 63 | << /Type /Catalog 64 | /Pages 5 0 R 65 | >> 66 | endobj 67 | 68 | xref 69 | 0 7 70 | 0000000000 65535 f 71 | 0000000010 00000 n 72 | 0000000074 00000 n 73 | 0000001004 00000 n 74 | 0000001026 00000 n 75 | 0000001199 00000 n 76 | 0000001273 00000 n 77 | trailer 78 | << /ID [ (some) (id) ] 79 | /Root 6 0 R 80 | /Size 7 81 | >> 82 | startxref 83 | 1332 84 | %%EOF -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/banner.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "banner.pdf", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/banner_alway_hide.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "banner_alway_hide.pdf", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ic_collapse.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "ic_collapse.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | }, 21 | "properties" : { 22 | "template-rendering-intent" : "template" 23 | } 24 | } -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ic_collapse.imageset/ic_collapse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/ic_collapse.imageset/ic_collapse.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ic_dot.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "baseline_lens_white_18dp.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | }, 21 | "properties" : { 22 | "template-rendering-intent" : "template" 23 | } 24 | } -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ic_dot.imageset/baseline_lens_white_18dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/ic_dot.imageset/baseline_lens_white_18dp.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ic_expand.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "ic_expand.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | }, 21 | "properties" : { 22 | "template-rendering-intent" : "template" 23 | } 24 | } -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ic_expand.imageset/ic_expand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/ic_expand.imageset/ic_expand.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ic_line.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "ic_line.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | }, 21 | "properties" : { 22 | "template-rendering-intent" : "template" 23 | } 24 | } -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ic_line.imageset/ic_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/ic_line.imageset/ic_line.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ic_logo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_logo.png" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "original", 14 | "localizable" : true 15 | } 16 | } -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ic_logo.imageset/ic_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/ic_logo.imageset/ic_logo.png -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ico_1.pdf", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_1.imageset/ico_1.pdf: -------------------------------------------------------------------------------- 1 | %PDF-1.7 2 | 3 | 1 0 obj 4 | << /Length 2 0 R >> 5 | stream 6 | 0.884766 0 0.087402 -0.158203 0.797363 1.109375 d1 7 | 8 | endstream 9 | endobj 10 | 11 | 2 0 obj 12 | 51 13 | endobj 14 | 15 | 3 0 obj 16 | [ 0.884766 ] 17 | endobj 18 | 19 | 4 0 obj 20 | << /Length 5 0 R >> 21 | stream 22 | /CIDInit /ProcSet findresource begin 23 | 12 dict begin 24 | begincmap 25 | /CIDSystemInfo 26 | << /Registry (FigmaPDF) 27 | /Ordering (FigmaPDF) 28 | /Supplement 0 29 | >> def 30 | /CMapName /A-B-C def 31 | /CMapType 2 def 32 | 1 begincodespacerange 33 | <00> 34 | endcodespacerange 35 | 1 beginbfchar 36 | <00> 37 | endbfchar 38 | endcmap 39 | CMapName currentdict /CMap defineresource pop 40 | end 41 | end 42 | endstream 43 | endobj 44 | 45 | 5 0 obj 46 | 336 47 | endobj 48 | 49 | 6 0 obj 50 | << /Subtype /Type3 51 | /CharProcs << /C0 1 0 R >> 52 | /Encoding << /Type /Encoding 53 | /Differences [ 0 /C0 ] 54 | >> 55 | /Widths 3 0 R 56 | /FontBBox [ 0.000000 0.000000 0.000000 0.000000 ] 57 | /FontMatrix [ 1.000000 0.000000 0.000000 1.000000 0.000000 0.000000 ] 58 | /Type /Font 59 | /ToUnicode 4 0 R 60 | /FirstChar 0 61 | /LastChar 0 62 | /Resources << >> 63 | >> 64 | endobj 65 | 66 | 7 0 obj 67 | << /Font << /F1 6 0 R >> 68 | /ExtGState << /E1 << /ca 0.850000 >> >> 69 | >> 70 | endobj 71 | 72 | 8 0 obj 73 | << /Length 9 0 R >> 74 | stream 75 | /DeviceRGB CS 76 | /DeviceRGB cs 77 | q 78 | /E1 gs 79 | 1.000000 0.000000 -0.000000 1.000000 -1.634277 1.770996 cm 80 | 0.000000 0.000000 0.000000 scn 81 | 0.498047 0.285645 m 82 | h 83 | 6.249023 -1.770996 m 84 | 8.813477 -1.770996 10.863770 0.234863 10.863770 2.742188 c 85 | 10.863770 4.125977 10.178223 5.478027 9.600586 6.557129 c 86 | 7.290039 10.867188 l 87 | 7.055176 11.298828 6.699707 11.514648 6.249023 11.514648 c 88 | 5.791992 11.514648 5.436523 11.292480 5.201660 10.867188 c 89 | 2.897461 6.557129 l 90 | 2.319824 5.478027 1.634277 4.125977 1.634277 2.742188 c 91 | 1.634277 0.234863 3.684570 -1.770996 6.249023 -1.770996 c 92 | h 93 | 6.249023 -0.298340 m 94 | 4.497070 -0.298340 3.100586 1.047363 3.100586 2.742188 c 95 | 3.100586 3.789551 3.633789 4.786133 4.211426 5.865234 c 96 | 6.185547 9.553223 l 97 | 6.217285 9.616699 6.287109 9.616699 6.318848 9.553223 c 98 | 8.292969 5.865234 l 99 | 8.864258 4.786133 9.397461 3.789551 9.397461 2.742188 c 100 | 9.397461 1.047363 8.000977 -0.298340 6.249023 -0.298340 c 101 | h 102 | f 103 | n 104 | Q 105 | q 106 | 1.000000 0.000000 -0.000000 1.000000 -1.634277 1.770996 cm 107 | BT 108 | 13.000000 0.000000 0.000000 13.000000 0.498047 0.285645 Tm 109 | /F1 1.000000 Tf 110 | [ (\000) ] TJ 111 | ET 112 | Q 113 | 114 | endstream 115 | endobj 116 | 117 | 9 0 obj 118 | 1072 119 | endobj 120 | 121 | 10 0 obj 122 | << /Annots [] 123 | /Type /Page 124 | /MediaBox [ 0.000000 0.000000 9.229492 13.285645 ] 125 | /Resources 7 0 R 126 | /Contents 8 0 R 127 | /Parent 11 0 R 128 | >> 129 | endobj 130 | 131 | 11 0 obj 132 | << /Kids [ 10 0 R ] 133 | /Count 1 134 | /Type /Pages 135 | >> 136 | endobj 137 | 138 | 12 0 obj 139 | << /Type /Catalog 140 | /Pages 11 0 R 141 | >> 142 | endobj 143 | 144 | xref 145 | 0 13 146 | 0000000000 65535 f 147 | 0000000010 00000 n 148 | 0000000117 00000 n 149 | 0000000138 00000 n 150 | 0000000169 00000 n 151 | 0000000561 00000 n 152 | 0000000583 00000 n 153 | 0000000995 00000 n 154 | 0000001088 00000 n 155 | 0000002216 00000 n 156 | 0000002239 00000 n 157 | 0000002413 00000 n 158 | 0000002489 00000 n 159 | trailer 160 | << /ID [ (some) (id) ] 161 | /Root 12 0 R 162 | /Size 13 163 | >> 164 | startxref 165 | 2550 166 | %%EOF -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_2.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ico_2.pdf", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_2.imageset/ico_2.pdf: -------------------------------------------------------------------------------- 1 | %PDF-1.7 2 | 3 | 1 0 obj 4 | << /Length 2 0 R >> 5 | stream 6 | 1.073242 0 0.124512 -0.175781 0.948730 1.166992 d1 7 | 8 | endstream 9 | endobj 10 | 11 | 2 0 obj 12 | 51 13 | endobj 14 | 15 | 3 0 obj 16 | [ 1.073242 ] 17 | endobj 18 | 19 | 4 0 obj 20 | << /Length 5 0 R >> 21 | stream 22 | /CIDInit /ProcSet findresource begin 23 | 12 dict begin 24 | begincmap 25 | /CIDSystemInfo 26 | << /Registry (FigmaPDF) 27 | /Ordering (FigmaPDF) 28 | /Supplement 0 29 | >> def 30 | /CMapName /A-B-C def 31 | /CMapType 2 def 32 | 1 begincodespacerange 33 | <00> 34 | endcodespacerange 35 | 1 beginbfchar 36 | <00> 37 | endbfchar 38 | endcmap 39 | CMapName currentdict /CMap defineresource pop 40 | end 41 | end 42 | endstream 43 | endobj 44 | 45 | 5 0 obj 46 | 336 47 | endobj 48 | 49 | 6 0 obj 50 | << /Subtype /Type3 51 | /CharProcs << /C0 1 0 R >> 52 | /Encoding << /Type /Encoding 53 | /Differences [ 0 /C0 ] 54 | >> 55 | /Widths 3 0 R 56 | /FontBBox [ 0.000000 0.000000 0.000000 0.000000 ] 57 | /FontMatrix [ 1.000000 0.000000 0.000000 1.000000 0.000000 0.000000 ] 58 | /Type /Font 59 | /ToUnicode 4 0 R 60 | /FirstChar 0 61 | /LastChar 0 62 | /Resources << >> 63 | >> 64 | endobj 65 | 66 | 7 0 obj 67 | << /Font << /F1 6 0 R >> 68 | /ExtGState << /E1 << /ca 0.850000 >> >> 69 | >> 70 | endobj 71 | 72 | 8 0 obj 73 | << /Length 9 0 R >> 74 | stream 75 | /DeviceRGB CS 76 | /DeviceRGB cs 77 | q 78 | /E1 gs 79 | 1.000000 0.000000 -0.000000 1.000000 -1.666504 1.732910 cm 80 | 0.000000 0.000000 0.000000 scn 81 | 0.047852 0.552246 m 82 | h 83 | 7.011230 10.162598 m 84 | 8.750488 10.162598 10.070801 10.505371 10.070801 10.994141 c 85 | 10.070801 11.489258 8.750488 11.819336 7.011230 11.819336 c 86 | 5.297363 11.819336 3.977051 11.489258 3.977051 10.994141 c 87 | 3.977051 10.505371 5.303711 10.162598 7.011230 10.162598 c 88 | h 89 | 7.023926 -1.732910 m 90 | 10.711914 -1.732910 12.381348 -0.425293 12.381348 2.526367 c 91 | 12.381348 7.528320 l 92 | 12.381348 8.543945 12.197266 9.419922 11.752930 10.054688 c 93 | 11.587891 10.308594 11.257812 10.372070 10.946777 10.194336 c 94 | 10.121582 9.673828 8.642578 9.292969 7.023926 9.292969 c 95 | 5.405273 9.292969 3.926270 9.673828 3.101074 10.194336 c 96 | 2.790039 10.372070 2.459961 10.308594 2.294922 10.054688 c 97 | 1.850586 9.419922 1.666504 8.543945 1.666504 7.528320 c 98 | 1.666504 2.526367 l 99 | 1.666504 -0.425293 3.335938 -1.732910 7.023926 -1.732910 c 100 | h 101 | 7.023926 -0.298340 m 102 | 4.211914 -0.298340 3.101074 0.590332 3.101074 2.621582 c 103 | 3.101074 7.483887 l 104 | 3.101074 7.871094 3.164551 8.232910 3.285156 8.524902 c 105 | 4.186523 8.055176 5.525879 7.826660 7.023926 7.826660 c 106 | 8.521973 7.826660 9.861328 8.055176 10.762695 8.524902 c 107 | 10.883301 8.232910 10.946777 7.871094 10.946777 7.483887 c 108 | 10.946777 2.621582 l 109 | 10.946777 0.590332 9.835938 -0.298340 7.023926 -0.298340 c 110 | h 111 | f 112 | n 113 | Q 114 | q 115 | 1.000000 0.000000 -0.000000 1.000000 -1.666504 1.732910 cm 116 | BT 117 | 13.000000 0.000000 0.000000 13.000000 0.047852 0.552246 Tm 118 | /F1 1.000000 Tf 119 | [ (\000) ] TJ 120 | ET 121 | Q 122 | 123 | endstream 124 | endobj 125 | 126 | 9 0 obj 127 | 1518 128 | endobj 129 | 130 | 10 0 obj 131 | << /Annots [] 132 | /Type /Page 133 | /MediaBox [ 0.000000 0.000000 10.714844 13.552246 ] 134 | /Resources 7 0 R 135 | /Contents 8 0 R 136 | /Parent 11 0 R 137 | >> 138 | endobj 139 | 140 | 11 0 obj 141 | << /Kids [ 10 0 R ] 142 | /Count 1 143 | /Type /Pages 144 | >> 145 | endobj 146 | 147 | 12 0 obj 148 | << /Type /Catalog 149 | /Pages 11 0 R 150 | >> 151 | endobj 152 | 153 | xref 154 | 0 13 155 | 0000000000 65535 f 156 | 0000000010 00000 n 157 | 0000000117 00000 n 158 | 0000000138 00000 n 159 | 0000000169 00000 n 160 | 0000000561 00000 n 161 | 0000000583 00000 n 162 | 0000000995 00000 n 163 | 0000001088 00000 n 164 | 0000002662 00000 n 165 | 0000002685 00000 n 166 | 0000002860 00000 n 167 | 0000002936 00000 n 168 | trailer 169 | << /ID [ (some) (id) ] 170 | /Root 12 0 R 171 | /Size 13 172 | >> 173 | startxref 174 | 2997 175 | %%EOF -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_3.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ico_3.pdf", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_3.imageset/ico_3.pdf: -------------------------------------------------------------------------------- 1 | %PDF-1.7 2 | 3 | 1 0 obj 4 | << /Length 2 0 R >> 5 | stream 6 | 1.696777 0 0.124512 -0.105469 1.572266 1.039551 d1 7 | 8 | endstream 9 | endobj 10 | 11 | 2 0 obj 12 | 51 13 | endobj 14 | 15 | 3 0 obj 16 | [ 1.696777 ] 17 | endobj 18 | 19 | 4 0 obj 20 | << /Length 5 0 R >> 21 | stream 22 | /CIDInit /ProcSet findresource begin 23 | 12 dict begin 24 | begincmap 25 | /CIDSystemInfo 26 | << /Registry (FigmaPDF) 27 | /Ordering (FigmaPDF) 28 | /Supplement 0 29 | >> def 30 | /CMapName /A-B-C def 31 | /CMapType 2 def 32 | 1 begincodespacerange 33 | <00> 34 | endcodespacerange 35 | 1 beginbfchar 36 | <00> 37 | endbfchar 38 | endcmap 39 | CMapName currentdict /CMap defineresource pop 40 | end 41 | end 42 | endstream 43 | endobj 44 | 45 | 5 0 obj 46 | 336 47 | endobj 48 | 49 | 6 0 obj 50 | << /Subtype /Type3 51 | /CharProcs << /C0 1 0 R >> 52 | /Encoding << /Type /Encoding 53 | /Differences [ 0 /C0 ] 54 | >> 55 | /Widths 3 0 R 56 | /FontBBox [ 0.000000 0.000000 0.000000 0.000000 ] 57 | /FontMatrix [ 1.000000 0.000000 0.000000 1.000000 0.000000 0.000000 ] 58 | /Type /Font 59 | /ToUnicode 4 0 R 60 | /FirstChar 0 61 | /LastChar 0 62 | /Resources << >> 63 | >> 64 | endobj 65 | 66 | 7 0 obj 67 | << /Font << /F1 6 0 R >> 68 | /ExtGState << /E1 << /ca 0.850000 >> >> 69 | >> 70 | endobj 71 | 72 | 8 0 obj 73 | << /Length 9 0 R >> 74 | stream 75 | /DeviceRGB CS 76 | /DeviceRGB cs 77 | q 78 | /E1 gs 79 | 1.000000 0.000000 -0.000000 1.000000 -2.554199 2.475586 cm 80 | 0.000000 0.000000 0.000000 scn 81 | 0.935547 -1.104492 m 82 | h 83 | 2.554199 0.095215 m 84 | 2.554199 -1.504395 3.607910 -2.475586 5.086914 -2.475586 c 85 | 6.000977 -2.475586 6.781738 -2.088379 7.378418 -1.428223 c 86 | 8.482910 -0.177734 l 87 | 8.647949 0.000000 8.787598 0.082520 8.990723 0.082520 c 88 | 14.938477 0.082520 l 89 | 15.141602 0.082520 15.281250 0.000000 15.446289 -0.177734 c 90 | 16.550781 -1.428223 l 91 | 17.153809 -2.088379 17.928223 -2.475586 18.842285 -2.475586 c 92 | 20.327637 -2.475586 21.375000 -1.504395 21.375000 0.095215 c 93 | 21.375000 0.780762 21.229004 1.561523 20.975098 2.412109 c 94 | 20.581543 3.732422 19.902344 5.509766 19.254883 6.868164 c 95 | 18.702637 8.029785 18.378906 8.632812 16.950684 8.956543 c 96 | 15.700195 9.242188 14.005371 9.419922 11.967773 9.419922 c 97 | 9.923828 9.419922 8.229004 9.242188 6.984863 8.956543 c 98 | 5.550293 8.632812 5.226562 8.029785 4.674316 6.868164 c 99 | 4.026855 5.509766 3.347656 3.732422 2.954102 2.412109 c 100 | 2.700195 1.561523 2.554199 0.780762 2.554199 0.095215 c 101 | h 102 | 3.912598 0.139648 m 103 | 3.912598 0.514160 4.001465 0.964844 4.191895 1.625000 c 104 | 4.623535 3.104004 5.353516 4.995605 5.994629 6.379395 c 105 | 6.292969 7.039551 6.464355 7.388672 7.156250 7.553711 c 106 | 8.336914 7.833008 9.974609 8.004395 11.967773 8.004395 c 107 | 13.954590 8.004395 15.592285 7.833008 16.772949 7.553711 c 108 | 17.464844 7.388672 17.629883 7.039551 17.934570 6.379395 c 109 | 18.582031 4.995605 19.292969 3.097656 19.737305 1.625000 c 110 | 19.934082 0.964844 20.016602 0.514160 20.016602 0.139648 c 111 | 20.016602 -0.622070 19.477051 -1.091797 18.772461 -1.091797 c 112 | 18.340820 -1.091797 17.902832 -0.863281 17.541016 -0.469727 c 113 | 16.208008 0.990234 l 114 | 15.896973 1.339355 15.643066 1.498047 15.122559 1.498047 c 115 | 8.806641 1.498047 l 116 | 8.292480 1.498047 8.032227 1.339355 7.721191 0.990234 c 117 | 6.388184 -0.469727 l 118 | 6.032715 -0.869629 5.588379 -1.091797 5.156738 -1.091797 c 119 | 4.452148 -1.091797 3.912598 -0.622070 3.912598 0.139648 c 120 | h 121 | 6.750000 4.678223 m 122 | 6.750000 4.303711 6.984863 4.068848 7.365723 4.068848 c 123 | 8.375000 4.068848 l 124 | 8.375000 3.097656 l 125 | 8.375000 2.716797 8.609863 2.469238 8.984375 2.469238 c 126 | 9.352539 2.469238 9.587402 2.716797 9.587402 3.097656 c 127 | 9.587402 4.068848 l 128 | 10.539551 4.068848 l 129 | 10.952148 4.068848 11.199707 4.303711 11.199707 4.678223 c 130 | 11.199707 5.046387 10.952148 5.281250 10.539551 5.281250 c 131 | 9.587402 5.281250 l 132 | 9.587402 6.252441 l 133 | 9.587402 6.633301 9.352539 6.880859 8.984375 6.880859 c 134 | 8.609863 6.880859 8.375000 6.633301 8.375000 6.252441 c 135 | 8.375000 5.281250 l 136 | 7.365723 5.281250 l 137 | 6.984863 5.281250 6.750000 5.046387 6.750000 4.678223 c 138 | h 139 | 15.947754 4.722656 m 140 | 16.487305 4.722656 16.906250 5.135254 16.906250 5.681152 c 141 | 16.906250 6.220703 16.487305 6.645996 15.947754 6.645996 c 142 | 15.408203 6.645996 14.982910 6.220703 14.982910 5.681152 c 143 | 14.982910 5.135254 15.408203 4.722656 15.947754 4.722656 c 144 | h 145 | 14.043457 2.792969 m 146 | 14.583008 2.792969 15.001953 3.205566 15.001953 3.745117 c 147 | 15.001953 4.291016 14.583008 4.709961 14.043457 4.709961 c 148 | 13.503906 4.709961 13.078613 4.291016 13.078613 3.745117 c 149 | 13.078613 3.205566 13.503906 2.792969 14.043457 2.792969 c 150 | h 151 | f 152 | n 153 | Q 154 | q 155 | 1.000000 0.000000 -0.000000 1.000000 -2.554199 2.475586 cm 156 | BT 157 | 13.000000 0.000000 0.000000 13.000000 0.935547 -1.104492 Tm 158 | /F1 1.000000 Tf 159 | [ (\000) ] TJ 160 | ET 161 | Q 162 | 163 | endstream 164 | endobj 165 | 166 | 9 0 obj 167 | 3274 168 | endobj 169 | 170 | 10 0 obj 171 | << /Annots [] 172 | /Type /Page 173 | /MediaBox [ 0.000000 0.000000 18.820801 11.895508 ] 174 | /Resources 7 0 R 175 | /Contents 8 0 R 176 | /Parent 11 0 R 177 | >> 178 | endobj 179 | 180 | 11 0 obj 181 | << /Kids [ 10 0 R ] 182 | /Count 1 183 | /Type /Pages 184 | >> 185 | endobj 186 | 187 | 12 0 obj 188 | << /Type /Catalog 189 | /Pages 11 0 R 190 | >> 191 | endobj 192 | 193 | xref 194 | 0 13 195 | 0000000000 65535 f 196 | 0000000010 00000 n 197 | 0000000117 00000 n 198 | 0000000138 00000 n 199 | 0000000169 00000 n 200 | 0000000561 00000 n 201 | 0000000583 00000 n 202 | 0000000995 00000 n 203 | 0000001088 00000 n 204 | 0000004418 00000 n 205 | 0000004441 00000 n 206 | 0000004616 00000 n 207 | 0000004692 00000 n 208 | trailer 209 | << /ID [ (some) (id) ] 210 | /Root 12 0 R 211 | /Size 13 212 | >> 213 | startxref 214 | 4753 215 | %%EOF -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_4.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ico_4.pdf", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_4.imageset/ico_4.pdf: -------------------------------------------------------------------------------- 1 | %PDF-1.7 2 | 3 | 1 0 obj 4 | << /Length 2 0 R >> 5 | stream 6 | 1.706543 0 0.124512 0.009277 1.582031 0.810547 d1 7 | 8 | endstream 9 | endobj 10 | 11 | 2 0 obj 12 | 50 13 | endobj 14 | 15 | 3 0 obj 16 | [ 1.706543 ] 17 | endobj 18 | 19 | 4 0 obj 20 | << /Length 5 0 R >> 21 | stream 22 | /CIDInit /ProcSet findresource begin 23 | 12 dict begin 24 | begincmap 25 | /CIDSystemInfo 26 | << /Registry (FigmaPDF) 27 | /Ordering (FigmaPDF) 28 | /Supplement 0 29 | >> def 30 | /CMapName /A-B-C def 31 | /CMapType 2 def 32 | 1 begincodespacerange 33 | <00> 34 | endcodespacerange 35 | 1 beginbfchar 36 | <00> 37 | endbfchar 38 | endcmap 39 | CMapName currentdict /CMap defineresource pop 40 | end 41 | end 42 | endstream 43 | endobj 44 | 45 | 5 0 obj 46 | 336 47 | endobj 48 | 49 | 6 0 obj 50 | << /Subtype /Type3 51 | /CharProcs << /C0 1 0 R >> 52 | /Encoding << /Type /Encoding 53 | /Differences [ 0 /C0 ] 54 | >> 55 | /Widths 3 0 R 56 | /FontBBox [ 0.000000 0.000000 0.000000 0.000000 ] 57 | /FontMatrix [ 1.000000 0.000000 0.000000 1.000000 0.000000 0.000000 ] 58 | /Type /Font 59 | /ToUnicode 4 0 R 60 | /FirstChar 0 61 | /LastChar 0 62 | /Resources << >> 63 | >> 64 | endobj 65 | 66 | 7 0 obj 67 | << /Font << /F1 6 0 R >> 68 | /ExtGState << /E1 << /ca 0.850000 >> >> 69 | >> 70 | endobj 71 | 72 | 8 0 obj 73 | << /Length 9 0 R >> 74 | stream 75 | /DeviceRGB CS 76 | /DeviceRGB cs 77 | q 78 | /E1 gs 79 | 1.000000 0.000000 -0.000000 1.000000 -2.427246 3.960938 cm 80 | 0.000000 0.000000 0.000000 scn 81 | 0.808594 -4.081543 m 82 | h 83 | 5.810547 -3.960938 m 84 | 15.947754 -3.960938 l 85 | 17.026855 -3.960938 17.940918 -3.859375 18.588379 -3.211914 c 86 | 19.235840 -2.564453 19.331055 -1.656738 19.331055 -0.571289 c 87 | 19.331055 1.574219 l 88 | 19.331055 2.653320 19.235840 3.561035 18.588379 4.208496 c 89 | 17.940918 4.855957 17.026855 4.957520 15.947754 4.957520 c 90 | 5.797852 4.957520 l 91 | 4.731445 4.957520 3.817383 4.855957 3.169922 4.202148 c 92 | 2.522461 3.554688 2.427246 2.653320 2.427246 1.586914 c 93 | 2.427246 -0.571289 l 94 | 2.427246 -1.656738 2.522461 -2.564453 3.169922 -3.211914 c 95 | 3.817383 -3.859375 4.731445 -3.960938 5.810547 -3.960938 c 96 | h 97 | 5.639160 -2.938965 m 98 | 4.985352 -2.938965 4.299805 -2.850098 3.912598 -2.462891 c 99 | 3.531738 -2.082031 3.449219 -1.402832 3.449219 -0.749023 c 100 | 3.449219 1.726562 l 101 | 3.449219 2.399414 3.531738 3.078613 3.912598 3.465820 c 102 | 4.299805 3.846680 4.991699 3.935547 5.658203 3.935547 c 103 | 16.119141 3.935547 l 104 | 16.772949 3.935547 17.458496 3.846680 17.845703 3.459473 c 105 | 18.226562 3.078613 18.309082 2.399414 18.309082 1.745605 c 106 | 18.309082 -0.749023 l 107 | 18.309082 -1.402832 18.226562 -2.082031 17.845703 -2.462891 c 108 | 17.458496 -2.850098 16.772949 -2.938965 16.119141 -2.938965 c 109 | 5.639160 -2.938965 l 110 | h 111 | 5.385254 -2.132812 m 112 | 16.379395 -2.132812 l 113 | 16.823730 -2.132812 17.071289 -2.082031 17.261719 -1.891602 c 114 | 17.452148 -1.701172 17.509277 -1.453613 17.509277 -1.009277 c 115 | 17.509277 2.005859 l 116 | 17.509277 2.450195 17.445801 2.697754 17.261719 2.888184 c 117 | 17.071289 3.078613 16.823730 3.129395 16.379395 3.129395 c 118 | 5.385254 3.129395 l 119 | 4.940918 3.129395 4.693359 3.078613 4.502930 2.888184 c 120 | 4.318848 2.697754 4.255371 2.450195 4.255371 2.005859 c 121 | 4.255371 -1.009277 l 122 | 4.255371 -1.453613 4.318848 -1.701172 4.502930 -1.891602 c 123 | 4.693359 -2.082031 4.940918 -2.132812 5.385254 -2.132812 c 124 | h 125 | 20.194336 -1.142578 m 126 | 20.702148 -1.110840 21.375000 -0.469727 21.375000 0.501465 c 127 | 21.375000 1.466309 20.702148 2.107422 20.194336 2.139160 c 128 | 20.194336 -1.142578 l 129 | h 130 | f 131 | n 132 | Q 133 | q 134 | 1.000000 0.000000 -0.000000 1.000000 -2.427246 3.960938 cm 135 | BT 136 | 13.000000 0.000000 0.000000 13.000000 0.808594 -4.081543 Tm 137 | /F1 1.000000 Tf 138 | [ (\000) ] TJ 139 | ET 140 | Q 141 | 142 | endstream 143 | endobj 144 | 145 | 9 0 obj 146 | 2218 147 | endobj 148 | 149 | 10 0 obj 150 | << /Annots [] 151 | /Type /Page 152 | /MediaBox [ 0.000000 0.000000 18.947754 8.918457 ] 153 | /Resources 7 0 R 154 | /Contents 8 0 R 155 | /Parent 11 0 R 156 | >> 157 | endobj 158 | 159 | 11 0 obj 160 | << /Kids [ 10 0 R ] 161 | /Count 1 162 | /Type /Pages 163 | >> 164 | endobj 165 | 166 | 12 0 obj 167 | << /Type /Catalog 168 | /Pages 11 0 R 169 | >> 170 | endobj 171 | 172 | xref 173 | 0 13 174 | 0000000000 65535 f 175 | 0000000010 00000 n 176 | 0000000116 00000 n 177 | 0000000137 00000 n 178 | 0000000168 00000 n 179 | 0000000560 00000 n 180 | 0000000582 00000 n 181 | 0000000994 00000 n 182 | 0000001087 00000 n 183 | 0000003361 00000 n 184 | 0000003384 00000 n 185 | 0000003558 00000 n 186 | 0000003634 00000 n 187 | trailer 188 | << /ID [ (some) (id) ] 189 | /Root 12 0 R 190 | /Size 13 191 | >> 192 | startxref 193 | 3695 194 | %%EOF -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_5.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ico_5.pdf", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_5.imageset/ico_5.pdf: -------------------------------------------------------------------------------- 1 | %PDF-1.7 2 | 3 | 1 0 obj 4 | << /Length 2 0 R >> 5 | stream 6 | 1.314453 0 0.093262 -0.053711 1.221191 0.904785 d1 7 | 8 | endstream 9 | endobj 10 | 11 | 2 0 obj 12 | 51 13 | endobj 14 | 15 | 3 0 obj 16 | [ 1.314453 ] 17 | endobj 18 | 19 | 4 0 obj 20 | << /Length 5 0 R >> 21 | stream 22 | /CIDInit /ProcSet findresource begin 23 | 12 dict begin 24 | begincmap 25 | /CIDSystemInfo 26 | << /Registry (FigmaPDF) 27 | /Ordering (FigmaPDF) 28 | /Supplement 0 29 | >> def 30 | /CMapName /A-B-C def 31 | /CMapType 2 def 32 | 1 begincodespacerange 33 | <00> 34 | endcodespacerange 35 | 1 beginbfchar 36 | <00> 37 | endbfchar 38 | endcmap 39 | CMapName currentdict /CMap defineresource pop 40 | end 41 | end 42 | endstream 43 | endobj 44 | 45 | 5 0 obj 46 | 336 47 | endobj 48 | 49 | 6 0 obj 50 | << /Subtype /Type3 51 | /CharProcs << /C0 1 0 R >> 52 | /Encoding << /Type /Encoding 53 | /Differences [ 0 /C0 ] 54 | >> 55 | /Widths 3 0 R 56 | /FontBBox [ 0.000000 0.000000 0.000000 0.000000 ] 57 | /FontMatrix [ 1.000000 0.000000 0.000000 1.000000 0.000000 0.000000 ] 58 | /Type /Font 59 | /ToUnicode 4 0 R 60 | /FirstChar 0 61 | /LastChar 0 62 | /Resources << >> 63 | >> 64 | endobj 65 | 66 | 7 0 obj 67 | << /Font << /F1 6 0 R >> 68 | /ExtGState << /E1 << /ca 0.850000 >> >> 69 | >> 70 | endobj 71 | 72 | 8 0 obj 73 | << /Length 9 0 R >> 74 | stream 75 | /DeviceRGB CS 76 | /DeviceRGB cs 77 | q 78 | /E1 gs 79 | 1.000000 0.000000 -0.000000 1.000000 -2.148926 3.148438 cm 80 | 0.000000 0.000000 0.000000 scn 81 | 0.912109 -2.450195 m 82 | h 83 | 3.108398 2.958008 m 84 | 3.229004 2.831055 3.413086 2.837402 3.533691 2.964355 c 85 | 5.095215 4.621094 7.151855 5.497070 9.456055 5.497070 c 86 | 11.772949 5.497070 13.842285 4.614746 15.391113 2.958008 c 87 | 15.505371 2.843750 15.683105 2.843750 15.803711 2.970703 c 88 | 16.679688 3.846680 l 89 | 16.787598 3.960938 16.787598 4.100586 16.698730 4.208496 c 90 | 15.207031 6.049316 12.401367 7.401367 9.456055 7.401367 c 91 | 6.517090 7.401367 3.698730 6.049316 2.213379 4.208496 c 92 | 2.124512 4.100586 2.124512 3.960938 2.232422 3.846680 c 93 | 3.108398 2.958008 l 94 | h 95 | 5.749023 0.304688 m 96 | 5.882324 0.171387 6.053711 0.190430 6.180664 0.330078 c 97 | 6.942383 1.174316 8.186523 1.790039 9.456055 1.783691 c 98 | 10.744629 1.790039 11.982422 1.155273 12.756836 0.311035 c 99 | 12.877441 0.177734 13.042480 0.177734 13.169434 0.311035 c 100 | 14.153320 1.288574 l 101 | 14.261230 1.390137 14.267578 1.529785 14.172363 1.644043 c 102 | 13.213867 2.818359 11.436523 3.700684 9.456055 3.700684 c 103 | 7.475586 3.700684 5.704590 2.818359 4.739746 1.644043 c 104 | 4.650879 1.529785 4.657227 1.402832 4.765137 1.288574 c 105 | 5.749023 0.304688 l 106 | h 107 | 9.456055 -3.148438 m 108 | 9.595703 -3.148438 9.716309 -3.084961 9.963867 -2.843750 c 109 | 11.512695 -1.358398 l 110 | 11.614258 -1.263184 11.633301 -1.123535 11.550781 -1.009277 c 111 | 11.131836 -0.476074 10.351074 -0.012695 9.456055 -0.012695 c 112 | 8.541992 -0.012695 7.754883 -0.495117 7.348633 -1.047363 c 113 | 7.278809 -1.148926 7.310547 -1.263184 7.405762 -1.358398 c 114 | 8.948242 -2.843750 l 115 | 9.195801 -3.078613 9.316406 -3.148438 9.456055 -3.148438 c 116 | h 117 | f 118 | n 119 | Q 120 | q 121 | 1.000000 0.000000 -0.000000 1.000000 -2.148926 3.148438 cm 122 | BT 123 | 13.000000 0.000000 0.000000 13.000000 0.912109 -2.450195 Tm 124 | /F1 1.000000 Tf 125 | [ (\000) ] TJ 126 | ET 127 | Q 128 | 129 | endstream 130 | endobj 131 | 132 | 9 0 obj 133 | 1784 134 | endobj 135 | 136 | 10 0 obj 137 | << /Annots [] 138 | /Type /Page 139 | /MediaBox [ 0.000000 0.000000 14.614258 10.549805 ] 140 | /Resources 7 0 R 141 | /Contents 8 0 R 142 | /Parent 11 0 R 143 | >> 144 | endobj 145 | 146 | 11 0 obj 147 | << /Kids [ 10 0 R ] 148 | /Count 1 149 | /Type /Pages 150 | >> 151 | endobj 152 | 153 | 12 0 obj 154 | << /Type /Catalog 155 | /Pages 11 0 R 156 | >> 157 | endobj 158 | 159 | xref 160 | 0 13 161 | 0000000000 65535 f 162 | 0000000010 00000 n 163 | 0000000117 00000 n 164 | 0000000138 00000 n 165 | 0000000169 00000 n 166 | 0000000561 00000 n 167 | 0000000583 00000 n 168 | 0000000995 00000 n 169 | 0000001088 00000 n 170 | 0000002928 00000 n 171 | 0000002951 00000 n 172 | 0000003126 00000 n 173 | 0000003202 00000 n 174 | trailer 175 | << /ID [ (some) (id) ] 176 | /Root 12 0 R 177 | /Size 13 178 | >> 179 | startxref 180 | 3263 181 | %%EOF -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_6.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ico_6.pdf", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_6.imageset/ico_6.pdf: -------------------------------------------------------------------------------- 1 | %PDF-1.7 2 | 3 | 1 0 obj 4 | << /Length 2 0 R >> 5 | stream 6 | 1.144043 0 0.112305 -0.111816 1.031738 1.040527 d1 7 | 8 | endstream 9 | endobj 10 | 11 | 2 0 obj 12 | 51 13 | endobj 14 | 15 | 3 0 obj 16 | [ 1.144043 ] 17 | endobj 18 | 19 | 4 0 obj 20 | << /Length 5 0 R >> 21 | stream 22 | /CIDInit /ProcSet findresource begin 23 | 12 dict begin 24 | begincmap 25 | /CIDSystemInfo 26 | << /Registry (FigmaPDF) 27 | /Ordering (FigmaPDF) 28 | /Supplement 0 29 | >> def 30 | /CMapName /A-B-C def 31 | /CMapType 2 def 32 | 1 begincodespacerange 33 | <00> 34 | endcodespacerange 35 | 1 beginbfchar 36 | <00> 37 | endbfchar 38 | endcmap 39 | CMapName currentdict /CMap defineresource pop 40 | end 41 | end 42 | endstream 43 | endobj 44 | 45 | 5 0 obj 46 | 336 47 | endobj 48 | 49 | 6 0 obj 50 | << /Subtype /Type3 51 | /CharProcs << /C0 1 0 R >> 52 | /Encoding << /Type /Encoding 53 | /Differences [ 0 /C0 ] 54 | >> 55 | /Widths 3 0 R 56 | /FontBBox [ 0.000000 0.000000 0.000000 0.000000 ] 57 | /FontMatrix [ 1.000000 0.000000 0.000000 1.000000 0.000000 0.000000 ] 58 | /Type /Font 59 | /ToUnicode 4 0 R 60 | /FirstChar 0 61 | /LastChar 0 62 | /Resources << >> 63 | >> 64 | endobj 65 | 66 | 7 0 obj 67 | << /Font << /F1 6 0 R >> 68 | /ExtGState << /E1 << /ca 0.850000 >> >> 69 | >> 70 | endobj 71 | 72 | 8 0 obj 73 | << /Length 9 0 R >> 74 | stream 75 | /DeviceRGB CS 76 | /DeviceRGB cs 77 | q 78 | /E1 gs 79 | 1.000000 0.000000 -0.000000 1.000000 -1.581055 2.386719 cm 80 | 0.000000 0.000000 0.000000 scn 81 | 0.121094 -0.933105 m 82 | h 83 | 6.462402 -0.082520 m 84 | 7.522461 -0.082520 8.500000 0.260254 9.299805 0.831543 c 85 | 12.308594 -2.177246 l 86 | 12.448242 -2.316895 12.632324 -2.386719 12.829102 -2.386719 c 87 | 13.241699 -2.386719 13.533691 -2.069336 13.533691 -1.663086 c 88 | 13.533691 -1.472656 13.470215 -1.288574 13.330566 -1.155273 c 89 | 10.340820 1.840820 l 90 | 10.969238 2.666016 11.343750 3.687988 11.343750 4.798828 c 91 | 11.343750 7.483887 9.147461 9.680176 6.462402 9.680176 c 92 | 3.783691 9.680176 1.581055 7.490234 1.581055 4.798828 c 93 | 1.581055 2.113770 3.777344 -0.082520 6.462402 -0.082520 c 94 | h 95 | 6.462402 0.971191 m 96 | 4.367676 0.971191 2.634766 2.704102 2.634766 4.798828 c 97 | 2.634766 6.893555 4.367676 8.626465 6.462402 8.626465 c 98 | 8.557129 8.626465 10.290039 6.893555 10.290039 4.798828 c 99 | 10.290039 2.704102 8.557129 0.971191 6.462402 0.971191 c 100 | h 101 | f 102 | n 103 | Q 104 | q 105 | 1.000000 0.000000 -0.000000 1.000000 -1.581055 2.386719 cm 106 | BT 107 | 13.000000 0.000000 0.000000 13.000000 0.121094 -0.933105 Tm 108 | /F1 1.000000 Tf 109 | [ (\000) ] TJ 110 | ET 111 | Q 112 | 113 | endstream 114 | endobj 115 | 116 | 9 0 obj 117 | 1103 118 | endobj 119 | 120 | 10 0 obj 121 | << /Annots [] 122 | /Type /Page 123 | /MediaBox [ 0.000000 0.000000 11.952637 12.066895 ] 124 | /Resources 7 0 R 125 | /Contents 8 0 R 126 | /Parent 11 0 R 127 | >> 128 | endobj 129 | 130 | 11 0 obj 131 | << /Kids [ 10 0 R ] 132 | /Count 1 133 | /Type /Pages 134 | >> 135 | endobj 136 | 137 | 12 0 obj 138 | << /Type /Catalog 139 | /Pages 11 0 R 140 | >> 141 | endobj 142 | 143 | xref 144 | 0 13 145 | 0000000000 65535 f 146 | 0000000010 00000 n 147 | 0000000117 00000 n 148 | 0000000138 00000 n 149 | 0000000169 00000 n 150 | 0000000561 00000 n 151 | 0000000583 00000 n 152 | 0000000995 00000 n 153 | 0000001088 00000 n 154 | 0000002247 00000 n 155 | 0000002270 00000 n 156 | 0000002445 00000 n 157 | 0000002521 00000 n 158 | trailer 159 | << /ID [ (some) (id) ] 160 | /Root 12 0 R 161 | /Size 13 162 | >> 163 | startxref 164 | 2582 165 | %%EOF -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_7.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ico_7.pdf", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_7.imageset/ico_7.pdf: -------------------------------------------------------------------------------- 1 | %PDF-1.7 2 | 3 | 1 0 obj 4 | << /Length 2 0 R >> 5 | stream 6 | 1.246582 0 0.124512 -0.107910 1.122070 1.046387 d1 7 | 8 | endstream 9 | endobj 10 | 11 | 2 0 obj 12 | 51 13 | endobj 14 | 15 | 3 0 obj 16 | [ 1.246582 ] 17 | endobj 18 | 19 | 4 0 obj 20 | << /Length 5 0 R >> 21 | stream 22 | /CIDInit /ProcSet findresource begin 23 | 12 dict begin 24 | begincmap 25 | /CIDSystemInfo 26 | << /Registry (FigmaPDF) 27 | /Ordering (FigmaPDF) 28 | /Supplement 0 29 | >> def 30 | /CMapName /A-B-C def 31 | /CMapType 2 def 32 | 1 begincodespacerange 33 | <00> 34 | endcodespacerange 35 | 1 beginbfchar 36 | <00> 37 | endbfchar 38 | endcmap 39 | CMapName currentdict /CMap defineresource pop 40 | end 41 | end 42 | endstream 43 | endobj 44 | 45 | 5 0 obj 46 | 336 47 | endobj 48 | 49 | 6 0 obj 50 | << /Subtype /Type3 51 | /CharProcs << /C0 1 0 R >> 52 | /Encoding << /Type /Encoding 53 | /Differences [ 0 /C0 ] 54 | >> 55 | /Widths 3 0 R 56 | /FontBBox [ 0.000000 0.000000 0.000000 0.000000 ] 57 | /FontMatrix [ 1.000000 0.000000 0.000000 1.000000 0.000000 0.000000 ] 58 | /Type /Font 59 | /ToUnicode 4 0 R 60 | /FirstChar 0 61 | /LastChar 0 62 | /Resources << >> 63 | >> 64 | endobj 65 | 66 | 7 0 obj 67 | << /Font << /F1 6 0 R >> 68 | /ExtGState << /E1 << /ca 0.850000 >> >> 69 | >> 70 | endobj 71 | 72 | 8 0 obj 73 | << /Length 9 0 R >> 74 | stream 75 | /DeviceRGB CS 76 | /DeviceRGB cs 77 | q 78 | /E1 gs 79 | 1.000000 0.000000 -0.000000 1.000000 -2.406738 2.418457 cm 80 | 0.000000 0.000000 0.000000 scn 81 | 0.788086 -1.015625 m 82 | h 83 | 5.383789 3.776855 m 84 | 12.404297 3.776855 l 85 | 14.041992 3.776855 15.375000 4.944824 15.375000 6.671387 c 86 | 15.375000 8.397949 14.041992 9.565918 12.404297 9.565918 c 87 | 5.383789 9.565918 l 88 | 3.746094 9.565918 2.406738 8.397949 2.406738 6.671387 c 89 | 2.406738 4.944824 3.746094 3.776855 5.383789 3.776855 c 90 | h 91 | 5.383789 4.735352 m 92 | 4.317383 4.735352 3.365234 5.516113 3.365234 6.671387 c 93 | 3.365234 7.826660 4.317383 8.607422 5.383789 8.607422 c 94 | 12.404297 8.607422 l 95 | 13.464355 8.607422 14.416504 7.826660 14.416504 6.671387 c 96 | 14.416504 5.516113 13.464355 4.735352 12.404297 4.735352 c 97 | 5.383789 4.735352 l 98 | h 99 | 5.383789 5.166992 m 100 | 6.221680 5.160645 6.888184 5.846191 6.894531 6.684082 c 101 | 6.900879 7.515625 6.221680 8.182129 5.383789 8.182129 c 102 | 4.545898 8.182129 3.879395 7.509277 3.879395 6.677734 c 103 | 3.879395 5.839844 4.545898 5.173340 5.383789 5.166992 c 104 | h 105 | 5.123535 -2.418457 m 106 | 12.664551 -2.418457 l 107 | 14.168945 -2.418457 15.375000 -1.364746 15.375000 0.190430 c 108 | 15.375000 1.745605 14.168945 2.799316 12.664551 2.799316 c 109 | 5.123535 2.799316 l 110 | 3.619141 2.799316 2.406738 1.745605 2.406738 0.190430 c 111 | 2.406738 -1.364746 3.619141 -2.418457 5.123535 -2.418457 c 112 | h 113 | 12.823242 -1.459961 m 114 | 11.909180 -1.453613 11.179199 -0.717285 11.179199 0.196777 c 115 | 11.179199 1.104492 11.909180 1.840820 12.823242 1.840820 c 116 | 13.737305 1.840820 14.479980 1.110840 14.473633 0.203125 c 117 | 14.467285 -0.717285 13.737305 -1.466309 12.823242 -1.459961 c 118 | h 119 | f 120 | n 121 | Q 122 | q 123 | 1.000000 0.000000 -0.000000 1.000000 -2.406738 2.418457 cm 124 | BT 125 | 13.000000 0.000000 0.000000 13.000000 0.788086 -1.015625 Tm 126 | /F1 1.000000 Tf 127 | [ (\000) ] TJ 128 | ET 129 | Q 130 | 131 | endstream 132 | endobj 133 | 134 | 9 0 obj 135 | 1712 136 | endobj 137 | 138 | 10 0 obj 139 | << /Annots [] 140 | /Type /Page 141 | /MediaBox [ 0.000000 0.000000 12.968262 11.984375 ] 142 | /Resources 7 0 R 143 | /Contents 8 0 R 144 | /Parent 11 0 R 145 | >> 146 | endobj 147 | 148 | 11 0 obj 149 | << /Kids [ 10 0 R ] 150 | /Count 1 151 | /Type /Pages 152 | >> 153 | endobj 154 | 155 | 12 0 obj 156 | << /Type /Catalog 157 | /Pages 11 0 R 158 | >> 159 | endobj 160 | 161 | xref 162 | 0 13 163 | 0000000000 65535 f 164 | 0000000010 00000 n 165 | 0000000117 00000 n 166 | 0000000138 00000 n 167 | 0000000169 00000 n 168 | 0000000561 00000 n 169 | 0000000583 00000 n 170 | 0000000995 00000 n 171 | 0000001088 00000 n 172 | 0000002856 00000 n 173 | 0000002879 00000 n 174 | 0000003054 00000 n 175 | 0000003130 00000 n 176 | trailer 177 | << /ID [ (some) (id) ] 178 | /Root 12 0 R 179 | /Size 13 180 | >> 181 | startxref 182 | 3191 183 | %%EOF -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_collapse.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ico_collapse.pdf", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_collapse.imageset/ico_collapse.pdf: -------------------------------------------------------------------------------- 1 | %PDF-1.7 2 | 3 | 1 0 obj 4 | << /Length 2 0 R >> 5 | stream 6 | 0.764160 0 0.190918 -0.087402 0.705566 1.070801 d1 7 | 8 | endstream 9 | endobj 10 | 11 | 2 0 obj 12 | 51 13 | endobj 14 | 15 | 3 0 obj 16 | [ 0.764160 ] 17 | endobj 18 | 19 | 4 0 obj 20 | << /Length 5 0 R >> 21 | stream 22 | /CIDInit /ProcSet findresource begin 23 | 12 dict begin 24 | begincmap 25 | /CIDSystemInfo 26 | << /Registry (FigmaPDF) 27 | /Ordering (FigmaPDF) 28 | /Supplement 0 29 | >> def 30 | /CMapName /A-B-C def 31 | /CMapType 2 def 32 | 1 begincodespacerange 33 | <00> 34 | endcodespacerange 35 | 1 beginbfchar 36 | <00> 37 | endbfchar 38 | endcmap 39 | CMapName currentdict /CMap defineresource pop 40 | end 41 | end 42 | endstream 43 | endobj 44 | 45 | 5 0 obj 46 | 336 47 | endobj 48 | 49 | 6 0 obj 50 | << /Subtype /Type3 51 | /CharProcs << /C0 1 0 R >> 52 | /Encoding << /Type /Encoding 53 | /Differences [ 0 /C0 ] 54 | >> 55 | /Widths 3 0 R 56 | /FontBBox [ 0.000000 0.000000 0.000000 0.000000 ] 57 | /FontMatrix [ 1.000000 0.000000 0.000000 1.000000 0.000000 0.000000 ] 58 | /Type /Font 59 | /ToUnicode 4 0 R 60 | /FirstChar 0 61 | /LastChar 0 62 | /Resources << >> 63 | >> 64 | endobj 65 | 66 | 7 0 obj 67 | << /Font << /F1 6 0 R >> 68 | /ExtGState << /E1 << /ca 0.850000 >> >> 69 | >> 70 | endobj 71 | 72 | 8 0 obj 73 | << /Length 9 0 R >> 74 | stream 75 | /DeviceRGB CS 76 | /DeviceRGB cs 77 | q 78 | /E1 gs 79 | 1.000000 0.000000 -0.000000 1.000000 -2.541504 2.697754 cm 80 | 0.000000 0.000000 0.000000 scn 81 | 0.059570 -1.561523 m 82 | h 83 | 9.231934 3.021484 m 84 | 9.231934 3.294434 9.136719 3.516602 8.914551 3.726074 c 85 | 4.045898 8.486816 l 86 | 3.880859 8.658203 3.677734 8.740723 3.430176 8.740723 c 87 | 2.941406 8.740723 2.541504 8.347168 2.541504 7.858398 c 88 | 2.541504 7.617188 2.643066 7.395020 2.820801 7.217285 c 89 | 7.137207 3.027832 l 90 | 2.820801 -1.174316 l 91 | 2.643066 -1.345703 2.541504 -1.567871 2.541504 -1.815430 c 92 | 2.541504 -2.304199 2.941406 -2.697754 3.430176 -2.697754 c 93 | 3.671387 -2.697754 3.880859 -2.615234 4.045898 -2.443848 c 94 | 8.914551 2.316895 l 95 | 9.136719 2.526367 9.231934 2.754883 9.231934 3.021484 c 96 | h 97 | f 98 | n 99 | Q 100 | q 101 | 1.000000 0.000000 -0.000000 1.000000 -2.541504 2.697754 cm 102 | BT 103 | 13.000000 0.000000 0.000000 13.000000 0.059570 -1.561523 Tm 104 | /F1 1.000000 Tf 105 | [ (\000) ] TJ 106 | ET 107 | Q 108 | 109 | endstream 110 | endobj 111 | 112 | 9 0 obj 113 | 875 114 | endobj 115 | 116 | 10 0 obj 117 | << /Annots [] 118 | /Type /Page 119 | /MediaBox [ 0.000000 0.000000 6.690430 11.438477 ] 120 | /Resources 7 0 R 121 | /Contents 8 0 R 122 | /Parent 11 0 R 123 | >> 124 | endobj 125 | 126 | 11 0 obj 127 | << /Kids [ 10 0 R ] 128 | /Count 1 129 | /Type /Pages 130 | >> 131 | endobj 132 | 133 | 12 0 obj 134 | << /Type /Catalog 135 | /Pages 11 0 R 136 | >> 137 | endobj 138 | 139 | xref 140 | 0 13 141 | 0000000000 65535 f 142 | 0000000010 00000 n 143 | 0000000117 00000 n 144 | 0000000138 00000 n 145 | 0000000169 00000 n 146 | 0000000561 00000 n 147 | 0000000583 00000 n 148 | 0000000995 00000 n 149 | 0000001088 00000 n 150 | 0000002019 00000 n 151 | 0000002041 00000 n 152 | 0000002215 00000 n 153 | 0000002291 00000 n 154 | trailer 155 | << /ID [ (some) (id) ] 156 | /Root 12 0 R 157 | /Size 13 158 | >> 159 | startxref 160 | 2352 161 | %%EOF -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_compass.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ico_compass.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_compass.imageset/ico_compass.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/ico_compass.imageset/ico_compass.pdf -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_email.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ico_email.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_email.imageset/ico_email.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/ico_email.imageset/ico_email.pdf -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_fb.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ico_fb.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_fb.imageset/ico_fb.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/ico_fb.imageset/ico_fb.pdf -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_github.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ico_github.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_github.imageset/ico_github.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/ico_github.imageset/ico_github.pdf -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_twitter.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ico_twitter.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/ico_twitter.imageset/ico_twitter.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/Assets.xcassets/ico_twitter.imageset/ico_twitter.pdf -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/seprated.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "seprated.pdf", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/seprated.imageset/seprated.pdf: -------------------------------------------------------------------------------- 1 | %PDF-1.7 2 | 3 | 1 0 obj 4 | << /Length 2 0 R >> 5 | stream 6 | 0.378418 0 0.124512 -0.128418 0.253906 1.085449 d1 7 | 8 | endstream 9 | endobj 10 | 11 | 2 0 obj 12 | 51 13 | endobj 14 | 15 | 3 0 obj 16 | [ 0.378418 ] 17 | endobj 18 | 19 | 4 0 obj 20 | << /Length 5 0 R >> 21 | stream 22 | /CIDInit /ProcSet findresource begin 23 | 12 dict begin 24 | begincmap 25 | /CIDSystemInfo 26 | << /Registry (FigmaPDF) 27 | /Ordering (FigmaPDF) 28 | /Supplement 0 29 | >> def 30 | /CMapName /A-B-C def 31 | /CMapType 2 def 32 | 1 begincodespacerange 33 | <00> 34 | endcodespacerange 35 | 1 beginbfchar 36 | <00> 37 | endbfchar 38 | endcmap 39 | CMapName currentdict /CMap defineresource pop 40 | end 41 | end 42 | endstream 43 | endobj 44 | 45 | 5 0 obj 46 | 336 47 | endobj 48 | 49 | 6 0 obj 50 | << /Subtype /Type3 51 | /CharProcs << /C0 1 0 R >> 52 | /Encoding << /Type /Encoding 53 | /Differences [ 0 /C0 ] 54 | >> 55 | /Widths 3 0 R 56 | /FontBBox [ 0.000000 0.000000 0.000000 0.000000 ] 57 | /FontMatrix [ 1.000000 0.000000 0.000000 1.000000 0.000000 0.000000 ] 58 | /Type /Font 59 | /ToUnicode 4 0 R 60 | /FirstChar 0 61 | /LastChar 0 62 | /Resources << >> 63 | >> 64 | endobj 65 | 66 | 7 0 obj 67 | << /Font << /F1 6 0 R >> 68 | /ExtGState << /E1 << /ca 0.850000 >> >> 69 | >> 70 | endobj 71 | 72 | 8 0 obj 73 | << /Length 9 0 R >> 74 | stream 75 | /DeviceRGB CS 76 | /DeviceRGB cs 77 | q 78 | /E1 gs 79 | 1.000000 -0.000000 0.000000 1.000000 -1.692871 2.177246 cm 80 | 0.000000 0.000000 0.000000 scn 81 | 0.074219 -0.507812 m 82 | h 83 | 2.530762 -2.177246 m 84 | 3.013184 -2.177246 3.375000 -1.828125 3.375000 -1.364746 c 85 | 3.375000 9.502441 l 86 | 3.375000 9.965820 3.013184 10.314941 2.530762 10.314941 c 87 | 2.054688 10.314941 1.692871 9.965820 1.692871 9.502441 c 88 | 1.692871 -1.364746 l 89 | 1.692871 -1.828125 2.054688 -2.177246 2.530762 -2.177246 c 90 | h 91 | f 92 | n 93 | Q 94 | q 95 | 1.000000 -0.000000 0.000000 1.000000 -1.692871 2.177246 cm 96 | BT 97 | 13.000000 0.000000 0.000000 13.000000 0.074219 -0.507812 Tm 98 | /F1 1.000000 Tf 99 | [ (\000) ] TJ 100 | ET 101 | Q 102 | 103 | endstream 104 | endobj 105 | 106 | 9 0 obj 107 | 612 108 | endobj 109 | 110 | 10 0 obj 111 | << /Annots [] 112 | /Type /Page 113 | /MediaBox [ 0.000000 0.000000 1.682129 12.492188 ] 114 | /Resources 7 0 R 115 | /Contents 8 0 R 116 | /Parent 11 0 R 117 | >> 118 | endobj 119 | 120 | 11 0 obj 121 | << /Kids [ 10 0 R ] 122 | /Count 1 123 | /Type /Pages 124 | >> 125 | endobj 126 | 127 | 12 0 obj 128 | << /Type /Catalog 129 | /Pages 11 0 R 130 | >> 131 | endobj 132 | 133 | xref 134 | 0 13 135 | 0000000000 65535 f 136 | 0000000010 00000 n 137 | 0000000117 00000 n 138 | 0000000138 00000 n 139 | 0000000169 00000 n 140 | 0000000561 00000 n 141 | 0000000583 00000 n 142 | 0000000995 00000 n 143 | 0000001088 00000 n 144 | 0000001756 00000 n 145 | 0000001778 00000 n 146 | 0000001952 00000 n 147 | 0000002028 00000 n 148 | trailer 149 | << /ID [ (some) (id) ] 150 | /Root 12 0 R 151 | /Size 13 152 | >> 153 | startxref 154 | 2089 155 | %%EOF -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/seprated_1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "seprated_1.pdf", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HiddenBar/Assets.xcassets/seprated_1.imageset/seprated_1.pdf: -------------------------------------------------------------------------------- 1 | %PDF-1.7 2 | 3 | 1 0 obj 4 | << /Length 2 0 R >> 5 | stream 6 | 0.378418 0 0.124512 -0.128418 0.253906 1.085449 d1 7 | 8 | endstream 9 | endobj 10 | 11 | 2 0 obj 12 | 51 13 | endobj 14 | 15 | 3 0 obj 16 | [ 0.378418 ] 17 | endobj 18 | 19 | 4 0 obj 20 | << /Length 5 0 R >> 21 | stream 22 | /CIDInit /ProcSet findresource begin 23 | 12 dict begin 24 | begincmap 25 | /CIDSystemInfo 26 | << /Registry (FigmaPDF) 27 | /Ordering (FigmaPDF) 28 | /Supplement 0 29 | >> def 30 | /CMapName /A-B-C def 31 | /CMapType 2 def 32 | 1 begincodespacerange 33 | <00> 34 | endcodespacerange 35 | 1 beginbfchar 36 | <00> 37 | endbfchar 38 | endcmap 39 | CMapName currentdict /CMap defineresource pop 40 | end 41 | end 42 | endstream 43 | endobj 44 | 45 | 5 0 obj 46 | 336 47 | endobj 48 | 49 | 6 0 obj 50 | << /Subtype /Type3 51 | /CharProcs << /C0 1 0 R >> 52 | /Encoding << /Type /Encoding 53 | /Differences [ 0 /C0 ] 54 | >> 55 | /Widths 3 0 R 56 | /FontBBox [ 0.000000 0.000000 0.000000 0.000000 ] 57 | /FontMatrix [ 1.000000 0.000000 0.000000 1.000000 0.000000 0.000000 ] 58 | /Type /Font 59 | /ToUnicode 4 0 R 60 | /FirstChar 0 61 | /LastChar 0 62 | /Resources << >> 63 | >> 64 | endobj 65 | 66 | 7 0 obj 67 | << /Font << /F1 6 0 R >> 68 | /ExtGState << /E1 << /ca 0.400000 >> >> 69 | >> 70 | endobj 71 | 72 | 8 0 obj 73 | << /Length 9 0 R >> 74 | stream 75 | /DeviceRGB CS 76 | /DeviceRGB cs 77 | q 78 | /E1 gs 79 | 1.000000 -0.000000 0.000000 1.000000 -1.692871 2.177246 cm 80 | 0.000000 0.000000 0.000000 scn 81 | 0.074219 -0.507812 m 82 | h 83 | 2.530762 -2.177246 m 84 | 3.013184 -2.177246 3.375000 -1.828125 3.375000 -1.364746 c 85 | 3.375000 9.502441 l 86 | 3.375000 9.965820 3.013184 10.314941 2.530762 10.314941 c 87 | 2.054688 10.314941 1.692871 9.965820 1.692871 9.502441 c 88 | 1.692871 -1.364746 l 89 | 1.692871 -1.828125 2.054688 -2.177246 2.530762 -2.177246 c 90 | h 91 | f 92 | n 93 | Q 94 | q 95 | 1.000000 -0.000000 0.000000 1.000000 -1.692871 2.177246 cm 96 | BT 97 | 13.000000 0.000000 0.000000 13.000000 0.074219 -0.507812 Tm 98 | /F1 1.000000 Tf 99 | [ (\000) ] TJ 100 | ET 101 | Q 102 | 103 | endstream 104 | endobj 105 | 106 | 9 0 obj 107 | 612 108 | endobj 109 | 110 | 10 0 obj 111 | << /Annots [] 112 | /Type /Page 113 | /MediaBox [ 0.000000 0.000000 1.682129 12.492188 ] 114 | /Resources 7 0 R 115 | /Contents 8 0 R 116 | /Parent 11 0 R 117 | >> 118 | endobj 119 | 120 | 11 0 obj 121 | << /Kids [ 10 0 R ] 122 | /Count 1 123 | /Type /Pages 124 | >> 125 | endobj 126 | 127 | 12 0 obj 128 | << /Type /Catalog 129 | /Pages 11 0 R 130 | >> 131 | endobj 132 | 133 | xref 134 | 0 13 135 | 0000000000 65535 f 136 | 0000000010 00000 n 137 | 0000000117 00000 n 138 | 0000000138 00000 n 139 | 0000000169 00000 n 140 | 0000000561 00000 n 141 | 0000000583 00000 n 142 | 0000000995 00000 n 143 | 0000001088 00000 n 144 | 0000001756 00000 n 145 | 0000001778 00000 n 146 | 0000001952 00000 n 147 | 0000002028 00000 n 148 | trailer 149 | << /ID [ (some) (id) ] 150 | /Root 12 0 R 151 | /Size 13 152 | >> 153 | startxref 154 | 2089 155 | %%EOF -------------------------------------------------------------------------------- /HiddenBar/Common/ProductGlobal.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Global.swift 3 | // Hidden Bar 4 | // 5 | // Created by 上原葉 on 5/16/23. 6 | // Copyright © 2023 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import AppKit 10 | 11 | extension Global { // Global Variables for Product 12 | // Detects RTL type system 13 | public static let isUsingLTRTypeSystem = (NSApplication.shared.userInterfaceLayoutDirection == .leftToRight); 14 | 15 | // Get main operation queue 16 | public static let mainQueue = OperationQueue.main 17 | 18 | // Get main runloop 19 | public static let runLoop = RunLoop.main 20 | } 21 | -------------------------------------------------------------------------------- /HiddenBar/Common/Util.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Util.swift 3 | // vanillaClone 4 | // 5 | // Created by Thanh Nguyen on 1/29/19. 6 | // Copyright © 2019 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import AppKit 10 | import Foundation 11 | //import ServiceManagement 12 | 13 | 14 | 15 | class Util { 16 | 17 | static func hasFullScreenWindow() -> Bool 18 | { 19 | // TODO: A better method detecting active full screen windows to prevent glitching 20 | guard let windows = CGWindowListCopyWindowInfo(CGWindowListOption(rawValue: CGWindowListOption.optionOnScreenOnly.rawValue | CGWindowListOption.excludeDesktopElements.rawValue), kCGNullWindowID) else { 21 | return false 22 | } 23 | 24 | guard let screenFrame = NSScreen.main?.frame else { 25 | return false 26 | } 27 | 28 | for window in windows as NSArray 29 | { 30 | guard let winInfo = window as? NSDictionary, let frameInfo = winInfo["kCGWindowBounds"] as? NSDictionary else { continue } 31 | 32 | if frameInfo["Height"] as? CGFloat == screenFrame.height, frameInfo["Width"] as? CGFloat == screenFrame.width, 33 | frameInfo["X"] as? CGFloat == 0, frameInfo["Y"] as? CGFloat == 0, 34 | winInfo["kCGWindowOwnerName"] as? String != "Dock" 35 | { 36 | #if DEBUG 37 | NSLog("Found full screen window: \(winInfo)") 38 | #endif 39 | return true 40 | } 41 | } 42 | #if DEBUG 43 | NSLog("No full screen window Found.") 44 | #endif 45 | return false 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /HiddenBar/Controllers/AppActivationManager.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppActivationManager.swift 3 | // Hidden Bar 4 | // 5 | // Created by 上原葉 on 8/4/23. 6 | // Copyright © 2023 UeharaYou. All rights reserved. 7 | // 8 | 9 | import AppKit 10 | 11 | class AppActivationManager { 12 | //static private var activationPolicy: NSApplication.ActivationPolicy = .accessory 13 | private let updateLock = NSLock() 14 | 15 | private static let instance = AppActivationManager() 16 | 17 | public static func setup() { 18 | NotificationCenter.default.addObserver(forName: NotificationNames.prefsChanged, object: nil, queue: Global.mainQueue) {[] (notification) in 19 | triggerAdjustment() 20 | } 21 | 22 | // Manually adjusting the bar once 23 | triggerAdjustment() 24 | } 25 | 26 | public static func finishUp() { 27 | } 28 | 29 | private static func triggerAdjustment() { 30 | adjustAppActivation() 31 | } 32 | 33 | private static func adjustAppActivation() { 34 | 35 | //TODO: do not deactivate if preference window is shown 36 | let lock = instance.updateLock 37 | lock.lock(before: Date(timeIntervalSinceNow: 1)) 38 | 39 | let shouldActiveIgnoringOtherApp = !Util.hasFullScreenWindow() 40 | let previousActivationPolicy = NSApp.activationPolicy() 41 | 42 | // Handle Activation Policy 43 | // First Layer Decision: UI State 44 | // Querying before storyboard is ready WILL DEADLOCK the app!!!!!!!!! 45 | if(PreferencesWindowController.isPrefWindowVisible) { 46 | NSApp.setActivationPolicy(.regular) 47 | } 48 | else { 49 | // Second Layer Decision: Preference 50 | switch (PreferenceManager.isUsingFullStatusBar, PreferenceManager.isEditMode, PreferenceManager.statusBarPolicy) { 51 | case (false, _, _), (true, false, .collapsed): 52 | NSApp.setActivationPolicy(.accessory) 53 | case (true, true, _), (true, _, .partialExpand), (true, _, .fullExpand): 54 | NSApp.setActivationPolicy(.regular) 55 | } 56 | } 57 | 58 | // Handle App Activation 59 | switch (previousActivationPolicy, NSApp.activationPolicy()) { 60 | case (.accessory, .regular): 61 | if #available(macOS 14.0, *) { 62 | if (shouldActiveIgnoringOtherApp && !NSApp.isActive) { 63 | NSApp.activate() 64 | } 65 | } 66 | else { 67 | NSApp.activate(ignoringOtherApps: shouldActiveIgnoringOtherApp) 68 | } 69 | case (.regular, .accessory): 70 | if (NSApp.isActive) { 71 | NSApp.deactivate() 72 | } 73 | default: 74 | break; 75 | } 76 | 77 | lock.unlock() 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /HiddenBar/Controllers/AssetManager.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AssetManager.swift 3 | // Hidden Bar 4 | // 5 | // Created by Peter Luo on 2021/5/28. 6 | // Copyright © 2021 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import AppKit 10 | 11 | struct AssetManager { 12 | static let expandImage = NSImage(named: NSImage.Name((Global.isUsingLTRTypeSystem) ? "ic_expand" : "ic_collapse"))!//.withTransparency(0.32) 13 | static let collapseImage = NSImage(named: NSImage.Name((Global.isUsingLTRTypeSystem) ? "ic_collapse" : "ic_expand"))! 14 | static let seperatorImage = NSImage(named: NSImage.Name("ic_line"))! 15 | } 16 | -------------------------------------------------------------------------------- /HiddenBar/Controllers/ContextMenuManager.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContextMenuManager.swift 3 | // Hidden Bar 4 | // 5 | // Created by 上原葉 on 5/21/23. 6 | // Copyright © 2023 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import AppKit 10 | 11 | class ContextMenuManager { 12 | class ContextMenuDelegate:NSObject, NSMenuDelegate { 13 | func confinementRect(for menu: NSMenu, on screen: NSScreen?) -> NSRect { 14 | guard let lscreen = screen else { return NSZeroRect } 15 | return lscreen.visibleFrame 16 | } 17 | } 18 | private static let delegate = ContextMenuDelegate() 19 | private static let instance = ContextMenuManager() 20 | private let contextMenu: NSMenu 21 | private let prefButton: NSMenuItem 22 | private let editToggle: NSMenuItem 23 | private let quitButton: NSMenuItem 24 | private let seperator1 = NSMenuItem.separator() 25 | private let seperator2 = NSMenuItem.separator() 26 | private init() { 27 | let menu = NSMenu() 28 | 29 | let nPrefButton = NSMenuItem(title: "Preferences...".localized, action: #selector(showPreference), keyEquivalent: ",") 30 | nPrefButton.tag = 0 31 | 32 | 33 | let nEditToggle = NSMenuItem(title: "Edit Mode".localized, action: #selector(toggleEdit), keyEquivalent: "e") 34 | nEditToggle.tag = 1 35 | 36 | let nQuitButton = NSMenuItem(title: "Quit".localized, action: #selector(NSApplication.terminate(_:)), keyEquivalent: "q") 37 | nQuitButton.tag = 2 38 | 39 | contextMenu = menu 40 | prefButton = nPrefButton 41 | editToggle = nEditToggle 42 | quitButton = nQuitButton 43 | } 44 | 45 | private func updateMenu() { 46 | editToggle.state = (PreferenceManager.isEditMode) ? .on : .off 47 | } 48 | 49 | public static func setup() { 50 | instance.prefButton.target = instance 51 | instance.editToggle.target = instance 52 | instance.contextMenu.addItem(instance.prefButton) 53 | instance.contextMenu.addItem(instance.seperator1) 54 | instance.contextMenu.addItem(instance.editToggle) 55 | instance.contextMenu.addItem(instance.seperator2) 56 | instance.contextMenu.addItem(instance.quitButton) 57 | 58 | instance.contextMenu.delegate = delegate 59 | 60 | NotificationCenter.default.addObserver(forName: NotificationNames.prefsChanged, object: nil, queue: nil) {[] _ in 61 | instance.updateMenu() 62 | } 63 | instance.updateMenu() 64 | } 65 | 66 | public static func finishUp() { 67 | } 68 | 69 | public static func showContextMenu(_ sender: NSStatusBarButton) { 70 | instance.contextMenu.popUp(positioning: nil, at: .init(x: sender.bounds.minX, y: sender.bounds.minY), in: sender) 71 | } 72 | 73 | @objc func showPreference() { 74 | PreferencesWindowController.showPrefWindow() 75 | } 76 | @objc func toggleEdit() { 77 | PreferenceManager.isEditMode = !PreferenceManager.isEditMode 78 | } 79 | 80 | 81 | } 82 | 83 | -------------------------------------------------------------------------------- /HiddenBar/Controllers/HotKeyManager.swift: -------------------------------------------------------------------------------- 1 | // 2 | // HotKeyManager.swift 3 | // Hidden Bar 4 | // 5 | // Created by 上原葉 on 5/24/23. 6 | // Copyright © 2023 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import HotKey 11 | 12 | class HotKeyManager { 13 | static var hotKey: HotKey? { 14 | didSet { 15 | guard let hotKey = hotKey else { return } 16 | 17 | hotKey.keyDownHandler = { [] in 18 | switch (PreferenceManager.statusBarPolicy) { 19 | case (.collapsed): 20 | PreferenceManager.statusBarPolicy = .partialExpand 21 | default: 22 | PreferenceManager.statusBarPolicy = .collapsed 23 | } 24 | } 25 | } 26 | } 27 | 28 | public static func setup() { 29 | guard let globalKey = PreferenceManager.globalKey else {return} 30 | hotKey = HotKey(keyCombo: KeyCombo(carbonKeyCode: globalKey.keyCode, carbonModifiers: globalKey.carbonFlags)) 31 | } 32 | 33 | public static func finishUp() { 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /HiddenBar/Controllers/PreferenceManager.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PreferenceManager.swift 3 | // Hidden Bar 4 | // 5 | // Created by phucld on 12/18/19. 6 | // Copyright © 2019 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import LaunchAtLogin 11 | 12 | 13 | enum PreferenceKeys { 14 | static let globalKey = "globalKey" 15 | static let numberOfSecondForAutoHide = "numberOfSecondForAutoHide" 16 | //static let isAutoStart = "isAutoStart" 17 | static let isAutoHide = "isAutoHide" 18 | static let isShowPreference = "isShowPreferences" 19 | static let isUsingFullStatusBar = "isUsingFullStatusBar" 20 | static let isEditMode = "isEditMode" 21 | static let statusBarPolicy = "statusBarPolicy" 22 | } 23 | 24 | enum PreferenceManager { 25 | 26 | static func setDefault() -> Void { 27 | UserDefaults.standard.register(defaults: [ 28 | //PreferenceKeys.isAutoStart: false, 29 | PreferenceKeys.isShowPreference: true, 30 | PreferenceKeys.isAutoHide: true, 31 | PreferenceKeys.numberOfSecondForAutoHide: 10.0, 32 | PreferenceKeys.isEditMode: false, 33 | PreferenceKeys.statusBarPolicy: StatusBarPolicy.fullExpand.rawValue, 34 | ]) 35 | } 36 | 37 | static var globalKey: GlobalKeybindPreferences? { 38 | get { 39 | guard let data = UserDefaults.standard.value(forKey: PreferenceKeys.globalKey) as? Data else { return nil } 40 | return try? JSONDecoder().decode(GlobalKeybindPreferences.self, from: data) 41 | } 42 | 43 | set { 44 | guard let data = try? JSONEncoder().encode(newValue) else { return } 45 | UserDefaults.standard.set(data, forKey: PreferenceKeys.globalKey) 46 | 47 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.globalKey)) 48 | } 49 | } 50 | 51 | static var isAutoStart: Bool { 52 | get { 53 | return LaunchAtLogin.isEnabled 54 | } 55 | 56 | set { 57 | LaunchAtLogin.isEnabled = newValue 58 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.isAutoStart)) 59 | } 60 | } 61 | 62 | /* 63 | static var isAutoStart: Bool { 64 | get { 65 | return UserDefaults.standard.bool(forKey: PreferenceKeys.isAutoStart) 66 | } 67 | 68 | set { 69 | UserDefaults.standard.set(newValue, forKey: PreferenceKeys.isAutoStart) 70 | 71 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: Preferences.isAutoStart)) 72 | } 73 | } 74 | */ 75 | 76 | static var numberOfSecondForAutoHide: Double { 77 | get { 78 | UserDefaults.standard.double(forKey: PreferenceKeys.numberOfSecondForAutoHide) 79 | } 80 | 81 | set { 82 | UserDefaults.standard.set(newValue, forKey: PreferenceKeys.numberOfSecondForAutoHide) 83 | 84 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.numberOfSecondForAutoHide)) 85 | } 86 | } 87 | 88 | static var isAutoHide: Bool { 89 | get { 90 | UserDefaults.standard.bool(forKey: PreferenceKeys.isAutoHide) 91 | } 92 | 93 | set { 94 | UserDefaults.standard.set(newValue, forKey: PreferenceKeys.isAutoHide) 95 | 96 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.isAutoHide)) 97 | } 98 | } 99 | 100 | static var isShowPreference: Bool { 101 | get { 102 | UserDefaults.standard.bool(forKey: PreferenceKeys.isShowPreference) 103 | } 104 | 105 | set { 106 | UserDefaults.standard.set(newValue, forKey: PreferenceKeys.isShowPreference) 107 | 108 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.isShowPreference)) 109 | } 110 | } 111 | 112 | static var statusBarPolicy: StatusBarPolicy { 113 | get { 114 | let value = UserDefaults.standard.integer(forKey: PreferenceKeys.statusBarPolicy) 115 | switch (value) { 116 | case 1: 117 | return .fullExpand 118 | case 2: 119 | return .partialExpand 120 | case 0: 121 | return .collapsed 122 | default: 123 | NSLog("Warning: Preference \"statusBarPolicy\" value undefined, default to 0") 124 | return .collapsed 125 | } 126 | 127 | } 128 | 129 | set { 130 | var num = -1; 131 | switch (newValue) { 132 | case .fullExpand: 133 | num = 1 134 | case .partialExpand: 135 | num = 2 136 | case .collapsed: 137 | num = 0 138 | } 139 | UserDefaults.standard.set(num, forKey: PreferenceKeys.statusBarPolicy) 140 | 141 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.statusBarPolicy)) 142 | } 143 | } 144 | 145 | static var isUsingFullStatusBar: Bool { 146 | get { 147 | UserDefaults.standard.bool(forKey: PreferenceKeys.isUsingFullStatusBar) 148 | } 149 | 150 | set { 151 | UserDefaults.standard.set(newValue, forKey: PreferenceKeys.isUsingFullStatusBar) 152 | 153 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.isUsingFullStatusBar)) 154 | } 155 | } 156 | 157 | static var isEditMode: Bool { 158 | get { 159 | UserDefaults.standard.bool(forKey: PreferenceKeys.isEditMode) 160 | } 161 | 162 | set { 163 | UserDefaults.standard.set(newValue, forKey: PreferenceKeys.isEditMode) 164 | 165 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.isEditMode)) 166 | } 167 | } 168 | 169 | } 170 | -------------------------------------------------------------------------------- /HiddenBar/Controllers/StatusBarManager.swift: -------------------------------------------------------------------------------- 1 | // 2 | // StatusBarManager.swift 3 | // vanillaClone 4 | // 5 | // Created by Thanh Nguyen on 1/30/19. 6 | // Copyright © 2019 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import AppKit 10 | 11 | enum StatusBarPolicy:Int { 12 | case collapsed = 0, fullExpand = 1, partialExpand = 2 13 | } 14 | 15 | class StatusBarManager { 16 | 17 | enum StatusBarValidity { 18 | case invalid; case onStartUp; case valid 19 | } 20 | 21 | private let masterToggle = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength) 22 | private let primarySeprator = NSStatusBar.system.statusItem(withLength: 0) 23 | private let secondarySeprator = NSStatusBar.system.statusItem(withLength: 0) 24 | private let updateLock = NSLock() 25 | private var autoCollapseTimer: Timer? = nil 26 | 27 | private static let hiddenSepratorLength: CGFloat = 0 28 | private static let normalSepratorLength: CGFloat = 10 29 | private static let expandedSeperatorLength: CGFloat = 10000 30 | 31 | public static func areSeperatorPositionValid () -> StatusBarValidity { 32 | guard 33 | let toggleButtonX = instance.masterToggle.button?.getOrigin?.x, 34 | let primarySepratorX = instance.primarySeprator.button?.getOrigin?.x, 35 | let secondarySepratorX = instance.secondarySeprator.button?.getOrigin?.x 36 | else {return .invalid} 37 | 38 | // all x will be all equal if applicationDidFinishLaunching have not returned, so we have to try again 39 | if toggleButtonX == primarySepratorX && primarySepratorX == secondarySepratorX {return .onStartUp} 40 | 41 | if Global.isUsingLTRTypeSystem { 42 | return (toggleButtonX > primarySepratorX && primarySepratorX > secondarySepratorX) ? .valid : .invalid 43 | } else { 44 | return (toggleButtonX < primarySepratorX && primarySepratorX < secondarySepratorX) ? .valid : .invalid 45 | } 46 | } 47 | 48 | @objc private static func toggleButtonPressed(sender: NSStatusBarButton) { 49 | if let event = NSApp.currentEvent { 50 | 51 | let isOptionKeyPressed = event.modifierFlags.contains(NSEvent.ModifierFlags.option) 52 | let isControlKeyPressed = event.modifierFlags.contains(NSEvent.ModifierFlags.control) 53 | 54 | switch (event.type, isOptionKeyPressed, isControlKeyPressed) { 55 | case (NSEvent.EventType.leftMouseUp, false, false): 56 | if (PreferenceManager.statusBarPolicy != .collapsed) {PreferenceManager.statusBarPolicy = .collapsed} 57 | else {PreferenceManager.statusBarPolicy = .partialExpand} 58 | PreferenceManager.isEditMode = false 59 | case (NSEvent.EventType.leftMouseUp, true, false): 60 | if (PreferenceManager.statusBarPolicy != .collapsed) {PreferenceManager.statusBarPolicy = .collapsed} 61 | else {PreferenceManager.statusBarPolicy = .fullExpand} 62 | PreferenceManager.isEditMode = false 63 | case (NSEvent.EventType.rightMouseUp, _, _): 64 | fallthrough 65 | case (NSEvent.EventType.leftMouseUp, _, true): 66 | ContextMenuManager.showContextMenu(sender) 67 | default: 68 | break 69 | } 70 | } 71 | } 72 | 73 | private static let instance = StatusBarManager() 74 | private init() { 75 | if let button = masterToggle.button { 76 | button.image = AssetManager.expandImage 77 | } 78 | 79 | if let button = primarySeprator.button { 80 | button.image = AssetManager.seperatorImage 81 | } 82 | 83 | if let button = secondarySeprator.button { 84 | button.image = AssetManager.seperatorImage 85 | button.appearsDisabled = true 86 | } 87 | masterToggle.autosaveName = "hiddenbar_masterToggle"; 88 | primarySeprator.autosaveName = "hiddenbar_primarySeprator"; 89 | secondarySeprator.autosaveName = "hiddenbar_secondarySeprator"; 90 | NSLog("Status bar controller inited.") 91 | } 92 | 93 | public static func setup() { 94 | 95 | let masterToggle = instance.masterToggle, 96 | primarySeprator = instance.primarySeprator, 97 | secondarySeprator = instance.secondarySeprator 98 | 99 | if let button = masterToggle.button { 100 | button.target = self 101 | button.action = #selector(toggleButtonPressed(sender:)) 102 | button.sendAction(on: [.leftMouseUp, .rightMouseUp]) 103 | } 104 | // This won't work: blocking action to be sent. 105 | //let menu = StatusBarMenuManager.getContextMenu() 106 | //masterToggle.menu = menu 107 | 108 | masterToggle.isVisible = true 109 | primarySeprator.isVisible = true 110 | secondarySeprator.isVisible = true 111 | 112 | NotificationCenter.default.addObserver(forName: NotificationNames.prefsChanged, object: nil, queue: Global.mainQueue) {[] (notification) in 113 | triggerAdjustment() 114 | } 115 | 116 | // Manually adjusting the bar once 117 | triggerAdjustment() 118 | } 119 | 120 | public static func finishUp() { 121 | } 122 | 123 | private static func triggerAdjustment() { 124 | switch areSeperatorPositionValid() { 125 | case .onStartUp: 126 | Timer.scheduledTimer(withTimeInterval: 1, repeats: false) { _ in 127 | // retry on more time after 1s 128 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.isAutoStart)) 129 | } 130 | fallthrough 131 | case .valid: 132 | resetAutoCollapseTimer() 133 | adjustStatusBar() 134 | case .invalid: 135 | resetSeperator() 136 | } 137 | } 138 | 139 | private static func resetSeperator () { 140 | let masterToggle = instance.masterToggle, 141 | primarySeprator = instance.primarySeprator, 142 | secondarySeprator = instance.secondarySeprator, 143 | lock = instance.updateLock 144 | lock.lock(before: Date(timeIntervalSinceNow: 1)) 145 | primarySeprator.length = StatusBarManager.normalSepratorLength 146 | secondarySeprator.length = StatusBarManager.normalSepratorLength 147 | masterToggle.button?.image = AssetManager.collapseImage 148 | masterToggle.button?.title = "Invalid".localized 149 | lock.unlock() 150 | } 151 | 152 | private static func resetAutoCollapseTimer () { 153 | let lock = instance.updateLock 154 | do { 155 | lock.lock(before: Date(timeIntervalSinceNow: 1)) 156 | defer {lock.unlock()} 157 | //NSLog("Timer Cancelled:\(String(describing: instance.autoCollapseTimer)).") 158 | instance.autoCollapseTimer?.invalidate() 159 | switch (PreferenceManager.isAutoHide, PreferenceManager.isEditMode, PreferenceManager.statusBarPolicy) { 160 | case (false, _, _), (_, true, _), (_, _, .collapsed): 161 | return 162 | default: 163 | break 164 | } 165 | let timer = Timer(timeInterval: TimeInterval(PreferenceManager.numberOfSecondForAutoHide), repeats: false) { 166 | [] (timer:Timer) in 167 | //NSLog("Timer Triggered:\(timer).") 168 | PreferenceManager.statusBarPolicy = .collapsed 169 | return 170 | } 171 | //NSLog("Timer Dispatched:\(timer).") 172 | Global.runLoop.add(timer, forMode: .common) 173 | instance.autoCollapseTimer = timer 174 | } 175 | } 176 | 177 | private static func adjustStatusBar () { 178 | let masterToggle = instance.masterToggle, 179 | primarySeprator = instance.primarySeprator, 180 | secondarySeprator = instance.secondarySeprator, 181 | lock = instance.updateLock 182 | 183 | lock.lock(before: Date(timeIntervalSinceNow: 1)) 184 | if PreferenceManager.isEditMode { 185 | primarySeprator.length = StatusBarManager.normalSepratorLength 186 | //primarySeprator.isVisible = true 187 | secondarySeprator.length = StatusBarManager.normalSepratorLength 188 | //secondarySeprator.isVisible = true 189 | masterToggle.button?.image = AssetManager.collapseImage 190 | masterToggle.button?.title = "Edit".localized 191 | 192 | } 193 | else { 194 | switch PreferenceManager.statusBarPolicy { 195 | case .fullExpand: 196 | primarySeprator.length = StatusBarManager.hiddenSepratorLength 197 | //primarySeprator.isVisible = false 198 | secondarySeprator.length = StatusBarManager.hiddenSepratorLength 199 | //secondarySeprator.isVisible = false 200 | masterToggle.button?.image = AssetManager.collapseImage 201 | masterToggle.button?.title = "" 202 | 203 | case .partialExpand: 204 | primarySeprator.length = StatusBarManager.hiddenSepratorLength 205 | //primarySeprator.isVisible = false 206 | secondarySeprator.length = StatusBarManager.expandedSeperatorLength 207 | //secondarySeprator.isVisible = true 208 | masterToggle.button?.image = AssetManager.collapseImage 209 | masterToggle.button?.title = "" 210 | 211 | case .collapsed: 212 | primarySeprator.length = StatusBarManager.expandedSeperatorLength 213 | //primarySeprator.isVisible = true 214 | secondarySeprator.length = StatusBarManager.expandedSeperatorLength 215 | //secondarySeprator.isVisible = true 216 | masterToggle.button?.image = AssetManager.expandImage 217 | masterToggle.button?.title = "" 218 | 219 | } 220 | } 221 | lock.unlock() 222 | } 223 | } 224 | 225 | -------------------------------------------------------------------------------- /HiddenBar/Extensions/Bundle+Extension.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Bundle+Extension.swift 3 | // Hidden Bar 4 | // 5 | // Created by phucld on 12/19/19. 6 | // Copyright © 2019 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | extension Bundle { 12 | var releaseVersionNumber: String? { 13 | return infoDictionary?["CFBundleShortVersionString"] as? String 14 | } 15 | var buildVersionNumber: String? { 16 | return infoDictionary?["CFBundleVersion"] as? String 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /HiddenBar/Extensions/Date+Extension.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Date+Extension.swift 3 | // Hidden Bar 4 | // 5 | // Created by Trung Phan on 22/03/2021. 6 | // Copyright © 2021 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | extension Date { 12 | static func dateString() -> String { 13 | let dateFormater = DateFormatter() 14 | dateFormater.dateFormat = "EEE dd MMM" 15 | return dateFormater.string(from: Date()) 16 | } 17 | static func timeString() -> String { 18 | let dateFormater = DateFormatter() 19 | dateFormater.dateFormat = "hh:mm a" 20 | return dateFormater.string(from: Date()) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /HiddenBar/Extensions/HyperlinkTextField.swift: -------------------------------------------------------------------------------- 1 | // 2 | // HyperlinkTextField.swift 3 | // Hidden Bar 4 | // 5 | // Created by phucld on 12/19/19. 6 | // Copyright © 2019 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import Cocoa 11 | 12 | @IBDesignable 13 | class HyperlinkTextField: NSTextField { 14 | 15 | @IBInspectable var href: String = "" 16 | 17 | override func resetCursorRects() { 18 | discardCursorRects() 19 | addCursorRect(self.bounds, cursor: NSCursor.pointingHand) 20 | } 21 | 22 | override func awakeFromNib() { 23 | super.awakeFromNib() 24 | 25 | // TODO: Fix this and get the hover click to work. 26 | } 27 | 28 | override func mouseDown(with theEvent: NSEvent) { 29 | if let localHref = URL(string: href) { 30 | NSWorkspace.shared.open(localHref) 31 | } 32 | } 33 | } 34 | 35 | -------------------------------------------------------------------------------- /HiddenBar/Extensions/NSBarButtonItem+Extension.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NSBarButtonItem+Extension.swift 3 | // vanillaClone 4 | // 5 | // Created by Thanh Nguyen on 1/29/19. 6 | // Copyright © 2019 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import AppKit 11 | 12 | extension NSStatusBarButton { 13 | class func collapseBarButtonItem() -> NSStatusBarButton { 14 | let btnDot = NSStatusBarButton() 15 | btnDot.title = "" 16 | btnDot.sendAction(on: [.leftMouseUp, .rightMouseUp]) 17 | btnDot.frame = NSRect(x: 0, y: 0, width: 24, height: 24) 18 | return btnDot 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /HiddenBar/Extensions/NSImage+Extension.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NSImage+Extension.swift 3 | // Hidden Bar 4 | // 5 | // Created by 上原葉 on 7/23/23. 6 | // Copyright © 2023 UeharaYou. All rights reserved. 7 | // 8 | 9 | import AppKit 10 | 11 | extension NSImage { 12 | func withTransparency(_ alpha: CGFloat) -> NSImage { 13 | let newImage = NSImage(size: self.size) 14 | newImage.lockFocus() 15 | 16 | let imageRect = NSRect(origin: .zero, size: self.size) 17 | self.draw(in: imageRect, from: imageRect, operation: .sourceOver, fraction: alpha) 18 | 19 | newImage.unlockFocus() 20 | return newImage 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /HiddenBar/Extensions/NSView+Extension.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NSView+Extension.swift 3 | // vanillaClone 4 | // 5 | // Created by Thanh Nguyen on 1/29/19. 6 | // Copyright © 2019 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import AppKit 11 | extension NSView { 12 | var getOrigin:CGPoint? { 13 | return self.window?.frame.origin 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HiddenBar/Extensions/NSWindow+Extension.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NSWindow+Extension.swift 3 | // Hidden Bar 4 | // 5 | // Created by phucld on 3/6/20. 6 | // Copyright © 2020 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import AppKit 10 | 11 | extension NSWindow { 12 | func bringToFront() { 13 | self.makeKeyAndOrderFront(nil) 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /HiddenBar/Extensions/Notification.Name+Extension.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Notification.Name+Extension.swift 3 | // Hidden Bar 4 | // 5 | // Created by Peter Luo on 2020/6/26. 6 | // Copyright © 2020 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import Cocoa 10 | 11 | class NotificationNames { 12 | 13 | static let prefsChanged = Notification.Name("prefsChanged") 14 | static let anotherInstanceLaunched = Notification.Name("anotherInstanceLaunched") 15 | } 16 | -------------------------------------------------------------------------------- /HiddenBar/Extensions/StackView+Extension.swift: -------------------------------------------------------------------------------- 1 | // 2 | // StackView+Extension.swift 3 | // Hidden Bar 4 | // 5 | // Created by Trung Phan on 22/03/2021. 6 | // Copyright © 2021 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import Cocoa 10 | 11 | extension NSStackView { 12 | func removeAllSubViews() { 13 | for view in self.views { 14 | view.removeFromSuperview() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /HiddenBar/Extensions/String+Extension.swift: -------------------------------------------------------------------------------- 1 | // 2 | // String+Extension.swift 3 | // Hidden Bar 4 | // 5 | // Created by Licardo on 2020/3/9. 6 | // Copyright © 2020 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | extension String { 12 | 13 | // localize 14 | var localized: String { 15 | return NSLocalizedString(self, comment: self) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /HiddenBar/Hidden.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.files.user-selected.read-only 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /HiddenBar/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | $(MARKETING_VERSION) 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | LSApplicationCategoryType 24 | public.app-category.utilities 25 | LSMinimumSystemVersion 26 | $(MACOSX_DEPLOYMENT_TARGET) 27 | LSUIElement 28 | 29 | NSHumanReadableCopyright 30 | Copyright © 2024 UeharaYou. All rights reserved. 31 | NSMainStoryboardFile 32 | Main 33 | NSPrincipalClass 34 | NSApplication 35 | 36 | 37 | -------------------------------------------------------------------------------- /HiddenBar/Main.swift: -------------------------------------------------------------------------------- 1 | // 2 | // main.swift 3 | // Hidden Bar 4 | // 5 | // Created by 上原葉 on 5/16/23. 6 | // Copyright © 2023 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import AppKit 10 | 11 | @main struct MyApp { 12 | 13 | static func main () -> Void { 14 | // Check for duplicated instances (in case of "open -n" command or other circumstances). 15 | let otherRunningInstances = NSWorkspace.shared.runningApplications.filter { 16 | $0.bundleIdentifier == Global.mainAppId && $0 != NSRunningApplication.current 17 | } 18 | let isAppAlreadyRunning = !otherRunningInstances.isEmpty 19 | 20 | if (isAppAlreadyRunning) { 21 | NSLog("Program already running: \(otherRunningInstances.map{$0.processIdentifier}).") 22 | } 23 | else { 24 | // Register user default 25 | PreferenceManager.setDefault() 26 | 27 | // Load main entry for NSApp 28 | NSLog("App started.") 29 | let ret_val = NSApplicationMain(CommandLine.argc, CommandLine.unsafeArgv) 30 | NSLog("App exited with exit code: \(ret_val).") 31 | } 32 | return 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /HiddenBar/MetaAssets/HiddenBar.sketch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/MetaAssets/HiddenBar.sketch -------------------------------------------------------------------------------- /HiddenBar/ProjectGlobal.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Global.swift 3 | // Hidden Bar 4 | // 5 | // Created by 上原葉 on 5/16/23. 6 | // Copyright © 2023 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | enum Global { 12 | // Global Variables for Project 13 | static let appName = "Minimal Bar" 14 | static let mainAppId = "moe.ueharayou.MinimalBar" 15 | } 16 | -------------------------------------------------------------------------------- /HiddenBar/UserInterfaces/AboutViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AboutViewController.swift 3 | // Hidden Bar 4 | // 5 | // Created by phucld on 12/19/19. 6 | // Copyright © 2019 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import Cocoa 10 | 11 | class AboutViewController: NSViewController { 12 | 13 | @IBOutlet weak var lblVersion: NSTextField! 14 | 15 | static func initWithStoryboard() -> AboutViewController { 16 | let vc = NSStoryboard(name:"Main", bundle: nil).instantiateController(withIdentifier: "aboutVC") as! AboutViewController 17 | return vc 18 | } 19 | 20 | 21 | override func viewDidLoad() { 22 | super.viewDidLoad() 23 | setupUI() 24 | } 25 | 26 | private func setupUI() { 27 | guard let version = Bundle.main.releaseVersionNumber, 28 | let buildNumber = Bundle.main.buildVersionNumber else { return } 29 | lblVersion.stringValue += " \(version) (\(buildNumber))" 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /HiddenBar/UserInterfaces/PreferencesViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // vanillaClone 4 | // 5 | // Created by Thanh Nguyen on 1/24/19. 6 | // Copyright © 2019 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import Cocoa 10 | import Carbon 11 | import HotKey 12 | 13 | class PreferencesViewController: NSViewController { 14 | 15 | 16 | //MARK: - Outlets 17 | 18 | @IBOutlet weak var textFieldTitle: NSTextField! 19 | @IBOutlet weak var statusBarStackView: NSStackView! 20 | @IBOutlet weak var arrowPointToHiddenImage: NSImageView! 21 | @IBOutlet weak var arrowPointToAlwayHiddenImage: NSImageView! 22 | @IBOutlet weak var lblAlwayHidden: NSTextField! 23 | 24 | @IBOutlet weak var checkBoxAutoHide: NSButton! 25 | @IBOutlet weak var checkBoxLogin: NSButton! 26 | 27 | @IBOutlet weak var checkBoxUseFullStatusbar: NSButton! 28 | @IBOutlet weak var timePopup: NSPopUpButton! 29 | 30 | @IBOutlet weak var btnClear: NSButton! 31 | @IBOutlet weak var btnShortcut: NSButton! 32 | 33 | public var listening = false { 34 | didSet { 35 | let isHighlight = listening 36 | 37 | DispatchQueue.main.async { [weak self] in 38 | self?.btnShortcut.highlight(isHighlight) 39 | } 40 | } 41 | } 42 | 43 | //MARK: - VC Life cycle 44 | override func viewDidLoad() { 45 | super.viewDidLoad() 46 | updateData() 47 | loadHotkey() 48 | createTutorialView() 49 | 50 | NotificationCenter.default.addObserver(forName: NotificationNames.prefsChanged, object: nil, queue: nil) { 51 | [weak self] notification in 52 | guard let target = self else {return} 53 | target.updateData() 54 | } 55 | 56 | } 57 | 58 | static func initWithStoryboard() -> PreferencesViewController { 59 | let vc = NSStoryboard(name:"Main", bundle: nil).instantiateController(withIdentifier: "prefVC") as! PreferencesViewController 60 | return vc 61 | } 62 | 63 | //MARK: - Actions 64 | @IBAction func loginCheckChanged(_ sender: NSButton) { 65 | PreferenceManager.isAutoStart = sender.state == .on 66 | } 67 | 68 | @IBAction func autoHideCheckChanged(_ sender: NSButton) { 69 | PreferenceManager.isAutoHide = sender.state == .on 70 | } 71 | 72 | @IBAction func useFullStatusBarOnExpandChanged(_ sender: NSButton) { 73 | PreferenceManager.isUsingFullStatusBar = sender.state == .on 74 | } 75 | 76 | 77 | @IBAction func timePopupDidSelected(_ sender: NSPopUpButton) { 78 | let selectedIndex = sender.indexOfSelectedItem 79 | if let selectedInSecond = SelectedSecond(rawValue: selectedIndex)?.toSeconds() { 80 | PreferenceManager.numberOfSecondForAutoHide = selectedInSecond 81 | } 82 | } 83 | 84 | // When the set shortcut button is pressed start listening for the new shortcut 85 | @IBAction func register(_ sender: Any) { 86 | listening = true 87 | view.window?.makeFirstResponder(nil) 88 | } 89 | 90 | // If the shortcut is cleared, clear the UI and tell AppDelegate to stop listening to the previous keybind. 91 | @IBAction func unregister(_ sender: Any?) { 92 | HotKeyManager.hotKey = nil 93 | btnShortcut.title = "Set Shortcut".localized 94 | listening = false 95 | btnClear.isEnabled = false 96 | 97 | // Remove globalkey from userdefault 98 | PreferenceManager.globalKey = nil 99 | } 100 | 101 | public func updateGlobalShortcut(_ event: NSEvent) { 102 | self.listening = false 103 | 104 | guard let characters = event.charactersIgnoringModifiers else {return} 105 | 106 | let newGlobalKeybind = GlobalKeybindPreferences( 107 | function: event.modifierFlags.contains(.function), 108 | control: event.modifierFlags.contains(.control), 109 | command: event.modifierFlags.contains(.command), 110 | shift: event.modifierFlags.contains(.shift), 111 | option: event.modifierFlags.contains(.option), 112 | capsLock: event.modifierFlags.contains(.capsLock), 113 | carbonFlags: event.modifierFlags.carbonFlags, 114 | characters: characters, 115 | keyCode: uint32(event.keyCode)) 116 | 117 | PreferenceManager.globalKey = newGlobalKeybind 118 | 119 | updateKeybindButton(newGlobalKeybind) 120 | btnClear.isEnabled = true 121 | HotKeyManager.hotKey = HotKey(keyCombo: KeyCombo(carbonKeyCode: UInt32(event.keyCode), carbonModifiers: event.modifierFlags.carbonFlags)) 122 | } 123 | 124 | public func updateModiferFlags(_ event: NSEvent) { 125 | let newGlobalKeybind = GlobalKeybindPreferences( 126 | function: event.modifierFlags.contains(.function), 127 | control: event.modifierFlags.contains(.control), 128 | command: event.modifierFlags.contains(.command), 129 | shift: event.modifierFlags.contains(.shift), 130 | option: event.modifierFlags.contains(.option), 131 | capsLock: event.modifierFlags.contains(.capsLock), 132 | carbonFlags: 0, 133 | characters: nil, 134 | keyCode: uint32(event.keyCode)) 135 | 136 | updateModifierbindButton(newGlobalKeybind) 137 | 138 | } 139 | 140 | @objc private func updateData(){ 141 | checkBoxUseFullStatusbar.state = PreferenceManager.isUsingFullStatusBar ? .on : .off 142 | checkBoxLogin.state = PreferenceManager.isAutoStart ? .on : .off 143 | checkBoxAutoHide.state = PreferenceManager.isAutoHide ? .on : .off 144 | //checkBoxShowPreferences.state = Preferences.isShowPreference ? .on : .off 145 | //checkBoxShowAlwaysHiddenSection.state = Preferences.statusBarPolicy == .fullExpand ? .on : .off 146 | timePopup.selectItem(at: SelectedSecond.secondToPossition(seconds: PreferenceManager.numberOfSecondForAutoHide)) 147 | } 148 | 149 | private func loadHotkey() { 150 | if let globalKey = PreferenceManager.globalKey { 151 | updateKeybindButton(globalKey) 152 | updateClearButton(globalKey) 153 | } 154 | } 155 | 156 | // Set the shortcut button to show the keys to press 157 | private func updateKeybindButton(_ globalKeybindPreference : GlobalKeybindPreferences) { 158 | btnShortcut.title = globalKeybindPreference.description 159 | 160 | if globalKeybindPreference.description.count <= 1 { 161 | unregister(nil) 162 | } 163 | } 164 | 165 | // Set the shortcut button to show the modifier to press 166 | private func updateModifierbindButton(_ globalKeybindPreference : GlobalKeybindPreferences) { 167 | btnShortcut.title = globalKeybindPreference.description 168 | 169 | if globalKeybindPreference.description.isEmpty { 170 | unregister(nil) 171 | } 172 | } 173 | 174 | // If a keybind is set, allow users to clear it by enabling the clear button. 175 | private func updateClearButton(_ globalKeybindPreference : GlobalKeybindPreferences?) { 176 | btnClear.isEnabled = globalKeybindPreference != nil 177 | } 178 | 179 | func createTutorialView() { 180 | lblAlwayHidden.isHidden = false 181 | arrowPointToAlwayHiddenImage.isHidden = false 182 | statusBarStackView.removeAllSubViews() 183 | let imageWidth: CGFloat = 16 184 | 185 | 186 | let images = ["ico_1","ico_2","ico_3","ico_4", "seprated_1","ico_5","ico_6","seprated", "ico_collapse","ico_7"].map { imageName in 187 | NSImageView(image: NSImage(named: imageName)!) 188 | } 189 | 190 | 191 | for image in images { 192 | statusBarStackView.addArrangedSubview(image) 193 | image.translatesAutoresizingMaskIntoConstraints = false 194 | NSLayoutConstraint.activate([ 195 | image.widthAnchor.constraint(equalToConstant: imageWidth), 196 | image.heightAnchor.constraint(equalToConstant: imageWidth) 197 | 198 | ]) 199 | if #available(OSX 10.14, *) { 200 | image.contentTintColor = .labelColor 201 | } else { 202 | // Fallback on earlier versions 203 | } 204 | } 205 | let dateTimeLabel = NSTextField() 206 | dateTimeLabel.stringValue = Date.dateString() + " " + Date.timeString() 207 | dateTimeLabel.translatesAutoresizingMaskIntoConstraints = false 208 | dateTimeLabel.isBezeled = false 209 | dateTimeLabel.isEditable = false 210 | dateTimeLabel.sizeToFit() 211 | dateTimeLabel.backgroundColor = .clear 212 | statusBarStackView.addArrangedSubview(dateTimeLabel) 213 | NSLayoutConstraint.activate([dateTimeLabel.heightAnchor.constraint(equalToConstant: imageWidth) 214 | ]) 215 | 216 | NSLayoutConstraint.activate([ 217 | arrowPointToAlwayHiddenImage.centerXAnchor.constraint(equalTo: statusBarStackView.arrangedSubviews[4].centerXAnchor) 218 | ]) 219 | NSLayoutConstraint.activate([ 220 | arrowPointToHiddenImage.centerXAnchor.constraint(equalTo: statusBarStackView.arrangedSubviews[7].centerXAnchor) 221 | ]) 222 | } 223 | 224 | @IBAction func btnAlwayHiddenHelpPressed(_ sender: NSButton) { 225 | self.showHowToUseAlwayHiddenPopover(sender: sender) 226 | } 227 | 228 | private func showHowToUseAlwayHiddenPopover(sender: NSButton) { 229 | let controller = NSViewController() 230 | let label = NSTextField() 231 | let text = NSLocalizedString("Tutorial text", comment: "Step by step tutorial") 232 | 233 | label.stringValue = text 234 | label.isBezeled = false 235 | label.isEditable = false 236 | let view = NSView() 237 | view.addSubview(label) 238 | NSLayoutConstraint.activate([ 239 | label.topAnchor.constraint(equalTo: view.topAnchor), 240 | label.bottomAnchor.constraint(equalTo: view.bottomAnchor), 241 | label.leadingAnchor.constraint(equalTo: view.leadingAnchor), 242 | label.trailingAnchor.constraint(equalTo: view.trailingAnchor) 243 | ]) 244 | label.translatesAutoresizingMaskIntoConstraints = false 245 | controller.view = view 246 | 247 | let popover = NSPopover() 248 | popover.contentViewController = controller 249 | popover.contentSize = controller.view.frame.size 250 | 251 | popover.behavior = .transient 252 | popover.animates = true 253 | 254 | popover.show(relativeTo: self.view.bounds, of: sender , preferredEdge: NSRectEdge.maxX) 255 | } 256 | } 257 | -------------------------------------------------------------------------------- /HiddenBar/UserInterfaces/PreferencesWindowController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PreferencesWindowController.swift 3 | // Hidden Bar 4 | // 5 | // Created by Phuc Le Dien on 2/22/19. 6 | // Copyright © 2019 Dwarves Foundation. All rights reserved. 7 | // 8 | 9 | import Cocoa 10 | 11 | class PreferencesWindowController: NSWindowController { 12 | 13 | enum MenuSegment: Int { 14 | case general 15 | case about 16 | } 17 | 18 | static private let instance: PreferencesWindowController = { 19 | let wc = NSStoryboard(name:"Main", bundle: nil).instantiateController(withIdentifier: "MainWindow") as! PreferencesWindowController 20 | wc.window?.delegate = PreferencesWindowDelegate.shared 21 | return wc 22 | }() 23 | 24 | //private static var isWindowVisible = false 25 | 26 | private var menuSegment: MenuSegment = .general { 27 | didSet { 28 | updateVC() 29 | } 30 | } 31 | 32 | private let preferencesVC = PreferencesViewController.initWithStoryboard() 33 | 34 | private let aboutVC = AboutViewController.initWithStoryboard() 35 | 36 | override func windowDidLoad() { 37 | super.windowDidLoad() // this is invoked when private instance is inited (not available until it returns) 38 | Timer.scheduledTimer(withTimeInterval: 1, repeats: false) { _ in 39 | // retry on more time after 1s 40 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.isAutoStart)) 41 | } 42 | //NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: nil)) // HERE! DEADLOCKED!!!! 43 | updateVC() 44 | } 45 | 46 | override func keyDown(with event: NSEvent) { 47 | super.keyDown(with: event) 48 | if let vc = self.contentViewController as? PreferencesViewController, vc.listening { 49 | vc.updateGlobalShortcut(event) 50 | } 51 | } 52 | 53 | override func flagsChanged(with event: NSEvent) { 54 | super.flagsChanged(with: event) 55 | if let vc = self.contentViewController as? PreferencesViewController, vc.listening { 56 | vc.updateModiferFlags(event) 57 | } 58 | } 59 | 60 | @IBAction func switchSegment(_ sender: NSSegmentedControl) { 61 | guard let segment = MenuSegment(rawValue: sender.indexOfSelectedItem) else {return} 62 | menuSegment = segment 63 | } 64 | 65 | private func updateVC() { 66 | switch menuSegment { 67 | case .general: 68 | self.window?.contentViewController = preferencesVC 69 | case .about: 70 | self.window?.contentViewController = aboutVC 71 | } 72 | } 73 | 74 | static func showPrefWindow() { 75 | instance.window?.bringToFront() 76 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.isAutoStart)) 77 | } 78 | 79 | static var isPrefWindowVisible: Bool { 80 | let res = instance.window?.isVisible ?? false 81 | return res 82 | //return isWindowVisible 83 | } 84 | } 85 | 86 | 87 | class PreferencesWindowDelegate: NSObject, NSWindowDelegate { 88 | static let shared: PreferencesWindowDelegate = { 89 | return PreferencesWindowDelegate() 90 | }() 91 | 92 | 93 | func windowWillClose(_ notification: Notification) { 94 | Timer.scheduledTimer(withTimeInterval: 0.1, repeats: false) { _ in 95 | // retry on more time after 0.1s 96 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.isAutoStart)) 97 | } 98 | } 99 | 100 | } 101 | 102 | -------------------------------------------------------------------------------- /HiddenBar/ar.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | /* (No Comment) */ 2 | "Edit" = "التحرير"; 3 | 4 | /* (No Comment) */ 5 | "Edit Mode" = "وضع التحرير"; 6 | 7 | /* (No Comment) */ 8 | "Invalid" = "غير صالح"; 9 | 10 | /* Localizable.strings 11 | Hidden Bar 12 | 13 | Created by Licardo on 2020/3/9. 14 | Copyright © 2020 Dwarves Foundation. All rights reserved. */ 15 | "Preferences..." = "تفضيلات..."; 16 | 17 | /* (No Comment) */ 18 | "Quit" = "إنهاء"; 19 | 20 | /* (No Comment) */ 21 | "Set Shortcut" = "عين اختصارا"; 22 | 23 | /* Step by step tutorial */ 24 | "Tutorial text" = "\nالإستعمال:\n1. انقر فوق مفتاح التبديل الرئيسي (\"<\") لتوسيع / ​​طي شريط الحالة.\n2. اضغط مع الاستمرار على مفتاح الخيار (\"⌥\") أثناء النقر فوق مفتاح التبديل الرئيسي (\"<\") للكشف عن العناصر المخفية دائمًا.\n3. انقر بزر الماوس الأيمن (انقر مع الضغط على مفتاح التحكم) على مفتاح التبديل الرئيسي (\"<\") لإظهار قائمة السياق.\n\nوضع التحرير:\n1. حدد \"وضع التحرير \" في قائمة السياق للدخول إلى وضع التحرير.\n2. في وضع التحرير ، يتم عرض sperators بين الأقسام.\n أعد ترتيب عناصر شريط الحالة إلى أقسام حسب الحاجة.\n (اضغط مع الاستمرار على مفتاح الأمر (\"⌘\") لسحب الرموز.)\n3. اخرج من وضع التحرير بالنقر فوق مفتاح التبديل الرئيسي (\"<\") أو إلغاء تحديد \"وضع التحرير \" في قائمة السياق.\n"; 25 | 26 | -------------------------------------------------------------------------------- /HiddenBar/ar.lproj/Main.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Settings"; ObjectID = "1Is-Ut-a9h"; */ 2 | "1Is-Ut-a9h.title" = "الإعدادات"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Invisible"; ObjectID = "1jU-1x-cFf"; */ 5 | "1jU-1x-cFf.title" = "مخفي دائما"; 6 | 7 | /* Class = "NSMenuItem"; title = "Hidden Bar"; ObjectID = "1Xt-HY-uBw"; */ 8 | "1Xt-HY-uBw.title" = "الشريط المخفي"; 9 | 10 | /* Class = "NSTextFieldCell"; title = "Hidden Bar"; ObjectID = "2xp-Ht-xa6"; */ 11 | "2xp-Ht-xa6.title" = "الشريط المخفي"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Version"; ObjectID = "4Au-5A-dYq"; */ 14 | "4Au-5A-dYq.title" = "الإصدار"; 15 | 16 | /* Class = "NSMenuItem"; title = "Quit Hidden Bar"; ObjectID = "4sb-4s-VLi"; */ 17 | "4sb-4s-VLi.title" = "إنهاء الشريط المخفي"; 18 | 19 | /* Class = "NSMenuItem"; title = "About Hidden Bar"; ObjectID = "5kV-Vb-QxS"; */ 20 | "5kV-Vb-QxS.title" = "حول الشريط المخفي"; 21 | 22 | /* Class = "NSButtonCell"; title = "Use the full MenuBar on expanding"; ObjectID = "8z8-6N-wnc"; */ 23 | "8z8-6N-wnc.title" = "استخدم كامل شريط القائمة عند التوسيع"; 24 | 25 | /* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */ 26 | "AYu-sK-qS6.title" = "القائمة الرئيسية"; 27 | 28 | /* Class = "NSTextFieldCell"; title = "MIT © Dwarves Foundation"; ObjectID = "b1t-QR-iSj"; */ 29 | "b1t-QR-iSj.title" = "MIT © Dwarves Foundation"; 30 | 31 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[0] = "General"; ObjectID = "B2x-1Q-Aei"; */ 32 | "B2x-1Q-Aei.ibShadowedLabels[0]" = "عام"; 33 | 34 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[1] = "About"; ObjectID = "B2x-1Q-Aei"; */ 35 | "B2x-1Q-Aei.ibShadowedLabels[1]" = "حول"; 36 | 37 | /* Class = "NSBox"; title = "Box"; ObjectID = "bFi-aV-ejJ"; */ 38 | "bFi-aV-ejJ.title" = "صندوق"; 39 | 40 | /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */ 41 | "BOF-NM-1cW.title" = "تفضيلات…"; 42 | 43 | /* Class = "NSMenuItem"; title = "5 seconds"; ObjectID = "bzS-lm-JvT"; */ 44 | "bzS-lm-JvT.title" = "5 ثوان"; 45 | 46 | /* Class = "NSMenuItem"; title = "30 seconds"; ObjectID = "Ch6-Z2-LyX"; */ 47 | "Ch6-Z2-LyX.title" = "30 ثانية"; 48 | 49 | /* Class = "NSTextFieldCell"; title = "Folded"; ObjectID = "cXt-8R-PHo"; */ 50 | "cXt-8R-PHo.title" = "مخفي"; 51 | 52 | /* Class = "NSButtonCell"; title = "Set Shortcut"; ObjectID = "fc2-jD-QNf"; */ 53 | "fc2-jD-QNf.title" = "عين اختصارا"; 54 | 55 | /* Class = "NSTextFieldCell"; title = "This app is fully open source"; ObjectID = "fqc-io-QOP"; */ 56 | "fqc-io-QOP.title" = "هذا التطبيق مفتوخ المصدر بالكامل"; 57 | 58 | /* Class = "NSTextFieldCell"; title = "Global Shortcut"; ObjectID = "HJP-Lf-rxm"; */ 59 | "HJP-Lf-rxm.title" = "الاختصارات المعممة"; 60 | 61 | /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */ 62 | "hz9-B4-Xy5.title" = "خدمات"; 63 | 64 | /* Class = "NSButtonCell"; title = "⌫"; ObjectID = "IId-1b-leb"; */ 65 | "IId-1b-leb.title" = "⌫"; 66 | 67 | /* Class = "NSTextFieldCell"; title = "Shown"; ObjectID = "iyS-g5-5mk"; */ 68 | "iyS-g5-5mk.title" = "ظاهر"; 69 | 70 | /* Class = "NSBox"; title = "Box"; ObjectID = "Jjd-1G-63n"; */ 71 | "Jjd-1G-63n.title" = "صندوق"; 72 | 73 | /* Class = "NSTextFieldCell"; title = "In your Mac's menu bar, hold ⌘ and drag icons\nbetween sections to configure Hidden Bar."; ObjectID = "k7C-e5-6a0"; */ 74 | "k7C-e5-6a0.title" = "في شريط القائمة الخاص بـMac الخاص بك، استمر بالضغط على ⌘ واسحب الأيقونات\nبين الأقسام لتكوين الشريط المخفي."; 75 | 76 | /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */ 77 | "Kd2-mp-pUS.title" = "أظهر الكل"; 78 | 79 | /* Class = "NSButtonCell"; title = "Automatically hide icon after: "; ObjectID = "kg8-rW-srh"; */ 80 | "kg8-rW-srh.title" = "أخف الأيقونة تلقائيا بعد: "; 81 | 82 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "ML6-W4-U8X"; */ 83 | "ML6-W4-U8X.label" = "عرض مخصص"; 84 | 85 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "ML6-W4-U8X"; */ 86 | "ML6-W4-U8X.paletteLabel" = "عرض مخصص"; 87 | 88 | /* Class = "NSBox"; title = "Box"; ObjectID = "mtL-vU-2iq"; */ 89 | "mtL-vU-2iq.title" = "صندوق"; 90 | 91 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "NIO-JJ-pjq"; */ 92 | "NIO-JJ-pjq.label" = "عرض مخصص"; 93 | 94 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "NIO-JJ-pjq"; */ 95 | "NIO-JJ-pjq.paletteLabel" = "عرض مخصص"; 96 | 97 | /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */ 98 | "NMo-om-nkz.title" = "خدمات"; 99 | 100 | /* Class = "NSMenuItem"; title = "Hide Hidden Bar"; ObjectID = "Olw-nP-bQN"; */ 101 | "Olw-nP-bQN.title" = "أخف الشريط المخفي"; 102 | 103 | /* Class = "NSMenuItem"; title = "15 seconds"; ObjectID = "rdn-Xm-fZD"; */ 104 | "rdn-Xm-fZD.title" = "١٥ ثانية"; 105 | 106 | /* Class = "NSTextFieldCell"; title = "Email us"; ObjectID = "sRr-sO-uV0"; */ 107 | "sRr-sO-uV0.title" = "راسلنا إلكنرونيا"; 108 | 109 | /* Class = "NSTextFieldCell"; title = "Follow us on Twitter"; ObjectID = "Tba-C7-Zr8"; */ 110 | "Tba-C7-Zr8.title" = "تابعنا على تويتر"; 111 | 112 | /* Class = "NSMenu"; title = "Hidden Bar"; ObjectID = "uQy-DD-JDr"; */ 113 | "uQy-DD-JDr.title" = "الشريط المخفي"; 114 | 115 | /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */ 116 | "Vdr-fp-XzO.title" = "أخف الآخرين"; 117 | 118 | /* Class = "NSButtonCell"; title = "Start Hidden Bar when I log in"; ObjectID = "W1G-55-zGo"; */ 119 | "W1G-55-zGo.title" = "شغل الشريط المخفي عندما أقوم بتسجيل الدخول"; 120 | 121 | /* Class = "NSTextFieldCell"; title = "Menu bar cleaner"; ObjectID = "X4W-sr-Z32"; */ 122 | "X4W-sr-Z32.title" = "منظف شريط القائمة"; 123 | 124 | /* Class = "NSTextFieldCell"; title = "Know more about us"; ObjectID = "Xb1-xM-sYy"; */ 125 | "Xb1-xM-sYy.title" = "إعرف المزيد عنا"; 126 | 127 | /* Class = "NSMenuItem"; title = "10 seconds"; ObjectID = "z2X-nw-vxX"; */ 128 | "z2X-nw-vxX.title" = "١٠ ثوان"; 129 | 130 | /* Class = "NSTextFieldCell"; title = "General"; ObjectID = "zAf-vj-OOZ"; */ 131 | "zAf-vj-OOZ.title" = "عام"; 132 | 133 | /* Class = "NSTextFieldCell"; title = "Monday 08 Mar 9:00AM"; ObjectID = "zAH-cs-dar"; */ 134 | "zAH-cs-dar.title" = "الإقنين ٠٨ مارس ٩:٠٠ صباحا"; 135 | 136 | /* Class = "NSMenuItem"; title = "1 minute"; ObjectID = "Zkr-Xd-Ffh"; */ 137 | "Zkr-Xd-Ffh.title" = "دقيقة واحدة"; 138 | 139 | -------------------------------------------------------------------------------- /HiddenBar/de.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | /* 2 | Localizable.strings 3 | Hidden Bar 4 | 5 | Created by Licardo on 2020/3/9. 6 | Copyright © 2020 Dwarves Foundation. All rights reserved. 7 | */ 8 | 9 | /* 10 | "Preferences..." = "Voreinstellungen…"; 11 | "Toggle Auto Collapse" = "Automatisch einklappen"; 12 | "Enable Auto Collapse" = "Automatisch einklappen einschalten"; 13 | "Disable Auto Collapse" = "Automatisch einklappen ausschalten"; 14 | "Quit" = "Beenden"; 15 | "Set Shortcut" = "Shortcut einstellen"; 16 | "Tutorial text" = " 17 | Verwende die “permanent ausgeblendet“ Funktion um deine Menüleistensymbole aufgeräumt zu halten.. Und so funktioniert es.. 18 | Zum einschalten: 19 | 1. Aktiviere permanent ausgeblendet “􀥤” (transluzenter Farbstreifen) 20 | 2. Halte 􀆔 und ziehe es auf die linke Seite der normalen Leiste, verschiebe dann die Symbole die ausgeblendet werden sollen auf die linke Seite dieser Leiste. 21 | 3. Abschließend klicke mit der rechten Maustaste auf das Einklappen Symbol “􀆊” um sie auszublenden. 22 | Zum Anzeigen der permanent ausgeblendeten Symbole: 23 | 1. Klicke mit der rechten Maustaste nochmals auf das Einklappen Symbol “􀆊” um sie anzuzeigen und wiederhole den Schritt um die Funktion zu aktivieren. Viel Spaß 😉! 24 | "; 25 | */ 26 | 27 | "Preferences..." = "Voreinstellungen…"; 28 | "Edit Mode" = "Bearbeitungsmodus"; 29 | "Edit" = "Bearbeitung"; 30 | "Invalid" = "Ungültig"; 31 | "Quit" = "Beenden"; 32 | "Set Shortcut" = "Shortcut einstellen"; 33 | "Tutorial text" = " 34 | Verwendung: 35 | 1. Klicken Sie auf den Hauptschalter (<), um die Statusleiste zu erweitern/zu reduzieren. 36 | 2. Halten Sie die Wahltaste (⌥) gedrückt, während Sie auf den Hauptschalter (<) klicken, um stets ausgeblendete Elemente anzuzeigen. 37 | 3. Klicken Sie mit der rechten Maustaste (Strg-Klick) auf den Hauptschalter (<), um das Kontextmenü anzuzeigen. 38 | 39 | Bearbeitungsmodus: 40 | 1. Aktivieren Sie „Bearbeitungsmodus“ im Kontextmenü, um in den Bearbeitungsmodus zu gelangen. 41 | 2. Im Bearbeitungsmodus werden Trennzeichen zwischen den Abschnitten angezeigt. 42 | Ordnen Sie die Elemente der Statusleiste nach Bedarf in Abschnitte um. 43 | (Halten Sie die Befehlstaste (⌘) gedrückt, um Symbole zu ziehen.) 44 | 3. Verlassen Sie den Bearbeitungsmodus, indem Sie auf den Hauptschalter (<) klicken oder im Kontextmenü die Option „Bearbeitungsmodus“ deaktivieren. 45 | "; 46 | -------------------------------------------------------------------------------- /HiddenBar/de.lproj/Main.strings: -------------------------------------------------------------------------------- 1 | 2 | /* Class = "NSTextFieldCell"; title = "Settings"; ObjectID = "1Is-Ut-a9h"; */ 3 | "1Is-Ut-a9h.title" = "Einstellungen"; 4 | 5 | /* Class = "NSMenuItem"; title = "Hidden Bar"; ObjectID = "1Xt-HY-uBw"; */ 6 | "1Xt-HY-uBw.title" = "Hidden Bar"; 7 | 8 | /* Class = "NSTextFieldCell"; title = "⭐️Always Hidden"; ObjectID = "1jU-1x-cFf"; */ 9 | "1jU-1x-cFf.title" = "Immer ausgeblendet"; 10 | 11 | /* Class = "NSTextFieldCell"; title = "Hidden Bar"; ObjectID = "2xp-Ht-xa6"; */ 12 | "2xp-Ht-xa6.title" = "Hidden Bar"; 13 | 14 | /* Class = "NSTextFieldCell"; title = "Version"; ObjectID = "4Au-5A-dYq"; */ 15 | "4Au-5A-dYq.title" = "Version"; 16 | 17 | /* Class = "NSMenuItem"; title = "Quit Hidden Bar"; ObjectID = "4sb-4s-VLi"; */ 18 | "4sb-4s-VLi.title" = "Hidden Bar beenden"; 19 | 20 | /* Class = "NSMenuItem"; title = "About Hidden Bar"; ObjectID = "5kV-Vb-QxS"; */ 21 | "5kV-Vb-QxS.title" = "Über Hidden Bar"; 22 | 23 | /* Class = "NSButtonCell"; title = "Use the full MenuBar on expanding"; ObjectID = "8z8-6N-wnc"; */ 24 | "8z8-6N-wnc.title" = "Beim Erweitern die gesamte Menübreite benutzen"; 25 | 26 | /* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */ 27 | "AYu-sK-qS6.title" = "Hauptmenü"; 28 | 29 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[0] = "General"; ObjectID = "B2x-1Q-Aei"; */ 30 | "B2x-1Q-Aei.ibShadowedLabels[0]" = "Allgemein"; 31 | 32 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[1] = "About"; ObjectID = "B2x-1Q-Aei"; */ 33 | "B2x-1Q-Aei.ibShadowedLabels[1]" = "Über"; 34 | 35 | /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */ 36 | "BOF-NM-1cW.title" = "Voreinstellungen…"; 37 | 38 | /* Class = "NSMenuItem"; title = "30 seconds"; ObjectID = "Ch6-Z2-LyX"; */ 39 | "Ch6-Z2-LyX.title" = "30 Sekunden"; 40 | 41 | /* Class = "NSTextFieldCell"; title = "Global Shortcut"; ObjectID = "HJP-Lf-rxm"; */ 42 | "HJP-Lf-rxm.title" = "Globaler Shortcut"; 43 | 44 | /* Class = "NSButtonCell"; title = "⌫"; ObjectID = "IId-1b-leb"; */ 45 | "IId-1b-leb.title" = "⌫"; 46 | 47 | /* Class = "NSBox"; title = "Box"; ObjectID = "Jjd-1G-63n"; */ 48 | "Jjd-1G-63n.title" = "Box"; 49 | 50 | /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */ 51 | "Kd2-mp-pUS.title" = "Alle anzeigen"; 52 | 53 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "ML6-W4-U8X"; */ 54 | "ML6-W4-U8X.label" = "Benutzerdefinierte Ansicht"; 55 | 56 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "ML6-W4-U8X"; */ 57 | "ML6-W4-U8X.paletteLabel" = "Benutzerdefinierte Ansicht"; 58 | 59 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "NIO-JJ-pjq"; */ 60 | "NIO-JJ-pjq.label" = "Benutzerdefinierte Ansicht"; 61 | 62 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "NIO-JJ-pjq"; */ 63 | "NIO-JJ-pjq.paletteLabel" = "Benutzerdefinierte Ansicht"; 64 | 65 | /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */ 66 | "NMo-om-nkz.title" = "Dienste"; 67 | 68 | /* Class = "NSButtonCell"; title = "Enable always hidden section"; ObjectID = "Nhn-ch-1f7"; */ 69 | "Nhn-ch-1f7.title" = "Permanent ausgeblendeten Teil aktivieren"; 70 | 71 | /* Class = "NSMenuItem"; title = "Hide Hidden Bar"; ObjectID = "Olw-nP-bQN"; */ 72 | "Olw-nP-bQN.title" = "Hidden Bar ausblenden"; 73 | 74 | /* Class = "NSTextFieldCell"; title = "Follow us on Twitter"; ObjectID = "Tba-C7-Zr8"; */ 75 | "Tba-C7-Zr8.title" = "Folge uns auf Twitter"; 76 | 77 | /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */ 78 | "Vdr-fp-XzO.title" = "Andere ausblenden"; 79 | 80 | /* Class = "NSButtonCell"; title = "Start Hidden Bar when I log in"; ObjectID = "W1G-55-zGo"; */ 81 | "W1G-55-zGo.title" = "Hidden Bar beim Anmelden starten"; 82 | 83 | /* Class = "NSTextFieldCell"; title = "Menu bar cleaner"; ObjectID = "X4W-sr-Z32"; */ 84 | "X4W-sr-Z32.title" = "Menüleisten Cleaner"; 85 | 86 | /* Class = "NSTextFieldCell"; title = "Know more about us"; ObjectID = "Xb1-xM-sYy"; */ 87 | "Xb1-xM-sYy.title" = "Mehr über uns erfahren"; 88 | 89 | /* Class = "NSMenuItem"; title = "1 minute"; ObjectID = "Zkr-Xd-Ffh"; */ 90 | "Zkr-Xd-Ffh.title" = "1 Minute"; 91 | 92 | /* Class = "NSTextFieldCell"; title = "MIT © Dwarves Foundation"; ObjectID = "b1t-QR-iSj"; */ 93 | "b1t-QR-iSj.title" = "MIT © Dwarves Foundation"; 94 | 95 | /* Class = "NSBox"; title = "Box"; ObjectID = "bFi-aV-ejJ"; */ 96 | "bFi-aV-ejJ.title" = "Box"; 97 | 98 | /* Class = "NSMenuItem"; title = "5 seconds"; ObjectID = "bzS-lm-JvT"; */ 99 | "bzS-lm-JvT.title" = "5 Sekunden"; 100 | 101 | /* Class = "NSTextFieldCell"; title = "Hidden"; ObjectID = "cXt-8R-PHo"; */ 102 | "cXt-8R-PHo.title" = "Hidden"; 103 | 104 | /* Class = "NSButtonCell"; title = "Set Shortcut"; ObjectID = "fc2-jD-QNf"; */ 105 | "fc2-jD-QNf.title" = "Shortcut einstellen"; 106 | 107 | /* Class = "NSTextFieldCell"; title = "This app is fully open source"; ObjectID = "fqc-io-QOP"; */ 108 | "fqc-io-QOP.title" = "Diese App ist vollständig Open Source"; 109 | 110 | /* Class = "NSButtonCell"; title = "Show preferences on launch"; ObjectID = "hCh-Ue-NgH"; */ 111 | "hCh-Ue-NgH.title" = "Voreinstellungen beim Starten anzeigen"; 112 | 113 | /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */ 114 | "hz9-B4-Xy5.title" = "Dienste"; 115 | 116 | /* Class = "NSTextFieldCell"; title = "Shown"; ObjectID = "iyS-g5-5mk"; */ 117 | "iyS-g5-5mk.title" = "Anzeigen"; 118 | 119 | /* Class = "NSTextFieldCell"; title = "In your Mac's menu bar, hold ⌘ and drag icons\nbetween sections to configure Hidden Bar."; ObjectID = "k7C-e5-6a0"; */ 120 | "k7C-e5-6a0.title" = "Halte ⌘ in der Menüleiste und verschiebe Symbole\nzwischen den Sektionen um Hidden Bar zu konfigurieren."; 121 | 122 | /* Class = "NSButtonCell"; title = "Automatically hide icon after: "; ObjectID = "kg8-rW-srh"; */ 123 | "kg8-rW-srh.title" = "Symbol automatisch ausblenden nach: "; 124 | 125 | /* Class = "NSBox"; title = "Box"; ObjectID = "mtL-vU-2iq"; */ 126 | "mtL-vU-2iq.title" = "Box"; 127 | 128 | /* Class = "NSMenuItem"; title = "15 seconds"; ObjectID = "rdn-Xm-fZD"; */ 129 | "rdn-Xm-fZD.title" = "15 Sekunden"; 130 | 131 | /* Class = "NSTextFieldCell"; title = "Email us"; ObjectID = "sRr-sO-uV0"; */ 132 | "sRr-sO-uV0.title" = "Email an uns senden"; 133 | 134 | /* Class = "NSMenu"; title = "Hidden Bar"; ObjectID = "uQy-DD-JDr"; */ 135 | "uQy-DD-JDr.title" = "Hidden Bar"; 136 | 137 | /* Class = "NSMenuItem"; title = "10 seconds"; ObjectID = "z2X-nw-vxX"; */ 138 | "z2X-nw-vxX.title" = "10 Sekunden"; 139 | 140 | /* Class = "NSTextFieldCell"; title = "Monday 08 Mar 9:00AM"; ObjectID = "zAH-cs-dar"; */ 141 | "zAH-cs-dar.title" = "Montag 8. März 9:00 Uhr"; 142 | 143 | /* Class = "NSTextFieldCell"; title = "General"; ObjectID = "zAf-vj-OOZ"; */ 144 | "zAf-vj-OOZ.title" = "Allgemein"; 145 | -------------------------------------------------------------------------------- /HiddenBar/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Copyright (human-readable) */ 2 | "NSHumanReadableCopyright" = "Copyright © 2024 UeharaYou. All rights reserved."; 3 | -------------------------------------------------------------------------------- /HiddenBar/en.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | /* (No Comment) */ 2 | "Edit" = "Edit"; 3 | 4 | /* (No Comment) */ 5 | "Edit Mode" = "Edit Mode"; 6 | 7 | /* (No Comment) */ 8 | "Invalid" = "Invalid"; 9 | 10 | /* Localizable.strings 11 | Hidden Bar 12 | 13 | Created by Licardo on 2020/3/9. 14 | Copyright © 2020 Dwarves Foundation. All rights reserved. */ 15 | "Preferences..." = "Preferences..."; 16 | 17 | /* (No Comment) */ 18 | "Quit" = "Quit"; 19 | 20 | /* (No Comment) */ 21 | "Set Shortcut" = "Set Shortcut"; 22 | 23 | /* Step by step tutorial */ 24 | "Tutorial text" = "\nUsage:\n1. Click the Main Toggle (<) to expand / collapse the status bar.\n2. Hold Option key (⌥) while clicking the Main Toggle (<) to reveal always hidden items.\n3. Right-click (Control-click) the Main Toggle (<) to show Context Menu.\n\nEdit Mode:\n1. Check \"Edit Mode\" in Context Menu to enter edit mode.\n2. In edit mode, sperators between sections are shown.\n Rearrange the status bar items into sections as needed.\n (Hold Command key (⌘) to drag icons.)\n3. Exit the edit mode by clicking the Main Toggle (<) or unchecking \"Edit Mode\" in Context Menu.\n"; 25 | 26 | -------------------------------------------------------------------------------- /HiddenBar/en.lproj/Main.strings: -------------------------------------------------------------------------------- 1 | 2 | /* Class = "NSTextFieldCell"; title = "Settings"; ObjectID = "1Is-Ut-a9h"; */ 3 | "1Is-Ut-a9h.title" = "Settings"; 4 | 5 | /* Class = "NSMenuItem"; title = "Hidden Bar"; ObjectID = "1Xt-HY-uBw"; */ 6 | "1Xt-HY-uBw.title" = "Hidden Bar"; 7 | 8 | /* Class = "NSTextFieldCell"; title = "Invisible"; ObjectID = "1jU-1x-cFf"; */ 9 | "1jU-1x-cFf.title" = "Invisible"; 10 | 11 | /* Class = "NSTextFieldCell"; title = "Unoffical Maintenance Repositoy"; ObjectID = "2X9-xt-WLt"; */ 12 | "2X9-xt-WLt.title" = "Unoffical Maintenance Repositoy"; 13 | 14 | /* Class = "NSTextFieldCell"; title = "Hidden Bar"; ObjectID = "2xp-Ht-xa6"; */ 15 | "2xp-Ht-xa6.title" = "Hidden Bar"; 16 | 17 | /* Class = "NSTextFieldCell"; title = "Version"; ObjectID = "4Au-5A-dYq"; */ 18 | "4Au-5A-dYq.title" = "Version"; 19 | 20 | /* Class = "NSMenuItem"; title = "Quit Hidden Bar"; ObjectID = "4sb-4s-VLi"; */ 21 | "4sb-4s-VLi.title" = "Quit Hidden Bar"; 22 | 23 | /* Class = "NSMenuItem"; title = "About Hidden Bar"; ObjectID = "5kV-Vb-QxS"; */ 24 | "5kV-Vb-QxS.title" = "About Hidden Bar"; 25 | 26 | /* Class = "NSButtonCell"; title = "Use the full MenuBar on expanding"; ObjectID = "8z8-6N-wnc"; */ 27 | "8z8-6N-wnc.title" = "Use the full MenuBar on expanding"; 28 | 29 | /* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */ 30 | "AYu-sK-qS6.title" = "Main Menu"; 31 | 32 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[0] = "General"; ObjectID = "B2x-1Q-Aei"; */ 33 | "B2x-1Q-Aei.ibShadowedLabels[0]" = "General"; 34 | 35 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[1] = "About"; ObjectID = "B2x-1Q-Aei"; */ 36 | "B2x-1Q-Aei.ibShadowedLabels[1]" = "About"; 37 | 38 | /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */ 39 | "BOF-NM-1cW.title" = "Preferences…"; 40 | 41 | /* Class = "NSMenuItem"; title = "30 seconds"; ObjectID = "Ch6-Z2-LyX"; */ 42 | "Ch6-Z2-LyX.title" = "30 seconds"; 43 | 44 | /* Class = "NSTextFieldCell"; title = " "; ObjectID = "ERh-JM-snt"; */ 45 | "ERh-JM-snt.title" = " "; 46 | 47 | /* Class = "NSMenuItem"; title = "Settings..."; ObjectID = "HF7-4D-F9m"; */ 48 | "HF7-4D-F9m.title" = "Settings..."; 49 | 50 | /* Class = "NSTextFieldCell"; title = "Global Shortcut"; ObjectID = "HJP-Lf-rxm"; */ 51 | "HJP-Lf-rxm.title" = "Global Shortcut"; 52 | 53 | /* Class = "NSButtonCell"; title = "⌫"; ObjectID = "IId-1b-leb"; */ 54 | "IId-1b-leb.title" = "⌫"; 55 | 56 | /* Class = "NSBox"; title = "Box"; ObjectID = "Jjd-1G-63n"; */ 57 | "Jjd-1G-63n.title" = "Box"; 58 | 59 | /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */ 60 | "Kd2-mp-pUS.title" = "Show All"; 61 | 62 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "ML6-W4-U8X"; */ 63 | "ML6-W4-U8X.label" = "Custom View"; 64 | 65 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "ML6-W4-U8X"; */ 66 | "ML6-W4-U8X.paletteLabel" = "Custom View"; 67 | 68 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "NIO-JJ-pjq"; */ 69 | "NIO-JJ-pjq.label" = "Custom View"; 70 | 71 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "NIO-JJ-pjq"; */ 72 | "NIO-JJ-pjq.paletteLabel" = "Custom View"; 73 | 74 | /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */ 75 | "NMo-om-nkz.title" = "Services"; 76 | 77 | /* Class = "NSTextFieldCell"; title = "This repository is an unofficial"; ObjectID = "O79-Ae-pp2"; */ 78 | "O79-Ae-pp2.title" = "This repository is an unofficial"; 79 | 80 | /* Class = "NSMenuItem"; title = "Hide Hidden Bar"; ObjectID = "Olw-nP-bQN"; */ 81 | "Olw-nP-bQN.title" = "Hide Hidden Bar"; 82 | 83 | /* Class = "NSMenuItem"; title = "Edit Mode"; ObjectID = "OmW-Mp-hRp"; */ 84 | "OmW-Mp-hRp.title" = "Edit Mode"; 85 | 86 | /* Class = "NSTextFieldCell"; title = "Follow us on Twitter"; ObjectID = "Tba-C7-Zr8"; */ 87 | "Tba-C7-Zr8.title" = "Follow us on Twitter"; 88 | 89 | /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */ 90 | "Vdr-fp-XzO.title" = "Hide Others"; 91 | 92 | /* Class = "NSButtonCell"; title = "Start Hidden Bar when I log in"; ObjectID = "W1G-55-zGo"; */ 93 | "W1G-55-zGo.title" = "Start Hidden Bar when I log in"; 94 | 95 | /* Class = "NSTextFieldCell"; title = "Menu bar cleaner"; ObjectID = "X4W-sr-Z32"; */ 96 | "X4W-sr-Z32.title" = "Menu bar cleaner"; 97 | 98 | /* Class = "NSTextFieldCell"; title = "Know more about us"; ObjectID = "Xb1-xM-sYy"; */ 99 | "Xb1-xM-sYy.title" = "Know more about us"; 100 | 101 | /* Class = "NSTextFieldCell"; title = "branch of Hidden Bar development."; ObjectID = "YDg-Sa-u5Z"; */ 102 | "YDg-Sa-u5Z.title" = "branch of Hidden Bar development."; 103 | 104 | /* Class = "NSMenuItem"; title = "1 minute"; ObjectID = "Zkr-Xd-Ffh"; */ 105 | "Zkr-Xd-Ffh.title" = "1 minute"; 106 | 107 | /* Class = "NSTextFieldCell"; title = "MIT © Dwarves Foundation"; ObjectID = "b1t-QR-iSj"; */ 108 | "b1t-QR-iSj.title" = "MIT © Dwarves Foundation"; 109 | 110 | /* Class = "NSBox"; title = "Box"; ObjectID = "bFi-aV-ejJ"; */ 111 | "bFi-aV-ejJ.title" = "Box"; 112 | 113 | /* Class = "NSMenuItem"; title = "5 seconds"; ObjectID = "bzS-lm-JvT"; */ 114 | "bzS-lm-JvT.title" = "5 seconds"; 115 | 116 | /* Class = "NSTextFieldCell"; title = "Folded"; ObjectID = "cXt-8R-PHo"; */ 117 | "cXt-8R-PHo.title" = "Folded"; 118 | 119 | /* Class = "NSButtonCell"; title = "Set Shortcut"; ObjectID = "fc2-jD-QNf"; */ 120 | "fc2-jD-QNf.title" = "Set Shortcut"; 121 | 122 | /* Class = "NSTextFieldCell"; title = "This app is fully open source"; ObjectID = "fqc-io-QOP"; */ 123 | "fqc-io-QOP.title" = "This app is fully open source"; 124 | 125 | /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */ 126 | "hz9-B4-Xy5.title" = "Services"; 127 | 128 | /* Class = "NSTextFieldCell"; title = "Shown"; ObjectID = "iyS-g5-5mk"; */ 129 | "iyS-g5-5mk.title" = "Shown"; 130 | 131 | /* Class = "NSMenu"; title = "Context Menu"; ObjectID = "jbH-8J-uq2"; */ 132 | "jbH-8J-uq2.title" = "Context Menu"; 133 | 134 | /* Class = "NSTextFieldCell"; title = "In your Mac's menu bar, hold ⌘ and drag icons\nbetween sections to configure Hidden Bar."; ObjectID = "k7C-e5-6a0"; */ 135 | "k7C-e5-6a0.title" = "In your Mac's menu bar, hold ⌘ and drag icons\nbetween sections to configure Hidden Bar."; 136 | 137 | /* Class = "NSButtonCell"; title = "Automatically hide icon after: "; ObjectID = "kg8-rW-srh"; */ 138 | "kg8-rW-srh.title" = "Automatically hide icon after: "; 139 | 140 | /* Class = "NSBox"; title = "Box"; ObjectID = "mtL-vU-2iq"; */ 141 | "mtL-vU-2iq.title" = "Box"; 142 | 143 | /* Class = "NSMenuItem"; title = "15 seconds"; ObjectID = "rdn-Xm-fZD"; */ 144 | "rdn-Xm-fZD.title" = "15 seconds"; 145 | 146 | /* Class = "NSTextFieldCell"; title = "Email us"; ObjectID = "sRr-sO-uV0"; */ 147 | "sRr-sO-uV0.title" = "Email us"; 148 | 149 | /* Class = "NSMenu"; title = "Hidden Bar"; ObjectID = "uQy-DD-JDr"; */ 150 | "uQy-DD-JDr.title" = "Hidden Bar"; 151 | 152 | /* Class = "NSMenuItem"; title = "10 seconds"; ObjectID = "z2X-nw-vxX"; */ 153 | "z2X-nw-vxX.title" = "10 seconds"; 154 | 155 | /* Class = "NSTextFieldCell"; title = "Monday 08 Mar 9:00AM"; ObjectID = "zAH-cs-dar"; */ 156 | "zAH-cs-dar.title" = "Monday 08 Mar 9:00AM"; 157 | 158 | /* Class = "NSTextFieldCell"; title = "General"; ObjectID = "zAf-vj-OOZ"; */ 159 | "zAf-vj-OOZ.title" = "General"; 160 | 161 | /* Class = "NSMenuItem"; title = "Quit"; ObjectID = "zjl-Sb-hT6"; */ 162 | "zjl-Sb-hT6.title" = "Quit"; 163 | -------------------------------------------------------------------------------- /HiddenBar/fr.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | /* 2 | Localizable.strings 3 | Hidden Bar 4 | 5 | Created by Licardo on 2020/3/9. 6 | Copyright © 2020 Dwarves Foundation. All rights reserved. 7 | */ 8 | 9 | /* 10 | "Preferences..." = "Réglages..."; 11 | "Toggle Auto Collapse" = "Activer la réduction automatique"; 12 | "Enable Auto Collapse" = "Activer la réduction automatique"; 13 | "Disable Auto Collapse" = "Désactiver la réduction automatique"; 14 | "Quit" = "Quitter"; 15 | "Set Shortcut" = "Définir un raccourci"; 16 | "Tutorial text" = " 17 | Utilisez la fonction de section toujours cachée pour garder vos icônes bien rangées. 18 | Étapes pour activer: 19 | 1. Activez le «􀥤» toujours masqué (barre de couleur translucide) 20 | 2. Maintenez 􀆔 et faites-le glisser sur le côté gauche de la barre normale, puis déplacez les icônes que vous souhaitez faire disparaître sur la gauche de cette barre. 21 | 3. Enfin, faites un clic droit sur l'icône de réduction «􀆊» pour la faire disparaître. 22 | 23 | Étapes pour afficher les icônes toujours masquées: 24 | 1. Vous cliquez à nouveau avec le bouton droit de la souris sur l'icône «view» pour afficher et répéter l'action pour activer la fonction. Profitez 😉! 25 | "; 26 | */ 27 | 28 | "Preferences..." = "Réglages..."; 29 | "Edit Mode" = "Mode édition"; 30 | "Edit" = "Édition"; 31 | "Invalid" = "Invalide"; 32 | "Quit" = "Quitter"; 33 | "Set Shortcut" = "Définir un raccourci"; 34 | "Tutorial text" = " 35 | Usage: 36 | 1. Cliquez sur la bascule principale (\"<\") pour développer/réduire la barre d'état. 37 | 2. Maintenez la touche Option (\"⌥\") enfoncée tout en cliquant sur la bascule principale (\"<\") pour révéler les éléments toujours masqués. 38 | 3. Cliquez avec le bouton droit (Contrôle-clic) sur la bascule principale (\"<\") pour afficher le menu contextuel. 39 | 40 | Mode édition: 41 | 1. Cochez \"Mode d'édition\" dans le menu contextuel pour entrer en mode d'édition. 42 | 2. En mode édition, les séparateurs entre les sections sont affichés. 43 | Réorganisez les éléments de la barre d'état en sections selon vos besoins. 44 | (Maintenez la touche Commande (\"⌘\") enfoncée pour faire glisser les icônes.) 45 | 3. Quittez le mode d'édition en cliquant sur la bascule principale (\"<\") ou en décochant \"Mode d'édition\" dans le menu contextuel. 46 | "; 47 | -------------------------------------------------------------------------------- /HiddenBar/hr.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | /* 2 | Localizable.strings 3 | Hidden Bar 4 | 5 | Created by Licardo on 2020/3/9. 6 | Copyright © 2020 Dwarves Foundation. All rights reserved. 7 | */ 8 | 9 | /* 10 | "Preferences..." = "Postavke …"; 11 | "Toggle Auto Collapse" = "Uklj/Isklj automatsko sklapanje"; 12 | "Enable Auto Collapse" = "Uključi automatsko sklapanje"; 13 | "Disable Auto Collapse" = "Isključi automatsko sklapanje"; 14 | "Quit" = "Zatvori program"; 15 | "Set Shortcut" = "Postavi prečac"; 16 | "Tutorial text" = " 17 | Koristi funkciju skrivanja ikona za održavanje reda u traci izbornika. Postavlja se na sljedeći način 18 | Koraci za uključivanje: 19 | 1. Uključi uvijek skriveno „􀥤” (poluprozirna okomita crta) 20 | 2. Pritisni i povuci 􀆔 na lijevu stranu standardne trake, zatim premjesti ikone koje želiš sakriti na lijevu stranu te trake. 21 | 3. Na kraju pritisni desnom tipkom miša na ikonu za sklapanje „􀆊” kako bi se ikone sakrile. 22 | Koraci za prikazivanje uvijek skrivenih ikona: 23 | 1. Pritisni desnom tipkom miša ponovo na ikonu „􀆊” i ponovi radnju za uključivanje funkcije. Uživaj 😉! 24 | "; 25 | */ 26 | 27 | "Preferences..." = "Postavke …"; 28 | "Edit Mode" = "Modu Edita"; 29 | "Edit" = "Edita"; 30 | "Invalid" = "Neispravno"; 31 | "Quit" = "Zatvori program"; 32 | "Set Shortcut" = "Postavi prečac"; 33 | "Tutorial text" = " 34 | usu: 35 | 1. Cliccate u Toggle Principale (\"<\") per espansione / colapsà a barra di statutu. 36 | 2. Mantene a chjave Opzione (\"⌥\") mentre cliccate nantu à u Toggle Principale (\"<\") per revelà elementi sempre nascosti. 37 | 3. Right-click (Control-click) u Toggle Principale (\"<\") per vede u Menu Context. 38 | 39 | Modu Edita: 40 | 1. Verificate \"Modu Edita\" in u Menu Cuntestu per entre in u modu di edizione. 41 | 2. In u modu di edizione, i speratori trà e rùbbriche sò mostrati. 42 | Riarrange l'articuli di a barra di statutu in sezioni cum'è necessariu. 43 | (Mantene a chjave Command (\"⌘\") per trascinà l'icone.) 44 | 3. Esci da u modu di edizione clicchendu u Toggle Principale (\"<\") o unchecking \"Modalità Edita\" in u Menu di Cuntestu. 45 | "; 46 | -------------------------------------------------------------------------------- /HiddenBar/hr.lproj/Main.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Settings"; ObjectID = "1Is-Ut-a9h"; */ 2 | "1Is-Ut-a9h.title" = "Postavke"; 3 | 4 | /* Class = "NSMenuItem"; title = "Hidden Bar"; ObjectID = "1Xt-HY-uBw"; */ 5 | "1Xt-HY-uBw.title" = "Hidden Bar"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "⭐️Always Hidden"; ObjectID = "1jU-1x-cFf"; */ 8 | "1jU-1x-cFf.title" = "Uvijek skriveno"; 9 | 10 | /* Class = "NSTextFieldCell"; title = "Hidden Bar"; ObjectID = "2xp-Ht-xa6"; */ 11 | "2xp-Ht-xa6.title" = "Hidden Bar"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Version"; ObjectID = "4Au-5A-dYq"; */ 14 | "4Au-5A-dYq.title" = "Verzija"; 15 | 16 | /* Class = "NSMenuItem"; title = "Quit Hidden Bar"; ObjectID = "4sb-4s-VLi"; */ 17 | "4sb-4s-VLi.title" = "Zatvori Hidden Bar"; 18 | 19 | /* Class = "NSMenuItem"; title = "About Hidden Bar"; ObjectID = "5kV-Vb-QxS"; */ 20 | "5kV-Vb-QxS.title" = "Hidden Bar informacije"; 21 | 22 | /* Class = "NSButtonCell"; title = "Use the full MenuBar on expanding"; ObjectID = "8z8-6N-wnc"; */ 23 | "8z8-6N-wnc.title" = "Koristi cijelu traku izbornika pri rasklapanju"; 24 | 25 | /* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */ 26 | "AYu-sK-qS6.title" = "Glavni izbornik"; 27 | 28 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[0] = "General"; ObjectID = "B2x-1Q-Aei"; */ 29 | "B2x-1Q-Aei.ibShadowedLabels[0]" = "Opće"; 30 | 31 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[1] = "About"; ObjectID = "B2x-1Q-Aei"; */ 32 | "B2x-1Q-Aei.ibShadowedLabels[1]" = "Informacije"; 33 | 34 | /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */ 35 | "BOF-NM-1cW.title" = "Postavke …"; 36 | 37 | /* Class = "NSMenuItem"; title = "30 seconds"; ObjectID = "Ch6-Z2-LyX"; */ 38 | "Ch6-Z2-LyX.title" = "30 s"; 39 | 40 | /* Class = "NSTextFieldCell"; title = "Global Shortcut"; ObjectID = "HJP-Lf-rxm"; */ 41 | "HJP-Lf-rxm.title" = "Globalni prečac"; 42 | 43 | /* Class = "NSButtonCell"; title = "⌫"; ObjectID = "IId-1b-leb"; */ 44 | "IId-1b-leb.title" = "⌫"; 45 | 46 | /* Class = "NSBox"; title = "Box"; ObjectID = "Jjd-1G-63n"; */ 47 | "Jjd-1G-63n.title" = "Kutija"; 48 | 49 | /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */ 50 | "Kd2-mp-pUS.title" = "Prikaži sve"; 51 | 52 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "ML6-W4-U8X"; */ 53 | "ML6-W4-U8X.label" = "Prilagođen prikaz"; 54 | 55 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "ML6-W4-U8X"; */ 56 | "ML6-W4-U8X.paletteLabel" = "Prilagođen prikaz"; 57 | 58 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "NIO-JJ-pjq"; */ 59 | "NIO-JJ-pjq.label" = "Prilagođen prikaz"; 60 | 61 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "NIO-JJ-pjq"; */ 62 | "NIO-JJ-pjq.paletteLabel" = "Prilagođen prikaz"; 63 | 64 | /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */ 65 | "NMo-om-nkz.title" = "Usluge"; 66 | 67 | /* Class = "NSButtonCell"; title = "Enable always hidden section"; ObjectID = "Nhn-ch-1f7"; */ 68 | "Nhn-ch-1f7.title" = "Uključi uvijek skriveni odjeljak"; 69 | 70 | /* Class = "NSMenuItem"; title = "Hide Hidden Bar"; ObjectID = "Olw-nP-bQN"; */ 71 | "Olw-nP-bQN.title" = "Sakrij Hidden Bar"; 72 | 73 | /* Class = "NSTextFieldCell"; title = "Follow us on Twitter"; ObjectID = "Tba-C7-Zr8"; */ 74 | "Tba-C7-Zr8.title" = "Prati nas na Twitteru"; 75 | 76 | /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */ 77 | "Vdr-fp-XzO.title" = "Sakrij ostalo"; 78 | 79 | /* Class = "NSButtonCell"; title = "Start Hidden Bar when I log in"; ObjectID = "W1G-55-zGo"; */ 80 | "W1G-55-zGo.title" = "Pokreni Hidden Bar nakon prijave"; 81 | 82 | /* Class = "NSTextFieldCell"; title = "Menu bar cleaner"; ObjectID = "X4W-sr-Z32"; */ 83 | "X4W-sr-Z32.title" = "Čistač trake izbornika"; 84 | 85 | /* Class = "NSTextFieldCell"; title = "Know more about us"; ObjectID = "Xb1-xM-sYy"; */ 86 | "Xb1-xM-sYy.title" = "Saznaj više o nama"; 87 | 88 | /* Class = "NSMenuItem"; title = "1 minute"; ObjectID = "Zkr-Xd-Ffh"; */ 89 | "Zkr-Xd-Ffh.title" = "1 min"; 90 | 91 | /* Class = "NSTextFieldCell"; title = "MIT © Dwarves Foundation"; ObjectID = "b1t-QR-iSj"; */ 92 | "b1t-QR-iSj.title" = "MIT © Dwarves Foundation"; 93 | 94 | /* Class = "NSBox"; title = "Box"; ObjectID = "bFi-aV-ejJ"; */ 95 | "bFi-aV-ejJ.title" = "Kutija"; 96 | 97 | /* Class = "NSMenuItem"; title = "5 seconds"; ObjectID = "bzS-lm-JvT"; */ 98 | "bzS-lm-JvT.title" = "5 s"; 99 | 100 | /* Class = "NSTextFieldCell"; title = "Hidden"; ObjectID = "cXt-8R-PHo"; */ 101 | "cXt-8R-PHo.title" = "Skriveno"; 102 | 103 | /* Class = "NSButtonCell"; title = "Set Shortcut"; ObjectID = "fc2-jD-QNf"; */ 104 | "fc2-jD-QNf.title" = "Postavi prečac"; 105 | 106 | /* Class = "NSTextFieldCell"; title = "This app is fully open source"; ObjectID = "fqc-io-QOP"; */ 107 | "fqc-io-QOP.title" = "Ovo je progam otvorenog koda"; 108 | 109 | /* Class = "NSButtonCell"; title = "Show preferences on launch"; ObjectID = "hCh-Ue-NgH"; */ 110 | "hCh-Ue-NgH.title" = "Prikaži postavke nakon pokretanja"; 111 | 112 | /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */ 113 | "hz9-B4-Xy5.title" = "Usluge"; 114 | 115 | /* Class = "NSTextFieldCell"; title = "Shown"; ObjectID = "iyS-g5-5mk"; */ 116 | "iyS-g5-5mk.title" = "Prikazano"; 117 | 118 | /* Class = "NSTextFieldCell"; title = "In your Mac's menu bar, hold ⌘ and drag icons\nbetween sections to configure Hidden Bar."; ObjectID = "k7C-e5-6a0"; */ 119 | "k7C-e5-6a0.title" = "Za konfiguriranje programa Hidden Bar, u traci izbornika pritisni tipku ⌘ i povuci ikone između odjeljaka."; 120 | 121 | /* Class = "NSButtonCell"; title = "Automatically hide icon after: "; ObjectID = "kg8-rW-srh"; */ 122 | "kg8-rW-srh.title" = "Sakrij ikone automatski nakon: "; 123 | 124 | /* Class = "NSBox"; title = "Box"; ObjectID = "mtL-vU-2iq"; */ 125 | "mtL-vU-2iq.title" = "Pozadina"; 126 | 127 | /* Class = "NSMenuItem"; title = "15 seconds"; ObjectID = "rdn-Xm-fZD"; */ 128 | "rdn-Xm-fZD.title" = "15 s"; 129 | 130 | /* Class = "NSTextFieldCell"; title = "Email us"; ObjectID = "sRr-sO-uV0"; */ 131 | "sRr-sO-uV0.title" = "Pošalji nam e-mail"; 132 | 133 | /* Class = "NSMenu"; title = "Hidden Bar"; ObjectID = "uQy-DD-JDr"; */ 134 | "uQy-DD-JDr.title" = "Hidden Bar"; 135 | 136 | /* Class = "NSMenuItem"; title = "10 seconds"; ObjectID = "z2X-nw-vxX"; */ 137 | "z2X-nw-vxX.title" = "10 s"; 138 | 139 | /* Class = "NSTextFieldCell"; title = "Monday 08 Mar 9:00AM"; ObjectID = "zAH-cs-dar"; */ 140 | "zAH-cs-dar.title" = "Ponedjeljak, 8. ožujka 9:00"; 141 | 142 | /* Class = "NSTextFieldCell"; title = "General"; ObjectID = "zAf-vj-OOZ"; */ 143 | "zAf-vj-OOZ.title" = "Opće"; 144 | -------------------------------------------------------------------------------- /HiddenBar/ja.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Copyright (human-readable) */ 2 | "NSHumanReadableCopyright" = "著作権所有 © 2023 UeharaYou. All rights reserved."; 3 | 4 | -------------------------------------------------------------------------------- /HiddenBar/ja.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | /* (No Comment) */ 2 | "Edit" = "編集"; 3 | 4 | /* (No Comment) */ 5 | "Edit Mode" = "編集モード"; 6 | 7 | /* (No Comment) */ 8 | "Invalid" = "無効な構成"; 9 | 10 | /* Localizable.strings 11 | Hidden Bar 12 | 13 | Created by Licardo on 2020/3/9. 14 | Copyright © 2020 Dwarves Foundation. All rights reserved. */ 15 | "Preferences..." = "環境設定..."; 16 | 17 | /* (No Comment) */ 18 | "Quit" = "終了"; 19 | 20 | /* (No Comment) */ 21 | "Set Shortcut" = "ショットキーを設定"; 22 | 23 | /* Step by step tutorial */ 24 | "Tutorial text" = "\n使い方:\n1. 「<」をクリックして「非表示」エリアにいるアイコンを表示・非表示する。\n2. Option(⌥)キーを押しながら「<」をクリックして「常に非表示」エリアにいるアイコンを表示する。\n3. 「<」を右クリック(Control-クリック)してコンテキストメニューを表示する。\n\n編集モード:\n1. コンテキストメニューに「編集モード」を選択して編集モードを有効にする。\n2. 編集モードが有効される場合は、各エリアの間にセパレーターが表示される。\n Command(⌘)キーを押しながら,アイコンを好きなエリアに移動する。\n3. コンテキストメニューに「編集モード」をクリアして、または「<」をクリックして編集モードを無効にする。\n"; 25 | 26 | -------------------------------------------------------------------------------- /HiddenBar/ja.lproj/Main.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Settings"; ObjectID = "1Is-Ut-a9h"; */ 2 | "1Is-Ut-a9h.title" = "設置"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Invisible"; ObjectID = "1jU-1x-cFf"; */ 5 | "1jU-1x-cFf.title" = "常に非表示"; 6 | 7 | /* Class = "NSMenuItem"; title = "Hidden Bar"; ObjectID = "1Xt-HY-uBw"; */ 8 | "1Xt-HY-uBw.title" = "Hidden Bar"; 9 | 10 | /* Class = "NSTextFieldCell"; title = "Unoffical Maintenance Repositoy"; ObjectID = "2X9-xt-WLt"; */ 11 | "2X9-xt-WLt.title" = "非公式リポジトリ"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Hidden Bar"; ObjectID = "2xp-Ht-xa6"; */ 14 | "2xp-Ht-xa6.title" = "Hidden Bar"; 15 | 16 | /* Class = "NSTextFieldCell"; title = "Version"; ObjectID = "4Au-5A-dYq"; */ 17 | "4Au-5A-dYq.title" = "Version"; 18 | 19 | /* Class = "NSMenuItem"; title = "Quit Hidden Bar"; ObjectID = "4sb-4s-VLi"; */ 20 | "4sb-4s-VLi.title" = "Hidden Barを終了"; 21 | 22 | /* Class = "NSMenuItem"; title = "About Hidden Bar"; ObjectID = "5kV-Vb-QxS"; */ 23 | "5kV-Vb-QxS.title" = "Hidden Barについて"; 24 | 25 | /* Class = "NSButtonCell"; title = "Use the full MenuBar on expanding"; ObjectID = "8z8-6N-wnc"; */ 26 | "8z8-6N-wnc.title" = "アイコンを表示する時に Hidden のメニューバーも表示"; 27 | 28 | /* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */ 29 | "AYu-sK-qS6.title" = "メインメニュー"; 30 | 31 | /* Class = "NSTextFieldCell"; title = "MIT © Dwarves Foundation"; ObjectID = "b1t-QR-iSj"; */ 32 | "b1t-QR-iSj.title" = "MIT © Dwarves Foundation"; 33 | 34 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[0] = "General"; ObjectID = "B2x-1Q-Aei"; */ 35 | "B2x-1Q-Aei.ibShadowedLabels[0]" = "一般"; 36 | 37 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[1] = "About"; ObjectID = "B2x-1Q-Aei"; */ 38 | "B2x-1Q-Aei.ibShadowedLabels[1]" = "情報"; 39 | 40 | /* Class = "NSBox"; title = "Box"; ObjectID = "bFi-aV-ejJ"; */ 41 | "bFi-aV-ejJ.title" = "Box"; 42 | 43 | /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */ 44 | "BOF-NM-1cW.title" = "環境設定…"; 45 | 46 | /* Class = "NSMenuItem"; title = "5 seconds"; ObjectID = "bzS-lm-JvT"; */ 47 | "bzS-lm-JvT.title" = "5秒"; 48 | 49 | /* Class = "NSMenuItem"; title = "30 seconds"; ObjectID = "Ch6-Z2-LyX"; */ 50 | "Ch6-Z2-LyX.title" = "30秒"; 51 | 52 | /* Class = "NSTextFieldCell"; title = "Folded"; ObjectID = "cXt-8R-PHo"; */ 53 | "cXt-8R-PHo.title" = "非表示"; 54 | 55 | /* Class = "NSButtonCell"; title = "Set Shortcut"; ObjectID = "fc2-jD-QNf"; */ 56 | "fc2-jD-QNf.title" = "ショットキーを設定"; 57 | 58 | /* Class = "NSTextFieldCell"; title = "This app is fully open source"; ObjectID = "fqc-io-QOP"; */ 59 | "fqc-io-QOP.title" = "このアプリはフルオープンソース"; 60 | 61 | /* Class = "NSMenuItem"; title = "Settings..."; ObjectID = "HF7-4D-F9m"; */ 62 | "HF7-4D-F9m.title" = "設定…"; 63 | 64 | /* Class = "NSTextFieldCell"; title = "Global Shortcut"; ObjectID = "HJP-Lf-rxm"; */ 65 | "HJP-Lf-rxm.title" = "グローバルショットキー"; 66 | 67 | /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */ 68 | "hz9-B4-Xy5.title" = "サービス"; 69 | 70 | /* Class = "NSButtonCell"; title = "⌫"; ObjectID = "IId-1b-leb"; */ 71 | "IId-1b-leb.title" = "⌫"; 72 | 73 | /* Class = "NSTextFieldCell"; title = "Shown"; ObjectID = "iyS-g5-5mk"; */ 74 | "iyS-g5-5mk.title" = "表示"; 75 | 76 | /* Class = "NSMenu"; title = "Context Menu"; ObjectID = "jbH-8J-uq2"; */ 77 | "jbH-8J-uq2.title" = "コンテキストメニュー"; 78 | 79 | /* Class = "NSBox"; title = "Box"; ObjectID = "Jjd-1G-63n"; */ 80 | "Jjd-1G-63n.title" = "Box"; 81 | 82 | /* Class = "NSTextFieldCell"; title = "In your Mac's menu bar, hold ⌘ and drag icons\nbetween sections to configure Hidden Bar."; ObjectID = "k7C-e5-6a0"; */ 83 | "k7C-e5-6a0.title" = "Mac のメニューバーにCommand(⌘)キーを押しながらアイコンを移動して \nメニューバーをカスタマイズする"; 84 | 85 | /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */ 86 | "Kd2-mp-pUS.title" = "Show All"; 87 | 88 | /* Class = "NSButtonCell"; title = "Automatically hide icon after: "; ObjectID = "kg8-rW-srh"; */ 89 | "kg8-rW-srh.title" = "一定時間を経つと自動的にアイコンを非表示する: "; 90 | 91 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "ML6-W4-U8X"; */ 92 | "ML6-W4-U8X.label" = "Custom View"; 93 | 94 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "ML6-W4-U8X"; */ 95 | "ML6-W4-U8X.paletteLabel" = "Custom View"; 96 | 97 | /* Class = "NSBox"; title = "Box"; ObjectID = "mtL-vU-2iq"; */ 98 | "mtL-vU-2iq.title" = "Box"; 99 | 100 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "NIO-JJ-pjq"; */ 101 | "NIO-JJ-pjq.label" = "Custom View"; 102 | 103 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "NIO-JJ-pjq"; */ 104 | "NIO-JJ-pjq.paletteLabel" = "Custom View"; 105 | 106 | /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */ 107 | "NMo-om-nkz.title" = "サービス"; 108 | 109 | /* Class = "NSTextFieldCell"; title = "This repository is an unofficial"; ObjectID = "O79-Ae-pp2"; */ 110 | "O79-Ae-pp2.title" = "このリポジトリは"; 111 | 112 | /* Class = "NSMenuItem"; title = "Hide Hidden Bar"; ObjectID = "Olw-nP-bQN"; */ 113 | "Olw-nP-bQN.title" = "Hidden Barを隠す"; 114 | 115 | /* Class = "NSMenuItem"; title = "Edit Mode"; ObjectID = "OmW-Mp-hRp"; */ 116 | "OmW-Mp-hRp.title" = "編集モード"; 117 | 118 | /* Class = "NSMenuItem"; title = "15 seconds"; ObjectID = "rdn-Xm-fZD"; */ 119 | "rdn-Xm-fZD.title" = "15秒"; 120 | 121 | /* Class = "NSTextFieldCell"; title = "Email us"; ObjectID = "sRr-sO-uV0"; */ 122 | "sRr-sO-uV0.title" = "メールで連絡"; 123 | 124 | /* Class = "NSTextFieldCell"; title = "Follow us on Twitter"; ObjectID = "Tba-C7-Zr8"; */ 125 | "Tba-C7-Zr8.title" = "Twitterでフォロー"; 126 | 127 | /* Class = "NSMenu"; title = "Hidden Bar"; ObjectID = "uQy-DD-JDr"; */ 128 | "uQy-DD-JDr.title" = "Hidden Bar"; 129 | 130 | /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */ 131 | "Vdr-fp-XzO.title" = "ほかを隠す"; 132 | 133 | /* Class = "NSButtonCell"; title = "Start Hidden Bar when I log in"; ObjectID = "W1G-55-zGo"; */ 134 | "W1G-55-zGo.title" = "ログインする時 Hidden Bar を起動"; 135 | 136 | /* Class = "NSTextFieldCell"; title = "Menu bar cleaner"; ObjectID = "X4W-sr-Z32"; */ 137 | "X4W-sr-Z32.title" = "Menu bar cleaner"; 138 | 139 | /* Class = "NSTextFieldCell"; title = "Know more about us"; ObjectID = "Xb1-xM-sYy"; */ 140 | "Xb1-xM-sYy.title" = "私たちを知る"; 141 | 142 | /* Class = "NSTextFieldCell"; title = "branch of Hidden Bar development."; ObjectID = "YDg-Sa-u5Z"; */ 143 | "YDg-Sa-u5Z.title" = "非公式のメンテナンスです。"; 144 | 145 | /* Class = "NSMenuItem"; title = "10 seconds"; ObjectID = "z2X-nw-vxX"; */ 146 | "z2X-nw-vxX.title" = "10秒"; 147 | 148 | /* Class = "NSTextFieldCell"; title = "General"; ObjectID = "zAf-vj-OOZ"; */ 149 | "zAf-vj-OOZ.title" = "一般"; 150 | 151 | /* Class = "NSTextFieldCell"; title = "Monday 08 Mar 9:00AM"; ObjectID = "zAH-cs-dar"; */ 152 | "zAH-cs-dar.title" = "3月8日(月) 9:00"; 153 | 154 | /* Class = "NSMenuItem"; title = "Quit"; ObjectID = "zjl-Sb-hT6"; */ 155 | "zjl-Sb-hT6.title" = "終了"; 156 | 157 | /* Class = "NSMenuItem"; title = "1 minute"; ObjectID = "Zkr-Xd-Ffh"; */ 158 | "Zkr-Xd-Ffh.title" = "1分"; 159 | 160 | -------------------------------------------------------------------------------- /HiddenBar/vi.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | /* 2 | Localizable.strings 3 | Hidden Bar 4 | 5 | Created by Licardo on 2020/3/9. 6 | Copyright © 2020 Dwarves Foundation. All rights reserved. 7 | */ 8 | /* 9 | "Preferences..." = "Tuỳ chọn..."; 10 | "Toggle Auto Collapse" = "Đổi trạng thái tự động ẩn"; 11 | "Enable Auto Collapse" = "Bật tự động ẩn"; 12 | "Disable Auto Collapse" = "Tắt tự động ẩn"; 13 | "Quit" = "Thoát"; 14 | "Set Shortcut" = "Cài phím tắt"; 15 | "Tutorial text" = " 16 | Dùng tính năng luôn ẩn để làm thanh menu gọn gàng hơn bằng cách luôn ẩn những icons bạn không thích. Để bật tính năng này 17 | Các bước thực hiện: 18 | 1. Bật tính năng luôn ẩn “􀥤” (thanh dọc có màu hơi mờ sẽ xuất hiện) 19 | 2. Giữ phím 􀆔 và kéo thanh mờ này về phía bên tay trái của thanh không mờ, di chuyển icons của ứng dụng mà bạn không muốn hiện kể cả khi đang mở rộng (hiện ẩn). 20 | 3. Sau cùng, click phải vào icon “􀆊” để luôn ẩn những icon này. 21 | Để hiện lại những icon luôn ẩn: 22 | 1. Click phải vào nút “􀆊” 😉! 23 | "; 24 | */ 25 | "Preferences..." = "Tuỳ chọn..."; 26 | "Edit Mode" = "Chế độ chỉnh sửa"; 27 | "Edit" = "chỉnh sửa"; 28 | "Invalid" = "Không hợp lệ"; 29 | "Quit" = "Thoát"; 30 | "Set Shortcut" = "Cài phím tắt"; 31 | "Tutorial text" = " 32 | Cách sử dụng: 33 | 1. Nhấp vào Chuyển đổi chính (\"<\") để mở rộng/thu gọn thanh trạng thái. 34 | 2. Giữ phím Tùy chọn (\"⌥\") trong khi nhấp vào Chuyển đổi chính (\"<\") để hiển thị các mục luôn ẩn. 35 | 3. Nhấp chuột phải (Nhấp chuột điều khiển) Chuyển đổi chính (\"<\") để hiển thị Trình đơn ngữ cảnh. 36 | 37 | Chế độ chỉnh sửa: 38 | 1. Kiểm tra \"Chế độ chỉnh sửa\" trong Trình đơn ngữ cảnh để vào chế độ chỉnh sửa. 39 | 2. Trong chế độ chỉnh sửa, các sperator giữa các phần được hiển thị. 40 | Sắp xếp lại các mục trên thanh trạng thái thành các phần nếu cần. 41 | (Giữ phím Command (\"⌘\") để kéo các biểu tượng.) 42 | 3. Thoát khỏi chế độ chỉnh sửa bằng cách nhấp vào Chuyển đổi chính (\"<\") hoặc bỏ chọn \"Chế độ chỉnh sửa\" trong Trình đơn ngữ cảnh. 43 | "; 44 | -------------------------------------------------------------------------------- /HiddenBar/vi.lproj/Main.strings: -------------------------------------------------------------------------------- 1 | 2 | /* Class = "NSTextFieldCell"; title = "Settings"; ObjectID = "1Is-Ut-a9h"; */ 3 | "1Is-Ut-a9h.title" = "Tuỳ chọn"; 4 | 5 | /* Class = "NSMenuItem"; title = "Hidden Bar"; ObjectID = "1Xt-HY-uBw"; */ 6 | "1Xt-HY-uBw.title" = "Hidden Bar"; 7 | 8 | /* Class = "NSTextFieldCell"; title = "⭐️Always Hidden"; ObjectID = "1jU-1x-cFf"; */ 9 | "1jU-1x-cFf.title" = "Luôn ẩn"; 10 | 11 | /* Class = "NSTextFieldCell"; title = "Hidden Bar"; ObjectID = "2xp-Ht-xa6"; */ 12 | "2xp-Ht-xa6.title" = "Hidden Bar"; 13 | 14 | /* Class = "NSTextFieldCell"; title = "Version"; ObjectID = "4Au-5A-dYq"; */ 15 | "4Au-5A-dYq.title" = "Phiên bản"; 16 | 17 | /* Class = "NSMenuItem"; title = "Quit Hidden Bar"; ObjectID = "4sb-4s-VLi"; */ 18 | "4sb-4s-VLi.title" = "Thoát Hidden Bar"; 19 | 20 | /* Class = "NSMenuItem"; title = "About Hidden Bar"; ObjectID = "5kV-Vb-QxS"; */ 21 | "5kV-Vb-QxS.title" = "About Hidden Bar"; 22 | 23 | /* Class = "NSButtonCell"; title = "Use the full MenuBar on expanding"; ObjectID = "8z8-6N-wnc"; */ 24 | "8z8-6N-wnc.title" = "Sử dụng toàn thanh công cụ khi mở rộng"; 25 | 26 | /* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */ 27 | "AYu-sK-qS6.title" = "Main Menu"; 28 | 29 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[0] = "General"; ObjectID = "B2x-1Q-Aei"; */ 30 | "B2x-1Q-Aei.ibShadowedLabels[0]" = "Bảng tuỳ chỉnh"; 31 | 32 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[1] = "About"; ObjectID = "B2x-1Q-Aei"; */ 33 | "B2x-1Q-Aei.ibShadowedLabels[1]" = "Về chúng tôi"; 34 | 35 | /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */ 36 | "BOF-NM-1cW.title" = "Tuỳ chọn…"; 37 | 38 | /* Class = "NSMenuItem"; title = "30 seconds"; ObjectID = "Ch6-Z2-LyX"; */ 39 | "Ch6-Z2-LyX.title" = "30 giây"; 40 | 41 | /* Class = "NSTextFieldCell"; title = "Global Shortcut"; ObjectID = "HJP-Lf-rxm"; */ 42 | "HJP-Lf-rxm.title" = "Phím tắt"; 43 | 44 | /* Class = "NSButtonCell"; title = "⌫"; ObjectID = "IId-1b-leb"; */ 45 | "IId-1b-leb.title" = "⌫"; 46 | 47 | /* Class = "NSBox"; title = "Box"; ObjectID = "Jjd-1G-63n"; */ 48 | "Jjd-1G-63n.title" = "Box"; 49 | 50 | /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */ 51 | "Kd2-mp-pUS.title" = "Show All"; 52 | 53 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "ML6-W4-U8X"; */ 54 | "ML6-W4-U8X.label" = "Custom View"; 55 | 56 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "ML6-W4-U8X"; */ 57 | "ML6-W4-U8X.paletteLabel" = "Custom View"; 58 | 59 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "NIO-JJ-pjq"; */ 60 | "NIO-JJ-pjq.label" = "Custom View"; 61 | 62 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "NIO-JJ-pjq"; */ 63 | "NIO-JJ-pjq.paletteLabel" = "Custom View"; 64 | 65 | /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */ 66 | "NMo-om-nkz.title" = "Services"; 67 | 68 | /* Class = "NSButtonCell"; title = "Enable always hidden section"; ObjectID = "Nhn-ch-1f7"; */ 69 | "Nhn-ch-1f7.title" = "Bật tính năng luôn ẩn"; 70 | 71 | /* Class = "NSMenuItem"; title = "Hide Hidden Bar"; ObjectID = "Olw-nP-bQN"; */ 72 | "Olw-nP-bQN.title" = "Ẩn Hidden Bar"; 73 | 74 | /* Class = "NSTextFieldCell"; title = "Follow us on Twitter"; ObjectID = "Tba-C7-Zr8"; */ 75 | "Tba-C7-Zr8.title" = "Theo dõi chúng tôi trên Twitter"; 76 | 77 | /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */ 78 | "Vdr-fp-XzO.title" = "Hide Others"; 79 | 80 | /* Class = "NSButtonCell"; title = "Start Hidden Bar when I log in"; ObjectID = "W1G-55-zGo"; */ 81 | "W1G-55-zGo.title" = "Chạy Hidden Bar khi khởi động"; 82 | 83 | /* Class = "NSTextFieldCell"; title = "Menu bar cleaner"; ObjectID = "X4W-sr-Z32"; */ 84 | "X4W-sr-Z32.title" = "Menu bar cleaner"; 85 | 86 | /* Class = "NSTextFieldCell"; title = "Know more about us"; ObjectID = "Xb1-xM-sYy"; */ 87 | "Xb1-xM-sYy.title" = "Tìm hiểu thêm về chúng tôi"; 88 | 89 | /* Class = "NSMenuItem"; title = "1 minute"; ObjectID = "Zkr-Xd-Ffh"; */ 90 | "Zkr-Xd-Ffh.title" = "1 phút"; 91 | 92 | /* Class = "NSTextFieldCell"; title = "MIT © Dwarves Foundation"; ObjectID = "b1t-QR-iSj"; */ 93 | "b1t-QR-iSj.title" = "MIT © Dwarves Foundation"; 94 | 95 | /* Class = "NSBox"; title = "Box"; ObjectID = "bFi-aV-ejJ"; */ 96 | "bFi-aV-ejJ.title" = "Box"; 97 | 98 | /* Class = "NSMenuItem"; title = "5 seconds"; ObjectID = "bzS-lm-JvT"; */ 99 | "bzS-lm-JvT.title" = "5 giây"; 100 | 101 | /* Class = "NSTextFieldCell"; title = "Hidden"; ObjectID = "cXt-8R-PHo"; */ 102 | "cXt-8R-PHo.title" = "Ẩn"; 103 | 104 | /* Class = "NSButtonCell"; title = "Set Shortcut"; ObjectID = "fc2-jD-QNf"; */ 105 | "fc2-jD-QNf.title" = "Đặt phím tắt"; 106 | 107 | /* Class = "NSTextFieldCell"; title = "This app is fully open source"; ObjectID = "fqc-io-QOP"; */ 108 | "fqc-io-QOP.title" = "Đây là phần mềm mã nguồn mở"; 109 | 110 | /* Class = "NSButtonCell"; title = "Show preferences on launch"; ObjectID = "hCh-Ue-NgH"; */ 111 | "hCh-Ue-NgH.title" = "Hiện tuỳ chọn lúc khởi chạy"; 112 | 113 | /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */ 114 | "hz9-B4-Xy5.title" = "Services"; 115 | 116 | /* Class = "NSTextFieldCell"; title = "Shown"; ObjectID = "iyS-g5-5mk"; */ 117 | "iyS-g5-5mk.title" = "Hiện"; 118 | 119 | /* Class = "NSTextFieldCell"; title = "In your Mac's menu bar, hold ⌘ and drag icons\nbetween sections to configure Hidden Bar."; ObjectID = "k7C-e5-6a0"; */ 120 | "k7C-e5-6a0.title" = "Ở thanh menu hệ thống, giữ phím ⌘ và nhấn chuột kéo icons\n di chuyển đến vùng cần ẩn /hiện."; 121 | 122 | /* Class = "NSButtonCell"; title = "Automatically hide icon after: "; ObjectID = "kg8-rW-srh"; */ 123 | "kg8-rW-srh.title" = "Tự động ẩn sau: "; 124 | 125 | /* Class = "NSBox"; title = "Box"; ObjectID = "mtL-vU-2iq"; */ 126 | "mtL-vU-2iq.title" = "Box"; 127 | 128 | /* Class = "NSMenuItem"; title = "15 seconds"; ObjectID = "rdn-Xm-fZD"; */ 129 | "rdn-Xm-fZD.title" = "15 giây"; 130 | 131 | /* Class = "NSTextFieldCell"; title = "Email us"; ObjectID = "sRr-sO-uV0"; */ 132 | "sRr-sO-uV0.title" = "Email cho chúng tôi"; 133 | 134 | /* Class = "NSMenu"; title = "Hidden Bar"; ObjectID = "uQy-DD-JDr"; */ 135 | "uQy-DD-JDr.title" = "Hidden Bar"; 136 | 137 | /* Class = "NSMenuItem"; title = "10 seconds"; ObjectID = "z2X-nw-vxX"; */ 138 | "z2X-nw-vxX.title" = "10 giây"; 139 | 140 | /* Class = "NSTextFieldCell"; title = "Monday 08 Mar 9:00AM"; ObjectID = "zAH-cs-dar"; */ 141 | "zAH-cs-dar.title" = "Monday 08 Mar 9:00AM"; 142 | 143 | /* Class = "NSTextFieldCell"; title = "General"; ObjectID = "zAf-vj-OOZ"; */ 144 | "zAf-vj-OOZ.title" = "General"; 145 | -------------------------------------------------------------------------------- /HiddenBar/zh-Hans.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Copyright (human-readable) */ 2 | "NSHumanReadableCopyright" = "著作权所有 © 2023 UeharaYou. 保留一切权利。"; 3 | 4 | -------------------------------------------------------------------------------- /HiddenBar/zh-Hans.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | /* (No Comment) */ 2 | "Edit" = "编辑"; 3 | 4 | /* (No Comment) */ 5 | "Edit Mode" = "编辑模式"; 6 | 7 | /* (No Comment) */ 8 | "Invalid" = "无效配置"; 9 | 10 | /* Localizable.strings 11 | Hidden Bar 12 | 13 | Created by Licardo on 2020/3/9. 14 | Copyright © 2020 Dwarves Foundation. All rights reserved. */ 15 | "Preferences..." = "偏好设置..."; 16 | 17 | /* (No Comment) */ 18 | "Quit" = "退出"; 19 | 20 | /* (No Comment) */ 21 | "Set Shortcut" = "设置快捷键"; 22 | 23 | /* Step by step tutorial */ 24 | "Tutorial text" = "\n使用方法:\n1. 单击主按钮(<)以显示/隐藏“折叠”分区内的图标。\n2. 按住Option键(⌥)并单击主按钮(<)以显示“不可见“分区内的图标。\n3. 右击(Control-单击)主按钮(<)以调出菜单。\n\n编辑模式:\n1. 在菜单中选中”编辑模式“以进入编辑模式。\n2. 在编辑模式中会显示各分区之间的分割线。\n 按照自己的需要将各图标拖动到对应分区内,按住Command键(⌘)可拖动图标。\n3. 在菜单中清除”编辑模式“选框或单击主按钮(<)以退出编辑模式。\n"; 25 | 26 | -------------------------------------------------------------------------------- /HiddenBar/zh-Hans.lproj/Main.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Settings"; ObjectID = "1Is-Ut-a9h"; */ 2 | "1Is-Ut-a9h.title" = "设置"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Invisible"; ObjectID = "1jU-1x-cFf"; */ 5 | "1jU-1x-cFf.title" = "不可见"; 6 | 7 | /* Class = "NSMenuItem"; title = "Hidden Bar"; ObjectID = "1Xt-HY-uBw"; */ 8 | "1Xt-HY-uBw.title" = "Hidden Bar"; 9 | 10 | /* Class = "NSTextFieldCell"; title = "Unoffical Maintenance Repositoy"; ObjectID = "2X9-xt-WLt"; */ 11 | "2X9-xt-WLt.title" = "非官方维护库"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Hidden Bar"; ObjectID = "2xp-Ht-xa6"; */ 14 | "2xp-Ht-xa6.title" = "Hidden Bar"; 15 | 16 | /* Class = "NSTextFieldCell"; title = "Version"; ObjectID = "4Au-5A-dYq"; */ 17 | "4Au-5A-dYq.title" = "版本"; 18 | 19 | /* Class = "NSMenuItem"; title = "Quit Hidden Bar"; ObjectID = "4sb-4s-VLi"; */ 20 | "4sb-4s-VLi.title" = "退出Hidden Bar"; 21 | 22 | /* Class = "NSMenuItem"; title = "About Hidden Bar"; ObjectID = "5kV-Vb-QxS"; */ 23 | "5kV-Vb-QxS.title" = "关于Hidden Bar"; 24 | 25 | /* Class = "NSButtonCell"; title = "Use the full MenuBar on expanding"; ObjectID = "8z8-6N-wnc"; */ 26 | "8z8-6N-wnc.title" = "展开隐藏区域时使用完整的菜单栏"; 27 | 28 | /* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */ 29 | "AYu-sK-qS6.title" = "主菜单"; 30 | 31 | /* Class = "NSTextFieldCell"; title = "MIT © Dwarves Foundation"; ObjectID = "b1t-QR-iSj"; */ 32 | "b1t-QR-iSj.title" = "MIT © Dwarves Foundation"; 33 | 34 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[0] = "General"; ObjectID = "B2x-1Q-Aei"; */ 35 | "B2x-1Q-Aei.ibShadowedLabels[0]" = "通用"; 36 | 37 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[1] = "About"; ObjectID = "B2x-1Q-Aei"; */ 38 | "B2x-1Q-Aei.ibShadowedLabels[1]" = "关于我们"; 39 | 40 | /* Class = "NSBox"; title = "Box"; ObjectID = "bFi-aV-ejJ"; */ 41 | "bFi-aV-ejJ.title" = "方框"; 42 | 43 | /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */ 44 | "BOF-NM-1cW.title" = "偏好设置…"; 45 | 46 | /* Class = "NSMenuItem"; title = "5 seconds"; ObjectID = "bzS-lm-JvT"; */ 47 | "bzS-lm-JvT.title" = "5秒"; 48 | 49 | /* Class = "NSMenuItem"; title = "30 seconds"; ObjectID = "Ch6-Z2-LyX"; */ 50 | "Ch6-Z2-LyX.title" = "30秒"; 51 | 52 | /* Class = "NSTextFieldCell"; title = "Folded"; ObjectID = "cXt-8R-PHo"; */ 53 | "cXt-8R-PHo.title" = "折叠"; 54 | 55 | /* Class = "NSTextFieldCell"; title = " "; ObjectID = "ERh-JM-snt"; */ 56 | "ERh-JM-snt.title" = " 后自动隐藏图标"; 57 | 58 | /* Class = "NSButtonCell"; title = "Set Shortcut"; ObjectID = "fc2-jD-QNf"; */ 59 | "fc2-jD-QNf.title" = "设置快捷键"; 60 | 61 | /* Class = "NSTextFieldCell"; title = "This app is fully open source"; ObjectID = "fqc-io-QOP"; */ 62 | "fqc-io-QOP.title" = "此应用完全开源"; 63 | 64 | /* Class = "NSMenuItem"; title = "Settings..."; ObjectID = "HF7-4D-F9m"; */ 65 | "HF7-4D-F9m.title" = "设置..."; 66 | 67 | /* Class = "NSTextFieldCell"; title = "Global Shortcut"; ObjectID = "HJP-Lf-rxm"; */ 68 | "HJP-Lf-rxm.title" = "全局快捷键"; 69 | 70 | /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */ 71 | "hz9-B4-Xy5.title" = "服务"; 72 | 73 | /* Class = "NSButtonCell"; title = "⌫"; ObjectID = "IId-1b-leb"; */ 74 | "IId-1b-leb.title" = "⌫"; 75 | 76 | /* Class = "NSTextFieldCell"; title = "Shown"; ObjectID = "iyS-g5-5mk"; */ 77 | "iyS-g5-5mk.title" = "显示"; 78 | 79 | /* Class = "NSMenu"; title = "Context Menu"; ObjectID = "jbH-8J-uq2"; */ 80 | "jbH-8J-uq2.title" = "右键菜单"; 81 | 82 | /* Class = "NSBox"; title = "Box"; ObjectID = "Jjd-1G-63n"; */ 83 | "Jjd-1G-63n.title" = "方框"; 84 | 85 | /* Class = "NSTextFieldCell"; title = "In your Mac's menu bar, hold ⌘ and drag icons\nbetween sections to configure Hidden Bar."; ObjectID = "k7C-e5-6a0"; */ 86 | "k7C-e5-6a0.title" = "在 Mac 的菜单栏中,按住Command键(⌘)并拖动图标\n以自定义菜单栏"; 87 | 88 | /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */ 89 | "Kd2-mp-pUS.title" = "显示全部"; 90 | 91 | /* Class = "NSButtonCell"; title = "Automatically hide icon after: "; ObjectID = "kg8-rW-srh"; */ 92 | "kg8-rW-srh.title" = "等待"; 93 | 94 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "ML6-W4-U8X"; */ 95 | "ML6-W4-U8X.label" = "Custom View"; 96 | 97 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "ML6-W4-U8X"; */ 98 | "ML6-W4-U8X.paletteLabel" = "Custom View"; 99 | 100 | /* Class = "NSBox"; title = "Box"; ObjectID = "mtL-vU-2iq"; */ 101 | "mtL-vU-2iq.title" = "Box"; 102 | 103 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "NIO-JJ-pjq"; */ 104 | "NIO-JJ-pjq.label" = "Custom View"; 105 | 106 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "NIO-JJ-pjq"; */ 107 | "NIO-JJ-pjq.paletteLabel" = "Custom View"; 108 | 109 | /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */ 110 | "NMo-om-nkz.title" = "服务"; 111 | 112 | /* Class = "NSTextFieldCell"; title = "This repository is an unofficial"; ObjectID = "O79-Ae-pp2"; */ 113 | "O79-Ae-pp2.title" = "本仓库为非官方"; 114 | 115 | /* Class = "NSMenuItem"; title = "Hide Hidden Bar"; ObjectID = "Olw-nP-bQN"; */ 116 | "Olw-nP-bQN.title" = "隐藏Hidden Bar"; 117 | 118 | /* Class = "NSMenuItem"; title = "Edit Mode"; ObjectID = "OmW-Mp-hRp"; */ 119 | "OmW-Mp-hRp.title" = "编辑模式"; 120 | 121 | /* Class = "NSMenuItem"; title = "15 seconds"; ObjectID = "rdn-Xm-fZD"; */ 122 | "rdn-Xm-fZD.title" = "15秒"; 123 | 124 | /* Class = "NSTextFieldCell"; title = "Email us"; ObjectID = "sRr-sO-uV0"; */ 125 | "sRr-sO-uV0.title" = "通过电子邮件联系我们"; 126 | 127 | /* Class = "NSTextFieldCell"; title = "Follow us on Twitter"; ObjectID = "Tba-C7-Zr8"; */ 128 | "Tba-C7-Zr8.title" = "在推特上关注我们"; 129 | 130 | /* Class = "NSMenu"; title = "Hidden Bar"; ObjectID = "uQy-DD-JDr"; */ 131 | "uQy-DD-JDr.title" = "Hidden Bar"; 132 | 133 | /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */ 134 | "Vdr-fp-XzO.title" = "隐藏其他"; 135 | 136 | /* Class = "NSButtonCell"; title = "Start Hidden Bar when I log in"; ObjectID = "W1G-55-zGo"; */ 137 | "W1G-55-zGo.title" = "在登录时启动 Hidden Bar"; 138 | 139 | /* Class = "NSTextFieldCell"; title = "Menu bar cleaner"; ObjectID = "X4W-sr-Z32"; */ 140 | "X4W-sr-Z32.title" = "菜单栏管理器"; 141 | 142 | /* Class = "NSTextFieldCell"; title = "Know more about us"; ObjectID = "Xb1-xM-sYy"; */ 143 | "Xb1-xM-sYy.title" = "了解更多"; 144 | 145 | /* Class = "NSTextFieldCell"; title = "branch of Hidden Bar development."; ObjectID = "YDg-Sa-u5Z"; */ 146 | "YDg-Sa-u5Z.title" = "Hidden Bar开发分支。"; 147 | 148 | /* Class = "NSMenuItem"; title = "10 seconds"; ObjectID = "z2X-nw-vxX"; */ 149 | "z2X-nw-vxX.title" = "10秒"; 150 | 151 | /* Class = "NSTextFieldCell"; title = "General"; ObjectID = "zAf-vj-OOZ"; */ 152 | "zAf-vj-OOZ.title" = "通用"; 153 | 154 | /* Class = "NSTextFieldCell"; title = "Monday 08 Mar 9:00AM"; ObjectID = "zAH-cs-dar"; */ 155 | "zAH-cs-dar.title" = "5月8日 星期一 上午9:00"; 156 | 157 | /* Class = "NSMenuItem"; title = "Quit"; ObjectID = "zjl-Sb-hT6"; */ 158 | "zjl-Sb-hT6.title" = "退出"; 159 | 160 | /* Class = "NSMenuItem"; title = "1 minute"; ObjectID = "Zkr-Xd-Ffh"; */ 161 | "Zkr-Xd-Ffh.title" = "1分钟"; 162 | 163 | -------------------------------------------------------------------------------- /HiddenBar/zh-Hant.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Copyright (human-readable) */ 2 | "NSHumanReadableCopyright" = "著作權所有 © 2023 UeharaYou. 保留一切權益。"; 3 | 4 | -------------------------------------------------------------------------------- /HiddenBar/zh-Hant.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | /* (No Comment) */ 2 | "Edit" = "編輯"; 3 | 4 | /* (No Comment) */ 5 | "Edit Mode" = "編輯模式"; 6 | 7 | /* (No Comment) */ 8 | "Invalid" = "無效配置"; 9 | 10 | /* Localizable.strings 11 | Hidden Bar 12 | 13 | Created by Licardo on 2020/3/9. 14 | Copyright © 2020 Dwarves Foundation. All rights reserved. */ 15 | "Preferences..." = "偏好設定⋯"; 16 | 17 | /* (No Comment) */ 18 | "Quit" = "結束"; 19 | 20 | /* (No Comment) */ 21 | "Set Shortcut" = "設定快速鍵"; 22 | 23 | /* Step by step tutorial */ 24 | "Tutorial text" = "\n使用方法:\n1. 按下主開關(<)來展開或收合狀態列。\n2. 按住Option鍵(⌥)同時按下主開關(<)來展開或收合「持續隱藏」區塊中的圖示。\n3. 對主開關(<)按下右鍵(Control-輕按)調出下拉式清單。\n\n編輯模式:\n1. 在下拉式清單中選中「編輯模式」以進入編輯模式。\n2. 在編輯模式中會顯示各分區之間的分割線。\n 按照自己的需要將各圖示拖動到對應分區內,按住Command鍵(⌘)可拖動圖示。\n3. 在下拉式清單中清除「編輯模式」選框或按下主按鈕(<)以退出編輯模式。\n"; 25 | 26 | -------------------------------------------------------------------------------- /HiddenBar/zh-Hant.lproj/Main.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Settings"; ObjectID = "1Is-Ut-a9h"; */ 2 | "1Is-Ut-a9h.title" = "設定"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Invisible"; ObjectID = "1jU-1x-cFf"; */ 5 | "1jU-1x-cFf.title" = "隱藏"; 6 | 7 | /* Class = "NSMenuItem"; title = "Hidden Bar"; ObjectID = "1Xt-HY-uBw"; */ 8 | "1Xt-HY-uBw.title" = "Hidden Bar"; 9 | 10 | /* Class = "NSTextFieldCell"; title = "Unoffical Maintenance Repositoy"; ObjectID = "2X9-xt-WLt"; */ 11 | "2X9-xt-WLt.title" = "非官方維護儲存庫"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Hidden Bar"; ObjectID = "2xp-Ht-xa6"; */ 14 | "2xp-Ht-xa6.title" = "Hidden Bar"; 15 | 16 | /* Class = "NSTextFieldCell"; title = "Version"; ObjectID = "4Au-5A-dYq"; */ 17 | "4Au-5A-dYq.title" = "版本"; 18 | 19 | /* Class = "NSMenuItem"; title = "Quit Hidden Bar"; ObjectID = "4sb-4s-VLi"; */ 20 | "4sb-4s-VLi.title" = "結束Hidden Bar"; 21 | 22 | /* Class = "NSMenuItem"; title = "About Hidden Bar"; ObjectID = "5kV-Vb-QxS"; */ 23 | "5kV-Vb-QxS.title" = "關於Hidden Bar"; 24 | 25 | /* Class = "NSButtonCell"; title = "Use the full MenuBar on expanding"; ObjectID = "8z8-6N-wnc"; */ 26 | "8z8-6N-wnc.title" = "展開隱藏區時淨空選單列"; 27 | 28 | /* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */ 29 | "AYu-sK-qS6.title" = "主選單"; 30 | 31 | /* Class = "NSTextFieldCell"; title = "MIT © Dwarves Foundation"; ObjectID = "b1t-QR-iSj"; */ 32 | "b1t-QR-iSj.title" = "MIT © Dwarves Foundation"; 33 | 34 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[0] = "General"; ObjectID = "B2x-1Q-Aei"; */ 35 | "B2x-1Q-Aei.ibShadowedLabels[0]" = "一般"; 36 | 37 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[1] = "About"; ObjectID = "B2x-1Q-Aei"; */ 38 | "B2x-1Q-Aei.ibShadowedLabels[1]" = "關於"; 39 | 40 | /* Class = "NSBox"; title = "Box"; ObjectID = "bFi-aV-ejJ"; */ 41 | "bFi-aV-ejJ.title" = "方框"; 42 | 43 | /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */ 44 | "BOF-NM-1cW.title" = "偏好設定⋯"; 45 | 46 | /* Class = "NSMenuItem"; title = "5 seconds"; ObjectID = "bzS-lm-JvT"; */ 47 | "bzS-lm-JvT.title" = "5秒"; 48 | 49 | /* Class = "NSMenuItem"; title = "30 seconds"; ObjectID = "Ch6-Z2-LyX"; */ 50 | "Ch6-Z2-LyX.title" = "30秒"; 51 | 52 | /* Class = "NSTextFieldCell"; title = "Folded"; ObjectID = "cXt-8R-PHo"; */ 53 | "cXt-8R-PHo.title" = "折疊"; 54 | 55 | /* Class = "NSButtonCell"; title = "Set Shortcut"; ObjectID = "fc2-jD-QNf"; */ 56 | "fc2-jD-QNf.title" = "設定快速鍵"; 57 | 58 | /* Class = "NSTextFieldCell"; title = "This app is fully open source"; ObjectID = "fqc-io-QOP"; */ 59 | "fqc-io-QOP.title" = "這個App完全開源"; 60 | 61 | /* Class = "NSMenuItem"; title = "Settings..."; ObjectID = "HF7-4D-F9m"; */ 62 | "HF7-4D-F9m.title" = "設定⋯"; 63 | 64 | /* Class = "NSTextFieldCell"; title = "Global Shortcut"; ObjectID = "HJP-Lf-rxm"; */ 65 | "HJP-Lf-rxm.title" = "全域快捷鍵"; 66 | 67 | /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */ 68 | "hz9-B4-Xy5.title" = "服務"; 69 | 70 | /* Class = "NSButtonCell"; title = "⌫"; ObjectID = "IId-1b-leb"; */ 71 | "IId-1b-leb.title" = "⌫"; 72 | 73 | /* Class = "NSTextFieldCell"; title = "Shown"; ObjectID = "iyS-g5-5mk"; */ 74 | "iyS-g5-5mk.title" = "顯示區"; 75 | 76 | /* Class = "NSMenu"; title = "Context Menu"; ObjectID = "jbH-8J-uq2"; */ 77 | "jbH-8J-uq2.title" = "特色選單"; 78 | 79 | /* Class = "NSBox"; title = "Box"; ObjectID = "Jjd-1G-63n"; */ 80 | "Jjd-1G-63n.title" = "方框"; 81 | 82 | /* Class = "NSTextFieldCell"; title = "In your Mac's menu bar, hold ⌘ and drag icons\nbetween sections to configure Hidden Bar."; ObjectID = "k7C-e5-6a0"; */ 83 | "k7C-e5-6a0.title" = "按住Command鍵(⌘)並在區段間拖曳Mac選單列的圖示,即可設定Hidden Bar。"; 84 | 85 | /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */ 86 | "Kd2-mp-pUS.title" = "顯示全部"; 87 | 88 | /* Class = "NSButtonCell"; title = "Automatically hide icon after: "; ObjectID = "kg8-rW-srh"; */ 89 | "kg8-rW-srh.title" = "自動隱藏圖示的時間間隔:"; 90 | 91 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "ML6-W4-U8X"; */ 92 | "ML6-W4-U8X.label" = "自訂顯示方式"; 93 | 94 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "ML6-W4-U8X"; */ 95 | "ML6-W4-U8X.paletteLabel" = "自訂顯示方式"; 96 | 97 | /* Class = "NSBox"; title = "Box"; ObjectID = "mtL-vU-2iq"; */ 98 | "mtL-vU-2iq.title" = "方框"; 99 | 100 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "NIO-JJ-pjq"; */ 101 | "NIO-JJ-pjq.label" = "自訂顯示方式"; 102 | 103 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "NIO-JJ-pjq"; */ 104 | "NIO-JJ-pjq.paletteLabel" = "自訂顯示方式"; 105 | 106 | /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */ 107 | "NMo-om-nkz.title" = "服務"; 108 | 109 | /* Class = "NSTextFieldCell"; title = "This repository is an unofficial"; ObjectID = "O79-Ae-pp2"; */ 110 | "O79-Ae-pp2.title" = "這個儲存庫是非官方的"; 111 | 112 | /* Class = "NSMenuItem"; title = "Hide Hidden Bar"; ObjectID = "Olw-nP-bQN"; */ 113 | "Olw-nP-bQN.title" = "隱藏Hidden Bar"; 114 | 115 | /* Class = "NSMenuItem"; title = "Edit Mode"; ObjectID = "OmW-Mp-hRp"; */ 116 | "OmW-Mp-hRp.title" = "編輯模式"; 117 | 118 | /* Class = "NSMenuItem"; title = "15 seconds"; ObjectID = "rdn-Xm-fZD"; */ 119 | "rdn-Xm-fZD.title" = "15秒"; 120 | 121 | /* Class = "NSTextFieldCell"; title = "Email us"; ObjectID = "sRr-sO-uV0"; */ 122 | "sRr-sO-uV0.title" = "用電子郵件聯絡我們"; 123 | 124 | /* Class = "NSTextFieldCell"; title = "Follow us on Twitter"; ObjectID = "Tba-C7-Zr8"; */ 125 | "Tba-C7-Zr8.title" = "在Twitter追蹤我們"; 126 | 127 | /* Class = "NSMenu"; title = "Hidden Bar"; ObjectID = "uQy-DD-JDr"; */ 128 | "uQy-DD-JDr.title" = "Hidden Bar"; 129 | 130 | /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */ 131 | "Vdr-fp-XzO.title" = "隱藏其他"; 132 | 133 | /* Class = "NSButtonCell"; title = "Start Hidden Bar when I log in"; ObjectID = "W1G-55-zGo"; */ 134 | "W1G-55-zGo.title" = "登入時啟動Hidden Bar"; 135 | 136 | /* Class = "NSTextFieldCell"; title = "Menu bar cleaner"; ObjectID = "X4W-sr-Z32"; */ 137 | "X4W-sr-Z32.title" = "選單列清道夫"; 138 | 139 | /* Class = "NSTextFieldCell"; title = "Know more about us"; ObjectID = "Xb1-xM-sYy"; */ 140 | "Xb1-xM-sYy.title" = "深入了解我們"; 141 | 142 | /* Class = "NSTextFieldCell"; title = "branch of Hidden Bar development."; ObjectID = "YDg-Sa-u5Z"; */ 143 | "YDg-Sa-u5Z.title" = "Hidden Bar開發分支。"; 144 | 145 | /* Class = "NSMenuItem"; title = "10 seconds"; ObjectID = "z2X-nw-vxX"; */ 146 | "z2X-nw-vxX.title" = "10秒"; 147 | 148 | /* Class = "NSTextFieldCell"; title = "General"; ObjectID = "zAf-vj-OOZ"; */ 149 | "zAf-vj-OOZ.title" = "一般"; 150 | 151 | /* Class = "NSTextFieldCell"; title = "Monday 08 Mar 9:00AM"; ObjectID = "zAH-cs-dar"; */ 152 | "zAH-cs-dar.title" = "5月8日 星期一 上午9:00"; 153 | 154 | /* Class = "NSMenuItem"; title = "Quit"; ObjectID = "zjl-Sb-hT6"; */ 155 | "zjl-Sb-hT6.title" = "結束"; 156 | 157 | /* Class = "NSMenuItem"; title = "1 minute"; ObjectID = "Zkr-Xd-Ffh"; */ 158 | "Zkr-Xd-Ffh.title" = "1分鐘"; 159 | 160 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | === Hidden Bar v2.0 License === 2 | MIT License 3 | 4 | Copyright (c) 2023 UeharaYou 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | 24 | === Original License === 25 | 26 | MIT License 27 | 28 | Copyright (c) 2019 Dwarves Foundation 29 | 30 | Permission is hereby granted, free of charge, to any person obtaining a copy 31 | of this software and associated documentation files (the "Software"), to deal 32 | in the Software without restriction, including without limitation the rights 33 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 34 | copies of the Software, and to permit persons to whom the Software is 35 | furnished to do so, subject to the following conditions: 36 | 37 | The above copyright notice and this permission notice shall be included in all 38 | copies or substantial portions of the Software. 39 | 40 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 41 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 42 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 43 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 44 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 45 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 46 | SOFTWARE. 47 | -------------------------------------------------------------------------------- /PRIVACY_POLICY.md: -------------------------------------------------------------------------------- 1 | ## Privacy Policy 2 | 3 | The Unofficial Maintenance version of Hidden Bar is built by UeharaYou, inheriting the original privacy policy of the original Hidden Bar. 4 | 5 | ### Privacy Policy for original Hidden Bar 6 | 7 | Dwarves Foundation built the Hidden Bar app as an Open Source app. This app is provided by Dwarves Foundation at no cost and is intended for use as is. 8 | 9 | **Information Collection and Use** 10 | 11 | The app does NOT use any third party services that may collect information used to identify you. 12 | 13 | **Contact Us** 14 | 15 | If you have any questions or suggestions about our Privacy Policy, do not hesitate to contact us at macos@d.foundation. 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

4 |

5 | 6 | platform 7 | 8 | 9 | systemrequirements 10 | 11 |

12 | 13 | ## Hidden Bar (Unofficial Maintenance) 14 | Hidden Bar (Unofficial Maintenance) lets you hide menu bar items to give your Mac a cleaner look. 15 | This is an unofficial maintenance for the discontinued original [Hidden Bar](https://github.com/dwarvesf/hidden). 16 | 17 |

18 | 19 | 20 |

21 | 22 | ## 🚀 Install 23 | 24 | ###  App Store 25 | 26 | This verison of Hidden Bar is not available on the App Store. 27 | 28 | Original Version (v1.8): [![AppStore](img/appstore.svg)](https://itunes.apple.com/app/hidden-bar/id1452453066) 29 | 30 | ### Pre-built Packages 31 | 32 | Pre-built packages of Hidden Bar can be found [here](https://github.com/UeharaYou/HiddenBar/releases). 33 | 34 | Notice: This version of Hidden Bar is NOT notarized. The GateKeeper will flag any non-notarized App as Untrusted and therefore prevent it from opening. Although you can override GateKeeper's decision, it is considered a bad habit while using your computer. Besides notarizing an app requires enrollments of Apple Developer Program, which currently is not the case for me. 35 | 36 | For security reasons, it is STRONGLY RECOMMENDED to build your own copies from source, which means you might also inspect the code yourself. 37 | 38 | For packages of the original Hidden Bar (up to v1.9), check out the original repo [here](https://github.com/dwarvesf/hidden). 39 | 40 | #### Build from Source 41 | 42 | To build this version of Hidden Bar, you have to have Xcode installed. 43 | 44 | 1. Import the project into Xcode. 45 | 2. Reslove the team certificate error. You have to sign your own copies yourself with your own cert. It is not necessary to be a member of Apple Developer Program to build this project. 46 | 3. Build the project in Xcode. 47 | 48 | ## 🕹 Usage 49 | 50 | The usage of version of Hidden Bar is slightly different from the original one. 51 | 52 | * `⌘` + drag to move the Hidden icons around in the menu bar. 53 | * Click the Arrow icon to hide menu bar items. 54 | 55 | For more usage info, click the Help button in the Settings interfaces. 56 | 57 |

58 | 59 |

60 | 61 | ## ✨Contributions 62 | 63 | Please read [this](CONTRIBUTING.md) before you make a contribution. 64 | 65 | ### Unofficial Maintenance Acknowledgements 66 | 67 | Sincere gratitudes towards all contributors of the original Hidden Bar for your previous works. 68 | 69 | ### Original Acknowledgements 70 | 71 | This project exists thanks to all the people who contribute. Thank you guys so much 👏 72 | 73 | [![](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/images/0)](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/links/0)[![](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/images/1)](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/links/1)[![](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/images/2)](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/links/2)[![](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/images/3)](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/links/3)[![](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/images/4)](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/links/4)[![](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/images/5)](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/links/5)[![](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/images/6)](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/links/6)[![](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/images/7)](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/links/7) 74 | 75 | ## Requirements 76 | macOS version >= 10.13 77 | 78 | ## License 79 | 80 | MIT © [UeharaYou](https://github.com/UeharaYou); original: [Dwarves Foundation](https://github.com/dwarvesf) 81 | -------------------------------------------------------------------------------- /img/icon_512@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/img/icon_512@2x.png -------------------------------------------------------------------------------- /img/screen1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/img/screen1.png -------------------------------------------------------------------------------- /img/screen2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/img/screen2.png -------------------------------------------------------------------------------- /img/tutorial.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/img/tutorial.gif --------------------------------------------------------------------------------