├── .gitignore
├── CONTRIBUTING.md
├── Hidden Bar.xcodeproj
├── project.pbxproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── swiftpm
│ │ └── Package.resolved
└── xcshareddata
│ └── xcschemes
│ ├── Hidden Bar.xcscheme
│ └── LauncherApplication.xcscheme
├── LICENSE
├── LauncherApplication
├── AppDelegate.swift
├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ └── Contents.json
├── Base.lproj
│ └── Main.storyboard
├── Info.plist
├── LauncherApplication.entitlements
├── ViewController.swift
├── ar.lproj
│ └── Main.strings
├── de.lproj
│ └── Main.strings
├── fr.lproj
│ └── Main.strings
├── hr.lproj
│ └── Main.strings
├── ja.lproj
│ └── Main.strings
├── vi.lproj
│ └── Main.strings
├── zh-Hans.lproj
│ └── Main.strings
└── zh-Hant.lproj
│ └── Main.strings
├── PRIVACY_POLICY.md
├── README.md
├── hidden
├── 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
│ ├── 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
│ ├── Assets.swift
│ ├── Constant.swift
│ ├── Preferences.swift
│ └── Util.swift
├── EventMonitor.swift
├── Extensions
│ ├── Bundle+Extension.swift
│ ├── Date+Extension.swift
│ ├── NSWindow+Extension.swift
│ ├── Notification.Name+Extension.swift
│ ├── StackView+Extension.swift
│ ├── String+Extension.swift
│ └── UserDefault+Extension.swift
├── Features
│ ├── About
│ │ └── AboutViewController.swift
│ ├── Preferences
│ │ ├── PreferencesViewController.swift
│ │ └── PreferencesWindowController.swift
│ └── StatusBar
│ │ └── StatusBarController.swift
├── Hidden.entitlements
├── Info.plist
├── Models
│ ├── GlobalKeybindingPreferences.swift
│ └── SelectedSecond.swift
├── Views
│ ├── HyperlinkTextField.swift
│ ├── NSBarButtonItem+Extension.swift
│ └── NSView+Extension.swift
├── ar.lproj
│ ├── Localizable.strings
│ └── Main.strings
├── de.lproj
│ ├── Localizable.strings
│ └── Main.strings
├── en.lproj
│ └── Localizable.strings
├── fr.lproj
│ ├── Localizable.strings
│ └── Main.strings
├── hr.lproj
│ ├── Localizable.strings
│ └── Main.strings
├── ja.lproj
│ ├── Localizable.strings
│ └── Main.strings
├── vi.lproj
│ ├── Localizable.strings
│ └── Main.strings
├── zh-Hans.lproj
│ ├── Localizable.strings
│ └── Main.strings
└── zh-Hant.lproj
│ ├── Localizable.strings
│ └── Main.strings
└── img
├── appstore.svg
├── icon_512@2x.png
├── screen1.png
├── screen2.png
└── tutorial.gif
/.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 | "object": {
3 | "pins": [
4 | {
5 | "package": "HotKey",
6 | "repositoryURL": "https://github.com/soffes/HotKey/",
7 | "state": {
8 | "branch": null,
9 | "revision": "c13662730cb5bc28de4a799854bbb018a90649bf",
10 | "version": "0.1.3"
11 | }
12 | }
13 | ]
14 | },
15 | "version": 1
16 | }
17 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/Hidden Bar.xcodeproj/xcshareddata/xcschemes/LauncherApplication.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
37 |
38 |
39 |
40 |
42 |
48 |
49 |
50 |
52 |
58 |
59 |
60 |
61 |
62 |
72 |
74 |
80 |
81 |
82 |
83 |
89 |
91 |
97 |
98 |
99 |
100 |
102 |
103 |
106 |
107 |
108 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Dwarves Foundation
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/LauncherApplication/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // LauncherApplication
4 | //
5 | // Created by Thanh Nguyen on 1/28/19.
6 | // Copyright © 2019 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import Cocoa
10 |
11 |
12 | @NSApplicationMain
13 | class AppDelegate: NSObject, NSApplicationDelegate {
14 |
15 | @objc func terminate() {
16 | NSApp.terminate(nil)
17 | }
18 |
19 | func applicationDidFinishLaunching(_ aNotification: Notification) {
20 | let mainAppIdentifier = "com.dwarvesv.minimalbar"
21 | let runningApps = NSWorkspace.shared.runningApplications
22 | let isRunning = !runningApps.filter { $0.bundleIdentifier == mainAppIdentifier }.isEmpty
23 |
24 | if !isRunning {
25 | DistributedNotificationCenter.default().addObserver(self,
26 | selector: #selector(self.terminate),
27 | name: Notification.Name("killLauncher"),
28 | object: mainAppIdentifier)
29 |
30 | let path = Bundle.main.bundlePath as NSString
31 | var components = path.pathComponents
32 | components.removeLast(3)
33 | components.append("MacOS")
34 | let appName = "Hidden Bar"
35 | components.append(appName) //main app name
36 | let newPath = NSString.path(withComponents: components)
37 | NSWorkspace.shared.launchApplication(newPath)
38 | }
39 | else {
40 | self.terminate()
41 | }
42 | }
43 |
44 | func applicationWillTerminate(_ aNotification: Notification) {
45 | // Insert code here to tear down your application
46 | }
47 |
48 |
49 | }
50 |
51 |
--------------------------------------------------------------------------------
/LauncherApplication/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "mac",
5 | "size" : "16x16",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "mac",
10 | "size" : "16x16",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "mac",
15 | "size" : "32x32",
16 | "scale" : "1x"
17 | },
18 | {
19 | "idiom" : "mac",
20 | "size" : "32x32",
21 | "scale" : "2x"
22 | },
23 | {
24 | "idiom" : "mac",
25 | "size" : "128x128",
26 | "scale" : "1x"
27 | },
28 | {
29 | "idiom" : "mac",
30 | "size" : "128x128",
31 | "scale" : "2x"
32 | },
33 | {
34 | "idiom" : "mac",
35 | "size" : "256x256",
36 | "scale" : "1x"
37 | },
38 | {
39 | "idiom" : "mac",
40 | "size" : "256x256",
41 | "scale" : "2x"
42 | },
43 | {
44 | "idiom" : "mac",
45 | "size" : "512x512",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "mac",
50 | "size" : "512x512",
51 | "scale" : "2x"
52 | }
53 | ],
54 | "info" : {
55 | "version" : 1,
56 | "author" : "xcode"
57 | }
58 | }
--------------------------------------------------------------------------------
/LauncherApplication/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/LauncherApplication/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 | 1.0
21 | CFBundleVersion
22 | 2
23 | LSBackgroundOnly
24 |
25 | LSMinimumSystemVersion
26 | $(MACOSX_DEPLOYMENT_TARGET)
27 | NSHumanReadableCopyright
28 | Copyright © 2019 Dwarves Foundation. All rights reserved.
29 | NSMainStoryboardFile
30 | Main
31 | NSPrincipalClass
32 | NSApplication
33 |
34 |
35 |
--------------------------------------------------------------------------------
/LauncherApplication/LauncherApplication.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 |
--------------------------------------------------------------------------------
/LauncherApplication/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // LauncherApplication
4 | //
5 | // Created by Thanh Nguyen on 1/28/19.
6 | // Copyright © 2019 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import Cocoa
10 |
11 | class ViewController: NSViewController {
12 |
13 | override func viewDidLoad() {
14 | super.viewDidLoad()
15 |
16 | // Do any additional setup after loading the view.
17 | }
18 |
19 | override var representedObject: Any? {
20 | didSet {
21 | // Update the view, if already loaded.
22 | }
23 | }
24 |
25 |
26 | }
27 |
28 |
--------------------------------------------------------------------------------
/LauncherApplication/ar.lproj/Main.strings:
--------------------------------------------------------------------------------
1 |
2 | /* Class = "NSMenuItem"; title = "Customize Toolbar…"; ObjectID = "1UK-8n-QPP"; */
3 | "1UK-8n-QPP.title" = "Customize Toolbar…";
4 |
5 | /* Class = "NSMenuItem"; title = "LauncherApplication"; ObjectID = "1Xt-HY-uBw"; */
6 | "1Xt-HY-uBw.title" = "LauncherApplication";
7 |
8 | /* Class = "NSMenu"; title = "Find"; ObjectID = "1b7-l0-nxx"; */
9 | "1b7-l0-nxx.title" = "Find";
10 |
11 | /* Class = "NSMenuItem"; title = "Lower"; ObjectID = "1tx-W0-xDw"; */
12 | "1tx-W0-xDw.title" = "Lower";
13 |
14 | /* Class = "NSMenuItem"; title = "Raise"; ObjectID = "2h7-ER-AoG"; */
15 | "2h7-ER-AoG.title" = "Raise";
16 |
17 | /* Class = "NSMenuItem"; title = "Transformations"; ObjectID = "2oI-Rn-ZJC"; */
18 | "2oI-Rn-ZJC.title" = "Transformations";
19 |
20 | /* Class = "NSMenu"; title = "Spelling"; ObjectID = "3IN-sU-3Bg"; */
21 | "3IN-sU-3Bg.title" = "Spelling";
22 |
23 | /* Class = "NSMenuItem"; title = "Use Default"; ObjectID = "3Om-Ey-2VK"; */
24 | "3Om-Ey-2VK.title" = "Use Default";
25 |
26 | /* Class = "NSMenu"; title = "Speech"; ObjectID = "3rS-ZA-NoH"; */
27 | "3rS-ZA-NoH.title" = "Speech";
28 |
29 | /* Class = "NSMenuItem"; title = "Tighten"; ObjectID = "46P-cB-AYj"; */
30 | "46P-cB-AYj.title" = "Tighten";
31 |
32 | /* Class = "NSMenuItem"; title = "Find"; ObjectID = "4EN-yA-p0u"; */
33 | "4EN-yA-p0u.title" = "Find";
34 |
35 | /* Class = "NSMenuItem"; title = "Enter Full Screen"; ObjectID = "4J7-dP-txa"; */
36 | "4J7-dP-txa.title" = "Enter Full Screen";
37 |
38 | /* Class = "NSMenuItem"; title = "Quit LauncherApplication"; ObjectID = "4sb-4s-VLi"; */
39 | "4sb-4s-VLi.title" = "Quit LauncherApplication";
40 |
41 | /* Class = "NSMenuItem"; title = "Edit"; ObjectID = "5QF-Oa-p0T"; */
42 | "5QF-Oa-p0T.title" = "Edit";
43 |
44 | /* Class = "NSMenuItem"; title = "Copy Style"; ObjectID = "5Vv-lz-BsD"; */
45 | "5Vv-lz-BsD.title" = "Copy Style";
46 |
47 | /* Class = "NSMenuItem"; title = "About LauncherApplication"; ObjectID = "5kV-Vb-QxS"; */
48 | "5kV-Vb-QxS.title" = "About LauncherApplication";
49 |
50 | /* Class = "NSMenuItem"; title = "Redo"; ObjectID = "6dh-zS-Vam"; */
51 | "6dh-zS-Vam.title" = "Redo";
52 |
53 | /* Class = "NSMenuItem"; title = "Correct Spelling Automatically"; ObjectID = "78Y-hA-62v"; */
54 | "78Y-hA-62v.title" = "Correct Spelling Automatically";
55 |
56 | /* Class = "NSMenu"; title = "Writing Direction"; ObjectID = "8mr-sm-Yjd"; */
57 | "8mr-sm-Yjd.title" = "Writing Direction";
58 |
59 | /* Class = "NSMenuItem"; title = "Substitutions"; ObjectID = "9ic-FL-obx"; */
60 | "9ic-FL-obx.title" = "Substitutions";
61 |
62 | /* Class = "NSMenuItem"; title = "Smart Copy/Paste"; ObjectID = "9yt-4B-nSM"; */
63 | "9yt-4B-nSM.title" = "Smart Copy/Paste";
64 |
65 | /* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
66 | "AYu-sK-qS6.title" = "Main Menu";
67 |
68 | /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */
69 | "BOF-NM-1cW.title" = "Preferences…";
70 |
71 | /* Class = "NSMenuItem"; title = "\tLeft to Right"; ObjectID = "BgM-ve-c93"; */
72 | "BgM-ve-c93.title" = "\tLeft to Right";
73 |
74 | /* Class = "NSMenuItem"; title = "Save As…"; ObjectID = "Bw7-FT-i3A"; */
75 | "Bw7-FT-i3A.title" = "Save As…";
76 |
77 | /* Class = "NSMenuItem"; title = "Close"; ObjectID = "DVo-aG-piG"; */
78 | "DVo-aG-piG.title" = "Close";
79 |
80 | /* Class = "NSMenuItem"; title = "Spelling and Grammar"; ObjectID = "Dv1-io-Yv7"; */
81 | "Dv1-io-Yv7.title" = "Spelling and Grammar";
82 |
83 | /* Class = "NSMenu"; title = "Help"; ObjectID = "F2S-fz-NVQ"; */
84 | "F2S-fz-NVQ.title" = "Help";
85 |
86 | /* Class = "NSMenuItem"; title = "LauncherApplication Help"; ObjectID = "FKE-Sm-Kum"; */
87 | "FKE-Sm-Kum.title" = "LauncherApplication Help";
88 |
89 | /* Class = "NSMenuItem"; title = "Text"; ObjectID = "Fal-I4-PZk"; */
90 | "Fal-I4-PZk.title" = "Text";
91 |
92 | /* Class = "NSMenu"; title = "Substitutions"; ObjectID = "FeM-D8-WVr"; */
93 | "FeM-D8-WVr.title" = "Substitutions";
94 |
95 | /* Class = "NSMenuItem"; title = "Bold"; ObjectID = "GB9-OM-e27"; */
96 | "GB9-OM-e27.title" = "Bold";
97 |
98 | /* Class = "NSMenu"; title = "Format"; ObjectID = "GEO-Iw-cKr"; */
99 | "GEO-Iw-cKr.title" = "Format";
100 |
101 | /* Class = "NSMenuItem"; title = "Use Default"; ObjectID = "GUa-eO-cwY"; */
102 | "GUa-eO-cwY.title" = "Use Default";
103 |
104 | /* Class = "NSMenuItem"; title = "Font"; ObjectID = "Gi5-1S-RQB"; */
105 | "Gi5-1S-RQB.title" = "Font";
106 |
107 | /* Class = "NSMenuItem"; title = "Writing Direction"; ObjectID = "H1b-Si-o9J"; */
108 | "H1b-Si-o9J.title" = "Writing Direction";
109 |
110 | /* Class = "NSMenuItem"; title = "View"; ObjectID = "H8h-7b-M4v"; */
111 | "H8h-7b-M4v.title" = "View";
112 |
113 | /* Class = "NSMenuItem"; title = "Text Replacement"; ObjectID = "HFQ-gK-NFA"; */
114 | "HFQ-gK-NFA.title" = "Text Replacement";
115 |
116 | /* Class = "NSMenuItem"; title = "Show Spelling and Grammar"; ObjectID = "HFo-cy-zxI"; */
117 | "HFo-cy-zxI.title" = "Show Spelling and Grammar";
118 |
119 | /* Class = "NSMenu"; title = "View"; ObjectID = "HyV-fh-RgO"; */
120 | "HyV-fh-RgO.title" = "View";
121 |
122 | /* Class = "NSMenuItem"; title = "Subscript"; ObjectID = "I0S-gh-46l"; */
123 | "I0S-gh-46l.title" = "Subscript";
124 |
125 | /* Class = "NSMenuItem"; title = "Open…"; ObjectID = "IAo-SY-fd9"; */
126 | "IAo-SY-fd9.title" = "Open…";
127 |
128 | /* Class = "NSMenuItem"; title = "Justify"; ObjectID = "J5U-5w-g23"; */
129 | "J5U-5w-g23.title" = "Justify";
130 |
131 | /* Class = "NSMenuItem"; title = "Use None"; ObjectID = "J7y-lM-qPV"; */
132 | "J7y-lM-qPV.title" = "Use None";
133 |
134 | /* Class = "NSMenuItem"; title = "Revert to Saved"; ObjectID = "KaW-ft-85H"; */
135 | "KaW-ft-85H.title" = "Revert to Saved";
136 |
137 | /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */
138 | "Kd2-mp-pUS.title" = "Show All";
139 |
140 | /* Class = "NSMenuItem"; title = "Bring All to Front"; ObjectID = "LE2-aR-0XJ"; */
141 | "LE2-aR-0XJ.title" = "Bring All to Front";
142 |
143 | /* Class = "NSMenuItem"; title = "Paste Ruler"; ObjectID = "LVM-kO-fVI"; */
144 | "LVM-kO-fVI.title" = "Paste Ruler";
145 |
146 | /* Class = "NSMenuItem"; title = "\tLeft to Right"; ObjectID = "Lbh-J2-qVU"; */
147 | "Lbh-J2-qVU.title" = "\tLeft to Right";
148 |
149 | /* Class = "NSMenuItem"; title = "Copy Ruler"; ObjectID = "MkV-Pr-PK5"; */
150 | "MkV-Pr-PK5.title" = "Copy Ruler";
151 |
152 | /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */
153 | "NMo-om-nkz.title" = "Services";
154 |
155 | /* Class = "NSMenuItem"; title = "\tDefault"; ObjectID = "Nop-cj-93Q"; */
156 | "Nop-cj-93Q.title" = "\tDefault";
157 |
158 | /* Class = "NSMenuItem"; title = "Minimize"; ObjectID = "OY7-WF-poV"; */
159 | "OY7-WF-poV.title" = "Minimize";
160 |
161 | /* Class = "NSMenuItem"; title = "Baseline"; ObjectID = "OaQ-X3-Vso"; */
162 | "OaQ-X3-Vso.title" = "Baseline";
163 |
164 | /* Class = "NSMenuItem"; title = "Hide LauncherApplication"; ObjectID = "Olw-nP-bQN"; */
165 | "Olw-nP-bQN.title" = "Hide LauncherApplication";
166 |
167 | /* Class = "NSMenuItem"; title = "Find Previous"; ObjectID = "OwM-mh-QMV"; */
168 | "OwM-mh-QMV.title" = "Find Previous";
169 |
170 | /* Class = "NSMenuItem"; title = "Stop Speaking"; ObjectID = "Oyz-dy-DGm"; */
171 | "Oyz-dy-DGm.title" = "Stop Speaking";
172 |
173 | /* Class = "NSMenuItem"; title = "Bigger"; ObjectID = "Ptp-SP-VEL"; */
174 | "Ptp-SP-VEL.title" = "Bigger";
175 |
176 | /* Class = "NSMenuItem"; title = "Show Fonts"; ObjectID = "Q5e-8K-NDq"; */
177 | "Q5e-8K-NDq.title" = "Show Fonts";
178 |
179 | /* Class = "NSMenuItem"; title = "Zoom"; ObjectID = "R4o-n2-Eq4"; */
180 | "R4o-n2-Eq4.title" = "Zoom";
181 |
182 | /* Class = "NSMenuItem"; title = "\tRight to Left"; ObjectID = "RB4-Sm-HuC"; */
183 | "RB4-Sm-HuC.title" = "\tRight to Left";
184 |
185 | /* Class = "NSMenuItem"; title = "Superscript"; ObjectID = "Rqc-34-cIF"; */
186 | "Rqc-34-cIF.title" = "Superscript";
187 |
188 | /* Class = "NSMenuItem"; title = "Select All"; ObjectID = "Ruw-6m-B2m"; */
189 | "Ruw-6m-B2m.title" = "Select All";
190 |
191 | /* Class = "NSMenuItem"; title = "Jump to Selection"; ObjectID = "S0p-oC-mLd"; */
192 | "S0p-oC-mLd.title" = "Jump to Selection";
193 |
194 | /* Class = "NSMenu"; title = "Window"; ObjectID = "Td7-aD-5lo"; */
195 | "Td7-aD-5lo.title" = "Window";
196 |
197 | /* Class = "NSMenuItem"; title = "Capitalize"; ObjectID = "UEZ-Bs-lqG"; */
198 | "UEZ-Bs-lqG.title" = "Capitalize";
199 |
200 | /* Class = "NSMenuItem"; title = "Center"; ObjectID = "VIY-Ag-zcb"; */
201 | "VIY-Ag-zcb.title" = "Center";
202 |
203 | /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */
204 | "Vdr-fp-XzO.title" = "Hide Others";
205 |
206 | /* Class = "NSMenuItem"; title = "Italic"; ObjectID = "Vjx-xi-njq"; */
207 | "Vjx-xi-njq.title" = "Italic";
208 |
209 | /* Class = "NSMenu"; title = "Edit"; ObjectID = "W48-6f-4Dl"; */
210 | "W48-6f-4Dl.title" = "Edit";
211 |
212 | /* Class = "NSMenuItem"; title = "Underline"; ObjectID = "WRG-CD-K1S"; */
213 | "WRG-CD-K1S.title" = "Underline";
214 |
215 | /* Class = "NSMenuItem"; title = "New"; ObjectID = "Was-JA-tGl"; */
216 | "Was-JA-tGl.title" = "New";
217 |
218 | /* Class = "NSMenuItem"; title = "Paste and Match Style"; ObjectID = "WeT-3V-zwk"; */
219 | "WeT-3V-zwk.title" = "Paste and Match Style";
220 |
221 | /* Class = "NSMenuItem"; title = "Find…"; ObjectID = "Xz5-n4-O0W"; */
222 | "Xz5-n4-O0W.title" = "Find…";
223 |
224 | /* Class = "NSMenuItem"; title = "Find and Replace…"; ObjectID = "YEy-JH-Tfz"; */
225 | "YEy-JH-Tfz.title" = "Find and Replace…";
226 |
227 | /* Class = "NSMenuItem"; title = "\tDefault"; ObjectID = "YGs-j5-SAR"; */
228 | "YGs-j5-SAR.title" = "\tDefault";
229 |
230 | /* Class = "NSMenuItem"; title = "Start Speaking"; ObjectID = "Ynk-f8-cLZ"; */
231 | "Ynk-f8-cLZ.title" = "Start Speaking";
232 |
233 | /* Class = "NSMenuItem"; title = "Align Left"; ObjectID = "ZM1-6Q-yy1"; */
234 | "ZM1-6Q-yy1.title" = "Align Left";
235 |
236 | /* Class = "NSMenuItem"; title = "Paragraph"; ObjectID = "ZvO-Gk-QUH"; */
237 | "ZvO-Gk-QUH.title" = "Paragraph";
238 |
239 | /* Class = "NSMenuItem"; title = "Print…"; ObjectID = "aTl-1u-JFS"; */
240 | "aTl-1u-JFS.title" = "Print…";
241 |
242 | /* Class = "NSMenuItem"; title = "Window"; ObjectID = "aUF-d1-5bR"; */
243 | "aUF-d1-5bR.title" = "Window";
244 |
245 | /* Class = "NSMenu"; title = "Font"; ObjectID = "aXa-aM-Jaq"; */
246 | "aXa-aM-Jaq.title" = "Font";
247 |
248 | /* Class = "NSMenuItem"; title = "Use Default"; ObjectID = "agt-UL-0e3"; */
249 | "agt-UL-0e3.title" = "Use Default";
250 |
251 | /* Class = "NSMenuItem"; title = "Show Colors"; ObjectID = "bgn-CT-cEk"; */
252 | "bgn-CT-cEk.title" = "Show Colors";
253 |
254 | /* Class = "NSMenu"; title = "File"; ObjectID = "bib-Uj-vzu"; */
255 | "bib-Uj-vzu.title" = "File";
256 |
257 | /* Class = "NSMenuItem"; title = "Use Selection for Find"; ObjectID = "buJ-ug-pKt"; */
258 | "buJ-ug-pKt.title" = "Use Selection for Find";
259 |
260 | /* Class = "NSMenu"; title = "Transformations"; ObjectID = "c8a-y6-VQd"; */
261 | "c8a-y6-VQd.title" = "Transformations";
262 |
263 | /* Class = "NSMenuItem"; title = "Use None"; ObjectID = "cDB-IK-hbR"; */
264 | "cDB-IK-hbR.title" = "Use None";
265 |
266 | /* Class = "NSMenuItem"; title = "Selection"; ObjectID = "cqv-fj-IhA"; */
267 | "cqv-fj-IhA.title" = "Selection";
268 |
269 | /* Class = "NSMenuItem"; title = "Smart Links"; ObjectID = "cwL-P1-jid"; */
270 | "cwL-P1-jid.title" = "Smart Links";
271 |
272 | /* Class = "NSMenuItem"; title = "Make Lower Case"; ObjectID = "d9M-CD-aMd"; */
273 | "d9M-CD-aMd.title" = "Make Lower Case";
274 |
275 | /* Class = "NSMenu"; title = "Text"; ObjectID = "d9c-me-L2H"; */
276 | "d9c-me-L2H.title" = "Text";
277 |
278 | /* Class = "NSMenuItem"; title = "File"; ObjectID = "dMs-cI-mzQ"; */
279 | "dMs-cI-mzQ.title" = "File";
280 |
281 | /* Class = "NSMenuItem"; title = "Undo"; ObjectID = "dRJ-4n-Yzg"; */
282 | "dRJ-4n-Yzg.title" = "Undo";
283 |
284 | /* Class = "NSMenuItem"; title = "Paste"; ObjectID = "gVA-U4-sdL"; */
285 | "gVA-U4-sdL.title" = "Paste";
286 |
287 | /* Class = "NSMenuItem"; title = "Smart Quotes"; ObjectID = "hQb-2v-fYv"; */
288 | "hQb-2v-fYv.title" = "Smart Quotes";
289 |
290 | /* Class = "NSMenuItem"; title = "Check Document Now"; ObjectID = "hz2-CU-CR7"; */
291 | "hz2-CU-CR7.title" = "Check Document Now";
292 |
293 | /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */
294 | "hz9-B4-Xy5.title" = "Services";
295 |
296 | /* Class = "NSMenuItem"; title = "Smaller"; ObjectID = "i1d-Er-qST"; */
297 | "i1d-Er-qST.title" = "Smaller";
298 |
299 | /* Class = "NSMenu"; title = "Baseline"; ObjectID = "ijk-EB-dga"; */
300 | "ijk-EB-dga.title" = "Baseline";
301 |
302 | /* Class = "NSMenuItem"; title = "Kern"; ObjectID = "jBQ-r6-VK2"; */
303 | "jBQ-r6-VK2.title" = "Kern";
304 |
305 | /* Class = "NSMenuItem"; title = "\tRight to Left"; ObjectID = "jFq-tB-4Kx"; */
306 | "jFq-tB-4Kx.title" = "\tRight to Left";
307 |
308 | /* Class = "NSMenuItem"; title = "Format"; ObjectID = "jxT-CU-nIS"; */
309 | "jxT-CU-nIS.title" = "Format";
310 |
311 | /* Class = "NSMenuItem"; title = "Show Sidebar"; ObjectID = "kIP-vf-haE"; */
312 | "kIP-vf-haE.title" = "Show Sidebar";
313 |
314 | /* Class = "NSMenuItem"; title = "Check Grammar With Spelling"; ObjectID = "mK6-2p-4JG"; */
315 | "mK6-2p-4JG.title" = "Check Grammar With Spelling";
316 |
317 | /* Class = "NSMenuItem"; title = "Ligatures"; ObjectID = "o6e-r0-MWq"; */
318 | "o6e-r0-MWq.title" = "Ligatures";
319 |
320 | /* Class = "NSMenu"; title = "Open Recent"; ObjectID = "oas-Oc-fiZ"; */
321 | "oas-Oc-fiZ.title" = "Open Recent";
322 |
323 | /* Class = "NSMenuItem"; title = "Loosen"; ObjectID = "ogc-rX-tC1"; */
324 | "ogc-rX-tC1.title" = "Loosen";
325 |
326 | /* Class = "NSMenuItem"; title = "Delete"; ObjectID = "pa3-QI-u2k"; */
327 | "pa3-QI-u2k.title" = "Delete";
328 |
329 | /* Class = "NSMenuItem"; title = "Save…"; ObjectID = "pxx-59-PXV"; */
330 | "pxx-59-PXV.title" = "Save…";
331 |
332 | /* Class = "NSMenuItem"; title = "Find Next"; ObjectID = "q09-fT-Sye"; */
333 | "q09-fT-Sye.title" = "Find Next";
334 |
335 | /* Class = "NSMenuItem"; title = "Page Setup…"; ObjectID = "qIS-W8-SiK"; */
336 | "qIS-W8-SiK.title" = "Page Setup…";
337 |
338 | /* Class = "NSMenuItem"; title = "Check Spelling While Typing"; ObjectID = "rbD-Rh-wIN"; */
339 | "rbD-Rh-wIN.title" = "Check Spelling While Typing";
340 |
341 | /* Class = "NSMenuItem"; title = "Smart Dashes"; ObjectID = "rgM-f4-ycn"; */
342 | "rgM-f4-ycn.title" = "Smart Dashes";
343 |
344 | /* Class = "NSMenuItem"; title = "Show Toolbar"; ObjectID = "snW-S8-Cw5"; */
345 | "snW-S8-Cw5.title" = "Show Toolbar";
346 |
347 | /* Class = "NSMenuItem"; title = "Data Detectors"; ObjectID = "tRr-pd-1PS"; */
348 | "tRr-pd-1PS.title" = "Data Detectors";
349 |
350 | /* Class = "NSMenuItem"; title = "Open Recent"; ObjectID = "tXI-mr-wws"; */
351 | "tXI-mr-wws.title" = "Open Recent";
352 |
353 | /* Class = "NSMenu"; title = "Kern"; ObjectID = "tlD-Oa-oAM"; */
354 | "tlD-Oa-oAM.title" = "Kern";
355 |
356 | /* Class = "NSMenu"; title = "LauncherApplication"; ObjectID = "uQy-DD-JDr"; */
357 | "uQy-DD-JDr.title" = "LauncherApplication";
358 |
359 | /* Class = "NSMenuItem"; title = "Cut"; ObjectID = "uRl-iY-unG"; */
360 | "uRl-iY-unG.title" = "Cut";
361 |
362 | /* Class = "NSMenuItem"; title = "Paste Style"; ObjectID = "vKC-jM-MkH"; */
363 | "vKC-jM-MkH.title" = "Paste Style";
364 |
365 | /* Class = "NSMenuItem"; title = "Show Ruler"; ObjectID = "vLm-3I-IUL"; */
366 | "vLm-3I-IUL.title" = "Show Ruler";
367 |
368 | /* Class = "NSMenuItem"; title = "Clear Menu"; ObjectID = "vNY-rz-j42"; */
369 | "vNY-rz-j42.title" = "Clear Menu";
370 |
371 | /* Class = "NSMenuItem"; title = "Make Upper Case"; ObjectID = "vmV-6d-7jI"; */
372 | "vmV-6d-7jI.title" = "Make Upper Case";
373 |
374 | /* Class = "NSMenu"; title = "Ligatures"; ObjectID = "w0m-vy-SC9"; */
375 | "w0m-vy-SC9.title" = "Ligatures";
376 |
377 | /* Class = "NSMenuItem"; title = "Align Right"; ObjectID = "wb2-vD-lq4"; */
378 | "wb2-vD-lq4.title" = "Align Right";
379 |
380 | /* Class = "NSMenuItem"; title = "Help"; ObjectID = "wpr-3q-Mcd"; */
381 | "wpr-3q-Mcd.title" = "Help";
382 |
383 | /* Class = "NSMenuItem"; title = "Copy"; ObjectID = "x3v-GG-iWU"; */
384 | "x3v-GG-iWU.title" = "Copy";
385 |
386 | /* Class = "NSMenuItem"; title = "Use All"; ObjectID = "xQD-1f-W4t"; */
387 | "xQD-1f-W4t.title" = "Use All";
388 |
389 | /* Class = "NSMenuItem"; title = "Speech"; ObjectID = "xrE-MZ-jX0"; */
390 | "xrE-MZ-jX0.title" = "Speech";
391 |
392 | /* Class = "NSMenuItem"; title = "Show Substitutions"; ObjectID = "z6F-FW-3nz"; */
393 | "z6F-FW-3nz.title" = "Show Substitutions";
394 |
--------------------------------------------------------------------------------
/LauncherApplication/zh-Hant.lproj/Main.strings:
--------------------------------------------------------------------------------
1 |
2 | /* Class = "NSMenuItem"; title = "Customize Toolbar…"; ObjectID = "1UK-8n-QPP"; */
3 | "1UK-8n-QPP.title" = "自訂工具列⋯";
4 |
5 | /* Class = "NSMenuItem"; title = "LauncherApplication"; ObjectID = "1Xt-HY-uBw"; */
6 | "1Xt-HY-uBw.title" = "LauncherApplication";
7 |
8 | /* Class = "NSMenu"; title = "Find"; ObjectID = "1b7-l0-nxx"; */
9 | "1b7-l0-nxx.title" = "尋找";
10 |
11 | /* Class = "NSMenuItem"; title = "Lower"; ObjectID = "1tx-W0-xDw"; */
12 | "1tx-W0-xDw.title" = "調低";
13 |
14 | /* Class = "NSMenuItem"; title = "Raise"; ObjectID = "2h7-ER-AoG"; */
15 | "2h7-ER-AoG.title" = "調高";
16 |
17 | /* Class = "NSMenuItem"; title = "Transformations"; ObjectID = "2oI-Rn-ZJC"; */
18 | "2oI-Rn-ZJC.title" = "轉換";
19 |
20 | /* Class = "NSMenu"; title = "Spelling"; ObjectID = "3IN-sU-3Bg"; */
21 | "3IN-sU-3Bg.title" = "拼字檢查";
22 |
23 | /* Class = "NSMenuItem"; title = "Use Default"; ObjectID = "3Om-Ey-2VK"; */
24 | "3Om-Ey-2VK.title" = "使用預設值";
25 |
26 | /* Class = "NSMenu"; title = "Speech"; ObjectID = "3rS-ZA-NoH"; */
27 | "3rS-ZA-NoH.title" = "語音";
28 |
29 | /* Class = "NSMenuItem"; title = "Tighten"; ObjectID = "46P-cB-AYj"; */
30 | "46P-cB-AYj.title" = "緊密";
31 |
32 | /* Class = "NSMenuItem"; title = "Find"; ObjectID = "4EN-yA-p0u"; */
33 | "4EN-yA-p0u.title" = "尋找";
34 |
35 | /* Class = "NSMenuItem"; title = "Enter Full Screen"; ObjectID = "4J7-dP-txa"; */
36 | "4J7-dP-txa.title" = "進入全螢幕";
37 |
38 | /* Class = "NSMenuItem"; title = "Quit LauncherApplication"; ObjectID = "4sb-4s-VLi"; */
39 | "4sb-4s-VLi.title" = "結束 LauncherApplication";
40 |
41 | /* Class = "NSMenuItem"; title = "Edit"; ObjectID = "5QF-Oa-p0T"; */
42 | "5QF-Oa-p0T.title" = "編輯";
43 |
44 | /* Class = "NSMenuItem"; title = "Copy Style"; ObjectID = "5Vv-lz-BsD"; */
45 | "5Vv-lz-BsD.title" = "複製樣式";
46 |
47 | /* Class = "NSMenuItem"; title = "About LauncherApplication"; ObjectID = "5kV-Vb-QxS"; */
48 | "5kV-Vb-QxS.title" = "關於 LauncherApplication";
49 |
50 | /* Class = "NSMenuItem"; title = "Redo"; ObjectID = "6dh-zS-Vam"; */
51 | "6dh-zS-Vam.title" = "重做";
52 |
53 | /* Class = "NSMenuItem"; title = "Correct Spelling Automatically"; ObjectID = "78Y-hA-62v"; */
54 | "78Y-hA-62v.title" = "自動更正拼字";
55 |
56 | /* Class = "NSMenu"; title = "Writing Direction"; ObjectID = "8mr-sm-Yjd"; */
57 | "8mr-sm-Yjd.title" = "書寫方向";
58 |
59 | /* Class = "NSMenuItem"; title = "Substitutions"; ObjectID = "9ic-FL-obx"; */
60 | "9ic-FL-obx.title" = "替代";
61 |
62 | /* Class = "NSMenuItem"; title = "Smart Copy/Paste"; ObjectID = "9yt-4B-nSM"; */
63 | "9yt-4B-nSM.title" = "智慧型拷貝/貼上";
64 |
65 | /* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
66 | "AYu-sK-qS6.title" = "主選單";
67 |
68 | /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */
69 | "BOF-NM-1cW.title" = "偏好設定⋯";
70 |
71 | /* Class = "NSMenuItem"; title = " Left to Right"; ObjectID = "BgM-ve-c93"; */
72 | "BgM-ve-c93.title" = " 由左至右";
73 |
74 | /* Class = "NSMenuItem"; title = "Save As…"; ObjectID = "Bw7-FT-i3A"; */
75 | "Bw7-FT-i3A.title" = "儲存為…";
76 |
77 | /* Class = "NSMenuItem"; title = "Close"; ObjectID = "DVo-aG-piG"; */
78 | "DVo-aG-piG.title" = "關閉";
79 |
80 | /* Class = "NSMenuItem"; title = "Spelling and Grammar"; ObjectID = "Dv1-io-Yv7"; */
81 | "Dv1-io-Yv7.title" = "拼字和文法檢查";
82 |
83 | /* Class = "NSMenu"; title = "Help"; ObjectID = "F2S-fz-NVQ"; */
84 | "F2S-fz-NVQ.title" = "輔助說明";
85 |
86 | /* Class = "NSMenuItem"; title = "LauncherApplication Help"; ObjectID = "FKE-Sm-Kum"; */
87 | "FKE-Sm-Kum.title" = "LauncherApplication 輔助說明";
88 |
89 | /* Class = "NSMenuItem"; title = "Text"; ObjectID = "Fal-I4-PZk"; */
90 | "Fal-I4-PZk.title" = "文字";
91 |
92 | /* Class = "NSMenu"; title = "Substitutions"; ObjectID = "FeM-D8-WVr"; */
93 | "FeM-D8-WVr.title" = "替代";
94 |
95 | /* Class = "NSMenuItem"; title = "Bold"; ObjectID = "GB9-OM-e27"; */
96 | "GB9-OM-e27.title" = "粗體";
97 |
98 | /* Class = "NSMenu"; title = "Format"; ObjectID = "GEO-Iw-cKr"; */
99 | "GEO-Iw-cKr.title" = "格式";
100 |
101 | /* Class = "NSMenuItem"; title = "Use Default"; ObjectID = "GUa-eO-cwY"; */
102 | "GUa-eO-cwY.title" = "使用預設值";
103 |
104 | /* Class = "NSMenuItem"; title = "Font"; ObjectID = "Gi5-1S-RQB"; */
105 | "Gi5-1S-RQB.title" = "字型";
106 |
107 | /* Class = "NSMenuItem"; title = "Writing Direction"; ObjectID = "H1b-Si-o9J"; */
108 | "H1b-Si-o9J.title" = "書寫方向";
109 |
110 | /* Class = "NSMenuItem"; title = "View"; ObjectID = "H8h-7b-M4v"; */
111 | "H8h-7b-M4v.title" = "顯示方式";
112 |
113 | /* Class = "NSMenuItem"; title = "Text Replacement"; ObjectID = "HFQ-gK-NFA"; */
114 | "HFQ-gK-NFA.title" = "替代文字";
115 |
116 | /* Class = "NSMenuItem"; title = "Show Spelling and Grammar"; ObjectID = "HFo-cy-zxI"; */
117 | "HFo-cy-zxI.title" = "顯示拼字與文法檢查";
118 |
119 | /* Class = "NSMenu"; title = "View"; ObjectID = "HyV-fh-RgO"; */
120 | "HyV-fh-RgO.title" = "顯示方式";
121 |
122 | /* Class = "NSMenuItem"; title = "Subscript"; ObjectID = "I0S-gh-46l"; */
123 | "I0S-gh-46l.title" = "下標";
124 |
125 | /* Class = "NSMenuItem"; title = "Open…"; ObjectID = "IAo-SY-fd9"; */
126 | "IAo-SY-fd9.title" = "開啟⋯";
127 |
128 | /* Class = "NSMenuItem"; title = "Justify"; ObjectID = "J5U-5w-g23"; */
129 | "J5U-5w-g23.title" = "齊行";
130 |
131 | /* Class = "NSMenuItem"; title = "Use None"; ObjectID = "J7y-lM-qPV"; */
132 | "J7y-lM-qPV.title" = "不使用";
133 |
134 | /* Class = "NSMenuItem"; title = "Revert to Saved"; ObjectID = "KaW-ft-85H"; */
135 | "KaW-ft-85H.title" = "回復成儲存過的版本";
136 |
137 | /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */
138 | "Kd2-mp-pUS.title" = "顯示全部";
139 |
140 | /* Class = "NSMenuItem"; title = "Bring All to Front"; ObjectID = "LE2-aR-0XJ"; */
141 | "LE2-aR-0XJ.title" = "將此程式所有視窗移至最前";
142 |
143 | /* Class = "NSMenuItem"; title = "Paste Ruler"; ObjectID = "LVM-kO-fVI"; */
144 | "LVM-kO-fVI.title" = "貼上尺標";
145 |
146 | /* Class = "NSMenuItem"; title = " Left to Right"; ObjectID = "Lbh-J2-qVU"; */
147 | "Lbh-J2-qVU.title" = " 由左至右";
148 |
149 | /* Class = "NSMenuItem"; title = "Copy Ruler"; ObjectID = "MkV-Pr-PK5"; */
150 | "MkV-Pr-PK5.title" = "拷貝尺標";
151 |
152 | /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */
153 | "NMo-om-nkz.title" = "服務";
154 |
155 | /* Class = "NSButtonCell"; title = "Enable always hidden section (requires restart)"; ObjectID = "Nhn-ch-1f7"; */
156 | "Nhn-ch-1f7.title" = "啟用持續隱藏區域(需要重新啟動)";
157 |
158 | /* Class = "NSMenuItem"; title = " Default"; ObjectID = "Nop-cj-93Q"; */
159 | "Nop-cj-93Q.title" = " 預設值";
160 |
161 | /* Class = "NSMenuItem"; title = "Minimize"; ObjectID = "OY7-WF-poV"; */
162 | "OY7-WF-poV.title" = "最小化";
163 |
164 | /* Class = "NSMenuItem"; title = "Baseline"; ObjectID = "OaQ-X3-Vso"; */
165 | "OaQ-X3-Vso.title" = "基線";
166 |
167 | /* Class = "NSMenuItem"; title = "Hide LauncherApplication"; ObjectID = "Olw-nP-bQN"; */
168 | "Olw-nP-bQN.title" = "隱藏 LauncherApplication";
169 |
170 | /* Class = "NSMenuItem"; title = "Find Previous"; ObjectID = "OwM-mh-QMV"; */
171 | "OwM-mh-QMV.title" = "尋找上一個";
172 |
173 | /* Class = "NSMenuItem"; title = "Stop Speaking"; ObjectID = "Oyz-dy-DGm"; */
174 | "Oyz-dy-DGm.title" = "停止朗讀";
175 |
176 | /* Class = "NSMenuItem"; title = "Bigger"; ObjectID = "Ptp-SP-VEL"; */
177 | "Ptp-SP-VEL.title" = "放大";
178 |
179 | /* Class = "NSMenuItem"; title = "Show Fonts"; ObjectID = "Q5e-8K-NDq"; */
180 | "Q5e-8K-NDq.title" = "顯示字體";
181 |
182 | /* Class = "NSMenuItem"; title = "Zoom"; ObjectID = "R4o-n2-Eq4"; */
183 | "R4o-n2-Eq4.title" = "縮放";
184 |
185 | /* Class = "NSMenuItem"; title = " Right to Left"; ObjectID = "RB4-Sm-HuC"; */
186 | "RB4-Sm-HuC.title" = " 由右至左";
187 |
188 | /* Class = "NSMenuItem"; title = "Superscript"; ObjectID = "Rqc-34-cIF"; */
189 | "Rqc-34-cIF.title" = "上標";
190 |
191 | /* Class = "NSMenuItem"; title = "Select All"; ObjectID = "Ruw-6m-B2m"; */
192 | "Ruw-6m-B2m.title" = "全選";
193 |
194 | /* Class = "NSMenuItem"; title = "Jump to Selection"; ObjectID = "S0p-oC-mLd"; */
195 | "S0p-oC-mLd.title" = "跳至所選範圍";
196 |
197 | /* Class = "NSMenu"; title = "Window"; ObjectID = "Td7-aD-5lo"; */
198 | "Td7-aD-5lo.title" = "視窗";
199 |
200 | /* Class = "NSMenuItem"; title = "Capitalize"; ObjectID = "UEZ-Bs-lqG"; */
201 | "UEZ-Bs-lqG.title" = "首字大寫";
202 |
203 | /* Class = "NSMenuItem"; title = "Center"; ObjectID = "VIY-Ag-zcb"; */
204 | "VIY-Ag-zcb.title" = "置中";
205 |
206 | /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */
207 | "Vdr-fp-XzO.title" = "隱藏其他";
208 |
209 | /* Class = "NSMenuItem"; title = "Italic"; ObjectID = "Vjx-xi-njq"; */
210 | "Vjx-xi-njq.title" = "斜體";
211 |
212 | /* Class = "NSMenu"; title = "Edit"; ObjectID = "W48-6f-4Dl"; */
213 | "W48-6f-4Dl.title" = "編輯";
214 |
215 | /* Class = "NSMenuItem"; title = "Underline"; ObjectID = "WRG-CD-K1S"; */
216 | "WRG-CD-K1S.title" = "底線";
217 |
218 | /* Class = "NSMenuItem"; title = "New"; ObjectID = "Was-JA-tGl"; */
219 | "Was-JA-tGl.title" = "新增";
220 |
221 | /* Class = "NSMenuItem"; title = "Paste and Match Style"; ObjectID = "WeT-3V-zwk"; */
222 | "WeT-3V-zwk.title" = "貼上並符合樣式";
223 |
224 | /* Class = "NSMenuItem"; title = "Find…"; ObjectID = "Xz5-n4-O0W"; */
225 | "Xz5-n4-O0W.title" = "尋找⋯";
226 |
227 | /* Class = "NSMenuItem"; title = "Find and Replace…"; ObjectID = "YEy-JH-Tfz"; */
228 | "YEy-JH-Tfz.title" = "尋找與取代⋯";
229 |
230 | /* Class = "NSMenuItem"; title = " Default"; ObjectID = "YGs-j5-SAR"; */
231 | "YGs-j5-SAR.title" = " 預設值";
232 |
233 | /* Class = "NSMenuItem"; title = "Start Speaking"; ObjectID = "Ynk-f8-cLZ"; */
234 | "Ynk-f8-cLZ.title" = "開始朗讀";
235 |
236 | /* Class = "NSMenuItem"; title = "Align Left"; ObjectID = "ZM1-6Q-yy1"; */
237 | "ZM1-6Q-yy1.title" = "齊左";
238 |
239 | /* Class = "NSMenuItem"; title = "Paragraph"; ObjectID = "ZvO-Gk-QUH"; */
240 | "ZvO-Gk-QUH.title" = "段落";
241 |
242 | /* Class = "NSMenuItem"; title = "Print…"; ObjectID = "aTl-1u-JFS"; */
243 | "aTl-1u-JFS.title" = "列印⋯";
244 |
245 | /* Class = "NSMenuItem"; title = "Window"; ObjectID = "aUF-d1-5bR"; */
246 | "aUF-d1-5bR.title" = "視窗";
247 |
248 | /* Class = "NSMenu"; title = "Font"; ObjectID = "aXa-aM-Jaq"; */
249 | "aXa-aM-Jaq.title" = "字體";
250 |
251 | /* Class = "NSMenuItem"; title = "Use Default"; ObjectID = "agt-UL-0e3"; */
252 | "agt-UL-0e3.title" = "使用預設值";
253 |
254 | /* Class = "NSMenuItem"; title = "Show Colors"; ObjectID = "bgn-CT-cEk"; */
255 | "bgn-CT-cEk.title" = "顯示顏色";
256 |
257 | /* Class = "NSMenu"; title = "File"; ObjectID = "bib-Uj-vzu"; */
258 | "bib-Uj-vzu.title" = "檔案";
259 |
260 | /* Class = "NSMenuItem"; title = "Use Selection for Find"; ObjectID = "buJ-ug-pKt"; */
261 | "buJ-ug-pKt.title" = "使用所選範圍尋找";
262 |
263 | /* Class = "NSMenu"; title = "Transformations"; ObjectID = "c8a-y6-VQd"; */
264 | "c8a-y6-VQd.title" = "轉換";
265 |
266 | /* Class = "NSMenuItem"; title = "Use None"; ObjectID = "cDB-IK-hbR"; */
267 | "cDB-IK-hbR.title" = "不使用";
268 |
269 | /* Class = "NSMenuItem"; title = "Selection"; ObjectID = "cqv-fj-IhA"; */
270 | "cqv-fj-IhA.title" = "所選範圍";
271 |
272 | /* Class = "NSMenuItem"; title = "Smart Links"; ObjectID = "cwL-P1-jid"; */
273 | "cwL-P1-jid.title" = "智慧型連結";
274 |
275 | /* Class = "NSMenuItem"; title = "Make Lower Case"; ObjectID = "d9M-CD-aMd"; */
276 | "d9M-CD-aMd.title" = "小寫";
277 |
278 | /* Class = "NSMenu"; title = "Text"; ObjectID = "d9c-me-L2H"; */
279 | "d9c-me-L2H.title" = "文字";
280 |
281 | /* Class = "NSMenuItem"; title = "File"; ObjectID = "dMs-cI-mzQ"; */
282 | "dMs-cI-mzQ.title" = "檔案";
283 |
284 | /* Class = "NSMenuItem"; title = "Undo"; ObjectID = "dRJ-4n-Yzg"; */
285 | "dRJ-4n-Yzg.title" = "還原";
286 |
287 | /* Class = "NSMenuItem"; title = "Paste"; ObjectID = "gVA-U4-sdL"; */
288 | "gVA-U4-sdL.title" = "貼上";
289 |
290 | /* Class = "NSMenuItem"; title = "Smart Quotes"; ObjectID = "hQb-2v-fYv"; */
291 | "hQb-2v-fYv.title" = "智慧型引號";
292 |
293 | /* Class = "NSMenuItem"; title = "Check Document Now"; ObjectID = "hz2-CU-CR7"; */
294 | "hz2-CU-CR7.title" = "立即檢查文件";
295 |
296 | /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */
297 | "hz9-B4-Xy5.title" = "服務";
298 |
299 | /* Class = "NSMenuItem"; title = "Smaller"; ObjectID = "i1d-Er-qST"; */
300 | "i1d-Er-qST.title" = "縮小";
301 |
302 | /* Class = "NSMenu"; title = "Baseline"; ObjectID = "ijk-EB-dga"; */
303 | "ijk-EB-dga.title" = "基線";
304 |
305 | /* Class = "NSMenuItem"; title = "Kern"; ObjectID = "jBQ-r6-VK2"; */
306 | "jBQ-r6-VK2.title" = "字元間距";
307 |
308 | /* Class = "NSMenuItem"; title = " Right to Left"; ObjectID = "jFq-tB-4Kx"; */
309 | "jFq-tB-4Kx.title" = " 由右至左";
310 |
311 | /* Class = "NSMenuItem"; title = "Format"; ObjectID = "jxT-CU-nIS"; */
312 | "jxT-CU-nIS.title" = "格式";
313 |
314 | /* Class = "NSMenuItem"; title = "Show Sidebar"; ObjectID = "kIP-vf-haE"; */
315 | "kIP-vf-haE.title" = "顯示側邊欄";
316 |
317 | /* Class = "NSMenuItem"; title = "Check Grammar With Spelling"; ObjectID = "mK6-2p-4JG"; */
318 | "mK6-2p-4JG.title" = "檢查拼字文法";
319 |
320 | /* Class = "NSMenuItem"; title = "Ligatures"; ObjectID = "o6e-r0-MWq"; */
321 | "o6e-r0-MWq.title" = "連字";
322 |
323 | /* Class = "NSMenu"; title = "Open Recent"; ObjectID = "oas-Oc-fiZ"; */
324 | "oas-Oc-fiZ.title" = "打開最近使用過的檔案";
325 |
326 | /* Class = "NSMenuItem"; title = "Loosen"; ObjectID = "ogc-rX-tC1"; */
327 | "ogc-rX-tC1.title" = "寬鬆";
328 |
329 | /* Class = "NSMenuItem"; title = "Delete"; ObjectID = "pa3-QI-u2k"; */
330 | "pa3-QI-u2k.title" = "刪除";
331 |
332 | /* Class = "NSMenuItem"; title = "Save…"; ObjectID = "pxx-59-PXV"; */
333 | "pxx-59-PXV.title" = "儲存⋯";
334 |
335 | /* Class = "NSMenuItem"; title = "Find Next"; ObjectID = "q09-fT-Sye"; */
336 | "q09-fT-Sye.title" = "尋找下一個";
337 |
338 | /* Class = "NSMenuItem"; title = "Page Setup…"; ObjectID = "qIS-W8-SiK"; */
339 | "qIS-W8-SiK.title" = "設定頁面⋯";
340 |
341 | /* Class = "NSMenuItem"; title = "Check Spelling While Typing"; ObjectID = "rbD-Rh-wIN"; */
342 | "rbD-Rh-wIN.title" = "在輸入時同步檢查拼字";
343 |
344 | /* Class = "NSMenuItem"; title = "Smart Dashes"; ObjectID = "rgM-f4-ycn"; */
345 | "rgM-f4-ycn.title" = "智慧型破折號";
346 |
347 | /* Class = "NSMenuItem"; title = "Show Toolbar"; ObjectID = "snW-S8-Cw5"; */
348 | "snW-S8-Cw5.title" = "顯示工具列";
349 |
350 | /* Class = "NSMenuItem"; title = "Data Detectors"; ObjectID = "tRr-pd-1PS"; */
351 | "tRr-pd-1PS.title" = "資料偵測器";
352 |
353 | /* Class = "NSMenuItem"; title = "Open Recent"; ObjectID = "tXI-mr-wws"; */
354 | "tXI-mr-wws.title" = "打開最近使用過的檔案";
355 |
356 | /* Class = "NSMenu"; title = "Kern"; ObjectID = "tlD-Oa-oAM"; */
357 | "tlD-Oa-oAM.title" = "字元間距";
358 |
359 | /* Class = "NSMenu"; title = "LauncherApplication"; ObjectID = "uQy-DD-JDr"; */
360 | "uQy-DD-JDr.title" = "LauncherApplication";
361 |
362 | /* Class = "NSMenuItem"; title = "Cut"; ObjectID = "uRl-iY-unG"; */
363 | "uRl-iY-unG.title" = "剪下";
364 |
365 | /* Class = "NSMenuItem"; title = "Paste Style"; ObjectID = "vKC-jM-MkH"; */
366 | "vKC-jM-MkH.title" = "貼上樣式";
367 |
368 | /* Class = "NSMenuItem"; title = "Show Ruler"; ObjectID = "vLm-3I-IUL"; */
369 | "vLm-3I-IUL.title" = "顯示尺標";
370 |
371 | /* Class = "NSMenuItem"; title = "Clear Menu"; ObjectID = "vNY-rz-j42"; */
372 | "vNY-rz-j42.title" = "清除選單";
373 |
374 | /* Class = "NSMenuItem"; title = "Make Upper Case"; ObjectID = "vmV-6d-7jI"; */
375 | "vmV-6d-7jI.title" = "大寫";
376 |
377 | /* Class = "NSMenu"; title = "Ligatures"; ObjectID = "w0m-vy-SC9"; */
378 | "w0m-vy-SC9.title" = "連字";
379 |
380 | /* Class = "NSMenuItem"; title = "Align Right"; ObjectID = "wb2-vD-lq4"; */
381 | "wb2-vD-lq4.title" = "齊右";
382 |
383 | /* Class = "NSMenuItem"; title = "Help"; ObjectID = "wpr-3q-Mcd"; */
384 | "wpr-3q-Mcd.title" = "輔助說明";
385 |
386 | /* Class = "NSMenuItem"; title = "Copy"; ObjectID = "x3v-GG-iWU"; */
387 | "x3v-GG-iWU.title" = "拷貝";
388 |
389 | /* Class = "NSMenuItem"; title = "Use All"; ObjectID = "xQD-1f-W4t"; */
390 | "xQD-1f-W4t.title" = "使用全部";
391 |
392 | /* Class = "NSMenuItem"; title = "Speech"; ObjectID = "xrE-MZ-jX0"; */
393 | "xrE-MZ-jX0.title" = "語音";
394 |
395 | /* Class = "NSMenuItem"; title = "Show Substitutions"; ObjectID = "z6F-FW-3nz"; */
396 | "z6F-FW-3nz.title" = "顯示替代項目";
397 |
--------------------------------------------------------------------------------
/PRIVACY_POLICY.md:
--------------------------------------------------------------------------------
1 | ## Privacy Policy
2 |
3 | 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.
4 |
5 | **Information Collection and Use**
6 |
7 | The app does NOT use any third party services that may collect information used to identify you.
8 |
9 | **Contact Us**
10 |
11 | If you have any questions or suggestions about our Privacy Policy, do not hesitate to contact us at macos@d.foundation.
12 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | ## Hidden Bar
20 | Hidden Bar lets you hide menu bar items to give your Mac a cleaner look.
21 |
22 |
23 |
24 |
25 |
26 |
27 | ## 🚀 Install
28 |
29 | ### App Store
30 |
31 | [](https://itunes.apple.com/app/hidden-bar/id1452453066)
32 |
33 | ### Others
34 |
35 | The Hidden Bar is notarized before distributed out side App Store. It's safe to use 👍
36 |
37 | #### Using Homebrew
38 |
39 | ```
40 | brew install --cask hiddenbar
41 | ```
42 |
43 | #### Manual download
44 |
45 | - [Download latest version](https://github.com/dwarvesf/hidden/releases/latest)
46 | - Open and drag the app to the Applications folder.
47 | - Launch Hidden and drag the icon in your menu bar (hold CMD) to the right so it is between some other icons.
48 |
49 | ## 🕹 Usage
50 |
51 | * `⌘` + drag to move the Hidden icons around in the menu bar.
52 | * Click the Arrow icon to hide menu bar items.
53 |
54 |
55 |
56 |
57 |
58 | ## ✨Contributors
59 |
60 | This project exists thanks to all the people who contribute. Thank you guys so much 👏
61 |
62 | [](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/links/0)[](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/links/1)[](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/links/2)[](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/links/3)[](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/links/4)[](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/links/5)[](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/links/6)[](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/links/7)
63 |
64 | Please read [this](CONTRIBUTING.md) before you make a contribution.
65 |
66 | ## Requirements
67 | macOS version >= 10.13
68 |
69 | ## You may also like
70 | - [Blurred](https://github.com/dwarvesf/Blurred) - A macOS utility that helps reduce distraction by dimming your inactive noise
71 | - [Micro Sniff](https://github.com/dwarvesf/micro-sniff) - An ultra-light macOS utility that notify whenever your micro-device is being used
72 | - [VimMotion](https://github.com/dwarvesf/VimMotionPublic) Vim style shortcut for MacOS
73 | ## License
74 |
75 | MIT © [Dwarves Foundation](https://github.com/dwarvesf)
76 |
--------------------------------------------------------------------------------
/hidden/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 | @NSApplicationMain
13 |
14 | class AppDelegate: NSObject, NSApplicationDelegate{
15 |
16 | var statusBarController = StatusBarController()
17 |
18 | var hotKey: HotKey? {
19 | didSet {
20 | guard let hotKey = hotKey else { return }
21 |
22 | hotKey.keyDownHandler = { [weak self] in
23 | self?.statusBarController.expandCollapseIfNeeded()
24 | }
25 | }
26 | }
27 |
28 | func applicationDidFinishLaunching(_ aNotification: Notification) {
29 | setupAutoStartApp()
30 | registerDefaultValues()
31 | setupHotKey()
32 | openPreferencesIfNeeded()
33 | detectLTRLang()
34 | }
35 |
36 | func openPreferencesIfNeeded() {
37 | if Preferences.isShowPreference {
38 | Util.showPrefWindow()
39 | }
40 | }
41 |
42 | func setupAutoStartApp() {
43 | Util.setUpAutoStart(isAutoStart: Preferences.isAutoStart)
44 | }
45 |
46 | func registerDefaultValues() {
47 | UserDefaults.standard.register(defaults: [
48 | UserDefaults.Key.isAutoStart: false,
49 | UserDefaults.Key.isShowPreference: true,
50 | UserDefaults.Key.isAutoHide: true,
51 | UserDefaults.Key.numberOfSecondForAutoHide: 10.0,
52 | UserDefaults.Key.areSeparatorsHidden: false,
53 | UserDefaults.Key.alwaysHiddenSectionEnabled: false
54 | ])
55 | }
56 |
57 | func setupHotKey() {
58 | guard let globalKey = Preferences.globalKey else {return}
59 | hotKey = HotKey(keyCombo: KeyCombo(carbonKeyCode: globalKey.keyCode, carbonModifiers: globalKey.carbonFlags))
60 | }
61 |
62 | func detectLTRLang() {
63 | // Languages like Arabic uses right to left (RTL) writing direction,
64 | // so some behavier of the app needs to be changed in these cases
65 |
66 | Constant.isUsingLTRLanguage = (NSApplication.shared.userInterfaceLayoutDirection == .leftToRight)
67 | }
68 |
69 | }
70 |
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/AppIcon.appiconset/icon_128@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/AppIcon.appiconset/icon_128@1x.png
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/AppIcon.appiconset/icon_128@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/AppIcon.appiconset/icon_128@2x.png
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/AppIcon.appiconset/icon_16@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/AppIcon.appiconset/icon_16@1x.png
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/AppIcon.appiconset/icon_16@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/AppIcon.appiconset/icon_16@2x.png
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/AppIcon.appiconset/icon_256@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/AppIcon.appiconset/icon_256@1x.png
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/AppIcon.appiconset/icon_256@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/AppIcon.appiconset/icon_256@2x.png
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/AppIcon.appiconset/icon_32@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/AppIcon.appiconset/icon_32@1x.png
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/AppIcon.appiconset/icon_32@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/AppIcon.appiconset/icon_32@2x.png
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/AppIcon.appiconset/icon_512@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/AppIcon.appiconset/icon_512@1x.png
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/AppIcon.appiconset/icon_512@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/AppIcon.appiconset/icon_512@2x.png
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/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
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/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 | }
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/ic_collapse.imageset/ic_collapse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/ic_collapse.imageset/ic_collapse.png
--------------------------------------------------------------------------------
/hidden/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 | }
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/ic_dot.imageset/baseline_lens_white_18dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/ic_dot.imageset/baseline_lens_white_18dp.png
--------------------------------------------------------------------------------
/hidden/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 | }
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/ic_expand.imageset/ic_expand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/ic_expand.imageset/ic_expand.png
--------------------------------------------------------------------------------
/hidden/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 | }
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/ic_line.imageset/ic_line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/ic_line.imageset/ic_line.png
--------------------------------------------------------------------------------
/hidden/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 | }
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/ic_logo.imageset/ic_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/ic_logo.imageset/ic_logo.png
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/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
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/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
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/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
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/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
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/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
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/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
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/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
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/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
--------------------------------------------------------------------------------
/hidden/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 | }
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/ico_compass.imageset/ico_compass.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/ico_compass.imageset/ico_compass.pdf
--------------------------------------------------------------------------------
/hidden/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 | }
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/ico_email.imageset/ico_email.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/ico_email.imageset/ico_email.pdf
--------------------------------------------------------------------------------
/hidden/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 | }
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/ico_fb.imageset/ico_fb.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/ico_fb.imageset/ico_fb.pdf
--------------------------------------------------------------------------------
/hidden/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 | }
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/ico_github.imageset/ico_github.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/ico_github.imageset/ico_github.pdf
--------------------------------------------------------------------------------
/hidden/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 | }
--------------------------------------------------------------------------------
/hidden/Assets.xcassets/ico_twitter.imageset/ico_twitter.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/hidden/Assets.xcassets/ico_twitter.imageset/ico_twitter.pdf
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/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
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/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
--------------------------------------------------------------------------------
/hidden/Common/Assets.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Assets.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 Assets {
12 | static var expandImage: NSImage? {
13 | if (Constant.isUsingLTRLanguage) {
14 | return NSImage(named: NSImage.Name("ic_expand"))
15 | } else {
16 | return NSImage(named: NSImage.Name("ic_collapse"))
17 | }
18 | }
19 | static var collapseImage: NSImage? {
20 | if (Constant.isUsingLTRLanguage) {
21 | return NSImage(named: NSImage.Name("ic_collapse"))
22 | } else {
23 | return NSImage(named: NSImage.Name("ic_expand"))
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/hidden/Common/Constant.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Constant.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 Foundation
10 |
11 | enum Constant {
12 | static let appName = "Hidden Bar"
13 | static let launcherAppId = "com.dwarvesv.LauncherApplication"
14 |
15 | static var isUsingLTRLanguage = false
16 | }
17 |
--------------------------------------------------------------------------------
/hidden/Common/Preferences.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Preferences.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 Preferences {
12 |
13 | static var globalKey: GlobalKeybindPreferences? {
14 | get {
15 | guard let data = UserDefaults.standard.value(forKey: UserDefaults.Key.globalKey) as? Data else { return nil }
16 | return try? JSONDecoder().decode(GlobalKeybindPreferences.self, from: data)
17 | }
18 |
19 | set {
20 | guard let data = try? JSONEncoder().encode(newValue) else { return }
21 | UserDefaults.standard.set(data, forKey: UserDefaults.Key.globalKey)
22 |
23 | NotificationCenter.default.post(Notification(name: .prefsChanged))
24 | }
25 | }
26 |
27 | static var isAutoStart: Bool {
28 | get {
29 | return UserDefaults.standard.bool(forKey: UserDefaults.Key.isAutoStart)
30 | }
31 |
32 | set {
33 | UserDefaults.standard.set(newValue, forKey: UserDefaults.Key.isAutoStart)
34 |
35 | Util.setUpAutoStart(isAutoStart: newValue)
36 |
37 | NotificationCenter.default.post(Notification(name: .prefsChanged))
38 | }
39 | }
40 |
41 | static var numberOfSecondForAutoHide: Double {
42 | get {
43 | UserDefaults.standard.double(forKey: UserDefaults.Key.numberOfSecondForAutoHide)
44 | }
45 |
46 | set {
47 | UserDefaults.standard.set(newValue, forKey: UserDefaults.Key.numberOfSecondForAutoHide)
48 |
49 | NotificationCenter.default.post(Notification(name: .prefsChanged))
50 | }
51 | }
52 |
53 | static var isAutoHide: Bool {
54 | get {
55 | UserDefaults.standard.bool(forKey: UserDefaults.Key.isAutoHide)
56 | }
57 |
58 | set {
59 | UserDefaults.standard.set(newValue, forKey: UserDefaults.Key.isAutoHide)
60 |
61 | NotificationCenter.default.post(Notification(name: .prefsChanged))
62 | }
63 | }
64 |
65 | static var isShowPreference: Bool {
66 | get {
67 | UserDefaults.standard.bool(forKey: UserDefaults.Key.isShowPreference)
68 | }
69 |
70 | set {
71 | UserDefaults.standard.set(newValue, forKey: UserDefaults.Key.isShowPreference)
72 |
73 | NotificationCenter.default.post(Notification(name: .prefsChanged))
74 | }
75 | }
76 |
77 | static var areSeparatorsHidden: Bool {
78 | get {
79 | UserDefaults.standard.bool(forKey: UserDefaults.Key.areSeparatorsHidden)
80 | }
81 |
82 | set {
83 | UserDefaults.standard.set(newValue, forKey: UserDefaults.Key.areSeparatorsHidden)
84 | }
85 | }
86 |
87 | static var alwaysHiddenSectionEnabled: Bool {
88 | get {
89 | UserDefaults.standard.bool(forKey: UserDefaults.Key.alwaysHiddenSectionEnabled)
90 | }
91 |
92 | set {
93 | UserDefaults.standard.set(newValue, forKey: UserDefaults.Key.alwaysHiddenSectionEnabled)
94 | NotificationCenter.default.post(Notification(name: .alwayHideToggle))
95 | }
96 | }
97 |
98 | static var useFullStatusBarOnExpandEnabled: Bool {
99 | get {
100 | UserDefaults.standard.bool(forKey: UserDefaults.Key.useFullStatusBarOnExpandEnabled)
101 | }
102 |
103 | set {
104 | UserDefaults.standard.set(newValue, forKey: UserDefaults.Key.useFullStatusBarOnExpandEnabled)
105 | }
106 | }
107 |
108 |
109 | }
110 |
--------------------------------------------------------------------------------
/hidden/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 | class Util {
15 |
16 | static func setUpAutoStart(isAutoStart:Bool) {
17 | let runningApps = NSWorkspace.shared.runningApplications
18 | let isRunning = !runningApps.filter { $0.bundleIdentifier == Constant.launcherAppId }.isEmpty
19 |
20 | SMLoginItemSetEnabled(Constant.launcherAppId as CFString, isAutoStart)
21 |
22 | if isRunning {
23 | DistributedNotificationCenter.default().post(name: Notification.Name("killLauncher"),
24 | object: Bundle.main.bundleIdentifier!)
25 | }
26 | }
27 |
28 | static func showPrefWindow() {
29 | let prefWindow = PreferencesWindowController.shared.window
30 | prefWindow?.bringToFront()
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/hidden/EventMonitor.swift:
--------------------------------------------------------------------------------
1 | //
2 | // EventMonitor.swift
3 | // vanillaClone
4 | //
5 | // Created by Thanh Nguyen on 1/28/19.
6 | // Copyright © 2019 Thanh Nguyen. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import Cocoa
11 | public class EventMonitor {
12 | private var monitor: Any?
13 | private let mask: NSEvent.EventTypeMask
14 | private let handler: (NSEvent?) -> Void
15 |
16 | public init(mask: NSEvent.EventTypeMask, handler: @escaping (NSEvent?) -> Void) {
17 | self.mask = mask
18 | self.handler = handler
19 | }
20 |
21 | deinit {
22 | stop()
23 | }
24 |
25 | public func start() {
26 | monitor = NSEvent.addGlobalMonitorForEvents(matching: mask, handler: handler)
27 | }
28 |
29 | public func stop() {
30 | if monitor != nil {
31 | NSEvent.removeMonitor(monitor!)
32 | monitor = nil
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/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 | NSApp.activate(ignoringOtherApps: true)
15 | }
16 | }
17 |
18 |
--------------------------------------------------------------------------------
/hidden/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 | extension Notification.Name {
12 |
13 | static let prefsChanged = Notification.Name("prefsChanged")
14 | static let alwayHideToggle = Notification.Name("alwayHideToggle")
15 | }
16 |
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/Extensions/UserDefault+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UserDefault+Extension.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 | extension UserDefaults {
12 | enum Key {
13 | static let globalKey = "globalKey"
14 | static let numberOfSecondForAutoHide = "numberOfSecondForAutoHide"
15 | static let isAutoStart = "isAutoStart"
16 | static let isAutoHide = "isAutoHide"
17 | static let isShowPreference = "isShowPreferences"
18 | static let areSeparatorsHidden = "areSeparatorsHidden"
19 | static let alwaysHiddenSectionEnabled = "alwaysHiddenSectionEnabled"
20 | static let useFullStatusBarOnExpandEnabled = "useFullStatusBarOnExpandEnabled"
21 | }
22 |
23 | open override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
24 | print("hi!")
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/hidden/Features/About/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 |
--------------------------------------------------------------------------------
/hidden/Features/Preferences/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 | @IBOutlet weak var checkBoxKeepLastState: NSButton!
18 | @IBOutlet weak var textFieldTitle: NSTextField!
19 | @IBOutlet weak var imageViewTop: NSImageView!
20 |
21 | @IBOutlet weak var statusBarStackView: NSStackView!
22 | @IBOutlet weak var arrowPointToHiddenImage: NSImageView!
23 | @IBOutlet weak var arrowPointToAlwayHiddenImage: NSImageView!
24 | @IBOutlet weak var lblAlwayHidden: NSTextField!
25 |
26 |
27 |
28 | @IBOutlet weak var checkBoxAutoHide: NSButton!
29 | @IBOutlet weak var checkBoxKeepInDock: NSButton!
30 | @IBOutlet weak var checkBoxLogin: NSButton!
31 | @IBOutlet weak var checkBoxShowPreferences: NSButton!
32 | @IBOutlet weak var checkBoxShowAlwaysHiddenSection: NSButton!
33 |
34 | @IBOutlet weak var checkBoxUseFullStatusbar: NSButton!
35 | @IBOutlet weak var timePopup: NSPopUpButton!
36 |
37 | @IBOutlet weak var btnClear: NSButton!
38 | @IBOutlet weak var btnShortcut: NSButton!
39 |
40 | public var listening = false {
41 | didSet {
42 | let isHighlight = listening
43 |
44 | DispatchQueue.main.async { [weak self] in
45 | self?.btnShortcut.highlight(isHighlight)
46 | }
47 | }
48 | }
49 |
50 | //MARK: - VC Life cycle
51 | override func viewDidLoad() {
52 | super.viewDidLoad()
53 | updateData()
54 | loadHotkey()
55 | createTutorialView()
56 | NotificationCenter.default.addObserver(self, selector: #selector(updateData), name: .prefsChanged, object: nil)
57 | }
58 |
59 | static func initWithStoryboard() -> PreferencesViewController {
60 | let vc = NSStoryboard(name:"Main", bundle: nil).instantiateController(withIdentifier: "prefVC") as! PreferencesViewController
61 | return vc
62 | }
63 |
64 | //MARK: - Actions
65 | @IBAction func loginCheckChanged(_ sender: NSButton) {
66 | Preferences.isAutoStart = sender.state == .on
67 | }
68 |
69 | @IBAction func autoHideCheckChanged(_ sender: NSButton) {
70 | Preferences.isAutoHide = sender.state == .on
71 | }
72 |
73 | @IBAction func showPreferencesChanged(_ sender: NSButton) {
74 | Preferences.isShowPreference = sender.state == .on
75 | }
76 |
77 |
78 | @IBAction func showAlwaysHiddenSectionChanged(_ sender: NSButton) {
79 | Preferences.alwaysHiddenSectionEnabled = sender.state == .on
80 | createTutorialView()
81 | }
82 | @IBAction func useFullStatusBarOnExpandChanged(_ sender: NSButton) {
83 | Preferences.useFullStatusBarOnExpandEnabled = sender.state == .on
84 | }
85 |
86 |
87 | @IBAction func timePopupDidSelected(_ sender: NSPopUpButton) {
88 | let selectedIndex = sender.indexOfSelectedItem
89 | if let selectedInSecond = SelectedSecond(rawValue: selectedIndex)?.toSeconds() {
90 | Preferences.numberOfSecondForAutoHide = selectedInSecond
91 | }
92 | }
93 |
94 | // When the set shortcut button is pressed start listening for the new shortcut
95 | @IBAction func register(_ sender: Any) {
96 | listening = true
97 | view.window?.makeFirstResponder(nil)
98 | }
99 |
100 | // If the shortcut is cleared, clear the UI and tell AppDelegate to stop listening to the previous keybind.
101 | @IBAction func unregister(_ sender: Any?) {
102 | let appDelegate = NSApplication.shared.delegate as! AppDelegate
103 | appDelegate.hotKey = nil
104 | btnShortcut.title = "Set Shortcut".localized
105 | listening = false
106 | btnClear.isEnabled = false
107 |
108 | // Remove globalkey from userdefault
109 | Preferences.globalKey = nil
110 | }
111 |
112 | public func updateGlobalShortcut(_ event: NSEvent) {
113 | self.listening = false
114 |
115 | guard let characters = event.charactersIgnoringModifiers else {return}
116 |
117 | let newGlobalKeybind = GlobalKeybindPreferences(
118 | function: event.modifierFlags.contains(.function),
119 | control: event.modifierFlags.contains(.control),
120 | command: event.modifierFlags.contains(.command),
121 | shift: event.modifierFlags.contains(.shift),
122 | option: event.modifierFlags.contains(.option),
123 | capsLock: event.modifierFlags.contains(.capsLock),
124 | carbonFlags: event.modifierFlags.carbonFlags,
125 | characters: characters,
126 | keyCode: uint32(event.keyCode))
127 |
128 | Preferences.globalKey = newGlobalKeybind
129 |
130 | updateKeybindButton(newGlobalKeybind)
131 | btnClear.isEnabled = true
132 |
133 | let appDelegate = NSApplication.shared.delegate as! AppDelegate
134 | appDelegate.hotKey = HotKey(keyCombo: KeyCombo(carbonKeyCode: UInt32(event.keyCode), carbonModifiers: event.modifierFlags.carbonFlags))
135 | }
136 |
137 | public func updateModiferFlags(_ event: NSEvent) {
138 | let newGlobalKeybind = GlobalKeybindPreferences(
139 | function: event.modifierFlags.contains(.function),
140 | control: event.modifierFlags.contains(.control),
141 | command: event.modifierFlags.contains(.command),
142 | shift: event.modifierFlags.contains(.shift),
143 | option: event.modifierFlags.contains(.option),
144 | capsLock: event.modifierFlags.contains(.capsLock),
145 | carbonFlags: 0,
146 | characters: nil,
147 | keyCode: uint32(event.keyCode))
148 |
149 | updateModifierbindButton(newGlobalKeybind)
150 |
151 | }
152 |
153 | @objc private func updateData(){
154 | checkBoxUseFullStatusbar.state = Preferences.useFullStatusBarOnExpandEnabled ? .on : .off
155 | checkBoxLogin.state = Preferences.isAutoStart ? .on : .off
156 | checkBoxAutoHide.state = Preferences.isAutoHide ? .on : .off
157 | checkBoxShowPreferences.state = Preferences.isShowPreference ? .on : .off
158 | checkBoxShowAlwaysHiddenSection.state = Preferences.alwaysHiddenSectionEnabled ? .on : .off
159 | timePopup.selectItem(at: SelectedSecond.secondToPossition(seconds: Preferences.numberOfSecondForAutoHide))
160 | }
161 |
162 | private func loadHotkey() {
163 | if let globalKey = Preferences.globalKey {
164 | updateKeybindButton(globalKey)
165 | updateClearButton(globalKey)
166 | }
167 | }
168 |
169 | // Set the shortcut button to show the keys to press
170 | private func updateKeybindButton(_ globalKeybindPreference : GlobalKeybindPreferences) {
171 | btnShortcut.title = globalKeybindPreference.description
172 |
173 | if globalKeybindPreference.description.count <= 1 {
174 | unregister(nil)
175 | }
176 | }
177 |
178 | // Set the shortcut button to show the modifier to press
179 | private func updateModifierbindButton(_ globalKeybindPreference : GlobalKeybindPreferences) {
180 | btnShortcut.title = globalKeybindPreference.description
181 |
182 | if globalKeybindPreference.description.isEmpty {
183 | unregister(nil)
184 | }
185 | }
186 |
187 | // If a keybind is set, allow users to clear it by enabling the clear button.
188 | private func updateClearButton(_ globalKeybindPreference : GlobalKeybindPreferences?) {
189 | btnClear.isEnabled = globalKeybindPreference != nil
190 | }
191 | }
192 |
193 | //MARK: - Show tutorial
194 | extension PreferencesViewController {
195 |
196 | func createTutorialView() {
197 | if Preferences.alwaysHiddenSectionEnabled {
198 | alwayHideStatusBar()
199 | }else {
200 | hideStatusBar()
201 | }
202 | }
203 |
204 | func hideStatusBar() {
205 | lblAlwayHidden.isHidden = true
206 | arrowPointToAlwayHiddenImage.isHidden = true
207 | statusBarStackView.removeAllSubViews()
208 | let imageWidth: CGFloat = 16
209 |
210 |
211 | let images = ["ico_1","ico_2","ico_3","seprated", "ico_collapse","ico_4","ico_5","ico_6","ico_7"].map { imageName in
212 | NSImageView(image: NSImage(named: imageName)!)
213 | }
214 |
215 |
216 | for image in images {
217 | statusBarStackView.addArrangedSubview(image)
218 | image.translatesAutoresizingMaskIntoConstraints = false
219 | NSLayoutConstraint.activate([
220 | image.widthAnchor.constraint(equalToConstant: imageWidth),
221 | image.heightAnchor.constraint(equalToConstant: imageWidth)
222 |
223 | ])
224 | if #available(OSX 10.14, *) {
225 | image.contentTintColor = .labelColor
226 | } else {
227 | // Fallback on earlier versions
228 | }
229 | }
230 | let dateTimeLabel = NSTextField()
231 | dateTimeLabel.stringValue = Date.dateString() + " " + Date.timeString()
232 | dateTimeLabel.translatesAutoresizingMaskIntoConstraints = false
233 | dateTimeLabel.isBezeled = false
234 | dateTimeLabel.isEditable = false
235 | dateTimeLabel.sizeToFit()
236 | dateTimeLabel.backgroundColor = .clear
237 | statusBarStackView.addArrangedSubview(dateTimeLabel)
238 | NSLayoutConstraint.activate([dateTimeLabel.heightAnchor.constraint(equalToConstant: imageWidth)
239 | ])
240 |
241 | NSLayoutConstraint.activate([
242 | arrowPointToHiddenImage.centerXAnchor.constraint(equalTo: statusBarStackView.arrangedSubviews[3].centerXAnchor)
243 | ])
244 | }
245 |
246 | func alwayHideStatusBar() {
247 | lblAlwayHidden.isHidden = false
248 | arrowPointToAlwayHiddenImage.isHidden = false
249 | statusBarStackView.removeAllSubViews()
250 | let imageWidth: CGFloat = 16
251 |
252 |
253 | let images = ["ico_1","ico_2","ico_3","ico_4", "seprated_1","ico_5","ico_6","seprated", "ico_collapse","ico_7"].map { imageName in
254 | NSImageView(image: NSImage(named: imageName)!)
255 | }
256 |
257 |
258 | for image in images {
259 | statusBarStackView.addArrangedSubview(image)
260 | image.translatesAutoresizingMaskIntoConstraints = false
261 | NSLayoutConstraint.activate([
262 | image.widthAnchor.constraint(equalToConstant: imageWidth),
263 | image.heightAnchor.constraint(equalToConstant: imageWidth)
264 |
265 | ])
266 | if #available(OSX 10.14, *) {
267 | image.contentTintColor = .labelColor
268 | } else {
269 | // Fallback on earlier versions
270 | }
271 | }
272 | let dateTimeLabel = NSTextField()
273 | dateTimeLabel.stringValue = Date.dateString() + " " + Date.timeString()
274 | dateTimeLabel.translatesAutoresizingMaskIntoConstraints = false
275 | dateTimeLabel.isBezeled = false
276 | dateTimeLabel.isEditable = false
277 | dateTimeLabel.sizeToFit()
278 | dateTimeLabel.backgroundColor = .clear
279 | statusBarStackView.addArrangedSubview(dateTimeLabel)
280 | NSLayoutConstraint.activate([dateTimeLabel.heightAnchor.constraint(equalToConstant: imageWidth)
281 | ])
282 |
283 | NSLayoutConstraint.activate([
284 | arrowPointToAlwayHiddenImage.centerXAnchor.constraint(equalTo: statusBarStackView.arrangedSubviews[4].centerXAnchor)
285 | ])
286 | NSLayoutConstraint.activate([
287 | arrowPointToHiddenImage.centerXAnchor.constraint(equalTo: statusBarStackView.arrangedSubviews[7].centerXAnchor)
288 | ])
289 | }
290 |
291 | @IBAction func btnAlwayHiddenHelpPressed(_ sender: NSButton) {
292 | self.showHowToUseAlwayHiddenPopover(sender: sender)
293 | }
294 |
295 | private func showHowToUseAlwayHiddenPopover(sender: NSButton) {
296 | let controller = NSViewController()
297 | let label = NSTextField()
298 | let text = NSLocalizedString("Tutorial text", comment: "Step by step tutorial")
299 |
300 | label.stringValue = text
301 | label.isBezeled = false
302 | label.isEditable = false
303 | let view = NSView()
304 | view.addSubview(label)
305 | NSLayoutConstraint.activate([
306 | label.topAnchor.constraint(equalTo: view.topAnchor),
307 | label.bottomAnchor.constraint(equalTo: view.bottomAnchor),
308 | label.leadingAnchor.constraint(equalTo: view.leadingAnchor),
309 | label.trailingAnchor.constraint(equalTo: view.trailingAnchor)
310 | ])
311 | label.translatesAutoresizingMaskIntoConstraints = false
312 | controller.view = view
313 |
314 | let popover = NSPopover()
315 | popover.contentViewController = controller
316 | popover.contentSize = controller.view.frame.size
317 |
318 | popover.behavior = .transient
319 | popover.animates = true
320 |
321 | popover.show(relativeTo: self.view.bounds, of: sender , preferredEdge: NSRectEdge.maxX)
322 | }
323 | }
324 |
--------------------------------------------------------------------------------
/hidden/Features/Preferences/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 let shared: PreferencesWindowController = {
19 | let wc = NSStoryboard(name:"Main", bundle: nil).instantiateController(withIdentifier: "MainWindow") as! PreferencesWindowController
20 | return wc
21 | }()
22 |
23 | private var menuSegment: MenuSegment = .general {
24 | didSet {
25 | updateVC()
26 | }
27 | }
28 |
29 | private let preferencesVC = PreferencesViewController.initWithStoryboard()
30 |
31 | private let aboutVC = AboutViewController.initWithStoryboard()
32 |
33 | override func windowDidLoad() {
34 | super.windowDidLoad()
35 | updateVC()
36 | }
37 |
38 | override func keyDown(with event: NSEvent) {
39 | super.keyDown(with: event)
40 | if let vc = self.contentViewController as? PreferencesViewController, vc.listening {
41 | vc.updateGlobalShortcut(event)
42 | }
43 | }
44 |
45 | override func flagsChanged(with event: NSEvent) {
46 | super.flagsChanged(with: event)
47 | if let vc = self.contentViewController as? PreferencesViewController, vc.listening {
48 | vc.updateModiferFlags(event)
49 | }
50 | }
51 |
52 | @IBAction func switchSegment(_ sender: NSSegmentedControl) {
53 | guard let segment = MenuSegment(rawValue: sender.indexOfSelectedItem) else {return}
54 | menuSegment = segment
55 | }
56 |
57 | private func updateVC() {
58 | switch menuSegment {
59 | case .general:
60 | self.window?.contentViewController = preferencesVC
61 | case .about:
62 | self.window?.contentViewController = aboutVC
63 | }
64 | }
65 |
66 | }
67 |
--------------------------------------------------------------------------------
/hidden/Features/StatusBar/StatusBarController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StatusBarController.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 | class StatusBarController {
12 |
13 | //MARK: - Variables
14 | private var timer:Timer? = nil
15 |
16 | //MARK: - BarItems
17 |
18 | private let btnExpandCollapse = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength)
19 | private let btnSeparate = NSStatusBar.system.statusItem(withLength: 1)
20 | private var btnAlwaysHidden:NSStatusItem? = nil
21 |
22 | private var btnHiddenLength: CGFloat = 20
23 | private let btnHiddenCollapseLength: CGFloat = 10000
24 |
25 | private let btnAlwaysHiddenLength: CGFloat = Preferences.alwaysHiddenSectionEnabled ? 20 : 0
26 | private let btnAlwaysHiddenEnableExpandCollapseLength: CGFloat = Preferences.alwaysHiddenSectionEnabled ? 10000 : 0
27 |
28 | private let imgIconLine = NSImage(named:NSImage.Name("ic_line"))
29 |
30 | private var isCollapsed: Bool {
31 | return self.btnSeparate.length == self.btnHiddenCollapseLength
32 | }
33 |
34 | private var isBtnSeparateValidPosition: Bool {
35 | guard
36 | let btnExpandCollapseX = self.btnExpandCollapse.button?.getOrigin?.x,
37 | let btnSeparateX = self.btnSeparate.button?.getOrigin?.x
38 | else {return false}
39 |
40 | if Constant.isUsingLTRLanguage {
41 | return btnExpandCollapseX >= btnSeparateX
42 | } else {
43 | return btnExpandCollapseX <= btnSeparateX
44 | }
45 | }
46 |
47 | private var isBtnAlwaysHiddenValidPosition: Bool {
48 | if !Preferences.alwaysHiddenSectionEnabled { return true }
49 |
50 | guard
51 | let btnSeparateX = self.btnSeparate.button?.getOrigin?.x,
52 | let btnAlwaysHiddenX = self.btnAlwaysHidden?.button?.getOrigin?.x
53 | else {return false}
54 |
55 | if Constant.isUsingLTRLanguage {
56 | return btnSeparateX >= btnAlwaysHiddenX
57 | } else {
58 | return btnSeparateX <= btnAlwaysHiddenX
59 | }
60 | }
61 |
62 | private var isToggle = false
63 |
64 | //MARK: - Methods
65 | init() {
66 |
67 | setupUI()
68 | setupAlwayHideStatusBar()
69 | DispatchQueue.main.asyncAfter(deadline: .now() + 1, execute: {
70 | self.collapseMenuBar()
71 | })
72 |
73 | if Preferences.areSeparatorsHidden {hideSeparators()}
74 | autoCollapseIfNeeded()
75 | }
76 |
77 | private func setupUI() {
78 | if let button = btnSeparate.button {
79 | button.image = self.imgIconLine
80 | }
81 | let menu = self.getContextMenu()
82 | btnSeparate.menu = menu
83 |
84 | updateAutoCollapseMenuTitle()
85 |
86 | if let button = btnExpandCollapse.button {
87 | button.image = Assets.collapseImage
88 | button.target = self
89 |
90 | button.action = #selector(self.btnExpandCollapsePressed(sender:))
91 | button.sendAction(on: [.leftMouseUp, .rightMouseUp])
92 | }
93 |
94 | btnExpandCollapse.autosaveName = "hiddenbar_expandcollapse";
95 | btnSeparate.autosaveName = "hiddenbar_separate";
96 | }
97 |
98 | @objc func btnExpandCollapsePressed(sender: NSStatusBarButton) {
99 | if let event = NSApp.currentEvent {
100 |
101 | let isOptionKeyPressed = event.modifierFlags.contains(NSEvent.ModifierFlags.option)
102 |
103 | if event.type == NSEvent.EventType.leftMouseUp && !isOptionKeyPressed{
104 | self.expandCollapseIfNeeded()
105 | } else {
106 | self.showHideSeparatorsAndAlwayHideArea()
107 | }
108 | }
109 | }
110 |
111 | func showHideSeparatorsAndAlwayHideArea() {
112 | Preferences.areSeparatorsHidden ? self.showSeparators() : self.hideSeparators()
113 |
114 | if self.isCollapsed {self.expandMenubar()}
115 | }
116 |
117 | private func showSeparators() {
118 | Preferences.areSeparatorsHidden = false
119 |
120 | if !self.isCollapsed {
121 | self.btnSeparate.length = self.btnHiddenLength
122 | }
123 | self.btnAlwaysHidden?.length = self.btnAlwaysHiddenLength
124 | }
125 |
126 | private func hideSeparators() {
127 | guard self.isBtnAlwaysHiddenValidPosition else {return}
128 |
129 | Preferences.areSeparatorsHidden = true
130 |
131 | if !self.isCollapsed {
132 | self.btnSeparate.length = self.btnHiddenLength
133 | }
134 | self.btnAlwaysHidden?.length = self.btnAlwaysHiddenEnableExpandCollapseLength
135 | }
136 |
137 | func expandCollapseIfNeeded() {
138 | //prevented rapid click cause icon show many in Dock
139 | if isToggle {return}
140 | isToggle = true
141 | self.isCollapsed ? self.expandMenubar() : self.collapseMenuBar()
142 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
143 | self.isToggle = false
144 | }
145 | }
146 |
147 | private func collapseMenuBar() {
148 | guard self.isBtnSeparateValidPosition && !self.isCollapsed else {
149 | autoCollapseIfNeeded()
150 | return
151 | }
152 |
153 | btnSeparate.length = self.btnHiddenCollapseLength
154 | if let button = btnExpandCollapse.button {
155 | button.image = Assets.expandImage
156 | }
157 | if Preferences.useFullStatusBarOnExpandEnabled {
158 | NSApp.setActivationPolicy(.accessory)
159 | NSApp.deactivate()
160 | }
161 | }
162 | private func expandMenubar() {
163 | guard self.isCollapsed else {return}
164 | btnSeparate.length = btnHiddenLength
165 | if let button = btnExpandCollapse.button {
166 | button.image = Assets.collapseImage
167 | }
168 | autoCollapseIfNeeded()
169 |
170 | if Preferences.useFullStatusBarOnExpandEnabled {
171 | NSApp.setActivationPolicy(.regular)
172 | NSApp.activate(ignoringOtherApps: true)
173 |
174 | }
175 | }
176 |
177 | private func autoCollapseIfNeeded() {
178 | guard Preferences.isAutoHide else {return}
179 | guard !isCollapsed else { return }
180 |
181 | startTimerToAutoHide()
182 | }
183 |
184 | private func startTimerToAutoHide() {
185 | timer?.invalidate()
186 | self.timer = Timer.scheduledTimer(withTimeInterval: Preferences.numberOfSecondForAutoHide, repeats: false) { [weak self] _ in
187 | DispatchQueue.main.async {
188 | if Preferences.isAutoHide {
189 | self?.collapseMenuBar()
190 | }
191 | }
192 | }
193 | }
194 |
195 | private func getContextMenu() -> NSMenu {
196 | let menu = NSMenu()
197 |
198 | let prefItem = NSMenuItem(title: "Preferences...".localized, action: #selector(openPreferenceViewControllerIfNeeded), keyEquivalent: "P")
199 | prefItem.target = self
200 | menu.addItem(prefItem)
201 |
202 | let toggleAutoHideItem = NSMenuItem(title: "Toggle Auto Collapse".localized, action: #selector(toggleAutoHide), keyEquivalent: "t")
203 | toggleAutoHideItem.target = self
204 | toggleAutoHideItem.tag = 1
205 | NotificationCenter.default.addObserver(self, selector: #selector(updateAutoHide), name: .prefsChanged, object: nil)
206 | menu.addItem(toggleAutoHideItem)
207 |
208 | menu.addItem(NSMenuItem.separator())
209 | menu.addItem(NSMenuItem(title: "Quit".localized, action: #selector(NSApplication.terminate(_:)), keyEquivalent: "q"))
210 |
211 | return menu
212 | }
213 |
214 | private func updateAutoCollapseMenuTitle() {
215 | guard let toggleAutoHideItem = btnSeparate.menu?.item(withTag: 1) else { return }
216 | if Preferences.isAutoHide {
217 | toggleAutoHideItem.title = "Disable Auto Collapse".localized
218 | } else {
219 | toggleAutoHideItem.title = "Enable Auto Collapse".localized
220 | }
221 | }
222 |
223 | @objc func updateAutoHide() {
224 | updateAutoCollapseMenuTitle()
225 | autoCollapseIfNeeded()
226 | }
227 |
228 | @objc func openPreferenceViewControllerIfNeeded() {
229 | Util.showPrefWindow()
230 | }
231 |
232 | @objc func toggleAutoHide() {
233 | Preferences.isAutoHide.toggle()
234 | }
235 | }
236 |
237 |
238 | //MARK: - Alway hide feature
239 | extension StatusBarController {
240 | private func setupAlwayHideStatusBar() {
241 | NotificationCenter.default.addObserver(self, selector: #selector(toggleStatusBarIfNeeded), name: .alwayHideToggle, object: nil)
242 | toggleStatusBarIfNeeded()
243 | }
244 | @objc private func toggleStatusBarIfNeeded() {
245 | if Preferences.alwaysHiddenSectionEnabled {
246 | self.btnAlwaysHidden = NSStatusBar.system.statusItem(withLength: 20)
247 | if let button = btnAlwaysHidden?.button {
248 | button.image = self.imgIconLine
249 | button.appearsDisabled = true
250 | }
251 | self.btnAlwaysHidden?.autosaveName = "hiddenbar_terminate";
252 |
253 | }else {
254 | self.btnAlwaysHidden = nil
255 | }
256 | }
257 | }
258 |
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/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 © 2019 Dwarves Foundation. All rights reserved.
31 | NSMainStoryboardFile
32 | Main
33 | NSPrincipalClass
34 | NSApplication
35 |
36 |
37 |
--------------------------------------------------------------------------------
/hidden/Models/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 |
--------------------------------------------------------------------------------
/hidden/Models/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 |
--------------------------------------------------------------------------------
/hidden/Views/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 |
--------------------------------------------------------------------------------
/hidden/Views/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 |
--------------------------------------------------------------------------------
/hidden/Views/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 |
--------------------------------------------------------------------------------
/hidden/ar.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..." = "تفضيلات...";
10 | "Toggle Auto Collapse" = "بدل حالة الطي التلقائي";
11 | "Enable Auto Collapse" = "مكن الطي التلقائي";
12 | "Disable Auto Collapse" = "عطل الطي التلقائي";
13 | "Quit" = "إنهاء";
14 | "Set Shortcut" = "عين اختصارا";
15 | "Tutorial text" = "
16 | استخدم ميزة مخفي دائما لتبقي أيقوناتك مرتبة. إليك كيفية تعيينها
17 | خطوات التمكين:
18 |
19 | مكن “” الخاص بمخفي دائما (شريط اللون الشفاف)
20 | استمر بالضغط على واسحبه إلى الجانب الأيمن من الشريط العادي، قم حرك أي أيقونات تريد إخفائها إلى يمين هذا الشريط.
21 | أخيرا، فضلا أنقر بالزر الأيمن على أيقونة الطي “” لجعلها تختفي.
22 | خطوات عرض الأيقونات المخفية دائما:
23 | أنقر بالزر الأيمن على أيقونة “” ثاتية للعرض وكرر الإجراء لتمكين الميزة. استمتع 😉!
24 | ";
25 |
--------------------------------------------------------------------------------
/hidden/ar.lproj/Main.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Settings"; ObjectID = "1Is-Ut-a9h"; */
2 | "1Is-Ut-a9h.title" = "الإعدادات";
3 |
4 | /* Class = "NSMenuItem"; title = "Hidden Bar"; ObjectID = "1Xt-HY-uBw"; */
5 | "1Xt-HY-uBw.title" = "الشريط المخفي";
6 |
7 | /* Class = "NSTextFieldCell"; title = "⭐️Always Hidden"; ObjectID = "1jU-1x-cFf"; */
8 | "1jU-1x-cFf.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 = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[0] = "General"; ObjectID = "B2x-1Q-Aei"; */
29 | "B2x-1Q-Aei.ibShadowedLabels[0]" = "عام";
30 |
31 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[1] = "About"; ObjectID = "B2x-1Q-Aei"; */
32 | "B2x-1Q-Aei.ibShadowedLabels[1]" = "حول";
33 |
34 | /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */
35 | "BOF-NM-1cW.title" = "تفضيلات…";
36 |
37 | /* Class = "NSMenuItem"; title = "30 seconds"; ObjectID = "Ch6-Z2-LyX"; */
38 | "Ch6-Z2-LyX.title" = "30 ثانية";
39 |
40 | /* Class = "NSTextFieldCell"; title = "Global Shortcut"; ObjectID = "HJP-Lf-rxm"; */
41 | "HJP-Lf-rxm.title" = "الاختصارات المعممة";
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" = "صندوق";
48 |
49 | /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */
50 | "Kd2-mp-pUS.title" = "أظهر الكل";
51 |
52 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "ML6-W4-U8X"; */
53 | "ML6-W4-U8X.label" = "عرض مخصص";
54 |
55 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "ML6-W4-U8X"; */
56 | "ML6-W4-U8X.paletteLabel" = "عرض مخصص";
57 |
58 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "NIO-JJ-pjq"; */
59 | "NIO-JJ-pjq.label" = "عرض مخصص";
60 |
61 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "NIO-JJ-pjq"; */
62 | "NIO-JJ-pjq.paletteLabel" = "عرض مخصص";
63 |
64 | /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */
65 | "NMo-om-nkz.title" = "خدمات";
66 |
67 | /* Class = "NSButtonCell"; title = "Enable always hidden section"; ObjectID = "Nhn-ch-1f7"; */
68 | "Nhn-ch-1f7.title" = "تمكين القسم المخفي دائما";
69 |
70 | /* Class = "NSMenuItem"; title = "Hide Hidden Bar"; ObjectID = "Olw-nP-bQN"; */
71 | "Olw-nP-bQN.title" = "أخف الشريط المخفي";
72 |
73 | /* Class = "NSTextFieldCell"; title = "Follow us on Twitter"; ObjectID = "Tba-C7-Zr8"; */
74 | "Tba-C7-Zr8.title" = "تابعنا على تويتر";
75 |
76 | /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */
77 | "Vdr-fp-XzO.title" = "أخف الآخرين";
78 |
79 | /* Class = "NSButtonCell"; title = "Start Hidden Bar when I log in"; ObjectID = "W1G-55-zGo"; */
80 | "W1G-55-zGo.title" = "شغل الشريط المخفي عندما أقوم بتسجيل الدخول";
81 |
82 | /* Class = "NSTextFieldCell"; title = "Menu bar cleaner"; ObjectID = "X4W-sr-Z32"; */
83 | "X4W-sr-Z32.title" = "منظف شريط القائمة";
84 |
85 | /* Class = "NSTextFieldCell"; title = "Know more about us"; ObjectID = "Xb1-xM-sYy"; */
86 | "Xb1-xM-sYy.title" = "إعرف المزيد عنا";
87 |
88 | /* Class = "NSMenuItem"; title = "1 minute"; ObjectID = "Zkr-Xd-Ffh"; */
89 | "Zkr-Xd-Ffh.title" = "دقيقة واحدة";
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" = "صندوق";
96 |
97 | /* Class = "NSMenuItem"; title = "5 seconds"; ObjectID = "bzS-lm-JvT"; */
98 | "bzS-lm-JvT.title" = "5 ثوان";
99 |
100 | /* Class = "NSTextFieldCell"; title = "Hidden"; ObjectID = "cXt-8R-PHo"; */
101 | "cXt-8R-PHo.title" = "مخفي";
102 |
103 | /* Class = "NSButtonCell"; title = "Set Shortcut"; ObjectID = "fc2-jD-QNf"; */
104 | "fc2-jD-QNf.title" = "عين اختصارا";
105 |
106 | /* Class = "NSTextFieldCell"; title = "This app is fully open source"; ObjectID = "fqc-io-QOP"; */
107 | "fqc-io-QOP.title" = "هذا التطبيق مفتوخ المصدر بالكامل";
108 |
109 | /* Class = "NSButtonCell"; title = "Show preferences on launch"; ObjectID = "hCh-Ue-NgH"; */
110 | "hCh-Ue-NgH.title" = "إعرض التفضيلات عند بدء التشغيل";
111 |
112 | /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */
113 | "hz9-B4-Xy5.title" = "خدمات";
114 |
115 | /* Class = "NSTextFieldCell"; title = "Shown"; ObjectID = "iyS-g5-5mk"; */
116 | "iyS-g5-5mk.title" = "ظاهر";
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" = "في شريط القائمة الخاص بـMac الخاص بك، استمر بالضغط على ⌘ واسحب الأيقونات\nبين الأقسام لتكوين الشريط المخفي.";
120 |
121 | /* Class = "NSButtonCell"; title = "Automatically hide icon after: "; ObjectID = "kg8-rW-srh"; */
122 | "kg8-rW-srh.title" = "أخف الأيقونة تلقائيا بعد: ";
123 |
124 | /* Class = "NSBox"; title = "Box"; ObjectID = "mtL-vU-2iq"; */
125 | "mtL-vU-2iq.title" = "صندوق";
126 |
127 | /* Class = "NSMenuItem"; title = "15 seconds"; ObjectID = "rdn-Xm-fZD"; */
128 | "rdn-Xm-fZD.title" = "١٥ ثانية";
129 |
130 | /* Class = "NSTextFieldCell"; title = "Email us"; ObjectID = "sRr-sO-uV0"; */
131 | "sRr-sO-uV0.title" = "راسلنا إلكنرونيا";
132 |
133 | /* Class = "NSMenu"; title = "Hidden Bar"; ObjectID = "uQy-DD-JDr"; */
134 | "uQy-DD-JDr.title" = "الشريط المخفي";
135 |
136 | /* Class = "NSMenuItem"; title = "10 seconds"; ObjectID = "z2X-nw-vxX"; */
137 | "z2X-nw-vxX.title" = "١٠ ثوان";
138 |
139 | /* Class = "NSTextFieldCell"; title = "Monday 08 Mar 9:00AM"; ObjectID = "zAH-cs-dar"; */
140 | "zAH-cs-dar.title" = "الإقنين ٠٨ مارس ٩:٠٠ صباحا";
141 |
142 | /* Class = "NSTextFieldCell"; title = "General"; ObjectID = "zAf-vj-OOZ"; */
143 | "zAf-vj-OOZ.title" = "عام";
144 |
--------------------------------------------------------------------------------
/hidden/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 | "Preferences..." = "Voreinstellungen…";
10 | "Toggle Auto Collapse" = "Automatisch einklappen";
11 | "Enable Auto Collapse" = "Automatisch einklappen einschalten";
12 | "Disable Auto Collapse" = "Automatisch einklappen ausschalten";
13 | "Quit" = "Beenden";
14 | "Set Shortcut" = "Shortcut einstellen";
15 | "Tutorial text" = "
16 | Verwende die “permanent ausgeblendet“ Funktion um deine Menüleistensymbole aufgeräumt zu halten.. Und so funktioniert es..
17 | Zum einschalten:
18 | 1. Aktiviere permanent ausgeblendet “” (transluzenter Farbstreifen)
19 | 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.
20 | 3. Abschließend klicke mit der rechten Maustaste auf das Einklappen Symbol “” um sie auszublenden.
21 | Zum Anzeigen der permanent ausgeblendeten Symbole:
22 | 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ß 😉!
23 | ";
24 |
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/en.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..." = "Preferences...";
10 | "Toggle Auto Collapse" = "Toggle Auto Collapse";
11 | "Enable Auto Collapse" = "Enable Auto Collapse";
12 | "Disable Auto Collapse" = "Disable Auto Collapse";
13 | "Quit" = "Quit";
14 | "Set Shortcut" = "Set Shortcut";
15 | "Tutorial text" = "
16 | Use the always hidden feature to keep your icons tidy. Here's how to set it
17 | Steps to enable:
18 | 1. Enable the always hidden “” (translucent color bar)
19 | 2. Hold and drag it on the left-hand side of the normal bar, then move any icons you want to disappear on the left of that bar.
20 | 3. Finally, please right-click on the collapse “” icon to make it disappear.
21 | Steps to view always hidden icons:
22 | 1. You right-click on “” icon again to view and repeat the action to enable the feature. Enjoy 😉!
23 | ";
24 |
--------------------------------------------------------------------------------
/hidden/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 | "Preferences..." = "Réglages...";
10 | "Toggle Auto Collapse" = "Activer la réduction automatique";
11 | "Enable Auto Collapse" = "Activer la réduction automatique";
12 | "Disable Auto Collapse" = "Désactiver la réduction automatique";
13 | "Quit" = "Quitter";
14 | "Set Shortcut" = "Définir un raccourci";
15 | "Tutorial text" = "
16 | Utilisez la fonction de section toujours cachée pour garder vos icônes bien rangées.
17 | Étapes pour activer:
18 | 1. Activez le «» toujours masqué (barre de couleur translucide)
19 | 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.
20 | 3. Enfin, faites un clic droit sur l'icône de réduction «» pour la faire disparaître.
21 |
22 | Étapes pour afficher les icônes toujours masquées:
23 | 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 😉!
24 | ";
25 | "Disable Auto Collapse" = "Désactiver la réduction automatique";
26 |
--------------------------------------------------------------------------------
/hidden/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 | "Preferences..." = "Postavke …";
10 | "Toggle Auto Collapse" = "Uklj/Isklj automatsko sklapanje";
11 | "Enable Auto Collapse" = "Uključi automatsko sklapanje";
12 | "Disable Auto Collapse" = "Isključi automatsko sklapanje";
13 | "Quit" = "Zatvori program";
14 | "Set Shortcut" = "Postavi prečac";
15 | "Tutorial text" = "
16 | Koristi funkciju skrivanja ikona za održavanje reda u traci izbornika. Postavlja se na sljedeći način
17 | Koraci za uključivanje:
18 | 1. Uključi uvijek skriveno „” (poluprozirna okomita crta)
19 | 2. Pritisni i povuci na lijevu stranu standardne trake, zatim premjesti ikone koje želiš sakriti na lijevu stranu te trake.
20 | 3. Na kraju pritisni desnom tipkom miša na ikonu za sklapanje „” kako bi se ikone sakrile.
21 | Koraci za prikazivanje uvijek skrivenih ikona:
22 | 1. Pritisni desnom tipkom miša ponovo na ikonu „” i ponovi radnju za uključivanje funkcije. Uživaj 😉!
23 | ";
24 |
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/ja.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..." = "環境設定...";
10 | "Quit" = "終了";
11 | "Toggle Auto Collapse" = "自動折りたたみを切り替える";
12 | "Enable Auto Collapse" = "自動折りたたみオン";
13 | "Disable Auto Collapse" = "自動折りたたみオフ";
14 | "Set Shortcut" = "ショットキーを設定";
15 | "Tutorial text" = "
16 | 「アイコンを常に非表示機能」でメニューバーをスッキリできる.
17 | 設定方法:
18 | 1. 「アイコンを常に非表示機能」を有効にする(半透明の|が表示される).
19 | 2. Command(⌘)キーを押しながら,半透明の「|」を不透明「|」の左側に移動して,さらに常に非表示したいアイコンを半透明の「|」の左側に移動する.
20 | 3. 最後は「>」を右クリックすると,半透明「|」より左にあるアイコンが常に非表示される.
21 | (もう一回「>」を右クリックすると,常に非表示されたアイコンが表示される)
22 | ";
23 |
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/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 |
--------------------------------------------------------------------------------
/hidden/zh-Hans.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..." = "偏好设置...";
10 | "Toggle Auto Collapse" = "切换自动折叠";
11 | "Enable Auto Collapse" = "开启自动折叠";
12 | "Disable Auto Collapse" = "关闭自动折叠";
13 | "Quit" = "退出";
14 | "Set Shortcut" = "设置快捷键";
15 | "Tutorial text" = "
16 | 使用 '持续隐藏' 功能让您的菜单栏保持整洁。这个教程将会帮助您设置这个功能。
17 |
18 | 启用步骤:
19 | 1. 启用持续隐藏功能 ”|“(半透明分割线)。
20 | 2. 按住 ⌘ 并将持续隐藏区域拖至一般隐藏区域(不透明|)的左侧。
21 | 3. 接着将不想显示的图标移至持续隐藏区域中。
22 | 4. 最后右键单击 “>” 按钮,就能隐藏'持续隐藏区域'中的图标。
23 | (再次右键单击 “>” 按钮恢复显示 “持续隐藏区域” 中的图标。)
24 | 祝您使用愉快 😉!
25 | ";
26 |
--------------------------------------------------------------------------------
/hidden/zh-Hant.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..." = "偏好設定⋯";
10 | "Quit" = "結束";
11 | "Toggle Auto Collapse" = "開關自動收合";
12 | "Enable Auto Collapse" = "開啟自動收合";
13 | "Disable Auto Collapse" = "關閉自動收合";
14 | "Set Shortcut" = "設定快速鍵";
15 | "Tutorial text" = "
16 | 「持續隱藏」功能讓您的圖示永保整潔。本文會引導您設定這個功能。
17 |
18 | 啟用步驟:
19 |
20 | 1. 啟用表示持續隱藏的「|」按鈕(半透明色條)
21 |
22 | 2. 按住 ,接著拖曳到「一般顯示區域」的左側(一般隱藏區域)
23 | 接著將不想顯示的圖示移至「一般隱藏區域」的左側(持續隱藏區域)。
24 |
25 | 3. 最後,對表示縮回的「」圖示按下右鍵,就能隱藏「持續隱藏區域」中的圖示。
26 |
27 | 顯示「持續隱藏」圖示的步驟:
28 |
29 | 1. 重新對「」圖示按下右鍵就能顯示「持續隱藏區域」中的圖示,
30 | 再按一次就能隱藏。試試看吧 😉!
31 | ";
32 |
--------------------------------------------------------------------------------
/img/appstore.svg:
--------------------------------------------------------------------------------
1 |
2 | Download_on_the_Mac_App_Store_Badge_US-UK_RGB_blk_092917
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/img/icon_512@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/img/icon_512@2x.png
--------------------------------------------------------------------------------
/img/screen1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/img/screen1.png
--------------------------------------------------------------------------------
/img/screen2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/img/screen2.png
--------------------------------------------------------------------------------
/img/tutorial.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dwarvesf/hidden/17fc054313ab1a006a2a93e68f169a7ae8c76212/img/tutorial.gif
--------------------------------------------------------------------------------