37 | endbfchar
38 | endcmap
39 | CMapName currentdict /CMap defineresource pop
40 | end
41 | end
42 | endstream
43 | endobj
44 |
45 | 5 0 obj
46 | 336
47 | endobj
48 |
49 | 6 0 obj
50 | << /Subtype /Type3
51 | /CharProcs << /C0 1 0 R >>
52 | /Encoding << /Type /Encoding
53 | /Differences [ 0 /C0 ]
54 | >>
55 | /Widths 3 0 R
56 | /FontBBox [ 0.000000 0.000000 0.000000 0.000000 ]
57 | /FontMatrix [ 1.000000 0.000000 0.000000 1.000000 0.000000 0.000000 ]
58 | /Type /Font
59 | /ToUnicode 4 0 R
60 | /FirstChar 0
61 | /LastChar 0
62 | /Resources << >>
63 | >>
64 | endobj
65 |
66 | 7 0 obj
67 | << /Font << /F1 6 0 R >>
68 | /ExtGState << /E1 << /ca 0.400000 >> >>
69 | >>
70 | endobj
71 |
72 | 8 0 obj
73 | << /Length 9 0 R >>
74 | stream
75 | /DeviceRGB CS
76 | /DeviceRGB cs
77 | q
78 | /E1 gs
79 | 1.000000 -0.000000 0.000000 1.000000 -1.692871 2.177246 cm
80 | 0.000000 0.000000 0.000000 scn
81 | 0.074219 -0.507812 m
82 | h
83 | 2.530762 -2.177246 m
84 | 3.013184 -2.177246 3.375000 -1.828125 3.375000 -1.364746 c
85 | 3.375000 9.502441 l
86 | 3.375000 9.965820 3.013184 10.314941 2.530762 10.314941 c
87 | 2.054688 10.314941 1.692871 9.965820 1.692871 9.502441 c
88 | 1.692871 -1.364746 l
89 | 1.692871 -1.828125 2.054688 -2.177246 2.530762 -2.177246 c
90 | h
91 | f
92 | n
93 | Q
94 | q
95 | 1.000000 -0.000000 0.000000 1.000000 -1.692871 2.177246 cm
96 | BT
97 | 13.000000 0.000000 0.000000 13.000000 0.074219 -0.507812 Tm
98 | /F1 1.000000 Tf
99 | [ (\000) ] TJ
100 | ET
101 | Q
102 |
103 | endstream
104 | endobj
105 |
106 | 9 0 obj
107 | 612
108 | endobj
109 |
110 | 10 0 obj
111 | << /Annots []
112 | /Type /Page
113 | /MediaBox [ 0.000000 0.000000 1.682129 12.492188 ]
114 | /Resources 7 0 R
115 | /Contents 8 0 R
116 | /Parent 11 0 R
117 | >>
118 | endobj
119 |
120 | 11 0 obj
121 | << /Kids [ 10 0 R ]
122 | /Count 1
123 | /Type /Pages
124 | >>
125 | endobj
126 |
127 | 12 0 obj
128 | << /Type /Catalog
129 | /Pages 11 0 R
130 | >>
131 | endobj
132 |
133 | xref
134 | 0 13
135 | 0000000000 65535 f
136 | 0000000010 00000 n
137 | 0000000117 00000 n
138 | 0000000138 00000 n
139 | 0000000169 00000 n
140 | 0000000561 00000 n
141 | 0000000583 00000 n
142 | 0000000995 00000 n
143 | 0000001088 00000 n
144 | 0000001756 00000 n
145 | 0000001778 00000 n
146 | 0000001952 00000 n
147 | 0000002028 00000 n
148 | trailer
149 | << /ID [ (some) (id) ]
150 | /Root 12 0 R
151 | /Size 13
152 | >>
153 | startxref
154 | 2089
155 | %%EOF
--------------------------------------------------------------------------------
/HiddenBar/Common/ProductGlobal.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Global.swift
3 | // Hidden Bar
4 | //
5 | // Created by 上原葉 on 5/16/23.
6 | // Copyright © 2023 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import AppKit
10 |
11 | extension Global { // Global Variables for Product
12 | // Detects RTL type system
13 | public static let isUsingLTRTypeSystem = (NSApplication.shared.userInterfaceLayoutDirection == .leftToRight);
14 |
15 | // Get main operation queue
16 | public static let mainQueue = OperationQueue.main
17 |
18 | // Get main runloop
19 | public static let runLoop = RunLoop.main
20 | }
21 |
--------------------------------------------------------------------------------
/HiddenBar/Common/Util.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Util.swift
3 | // vanillaClone
4 | //
5 | // Created by Thanh Nguyen on 1/29/19.
6 | // Copyright © 2019 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import AppKit
10 | import Foundation
11 | //import ServiceManagement
12 |
13 |
14 |
15 | class Util {
16 |
17 | static func hasFullScreenWindow() -> Bool
18 | {
19 | // TODO: A better method detecting active full screen windows to prevent glitching
20 | guard let windows = CGWindowListCopyWindowInfo(CGWindowListOption(rawValue: CGWindowListOption.optionOnScreenOnly.rawValue | CGWindowListOption.excludeDesktopElements.rawValue), kCGNullWindowID) else {
21 | return false
22 | }
23 |
24 | guard let screenFrame = NSScreen.main?.frame else {
25 | return false
26 | }
27 |
28 | for window in windows as NSArray
29 | {
30 | guard let winInfo = window as? NSDictionary, let frameInfo = winInfo["kCGWindowBounds"] as? NSDictionary else { continue }
31 |
32 | if frameInfo["Height"] as? CGFloat == screenFrame.height, frameInfo["Width"] as? CGFloat == screenFrame.width,
33 | frameInfo["X"] as? CGFloat == 0, frameInfo["Y"] as? CGFloat == 0,
34 | winInfo["kCGWindowOwnerName"] as? String != "Dock"
35 | {
36 | #if DEBUG
37 | NSLog("Found full screen window: \(winInfo)")
38 | #endif
39 | return true
40 | }
41 | }
42 | #if DEBUG
43 | NSLog("No full screen window Found.")
44 | #endif
45 | return false
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/HiddenBar/Controllers/AppActivationManager.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppActivationManager.swift
3 | // Hidden Bar
4 | //
5 | // Created by 上原葉 on 8/4/23.
6 | // Copyright © 2023 UeharaYou. All rights reserved.
7 | //
8 |
9 | import AppKit
10 |
11 | class AppActivationManager {
12 | //static private var activationPolicy: NSApplication.ActivationPolicy = .accessory
13 | private let updateLock = NSLock()
14 |
15 | private static let instance = AppActivationManager()
16 |
17 | public static func setup() {
18 | NotificationCenter.default.addObserver(forName: NotificationNames.prefsChanged, object: nil, queue: Global.mainQueue) {[] (notification) in
19 | triggerAdjustment()
20 | }
21 |
22 | // Manually adjusting the bar once
23 | triggerAdjustment()
24 | }
25 |
26 | public static func finishUp() {
27 | }
28 |
29 | private static func triggerAdjustment() {
30 | adjustAppActivation()
31 | }
32 |
33 | private static func adjustAppActivation() {
34 |
35 | //TODO: do not deactivate if preference window is shown
36 | let lock = instance.updateLock
37 | lock.lock(before: Date(timeIntervalSinceNow: 1))
38 |
39 | let shouldActiveIgnoringOtherApp = !Util.hasFullScreenWindow()
40 | let previousActivationPolicy = NSApp.activationPolicy()
41 |
42 | // Handle Activation Policy
43 | // First Layer Decision: UI State
44 | // Querying before storyboard is ready WILL DEADLOCK the app!!!!!!!!!
45 | if(PreferencesWindowController.isPrefWindowVisible) {
46 | NSApp.setActivationPolicy(.regular)
47 | }
48 | else {
49 | // Second Layer Decision: Preference
50 | switch (PreferenceManager.isUsingFullStatusBar, PreferenceManager.isEditMode, PreferenceManager.statusBarPolicy) {
51 | case (false, _, _), (true, false, .collapsed):
52 | NSApp.setActivationPolicy(.accessory)
53 | case (true, true, _), (true, _, .partialExpand), (true, _, .fullExpand):
54 | NSApp.setActivationPolicy(.regular)
55 | }
56 | }
57 |
58 | // Handle App Activation
59 | switch (previousActivationPolicy, NSApp.activationPolicy()) {
60 | case (.accessory, .regular):
61 | if #available(macOS 14.0, *) {
62 | if (shouldActiveIgnoringOtherApp && !NSApp.isActive) {
63 | NSApp.activate()
64 | }
65 | }
66 | else {
67 | NSApp.activate(ignoringOtherApps: shouldActiveIgnoringOtherApp)
68 | }
69 | case (.regular, .accessory):
70 | if (NSApp.isActive) {
71 | NSApp.deactivate()
72 | }
73 | default:
74 | break;
75 | }
76 |
77 | lock.unlock()
78 | }
79 | }
80 |
--------------------------------------------------------------------------------
/HiddenBar/Controllers/AssetManager.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AssetManager.swift
3 | // Hidden Bar
4 | //
5 | // Created by Peter Luo on 2021/5/28.
6 | // Copyright © 2021 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import AppKit
10 |
11 | struct AssetManager {
12 | static let expandImage = NSImage(named: NSImage.Name((Global.isUsingLTRTypeSystem) ? "ic_expand" : "ic_collapse"))!//.withTransparency(0.32)
13 | static let collapseImage = NSImage(named: NSImage.Name((Global.isUsingLTRTypeSystem) ? "ic_collapse" : "ic_expand"))!
14 | static let seperatorImage = NSImage(named: NSImage.Name("ic_line"))!
15 | }
16 |
--------------------------------------------------------------------------------
/HiddenBar/Controllers/ContextMenuManager.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ContextMenuManager.swift
3 | // Hidden Bar
4 | //
5 | // Created by 上原葉 on 5/21/23.
6 | // Copyright © 2023 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import AppKit
10 |
11 | class ContextMenuManager {
12 | class ContextMenuDelegate:NSObject, NSMenuDelegate {
13 | func confinementRect(for menu: NSMenu, on screen: NSScreen?) -> NSRect {
14 | guard let lscreen = screen else { return NSZeroRect }
15 | return lscreen.visibleFrame
16 | }
17 | }
18 | private static let delegate = ContextMenuDelegate()
19 | private static let instance = ContextMenuManager()
20 | private let contextMenu: NSMenu
21 | private let prefButton: NSMenuItem
22 | private let editToggle: NSMenuItem
23 | private let quitButton: NSMenuItem
24 | private let seperator1 = NSMenuItem.separator()
25 | private let seperator2 = NSMenuItem.separator()
26 | private init() {
27 | let menu = NSMenu()
28 |
29 | let nPrefButton = NSMenuItem(title: "Preferences...".localized, action: #selector(showPreference), keyEquivalent: ",")
30 | nPrefButton.tag = 0
31 |
32 |
33 | let nEditToggle = NSMenuItem(title: "Edit Mode".localized, action: #selector(toggleEdit), keyEquivalent: "e")
34 | nEditToggle.tag = 1
35 |
36 | let nQuitButton = NSMenuItem(title: "Quit".localized, action: #selector(NSApplication.terminate(_:)), keyEquivalent: "q")
37 | nQuitButton.tag = 2
38 |
39 | contextMenu = menu
40 | prefButton = nPrefButton
41 | editToggle = nEditToggle
42 | quitButton = nQuitButton
43 | }
44 |
45 | private func updateMenu() {
46 | editToggle.state = (PreferenceManager.isEditMode) ? .on : .off
47 | }
48 |
49 | public static func setup() {
50 | instance.prefButton.target = instance
51 | instance.editToggle.target = instance
52 | instance.contextMenu.addItem(instance.prefButton)
53 | instance.contextMenu.addItem(instance.seperator1)
54 | instance.contextMenu.addItem(instance.editToggle)
55 | instance.contextMenu.addItem(instance.seperator2)
56 | instance.contextMenu.addItem(instance.quitButton)
57 |
58 | instance.contextMenu.delegate = delegate
59 |
60 | NotificationCenter.default.addObserver(forName: NotificationNames.prefsChanged, object: nil, queue: nil) {[] _ in
61 | instance.updateMenu()
62 | }
63 | instance.updateMenu()
64 | }
65 |
66 | public static func finishUp() {
67 | }
68 |
69 | public static func showContextMenu(_ sender: NSStatusBarButton) {
70 | instance.contextMenu.popUp(positioning: nil, at: .init(x: sender.bounds.minX, y: sender.bounds.minY), in: sender)
71 | }
72 |
73 | @objc func showPreference() {
74 | PreferencesWindowController.showPrefWindow()
75 | }
76 | @objc func toggleEdit() {
77 | PreferenceManager.isEditMode = !PreferenceManager.isEditMode
78 | }
79 |
80 |
81 | }
82 |
83 |
--------------------------------------------------------------------------------
/HiddenBar/Controllers/HotKeyManager.swift:
--------------------------------------------------------------------------------
1 | //
2 | // HotKeyManager.swift
3 | // Hidden Bar
4 | //
5 | // Created by 上原葉 on 5/24/23.
6 | // Copyright © 2023 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import HotKey
11 |
12 | class HotKeyManager {
13 | static var hotKey: HotKey? {
14 | didSet {
15 | guard let hotKey = hotKey else { return }
16 |
17 | hotKey.keyDownHandler = { [] in
18 | switch (PreferenceManager.statusBarPolicy) {
19 | case (.collapsed):
20 | PreferenceManager.statusBarPolicy = .partialExpand
21 | default:
22 | PreferenceManager.statusBarPolicy = .collapsed
23 | }
24 | }
25 | }
26 | }
27 |
28 | public static func setup() {
29 | guard let globalKey = PreferenceManager.globalKey else {return}
30 | hotKey = HotKey(keyCombo: KeyCombo(carbonKeyCode: globalKey.keyCode, carbonModifiers: globalKey.carbonFlags))
31 | }
32 |
33 | public static func finishUp() {
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/HiddenBar/Controllers/PreferenceManager.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PreferenceManager.swift
3 | // Hidden Bar
4 | //
5 | // Created by phucld on 12/18/19.
6 | // Copyright © 2019 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import LaunchAtLogin
11 |
12 |
13 | enum PreferenceKeys {
14 | static let globalKey = "globalKey"
15 | static let numberOfSecondForAutoHide = "numberOfSecondForAutoHide"
16 | //static let isAutoStart = "isAutoStart"
17 | static let isAutoHide = "isAutoHide"
18 | static let isShowPreference = "isShowPreferences"
19 | static let isUsingFullStatusBar = "isUsingFullStatusBar"
20 | static let isEditMode = "isEditMode"
21 | static let statusBarPolicy = "statusBarPolicy"
22 | }
23 |
24 | enum PreferenceManager {
25 |
26 | static func setDefault() -> Void {
27 | UserDefaults.standard.register(defaults: [
28 | //PreferenceKeys.isAutoStart: false,
29 | PreferenceKeys.isShowPreference: true,
30 | PreferenceKeys.isAutoHide: true,
31 | PreferenceKeys.numberOfSecondForAutoHide: 10.0,
32 | PreferenceKeys.isEditMode: false,
33 | PreferenceKeys.statusBarPolicy: StatusBarPolicy.fullExpand.rawValue,
34 | ])
35 | }
36 |
37 | static var globalKey: GlobalKeybindPreferences? {
38 | get {
39 | guard let data = UserDefaults.standard.value(forKey: PreferenceKeys.globalKey) as? Data else { return nil }
40 | return try? JSONDecoder().decode(GlobalKeybindPreferences.self, from: data)
41 | }
42 |
43 | set {
44 | guard let data = try? JSONEncoder().encode(newValue) else { return }
45 | UserDefaults.standard.set(data, forKey: PreferenceKeys.globalKey)
46 |
47 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.globalKey))
48 | }
49 | }
50 |
51 | static var isAutoStart: Bool {
52 | get {
53 | return LaunchAtLogin.isEnabled
54 | }
55 |
56 | set {
57 | LaunchAtLogin.isEnabled = newValue
58 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.isAutoStart))
59 | }
60 | }
61 |
62 | /*
63 | static var isAutoStart: Bool {
64 | get {
65 | return UserDefaults.standard.bool(forKey: PreferenceKeys.isAutoStart)
66 | }
67 |
68 | set {
69 | UserDefaults.standard.set(newValue, forKey: PreferenceKeys.isAutoStart)
70 |
71 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: Preferences.isAutoStart))
72 | }
73 | }
74 | */
75 |
76 | static var numberOfSecondForAutoHide: Double {
77 | get {
78 | UserDefaults.standard.double(forKey: PreferenceKeys.numberOfSecondForAutoHide)
79 | }
80 |
81 | set {
82 | UserDefaults.standard.set(newValue, forKey: PreferenceKeys.numberOfSecondForAutoHide)
83 |
84 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.numberOfSecondForAutoHide))
85 | }
86 | }
87 |
88 | static var isAutoHide: Bool {
89 | get {
90 | UserDefaults.standard.bool(forKey: PreferenceKeys.isAutoHide)
91 | }
92 |
93 | set {
94 | UserDefaults.standard.set(newValue, forKey: PreferenceKeys.isAutoHide)
95 |
96 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.isAutoHide))
97 | }
98 | }
99 |
100 | static var isShowPreference: Bool {
101 | get {
102 | UserDefaults.standard.bool(forKey: PreferenceKeys.isShowPreference)
103 | }
104 |
105 | set {
106 | UserDefaults.standard.set(newValue, forKey: PreferenceKeys.isShowPreference)
107 |
108 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.isShowPreference))
109 | }
110 | }
111 |
112 | static var statusBarPolicy: StatusBarPolicy {
113 | get {
114 | let value = UserDefaults.standard.integer(forKey: PreferenceKeys.statusBarPolicy)
115 | switch (value) {
116 | case 1:
117 | return .fullExpand
118 | case 2:
119 | return .partialExpand
120 | case 0:
121 | return .collapsed
122 | default:
123 | NSLog("Warning: Preference \"statusBarPolicy\" value undefined, default to 0")
124 | return .collapsed
125 | }
126 |
127 | }
128 |
129 | set {
130 | var num = -1;
131 | switch (newValue) {
132 | case .fullExpand:
133 | num = 1
134 | case .partialExpand:
135 | num = 2
136 | case .collapsed:
137 | num = 0
138 | }
139 | UserDefaults.standard.set(num, forKey: PreferenceKeys.statusBarPolicy)
140 |
141 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.statusBarPolicy))
142 | }
143 | }
144 |
145 | static var isUsingFullStatusBar: Bool {
146 | get {
147 | UserDefaults.standard.bool(forKey: PreferenceKeys.isUsingFullStatusBar)
148 | }
149 |
150 | set {
151 | UserDefaults.standard.set(newValue, forKey: PreferenceKeys.isUsingFullStatusBar)
152 |
153 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.isUsingFullStatusBar))
154 | }
155 | }
156 |
157 | static var isEditMode: Bool {
158 | get {
159 | UserDefaults.standard.bool(forKey: PreferenceKeys.isEditMode)
160 | }
161 |
162 | set {
163 | UserDefaults.standard.set(newValue, forKey: PreferenceKeys.isEditMode)
164 |
165 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.isEditMode))
166 | }
167 | }
168 |
169 | }
170 |
--------------------------------------------------------------------------------
/HiddenBar/Controllers/StatusBarManager.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StatusBarManager.swift
3 | // vanillaClone
4 | //
5 | // Created by Thanh Nguyen on 1/30/19.
6 | // Copyright © 2019 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import AppKit
10 |
11 | enum StatusBarPolicy:Int {
12 | case collapsed = 0, fullExpand = 1, partialExpand = 2
13 | }
14 |
15 | class StatusBarManager {
16 |
17 | enum StatusBarValidity {
18 | case invalid; case onStartUp; case valid
19 | }
20 |
21 | private let masterToggle = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength)
22 | private let primarySeprator = NSStatusBar.system.statusItem(withLength: 0)
23 | private let secondarySeprator = NSStatusBar.system.statusItem(withLength: 0)
24 | private let updateLock = NSLock()
25 | private var autoCollapseTimer: Timer? = nil
26 |
27 | private static let hiddenSepratorLength: CGFloat = 0
28 | private static let normalSepratorLength: CGFloat = 10
29 | private static let expandedSeperatorLength: CGFloat = 10000
30 |
31 | public static func areSeperatorPositionValid () -> StatusBarValidity {
32 | guard
33 | let toggleButtonX = instance.masterToggle.button?.getOrigin?.x,
34 | let primarySepratorX = instance.primarySeprator.button?.getOrigin?.x,
35 | let secondarySepratorX = instance.secondarySeprator.button?.getOrigin?.x
36 | else {return .invalid}
37 |
38 | // all x will be all equal if applicationDidFinishLaunching have not returned, so we have to try again
39 | if toggleButtonX == primarySepratorX && primarySepratorX == secondarySepratorX {return .onStartUp}
40 |
41 | if Global.isUsingLTRTypeSystem {
42 | return (toggleButtonX > primarySepratorX && primarySepratorX > secondarySepratorX) ? .valid : .invalid
43 | } else {
44 | return (toggleButtonX < primarySepratorX && primarySepratorX < secondarySepratorX) ? .valid : .invalid
45 | }
46 | }
47 |
48 | @objc private static func toggleButtonPressed(sender: NSStatusBarButton) {
49 | if let event = NSApp.currentEvent {
50 |
51 | let isOptionKeyPressed = event.modifierFlags.contains(NSEvent.ModifierFlags.option)
52 | let isControlKeyPressed = event.modifierFlags.contains(NSEvent.ModifierFlags.control)
53 |
54 | switch (event.type, isOptionKeyPressed, isControlKeyPressed) {
55 | case (NSEvent.EventType.leftMouseUp, false, false):
56 | if (PreferenceManager.statusBarPolicy != .collapsed) {PreferenceManager.statusBarPolicy = .collapsed}
57 | else {PreferenceManager.statusBarPolicy = .partialExpand}
58 | PreferenceManager.isEditMode = false
59 | case (NSEvent.EventType.leftMouseUp, true, false):
60 | if (PreferenceManager.statusBarPolicy != .collapsed) {PreferenceManager.statusBarPolicy = .collapsed}
61 | else {PreferenceManager.statusBarPolicy = .fullExpand}
62 | PreferenceManager.isEditMode = false
63 | case (NSEvent.EventType.rightMouseUp, _, _):
64 | fallthrough
65 | case (NSEvent.EventType.leftMouseUp, _, true):
66 | ContextMenuManager.showContextMenu(sender)
67 | default:
68 | break
69 | }
70 | }
71 | }
72 |
73 | private static let instance = StatusBarManager()
74 | private init() {
75 | if let button = masterToggle.button {
76 | button.image = AssetManager.expandImage
77 | }
78 |
79 | if let button = primarySeprator.button {
80 | button.image = AssetManager.seperatorImage
81 | }
82 |
83 | if let button = secondarySeprator.button {
84 | button.image = AssetManager.seperatorImage
85 | button.appearsDisabled = true
86 | }
87 | masterToggle.autosaveName = "hiddenbar_masterToggle";
88 | primarySeprator.autosaveName = "hiddenbar_primarySeprator";
89 | secondarySeprator.autosaveName = "hiddenbar_secondarySeprator";
90 | NSLog("Status bar controller inited.")
91 | }
92 |
93 | public static func setup() {
94 |
95 | let masterToggle = instance.masterToggle,
96 | primarySeprator = instance.primarySeprator,
97 | secondarySeprator = instance.secondarySeprator
98 |
99 | if let button = masterToggle.button {
100 | button.target = self
101 | button.action = #selector(toggleButtonPressed(sender:))
102 | button.sendAction(on: [.leftMouseUp, .rightMouseUp])
103 | }
104 | // This won't work: blocking action to be sent.
105 | //let menu = StatusBarMenuManager.getContextMenu()
106 | //masterToggle.menu = menu
107 |
108 | masterToggle.isVisible = true
109 | primarySeprator.isVisible = true
110 | secondarySeprator.isVisible = true
111 |
112 | NotificationCenter.default.addObserver(forName: NotificationNames.prefsChanged, object: nil, queue: Global.mainQueue) {[] (notification) in
113 | triggerAdjustment()
114 | }
115 |
116 | // Manually adjusting the bar once
117 | triggerAdjustment()
118 | }
119 |
120 | public static func finishUp() {
121 | }
122 |
123 | private static func triggerAdjustment() {
124 | switch areSeperatorPositionValid() {
125 | case .onStartUp:
126 | Timer.scheduledTimer(withTimeInterval: 1, repeats: false) { _ in
127 | // retry on more time after 1s
128 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.isAutoStart))
129 | }
130 | fallthrough
131 | case .valid:
132 | resetAutoCollapseTimer()
133 | adjustStatusBar()
134 | case .invalid:
135 | resetSeperator()
136 | }
137 | }
138 |
139 | private static func resetSeperator () {
140 | let masterToggle = instance.masterToggle,
141 | primarySeprator = instance.primarySeprator,
142 | secondarySeprator = instance.secondarySeprator,
143 | lock = instance.updateLock
144 | lock.lock(before: Date(timeIntervalSinceNow: 1))
145 | primarySeprator.length = StatusBarManager.normalSepratorLength
146 | secondarySeprator.length = StatusBarManager.normalSepratorLength
147 | masterToggle.button?.image = AssetManager.collapseImage
148 | masterToggle.button?.title = "Invalid".localized
149 | lock.unlock()
150 | }
151 |
152 | private static func resetAutoCollapseTimer () {
153 | let lock = instance.updateLock
154 | do {
155 | lock.lock(before: Date(timeIntervalSinceNow: 1))
156 | defer {lock.unlock()}
157 | //NSLog("Timer Cancelled:\(String(describing: instance.autoCollapseTimer)).")
158 | instance.autoCollapseTimer?.invalidate()
159 | switch (PreferenceManager.isAutoHide, PreferenceManager.isEditMode, PreferenceManager.statusBarPolicy) {
160 | case (false, _, _), (_, true, _), (_, _, .collapsed):
161 | return
162 | default:
163 | break
164 | }
165 | let timer = Timer(timeInterval: TimeInterval(PreferenceManager.numberOfSecondForAutoHide), repeats: false) {
166 | [] (timer:Timer) in
167 | //NSLog("Timer Triggered:\(timer).")
168 | PreferenceManager.statusBarPolicy = .collapsed
169 | return
170 | }
171 | //NSLog("Timer Dispatched:\(timer).")
172 | Global.runLoop.add(timer, forMode: .common)
173 | instance.autoCollapseTimer = timer
174 | }
175 | }
176 |
177 | private static func adjustStatusBar () {
178 | let masterToggle = instance.masterToggle,
179 | primarySeprator = instance.primarySeprator,
180 | secondarySeprator = instance.secondarySeprator,
181 | lock = instance.updateLock
182 |
183 | lock.lock(before: Date(timeIntervalSinceNow: 1))
184 | if PreferenceManager.isEditMode {
185 | primarySeprator.length = StatusBarManager.normalSepratorLength
186 | //primarySeprator.isVisible = true
187 | secondarySeprator.length = StatusBarManager.normalSepratorLength
188 | //secondarySeprator.isVisible = true
189 | masterToggle.button?.image = AssetManager.collapseImage
190 | masterToggle.button?.title = "Edit".localized
191 |
192 | }
193 | else {
194 | switch PreferenceManager.statusBarPolicy {
195 | case .fullExpand:
196 | primarySeprator.length = StatusBarManager.hiddenSepratorLength
197 | //primarySeprator.isVisible = false
198 | secondarySeprator.length = StatusBarManager.hiddenSepratorLength
199 | //secondarySeprator.isVisible = false
200 | masterToggle.button?.image = AssetManager.collapseImage
201 | masterToggle.button?.title = ""
202 |
203 | case .partialExpand:
204 | primarySeprator.length = StatusBarManager.hiddenSepratorLength
205 | //primarySeprator.isVisible = false
206 | secondarySeprator.length = StatusBarManager.expandedSeperatorLength
207 | //secondarySeprator.isVisible = true
208 | masterToggle.button?.image = AssetManager.collapseImage
209 | masterToggle.button?.title = ""
210 |
211 | case .collapsed:
212 | primarySeprator.length = StatusBarManager.expandedSeperatorLength
213 | //primarySeprator.isVisible = true
214 | secondarySeprator.length = StatusBarManager.expandedSeperatorLength
215 | //secondarySeprator.isVisible = true
216 | masterToggle.button?.image = AssetManager.expandImage
217 | masterToggle.button?.title = ""
218 |
219 | }
220 | }
221 | lock.unlock()
222 | }
223 | }
224 |
225 |
--------------------------------------------------------------------------------
/HiddenBar/Extensions/Bundle+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Bundle+Extension.swift
3 | // Hidden Bar
4 | //
5 | // Created by phucld on 12/19/19.
6 | // Copyright © 2019 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension Bundle {
12 | var releaseVersionNumber: String? {
13 | return infoDictionary?["CFBundleShortVersionString"] as? String
14 | }
15 | var buildVersionNumber: String? {
16 | return infoDictionary?["CFBundleVersion"] as? String
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/HiddenBar/Extensions/Date+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Date+Extension.swift
3 | // Hidden Bar
4 | //
5 | // Created by Trung Phan on 22/03/2021.
6 | // Copyright © 2021 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension Date {
12 | static func dateString() -> String {
13 | let dateFormater = DateFormatter()
14 | dateFormater.dateFormat = "EEE dd MMM"
15 | return dateFormater.string(from: Date())
16 | }
17 | static func timeString() -> String {
18 | let dateFormater = DateFormatter()
19 | dateFormater.dateFormat = "hh:mm a"
20 | return dateFormater.string(from: Date())
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/HiddenBar/Extensions/HyperlinkTextField.swift:
--------------------------------------------------------------------------------
1 | //
2 | // HyperlinkTextField.swift
3 | // Hidden Bar
4 | //
5 | // Created by phucld on 12/19/19.
6 | // Copyright © 2019 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import Cocoa
11 |
12 | @IBDesignable
13 | class HyperlinkTextField: NSTextField {
14 |
15 | @IBInspectable var href: String = ""
16 |
17 | override func resetCursorRects() {
18 | discardCursorRects()
19 | addCursorRect(self.bounds, cursor: NSCursor.pointingHand)
20 | }
21 |
22 | override func awakeFromNib() {
23 | super.awakeFromNib()
24 |
25 | // TODO: Fix this and get the hover click to work.
26 | }
27 |
28 | override func mouseDown(with theEvent: NSEvent) {
29 | if let localHref = URL(string: href) {
30 | NSWorkspace.shared.open(localHref)
31 | }
32 | }
33 | }
34 |
35 |
--------------------------------------------------------------------------------
/HiddenBar/Extensions/NSBarButtonItem+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSBarButtonItem+Extension.swift
3 | // vanillaClone
4 | //
5 | // Created by Thanh Nguyen on 1/29/19.
6 | // Copyright © 2019 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import AppKit
11 |
12 | extension NSStatusBarButton {
13 | class func collapseBarButtonItem() -> NSStatusBarButton {
14 | let btnDot = NSStatusBarButton()
15 | btnDot.title = ""
16 | btnDot.sendAction(on: [.leftMouseUp, .rightMouseUp])
17 | btnDot.frame = NSRect(x: 0, y: 0, width: 24, height: 24)
18 | return btnDot
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/HiddenBar/Extensions/NSImage+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSImage+Extension.swift
3 | // Hidden Bar
4 | //
5 | // Created by 上原葉 on 7/23/23.
6 | // Copyright © 2023 UeharaYou. All rights reserved.
7 | //
8 |
9 | import AppKit
10 |
11 | extension NSImage {
12 | func withTransparency(_ alpha: CGFloat) -> NSImage {
13 | let newImage = NSImage(size: self.size)
14 | newImage.lockFocus()
15 |
16 | let imageRect = NSRect(origin: .zero, size: self.size)
17 | self.draw(in: imageRect, from: imageRect, operation: .sourceOver, fraction: alpha)
18 |
19 | newImage.unlockFocus()
20 | return newImage
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/HiddenBar/Extensions/NSView+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSView+Extension.swift
3 | // vanillaClone
4 | //
5 | // Created by Thanh Nguyen on 1/29/19.
6 | // Copyright © 2019 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import AppKit
11 | extension NSView {
12 | var getOrigin:CGPoint? {
13 | return self.window?.frame.origin
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/HiddenBar/Extensions/NSWindow+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSWindow+Extension.swift
3 | // Hidden Bar
4 | //
5 | // Created by phucld on 3/6/20.
6 | // Copyright © 2020 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import AppKit
10 |
11 | extension NSWindow {
12 | func bringToFront() {
13 | self.makeKeyAndOrderFront(nil)
14 | }
15 | }
16 |
17 |
--------------------------------------------------------------------------------
/HiddenBar/Extensions/Notification.Name+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Notification.Name+Extension.swift
3 | // Hidden Bar
4 | //
5 | // Created by Peter Luo on 2020/6/26.
6 | // Copyright © 2020 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import Cocoa
10 |
11 | class NotificationNames {
12 |
13 | static let prefsChanged = Notification.Name("prefsChanged")
14 | static let anotherInstanceLaunched = Notification.Name("anotherInstanceLaunched")
15 | }
16 |
--------------------------------------------------------------------------------
/HiddenBar/Extensions/StackView+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StackView+Extension.swift
3 | // Hidden Bar
4 | //
5 | // Created by Trung Phan on 22/03/2021.
6 | // Copyright © 2021 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import Cocoa
10 |
11 | extension NSStackView {
12 | func removeAllSubViews() {
13 | for view in self.views {
14 | view.removeFromSuperview()
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/HiddenBar/Extensions/String+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // String+Extension.swift
3 | // Hidden Bar
4 | //
5 | // Created by Licardo on 2020/3/9.
6 | // Copyright © 2020 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension String {
12 |
13 | // localize
14 | var localized: String {
15 | return NSLocalizedString(self, comment: self)
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/HiddenBar/Hidden.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.app-sandbox
6 |
7 | com.apple.security.files.user-selected.read-only
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/HiddenBar/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIconFile
10 |
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | $(PRODUCT_NAME)
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | $(MARKETING_VERSION)
21 | CFBundleVersion
22 | $(CURRENT_PROJECT_VERSION)
23 | LSApplicationCategoryType
24 | public.app-category.utilities
25 | LSMinimumSystemVersion
26 | $(MACOSX_DEPLOYMENT_TARGET)
27 | LSUIElement
28 |
29 | NSHumanReadableCopyright
30 | Copyright © 2024 UeharaYou. All rights reserved.
31 | NSMainStoryboardFile
32 | Main
33 | NSPrincipalClass
34 | NSApplication
35 |
36 |
37 |
--------------------------------------------------------------------------------
/HiddenBar/Main.swift:
--------------------------------------------------------------------------------
1 | //
2 | // main.swift
3 | // Hidden Bar
4 | //
5 | // Created by 上原葉 on 5/16/23.
6 | // Copyright © 2023 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import AppKit
10 |
11 | @main struct MyApp {
12 |
13 | static func main () -> Void {
14 | // Check for duplicated instances (in case of "open -n" command or other circumstances).
15 | let otherRunningInstances = NSWorkspace.shared.runningApplications.filter {
16 | $0.bundleIdentifier == Global.mainAppId && $0 != NSRunningApplication.current
17 | }
18 | let isAppAlreadyRunning = !otherRunningInstances.isEmpty
19 |
20 | if (isAppAlreadyRunning) {
21 | NSLog("Program already running: \(otherRunningInstances.map{$0.processIdentifier}).")
22 | }
23 | else {
24 | // Register user default
25 | PreferenceManager.setDefault()
26 |
27 | // Load main entry for NSApp
28 | NSLog("App started.")
29 | let ret_val = NSApplicationMain(CommandLine.argc, CommandLine.unsafeArgv)
30 | NSLog("App exited with exit code: \(ret_val).")
31 | }
32 | return
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/HiddenBar/MetaAssets/HiddenBar.sketch:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/HiddenBar/MetaAssets/HiddenBar.sketch
--------------------------------------------------------------------------------
/HiddenBar/ProjectGlobal.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Global.swift
3 | // Hidden Bar
4 | //
5 | // Created by 上原葉 on 5/16/23.
6 | // Copyright © 2023 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | enum Global {
12 | // Global Variables for Project
13 | static let appName = "Minimal Bar"
14 | static let mainAppId = "moe.ueharayou.MinimalBar"
15 | }
16 |
--------------------------------------------------------------------------------
/HiddenBar/UserInterfaces/AboutViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AboutViewController.swift
3 | // Hidden Bar
4 | //
5 | // Created by phucld on 12/19/19.
6 | // Copyright © 2019 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import Cocoa
10 |
11 | class AboutViewController: NSViewController {
12 |
13 | @IBOutlet weak var lblVersion: NSTextField!
14 |
15 | static func initWithStoryboard() -> AboutViewController {
16 | let vc = NSStoryboard(name:"Main", bundle: nil).instantiateController(withIdentifier: "aboutVC") as! AboutViewController
17 | return vc
18 | }
19 |
20 |
21 | override func viewDidLoad() {
22 | super.viewDidLoad()
23 | setupUI()
24 | }
25 |
26 | private func setupUI() {
27 | guard let version = Bundle.main.releaseVersionNumber,
28 | let buildNumber = Bundle.main.buildVersionNumber else { return }
29 | lblVersion.stringValue += " \(version) (\(buildNumber))"
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/HiddenBar/UserInterfaces/PreferencesViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // vanillaClone
4 | //
5 | // Created by Thanh Nguyen on 1/24/19.
6 | // Copyright © 2019 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import Cocoa
10 | import Carbon
11 | import HotKey
12 |
13 | class PreferencesViewController: NSViewController {
14 |
15 |
16 | //MARK: - Outlets
17 |
18 | @IBOutlet weak var textFieldTitle: NSTextField!
19 | @IBOutlet weak var statusBarStackView: NSStackView!
20 | @IBOutlet weak var arrowPointToHiddenImage: NSImageView!
21 | @IBOutlet weak var arrowPointToAlwayHiddenImage: NSImageView!
22 | @IBOutlet weak var lblAlwayHidden: NSTextField!
23 |
24 | @IBOutlet weak var checkBoxAutoHide: NSButton!
25 | @IBOutlet weak var checkBoxLogin: NSButton!
26 |
27 | @IBOutlet weak var checkBoxUseFullStatusbar: NSButton!
28 | @IBOutlet weak var timePopup: NSPopUpButton!
29 |
30 | @IBOutlet weak var btnClear: NSButton!
31 | @IBOutlet weak var btnShortcut: NSButton!
32 |
33 | public var listening = false {
34 | didSet {
35 | let isHighlight = listening
36 |
37 | DispatchQueue.main.async { [weak self] in
38 | self?.btnShortcut.highlight(isHighlight)
39 | }
40 | }
41 | }
42 |
43 | //MARK: - VC Life cycle
44 | override func viewDidLoad() {
45 | super.viewDidLoad()
46 | updateData()
47 | loadHotkey()
48 | createTutorialView()
49 |
50 | NotificationCenter.default.addObserver(forName: NotificationNames.prefsChanged, object: nil, queue: nil) {
51 | [weak self] notification in
52 | guard let target = self else {return}
53 | target.updateData()
54 | }
55 |
56 | }
57 |
58 | static func initWithStoryboard() -> PreferencesViewController {
59 | let vc = NSStoryboard(name:"Main", bundle: nil).instantiateController(withIdentifier: "prefVC") as! PreferencesViewController
60 | return vc
61 | }
62 |
63 | //MARK: - Actions
64 | @IBAction func loginCheckChanged(_ sender: NSButton) {
65 | PreferenceManager.isAutoStart = sender.state == .on
66 | }
67 |
68 | @IBAction func autoHideCheckChanged(_ sender: NSButton) {
69 | PreferenceManager.isAutoHide = sender.state == .on
70 | }
71 |
72 | @IBAction func useFullStatusBarOnExpandChanged(_ sender: NSButton) {
73 | PreferenceManager.isUsingFullStatusBar = sender.state == .on
74 | }
75 |
76 |
77 | @IBAction func timePopupDidSelected(_ sender: NSPopUpButton) {
78 | let selectedIndex = sender.indexOfSelectedItem
79 | if let selectedInSecond = SelectedSecond(rawValue: selectedIndex)?.toSeconds() {
80 | PreferenceManager.numberOfSecondForAutoHide = selectedInSecond
81 | }
82 | }
83 |
84 | // When the set shortcut button is pressed start listening for the new shortcut
85 | @IBAction func register(_ sender: Any) {
86 | listening = true
87 | view.window?.makeFirstResponder(nil)
88 | }
89 |
90 | // If the shortcut is cleared, clear the UI and tell AppDelegate to stop listening to the previous keybind.
91 | @IBAction func unregister(_ sender: Any?) {
92 | HotKeyManager.hotKey = nil
93 | btnShortcut.title = "Set Shortcut".localized
94 | listening = false
95 | btnClear.isEnabled = false
96 |
97 | // Remove globalkey from userdefault
98 | PreferenceManager.globalKey = nil
99 | }
100 |
101 | public func updateGlobalShortcut(_ event: NSEvent) {
102 | self.listening = false
103 |
104 | guard let characters = event.charactersIgnoringModifiers else {return}
105 |
106 | let newGlobalKeybind = GlobalKeybindPreferences(
107 | function: event.modifierFlags.contains(.function),
108 | control: event.modifierFlags.contains(.control),
109 | command: event.modifierFlags.contains(.command),
110 | shift: event.modifierFlags.contains(.shift),
111 | option: event.modifierFlags.contains(.option),
112 | capsLock: event.modifierFlags.contains(.capsLock),
113 | carbonFlags: event.modifierFlags.carbonFlags,
114 | characters: characters,
115 | keyCode: uint32(event.keyCode))
116 |
117 | PreferenceManager.globalKey = newGlobalKeybind
118 |
119 | updateKeybindButton(newGlobalKeybind)
120 | btnClear.isEnabled = true
121 | HotKeyManager.hotKey = HotKey(keyCombo: KeyCombo(carbonKeyCode: UInt32(event.keyCode), carbonModifiers: event.modifierFlags.carbonFlags))
122 | }
123 |
124 | public func updateModiferFlags(_ event: NSEvent) {
125 | let newGlobalKeybind = GlobalKeybindPreferences(
126 | function: event.modifierFlags.contains(.function),
127 | control: event.modifierFlags.contains(.control),
128 | command: event.modifierFlags.contains(.command),
129 | shift: event.modifierFlags.contains(.shift),
130 | option: event.modifierFlags.contains(.option),
131 | capsLock: event.modifierFlags.contains(.capsLock),
132 | carbonFlags: 0,
133 | characters: nil,
134 | keyCode: uint32(event.keyCode))
135 |
136 | updateModifierbindButton(newGlobalKeybind)
137 |
138 | }
139 |
140 | @objc private func updateData(){
141 | checkBoxUseFullStatusbar.state = PreferenceManager.isUsingFullStatusBar ? .on : .off
142 | checkBoxLogin.state = PreferenceManager.isAutoStart ? .on : .off
143 | checkBoxAutoHide.state = PreferenceManager.isAutoHide ? .on : .off
144 | //checkBoxShowPreferences.state = Preferences.isShowPreference ? .on : .off
145 | //checkBoxShowAlwaysHiddenSection.state = Preferences.statusBarPolicy == .fullExpand ? .on : .off
146 | timePopup.selectItem(at: SelectedSecond.secondToPossition(seconds: PreferenceManager.numberOfSecondForAutoHide))
147 | }
148 |
149 | private func loadHotkey() {
150 | if let globalKey = PreferenceManager.globalKey {
151 | updateKeybindButton(globalKey)
152 | updateClearButton(globalKey)
153 | }
154 | }
155 |
156 | // Set the shortcut button to show the keys to press
157 | private func updateKeybindButton(_ globalKeybindPreference : GlobalKeybindPreferences) {
158 | btnShortcut.title = globalKeybindPreference.description
159 |
160 | if globalKeybindPreference.description.count <= 1 {
161 | unregister(nil)
162 | }
163 | }
164 |
165 | // Set the shortcut button to show the modifier to press
166 | private func updateModifierbindButton(_ globalKeybindPreference : GlobalKeybindPreferences) {
167 | btnShortcut.title = globalKeybindPreference.description
168 |
169 | if globalKeybindPreference.description.isEmpty {
170 | unregister(nil)
171 | }
172 | }
173 |
174 | // If a keybind is set, allow users to clear it by enabling the clear button.
175 | private func updateClearButton(_ globalKeybindPreference : GlobalKeybindPreferences?) {
176 | btnClear.isEnabled = globalKeybindPreference != nil
177 | }
178 |
179 | func createTutorialView() {
180 | lblAlwayHidden.isHidden = false
181 | arrowPointToAlwayHiddenImage.isHidden = false
182 | statusBarStackView.removeAllSubViews()
183 | let imageWidth: CGFloat = 16
184 |
185 |
186 | let images = ["ico_1","ico_2","ico_3","ico_4", "seprated_1","ico_5","ico_6","seprated", "ico_collapse","ico_7"].map { imageName in
187 | NSImageView(image: NSImage(named: imageName)!)
188 | }
189 |
190 |
191 | for image in images {
192 | statusBarStackView.addArrangedSubview(image)
193 | image.translatesAutoresizingMaskIntoConstraints = false
194 | NSLayoutConstraint.activate([
195 | image.widthAnchor.constraint(equalToConstant: imageWidth),
196 | image.heightAnchor.constraint(equalToConstant: imageWidth)
197 |
198 | ])
199 | if #available(OSX 10.14, *) {
200 | image.contentTintColor = .labelColor
201 | } else {
202 | // Fallback on earlier versions
203 | }
204 | }
205 | let dateTimeLabel = NSTextField()
206 | dateTimeLabel.stringValue = Date.dateString() + " " + Date.timeString()
207 | dateTimeLabel.translatesAutoresizingMaskIntoConstraints = false
208 | dateTimeLabel.isBezeled = false
209 | dateTimeLabel.isEditable = false
210 | dateTimeLabel.sizeToFit()
211 | dateTimeLabel.backgroundColor = .clear
212 | statusBarStackView.addArrangedSubview(dateTimeLabel)
213 | NSLayoutConstraint.activate([dateTimeLabel.heightAnchor.constraint(equalToConstant: imageWidth)
214 | ])
215 |
216 | NSLayoutConstraint.activate([
217 | arrowPointToAlwayHiddenImage.centerXAnchor.constraint(equalTo: statusBarStackView.arrangedSubviews[4].centerXAnchor)
218 | ])
219 | NSLayoutConstraint.activate([
220 | arrowPointToHiddenImage.centerXAnchor.constraint(equalTo: statusBarStackView.arrangedSubviews[7].centerXAnchor)
221 | ])
222 | }
223 |
224 | @IBAction func btnAlwayHiddenHelpPressed(_ sender: NSButton) {
225 | self.showHowToUseAlwayHiddenPopover(sender: sender)
226 | }
227 |
228 | private func showHowToUseAlwayHiddenPopover(sender: NSButton) {
229 | let controller = NSViewController()
230 | let label = NSTextField()
231 | let text = NSLocalizedString("Tutorial text", comment: "Step by step tutorial")
232 |
233 | label.stringValue = text
234 | label.isBezeled = false
235 | label.isEditable = false
236 | let view = NSView()
237 | view.addSubview(label)
238 | NSLayoutConstraint.activate([
239 | label.topAnchor.constraint(equalTo: view.topAnchor),
240 | label.bottomAnchor.constraint(equalTo: view.bottomAnchor),
241 | label.leadingAnchor.constraint(equalTo: view.leadingAnchor),
242 | label.trailingAnchor.constraint(equalTo: view.trailingAnchor)
243 | ])
244 | label.translatesAutoresizingMaskIntoConstraints = false
245 | controller.view = view
246 |
247 | let popover = NSPopover()
248 | popover.contentViewController = controller
249 | popover.contentSize = controller.view.frame.size
250 |
251 | popover.behavior = .transient
252 | popover.animates = true
253 |
254 | popover.show(relativeTo: self.view.bounds, of: sender , preferredEdge: NSRectEdge.maxX)
255 | }
256 | }
257 |
--------------------------------------------------------------------------------
/HiddenBar/UserInterfaces/PreferencesWindowController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PreferencesWindowController.swift
3 | // Hidden Bar
4 | //
5 | // Created by Phuc Le Dien on 2/22/19.
6 | // Copyright © 2019 Dwarves Foundation. All rights reserved.
7 | //
8 |
9 | import Cocoa
10 |
11 | class PreferencesWindowController: NSWindowController {
12 |
13 | enum MenuSegment: Int {
14 | case general
15 | case about
16 | }
17 |
18 | static private let instance: PreferencesWindowController = {
19 | let wc = NSStoryboard(name:"Main", bundle: nil).instantiateController(withIdentifier: "MainWindow") as! PreferencesWindowController
20 | wc.window?.delegate = PreferencesWindowDelegate.shared
21 | return wc
22 | }()
23 |
24 | //private static var isWindowVisible = false
25 |
26 | private var menuSegment: MenuSegment = .general {
27 | didSet {
28 | updateVC()
29 | }
30 | }
31 |
32 | private let preferencesVC = PreferencesViewController.initWithStoryboard()
33 |
34 | private let aboutVC = AboutViewController.initWithStoryboard()
35 |
36 | override func windowDidLoad() {
37 | super.windowDidLoad() // this is invoked when private instance is inited (not available until it returns)
38 | Timer.scheduledTimer(withTimeInterval: 1, repeats: false) { _ in
39 | // retry on more time after 1s
40 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.isAutoStart))
41 | }
42 | //NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: nil)) // HERE! DEADLOCKED!!!!
43 | updateVC()
44 | }
45 |
46 | override func keyDown(with event: NSEvent) {
47 | super.keyDown(with: event)
48 | if let vc = self.contentViewController as? PreferencesViewController, vc.listening {
49 | vc.updateGlobalShortcut(event)
50 | }
51 | }
52 |
53 | override func flagsChanged(with event: NSEvent) {
54 | super.flagsChanged(with: event)
55 | if let vc = self.contentViewController as? PreferencesViewController, vc.listening {
56 | vc.updateModiferFlags(event)
57 | }
58 | }
59 |
60 | @IBAction func switchSegment(_ sender: NSSegmentedControl) {
61 | guard let segment = MenuSegment(rawValue: sender.indexOfSelectedItem) else {return}
62 | menuSegment = segment
63 | }
64 |
65 | private func updateVC() {
66 | switch menuSegment {
67 | case .general:
68 | self.window?.contentViewController = preferencesVC
69 | case .about:
70 | self.window?.contentViewController = aboutVC
71 | }
72 | }
73 |
74 | static func showPrefWindow() {
75 | instance.window?.bringToFront()
76 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.isAutoStart))
77 | }
78 |
79 | static var isPrefWindowVisible: Bool {
80 | let res = instance.window?.isVisible ?? false
81 | return res
82 | //return isWindowVisible
83 | }
84 | }
85 |
86 |
87 | class PreferencesWindowDelegate: NSObject, NSWindowDelegate {
88 | static let shared: PreferencesWindowDelegate = {
89 | return PreferencesWindowDelegate()
90 | }()
91 |
92 |
93 | func windowWillClose(_ notification: Notification) {
94 | Timer.scheduledTimer(withTimeInterval: 0.1, repeats: false) { _ in
95 | // retry on more time after 0.1s
96 | NotificationCenter.default.post(Notification(name: NotificationNames.prefsChanged, object: PreferenceManager.isAutoStart))
97 | }
98 | }
99 |
100 | }
101 |
102 |
--------------------------------------------------------------------------------
/HiddenBar/ar.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | /* (No Comment) */
2 | "Edit" = "التحرير";
3 |
4 | /* (No Comment) */
5 | "Edit Mode" = "وضع التحرير";
6 |
7 | /* (No Comment) */
8 | "Invalid" = "غير صالح";
9 |
10 | /* Localizable.strings
11 | Hidden Bar
12 |
13 | Created by Licardo on 2020/3/9.
14 | Copyright © 2020 Dwarves Foundation. All rights reserved. */
15 | "Preferences..." = "تفضيلات...";
16 |
17 | /* (No Comment) */
18 | "Quit" = "إنهاء";
19 |
20 | /* (No Comment) */
21 | "Set Shortcut" = "عين اختصارا";
22 |
23 | /* Step by step tutorial */
24 | "Tutorial text" = "\nالإستعمال:\n1. انقر فوق مفتاح التبديل الرئيسي (\"<\") لتوسيع / طي شريط الحالة.\n2. اضغط مع الاستمرار على مفتاح الخيار (\"⌥\") أثناء النقر فوق مفتاح التبديل الرئيسي (\"<\") للكشف عن العناصر المخفية دائمًا.\n3. انقر بزر الماوس الأيمن (انقر مع الضغط على مفتاح التحكم) على مفتاح التبديل الرئيسي (\"<\") لإظهار قائمة السياق.\n\nوضع التحرير:\n1. حدد \"وضع التحرير \" في قائمة السياق للدخول إلى وضع التحرير.\n2. في وضع التحرير ، يتم عرض sperators بين الأقسام.\n أعد ترتيب عناصر شريط الحالة إلى أقسام حسب الحاجة.\n (اضغط مع الاستمرار على مفتاح الأمر (\"⌘\") لسحب الرموز.)\n3. اخرج من وضع التحرير بالنقر فوق مفتاح التبديل الرئيسي (\"<\") أو إلغاء تحديد \"وضع التحرير \" في قائمة السياق.\n";
25 |
26 |
--------------------------------------------------------------------------------
/HiddenBar/ar.lproj/Main.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Settings"; ObjectID = "1Is-Ut-a9h"; */
2 | "1Is-Ut-a9h.title" = "الإعدادات";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Invisible"; ObjectID = "1jU-1x-cFf"; */
5 | "1jU-1x-cFf.title" = "مخفي دائما";
6 |
7 | /* Class = "NSMenuItem"; title = "Hidden Bar"; ObjectID = "1Xt-HY-uBw"; */
8 | "1Xt-HY-uBw.title" = "الشريط المخفي";
9 |
10 | /* Class = "NSTextFieldCell"; title = "Hidden Bar"; ObjectID = "2xp-Ht-xa6"; */
11 | "2xp-Ht-xa6.title" = "الشريط المخفي";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Version"; ObjectID = "4Au-5A-dYq"; */
14 | "4Au-5A-dYq.title" = "الإصدار";
15 |
16 | /* Class = "NSMenuItem"; title = "Quit Hidden Bar"; ObjectID = "4sb-4s-VLi"; */
17 | "4sb-4s-VLi.title" = "إنهاء الشريط المخفي";
18 |
19 | /* Class = "NSMenuItem"; title = "About Hidden Bar"; ObjectID = "5kV-Vb-QxS"; */
20 | "5kV-Vb-QxS.title" = "حول الشريط المخفي";
21 |
22 | /* Class = "NSButtonCell"; title = "Use the full MenuBar on expanding"; ObjectID = "8z8-6N-wnc"; */
23 | "8z8-6N-wnc.title" = "استخدم كامل شريط القائمة عند التوسيع";
24 |
25 | /* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
26 | "AYu-sK-qS6.title" = "القائمة الرئيسية";
27 |
28 | /* Class = "NSTextFieldCell"; title = "MIT © Dwarves Foundation"; ObjectID = "b1t-QR-iSj"; */
29 | "b1t-QR-iSj.title" = "MIT © Dwarves Foundation";
30 |
31 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[0] = "General"; ObjectID = "B2x-1Q-Aei"; */
32 | "B2x-1Q-Aei.ibShadowedLabels[0]" = "عام";
33 |
34 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[1] = "About"; ObjectID = "B2x-1Q-Aei"; */
35 | "B2x-1Q-Aei.ibShadowedLabels[1]" = "حول";
36 |
37 | /* Class = "NSBox"; title = "Box"; ObjectID = "bFi-aV-ejJ"; */
38 | "bFi-aV-ejJ.title" = "صندوق";
39 |
40 | /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */
41 | "BOF-NM-1cW.title" = "تفضيلات…";
42 |
43 | /* Class = "NSMenuItem"; title = "5 seconds"; ObjectID = "bzS-lm-JvT"; */
44 | "bzS-lm-JvT.title" = "5 ثوان";
45 |
46 | /* Class = "NSMenuItem"; title = "30 seconds"; ObjectID = "Ch6-Z2-LyX"; */
47 | "Ch6-Z2-LyX.title" = "30 ثانية";
48 |
49 | /* Class = "NSTextFieldCell"; title = "Folded"; ObjectID = "cXt-8R-PHo"; */
50 | "cXt-8R-PHo.title" = "مخفي";
51 |
52 | /* Class = "NSButtonCell"; title = "Set Shortcut"; ObjectID = "fc2-jD-QNf"; */
53 | "fc2-jD-QNf.title" = "عين اختصارا";
54 |
55 | /* Class = "NSTextFieldCell"; title = "This app is fully open source"; ObjectID = "fqc-io-QOP"; */
56 | "fqc-io-QOP.title" = "هذا التطبيق مفتوخ المصدر بالكامل";
57 |
58 | /* Class = "NSTextFieldCell"; title = "Global Shortcut"; ObjectID = "HJP-Lf-rxm"; */
59 | "HJP-Lf-rxm.title" = "الاختصارات المعممة";
60 |
61 | /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */
62 | "hz9-B4-Xy5.title" = "خدمات";
63 |
64 | /* Class = "NSButtonCell"; title = "⌫"; ObjectID = "IId-1b-leb"; */
65 | "IId-1b-leb.title" = "⌫";
66 |
67 | /* Class = "NSTextFieldCell"; title = "Shown"; ObjectID = "iyS-g5-5mk"; */
68 | "iyS-g5-5mk.title" = "ظاهر";
69 |
70 | /* Class = "NSBox"; title = "Box"; ObjectID = "Jjd-1G-63n"; */
71 | "Jjd-1G-63n.title" = "صندوق";
72 |
73 | /* Class = "NSTextFieldCell"; title = "In your Mac's menu bar, hold ⌘ and drag icons\nbetween sections to configure Hidden Bar."; ObjectID = "k7C-e5-6a0"; */
74 | "k7C-e5-6a0.title" = "في شريط القائمة الخاص بـMac الخاص بك، استمر بالضغط على ⌘ واسحب الأيقونات\nبين الأقسام لتكوين الشريط المخفي.";
75 |
76 | /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */
77 | "Kd2-mp-pUS.title" = "أظهر الكل";
78 |
79 | /* Class = "NSButtonCell"; title = "Automatically hide icon after: "; ObjectID = "kg8-rW-srh"; */
80 | "kg8-rW-srh.title" = "أخف الأيقونة تلقائيا بعد: ";
81 |
82 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "ML6-W4-U8X"; */
83 | "ML6-W4-U8X.label" = "عرض مخصص";
84 |
85 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "ML6-W4-U8X"; */
86 | "ML6-W4-U8X.paletteLabel" = "عرض مخصص";
87 |
88 | /* Class = "NSBox"; title = "Box"; ObjectID = "mtL-vU-2iq"; */
89 | "mtL-vU-2iq.title" = "صندوق";
90 |
91 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "NIO-JJ-pjq"; */
92 | "NIO-JJ-pjq.label" = "عرض مخصص";
93 |
94 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "NIO-JJ-pjq"; */
95 | "NIO-JJ-pjq.paletteLabel" = "عرض مخصص";
96 |
97 | /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */
98 | "NMo-om-nkz.title" = "خدمات";
99 |
100 | /* Class = "NSMenuItem"; title = "Hide Hidden Bar"; ObjectID = "Olw-nP-bQN"; */
101 | "Olw-nP-bQN.title" = "أخف الشريط المخفي";
102 |
103 | /* Class = "NSMenuItem"; title = "15 seconds"; ObjectID = "rdn-Xm-fZD"; */
104 | "rdn-Xm-fZD.title" = "١٥ ثانية";
105 |
106 | /* Class = "NSTextFieldCell"; title = "Email us"; ObjectID = "sRr-sO-uV0"; */
107 | "sRr-sO-uV0.title" = "راسلنا إلكنرونيا";
108 |
109 | /* Class = "NSTextFieldCell"; title = "Follow us on Twitter"; ObjectID = "Tba-C7-Zr8"; */
110 | "Tba-C7-Zr8.title" = "تابعنا على تويتر";
111 |
112 | /* Class = "NSMenu"; title = "Hidden Bar"; ObjectID = "uQy-DD-JDr"; */
113 | "uQy-DD-JDr.title" = "الشريط المخفي";
114 |
115 | /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */
116 | "Vdr-fp-XzO.title" = "أخف الآخرين";
117 |
118 | /* Class = "NSButtonCell"; title = "Start Hidden Bar when I log in"; ObjectID = "W1G-55-zGo"; */
119 | "W1G-55-zGo.title" = "شغل الشريط المخفي عندما أقوم بتسجيل الدخول";
120 |
121 | /* Class = "NSTextFieldCell"; title = "Menu bar cleaner"; ObjectID = "X4W-sr-Z32"; */
122 | "X4W-sr-Z32.title" = "منظف شريط القائمة";
123 |
124 | /* Class = "NSTextFieldCell"; title = "Know more about us"; ObjectID = "Xb1-xM-sYy"; */
125 | "Xb1-xM-sYy.title" = "إعرف المزيد عنا";
126 |
127 | /* Class = "NSMenuItem"; title = "10 seconds"; ObjectID = "z2X-nw-vxX"; */
128 | "z2X-nw-vxX.title" = "١٠ ثوان";
129 |
130 | /* Class = "NSTextFieldCell"; title = "General"; ObjectID = "zAf-vj-OOZ"; */
131 | "zAf-vj-OOZ.title" = "عام";
132 |
133 | /* Class = "NSTextFieldCell"; title = "Monday 08 Mar 9:00AM"; ObjectID = "zAH-cs-dar"; */
134 | "zAH-cs-dar.title" = "الإقنين ٠٨ مارس ٩:٠٠ صباحا";
135 |
136 | /* Class = "NSMenuItem"; title = "1 minute"; ObjectID = "Zkr-Xd-Ffh"; */
137 | "Zkr-Xd-Ffh.title" = "دقيقة واحدة";
138 |
139 |
--------------------------------------------------------------------------------
/HiddenBar/de.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | /*
2 | Localizable.strings
3 | Hidden Bar
4 |
5 | Created by Licardo on 2020/3/9.
6 | Copyright © 2020 Dwarves Foundation. All rights reserved.
7 | */
8 |
9 | /*
10 | "Preferences..." = "Voreinstellungen…";
11 | "Toggle Auto Collapse" = "Automatisch einklappen";
12 | "Enable Auto Collapse" = "Automatisch einklappen einschalten";
13 | "Disable Auto Collapse" = "Automatisch einklappen ausschalten";
14 | "Quit" = "Beenden";
15 | "Set Shortcut" = "Shortcut einstellen";
16 | "Tutorial text" = "
17 | Verwende die “permanent ausgeblendet“ Funktion um deine Menüleistensymbole aufgeräumt zu halten.. Und so funktioniert es..
18 | Zum einschalten:
19 | 1. Aktiviere permanent ausgeblendet “” (transluzenter Farbstreifen)
20 | 2. Halte und ziehe es auf die linke Seite der normalen Leiste, verschiebe dann die Symbole die ausgeblendet werden sollen auf die linke Seite dieser Leiste.
21 | 3. Abschließend klicke mit der rechten Maustaste auf das Einklappen Symbol “” um sie auszublenden.
22 | Zum Anzeigen der permanent ausgeblendeten Symbole:
23 | 1. Klicke mit der rechten Maustaste nochmals auf das Einklappen Symbol “” um sie anzuzeigen und wiederhole den Schritt um die Funktion zu aktivieren. Viel Spaß 😉!
24 | ";
25 | */
26 |
27 | "Preferences..." = "Voreinstellungen…";
28 | "Edit Mode" = "Bearbeitungsmodus";
29 | "Edit" = "Bearbeitung";
30 | "Invalid" = "Ungültig";
31 | "Quit" = "Beenden";
32 | "Set Shortcut" = "Shortcut einstellen";
33 | "Tutorial text" = "
34 | Verwendung:
35 | 1. Klicken Sie auf den Hauptschalter (<), um die Statusleiste zu erweitern/zu reduzieren.
36 | 2. Halten Sie die Wahltaste (⌥) gedrückt, während Sie auf den Hauptschalter (<) klicken, um stets ausgeblendete Elemente anzuzeigen.
37 | 3. Klicken Sie mit der rechten Maustaste (Strg-Klick) auf den Hauptschalter (<), um das Kontextmenü anzuzeigen.
38 |
39 | Bearbeitungsmodus:
40 | 1. Aktivieren Sie „Bearbeitungsmodus“ im Kontextmenü, um in den Bearbeitungsmodus zu gelangen.
41 | 2. Im Bearbeitungsmodus werden Trennzeichen zwischen den Abschnitten angezeigt.
42 | Ordnen Sie die Elemente der Statusleiste nach Bedarf in Abschnitte um.
43 | (Halten Sie die Befehlstaste (⌘) gedrückt, um Symbole zu ziehen.)
44 | 3. Verlassen Sie den Bearbeitungsmodus, indem Sie auf den Hauptschalter (<) klicken oder im Kontextmenü die Option „Bearbeitungsmodus“ deaktivieren.
45 | ";
46 |
--------------------------------------------------------------------------------
/HiddenBar/de.lproj/Main.strings:
--------------------------------------------------------------------------------
1 |
2 | /* Class = "NSTextFieldCell"; title = "Settings"; ObjectID = "1Is-Ut-a9h"; */
3 | "1Is-Ut-a9h.title" = "Einstellungen";
4 |
5 | /* Class = "NSMenuItem"; title = "Hidden Bar"; ObjectID = "1Xt-HY-uBw"; */
6 | "1Xt-HY-uBw.title" = "Hidden Bar";
7 |
8 | /* Class = "NSTextFieldCell"; title = "⭐️Always Hidden"; ObjectID = "1jU-1x-cFf"; */
9 | "1jU-1x-cFf.title" = "Immer ausgeblendet";
10 |
11 | /* Class = "NSTextFieldCell"; title = "Hidden Bar"; ObjectID = "2xp-Ht-xa6"; */
12 | "2xp-Ht-xa6.title" = "Hidden Bar";
13 |
14 | /* Class = "NSTextFieldCell"; title = "Version"; ObjectID = "4Au-5A-dYq"; */
15 | "4Au-5A-dYq.title" = "Version";
16 |
17 | /* Class = "NSMenuItem"; title = "Quit Hidden Bar"; ObjectID = "4sb-4s-VLi"; */
18 | "4sb-4s-VLi.title" = "Hidden Bar beenden";
19 |
20 | /* Class = "NSMenuItem"; title = "About Hidden Bar"; ObjectID = "5kV-Vb-QxS"; */
21 | "5kV-Vb-QxS.title" = "Über Hidden Bar";
22 |
23 | /* Class = "NSButtonCell"; title = "Use the full MenuBar on expanding"; ObjectID = "8z8-6N-wnc"; */
24 | "8z8-6N-wnc.title" = "Beim Erweitern die gesamte Menübreite benutzen";
25 |
26 | /* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
27 | "AYu-sK-qS6.title" = "Hauptmenü";
28 |
29 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[0] = "General"; ObjectID = "B2x-1Q-Aei"; */
30 | "B2x-1Q-Aei.ibShadowedLabels[0]" = "Allgemein";
31 |
32 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[1] = "About"; ObjectID = "B2x-1Q-Aei"; */
33 | "B2x-1Q-Aei.ibShadowedLabels[1]" = "Über";
34 |
35 | /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */
36 | "BOF-NM-1cW.title" = "Voreinstellungen…";
37 |
38 | /* Class = "NSMenuItem"; title = "30 seconds"; ObjectID = "Ch6-Z2-LyX"; */
39 | "Ch6-Z2-LyX.title" = "30 Sekunden";
40 |
41 | /* Class = "NSTextFieldCell"; title = "Global Shortcut"; ObjectID = "HJP-Lf-rxm"; */
42 | "HJP-Lf-rxm.title" = "Globaler Shortcut";
43 |
44 | /* Class = "NSButtonCell"; title = "⌫"; ObjectID = "IId-1b-leb"; */
45 | "IId-1b-leb.title" = "⌫";
46 |
47 | /* Class = "NSBox"; title = "Box"; ObjectID = "Jjd-1G-63n"; */
48 | "Jjd-1G-63n.title" = "Box";
49 |
50 | /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */
51 | "Kd2-mp-pUS.title" = "Alle anzeigen";
52 |
53 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "ML6-W4-U8X"; */
54 | "ML6-W4-U8X.label" = "Benutzerdefinierte Ansicht";
55 |
56 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "ML6-W4-U8X"; */
57 | "ML6-W4-U8X.paletteLabel" = "Benutzerdefinierte Ansicht";
58 |
59 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "NIO-JJ-pjq"; */
60 | "NIO-JJ-pjq.label" = "Benutzerdefinierte Ansicht";
61 |
62 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "NIO-JJ-pjq"; */
63 | "NIO-JJ-pjq.paletteLabel" = "Benutzerdefinierte Ansicht";
64 |
65 | /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */
66 | "NMo-om-nkz.title" = "Dienste";
67 |
68 | /* Class = "NSButtonCell"; title = "Enable always hidden section"; ObjectID = "Nhn-ch-1f7"; */
69 | "Nhn-ch-1f7.title" = "Permanent ausgeblendeten Teil aktivieren";
70 |
71 | /* Class = "NSMenuItem"; title = "Hide Hidden Bar"; ObjectID = "Olw-nP-bQN"; */
72 | "Olw-nP-bQN.title" = "Hidden Bar ausblenden";
73 |
74 | /* Class = "NSTextFieldCell"; title = "Follow us on Twitter"; ObjectID = "Tba-C7-Zr8"; */
75 | "Tba-C7-Zr8.title" = "Folge uns auf Twitter";
76 |
77 | /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */
78 | "Vdr-fp-XzO.title" = "Andere ausblenden";
79 |
80 | /* Class = "NSButtonCell"; title = "Start Hidden Bar when I log in"; ObjectID = "W1G-55-zGo"; */
81 | "W1G-55-zGo.title" = "Hidden Bar beim Anmelden starten";
82 |
83 | /* Class = "NSTextFieldCell"; title = "Menu bar cleaner"; ObjectID = "X4W-sr-Z32"; */
84 | "X4W-sr-Z32.title" = "Menüleisten Cleaner";
85 |
86 | /* Class = "NSTextFieldCell"; title = "Know more about us"; ObjectID = "Xb1-xM-sYy"; */
87 | "Xb1-xM-sYy.title" = "Mehr über uns erfahren";
88 |
89 | /* Class = "NSMenuItem"; title = "1 minute"; ObjectID = "Zkr-Xd-Ffh"; */
90 | "Zkr-Xd-Ffh.title" = "1 Minute";
91 |
92 | /* Class = "NSTextFieldCell"; title = "MIT © Dwarves Foundation"; ObjectID = "b1t-QR-iSj"; */
93 | "b1t-QR-iSj.title" = "MIT © Dwarves Foundation";
94 |
95 | /* Class = "NSBox"; title = "Box"; ObjectID = "bFi-aV-ejJ"; */
96 | "bFi-aV-ejJ.title" = "Box";
97 |
98 | /* Class = "NSMenuItem"; title = "5 seconds"; ObjectID = "bzS-lm-JvT"; */
99 | "bzS-lm-JvT.title" = "5 Sekunden";
100 |
101 | /* Class = "NSTextFieldCell"; title = "Hidden"; ObjectID = "cXt-8R-PHo"; */
102 | "cXt-8R-PHo.title" = "Hidden";
103 |
104 | /* Class = "NSButtonCell"; title = "Set Shortcut"; ObjectID = "fc2-jD-QNf"; */
105 | "fc2-jD-QNf.title" = "Shortcut einstellen";
106 |
107 | /* Class = "NSTextFieldCell"; title = "This app is fully open source"; ObjectID = "fqc-io-QOP"; */
108 | "fqc-io-QOP.title" = "Diese App ist vollständig Open Source";
109 |
110 | /* Class = "NSButtonCell"; title = "Show preferences on launch"; ObjectID = "hCh-Ue-NgH"; */
111 | "hCh-Ue-NgH.title" = "Voreinstellungen beim Starten anzeigen";
112 |
113 | /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */
114 | "hz9-B4-Xy5.title" = "Dienste";
115 |
116 | /* Class = "NSTextFieldCell"; title = "Shown"; ObjectID = "iyS-g5-5mk"; */
117 | "iyS-g5-5mk.title" = "Anzeigen";
118 |
119 | /* Class = "NSTextFieldCell"; title = "In your Mac's menu bar, hold ⌘ and drag icons\nbetween sections to configure Hidden Bar."; ObjectID = "k7C-e5-6a0"; */
120 | "k7C-e5-6a0.title" = "Halte ⌘ in der Menüleiste und verschiebe Symbole\nzwischen den Sektionen um Hidden Bar zu konfigurieren.";
121 |
122 | /* Class = "NSButtonCell"; title = "Automatically hide icon after: "; ObjectID = "kg8-rW-srh"; */
123 | "kg8-rW-srh.title" = "Symbol automatisch ausblenden nach: ";
124 |
125 | /* Class = "NSBox"; title = "Box"; ObjectID = "mtL-vU-2iq"; */
126 | "mtL-vU-2iq.title" = "Box";
127 |
128 | /* Class = "NSMenuItem"; title = "15 seconds"; ObjectID = "rdn-Xm-fZD"; */
129 | "rdn-Xm-fZD.title" = "15 Sekunden";
130 |
131 | /* Class = "NSTextFieldCell"; title = "Email us"; ObjectID = "sRr-sO-uV0"; */
132 | "sRr-sO-uV0.title" = "Email an uns senden";
133 |
134 | /* Class = "NSMenu"; title = "Hidden Bar"; ObjectID = "uQy-DD-JDr"; */
135 | "uQy-DD-JDr.title" = "Hidden Bar";
136 |
137 | /* Class = "NSMenuItem"; title = "10 seconds"; ObjectID = "z2X-nw-vxX"; */
138 | "z2X-nw-vxX.title" = "10 Sekunden";
139 |
140 | /* Class = "NSTextFieldCell"; title = "Monday 08 Mar 9:00AM"; ObjectID = "zAH-cs-dar"; */
141 | "zAH-cs-dar.title" = "Montag 8. März 9:00 Uhr";
142 |
143 | /* Class = "NSTextFieldCell"; title = "General"; ObjectID = "zAf-vj-OOZ"; */
144 | "zAf-vj-OOZ.title" = "Allgemein";
145 |
--------------------------------------------------------------------------------
/HiddenBar/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* Copyright (human-readable) */
2 | "NSHumanReadableCopyright" = "Copyright © 2024 UeharaYou. All rights reserved.";
3 |
--------------------------------------------------------------------------------
/HiddenBar/en.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | /* (No Comment) */
2 | "Edit" = "Edit";
3 |
4 | /* (No Comment) */
5 | "Edit Mode" = "Edit Mode";
6 |
7 | /* (No Comment) */
8 | "Invalid" = "Invalid";
9 |
10 | /* Localizable.strings
11 | Hidden Bar
12 |
13 | Created by Licardo on 2020/3/9.
14 | Copyright © 2020 Dwarves Foundation. All rights reserved. */
15 | "Preferences..." = "Preferences...";
16 |
17 | /* (No Comment) */
18 | "Quit" = "Quit";
19 |
20 | /* (No Comment) */
21 | "Set Shortcut" = "Set Shortcut";
22 |
23 | /* Step by step tutorial */
24 | "Tutorial text" = "\nUsage:\n1. Click the Main Toggle (<) to expand / collapse the status bar.\n2. Hold Option key (⌥) while clicking the Main Toggle (<) to reveal always hidden items.\n3. Right-click (Control-click) the Main Toggle (<) to show Context Menu.\n\nEdit Mode:\n1. Check \"Edit Mode\" in Context Menu to enter edit mode.\n2. In edit mode, sperators between sections are shown.\n Rearrange the status bar items into sections as needed.\n (Hold Command key (⌘) to drag icons.)\n3. Exit the edit mode by clicking the Main Toggle (<) or unchecking \"Edit Mode\" in Context Menu.\n";
25 |
26 |
--------------------------------------------------------------------------------
/HiddenBar/en.lproj/Main.strings:
--------------------------------------------------------------------------------
1 |
2 | /* Class = "NSTextFieldCell"; title = "Settings"; ObjectID = "1Is-Ut-a9h"; */
3 | "1Is-Ut-a9h.title" = "Settings";
4 |
5 | /* Class = "NSMenuItem"; title = "Hidden Bar"; ObjectID = "1Xt-HY-uBw"; */
6 | "1Xt-HY-uBw.title" = "Hidden Bar";
7 |
8 | /* Class = "NSTextFieldCell"; title = "Invisible"; ObjectID = "1jU-1x-cFf"; */
9 | "1jU-1x-cFf.title" = "Invisible";
10 |
11 | /* Class = "NSTextFieldCell"; title = "Unoffical Maintenance Repositoy"; ObjectID = "2X9-xt-WLt"; */
12 | "2X9-xt-WLt.title" = "Unoffical Maintenance Repositoy";
13 |
14 | /* Class = "NSTextFieldCell"; title = "Hidden Bar"; ObjectID = "2xp-Ht-xa6"; */
15 | "2xp-Ht-xa6.title" = "Hidden Bar";
16 |
17 | /* Class = "NSTextFieldCell"; title = "Version"; ObjectID = "4Au-5A-dYq"; */
18 | "4Au-5A-dYq.title" = "Version";
19 |
20 | /* Class = "NSMenuItem"; title = "Quit Hidden Bar"; ObjectID = "4sb-4s-VLi"; */
21 | "4sb-4s-VLi.title" = "Quit Hidden Bar";
22 |
23 | /* Class = "NSMenuItem"; title = "About Hidden Bar"; ObjectID = "5kV-Vb-QxS"; */
24 | "5kV-Vb-QxS.title" = "About Hidden Bar";
25 |
26 | /* Class = "NSButtonCell"; title = "Use the full MenuBar on expanding"; ObjectID = "8z8-6N-wnc"; */
27 | "8z8-6N-wnc.title" = "Use the full MenuBar on expanding";
28 |
29 | /* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
30 | "AYu-sK-qS6.title" = "Main Menu";
31 |
32 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[0] = "General"; ObjectID = "B2x-1Q-Aei"; */
33 | "B2x-1Q-Aei.ibShadowedLabels[0]" = "General";
34 |
35 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[1] = "About"; ObjectID = "B2x-1Q-Aei"; */
36 | "B2x-1Q-Aei.ibShadowedLabels[1]" = "About";
37 |
38 | /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */
39 | "BOF-NM-1cW.title" = "Preferences…";
40 |
41 | /* Class = "NSMenuItem"; title = "30 seconds"; ObjectID = "Ch6-Z2-LyX"; */
42 | "Ch6-Z2-LyX.title" = "30 seconds";
43 |
44 | /* Class = "NSTextFieldCell"; title = " "; ObjectID = "ERh-JM-snt"; */
45 | "ERh-JM-snt.title" = " ";
46 |
47 | /* Class = "NSMenuItem"; title = "Settings..."; ObjectID = "HF7-4D-F9m"; */
48 | "HF7-4D-F9m.title" = "Settings...";
49 |
50 | /* Class = "NSTextFieldCell"; title = "Global Shortcut"; ObjectID = "HJP-Lf-rxm"; */
51 | "HJP-Lf-rxm.title" = "Global Shortcut";
52 |
53 | /* Class = "NSButtonCell"; title = "⌫"; ObjectID = "IId-1b-leb"; */
54 | "IId-1b-leb.title" = "⌫";
55 |
56 | /* Class = "NSBox"; title = "Box"; ObjectID = "Jjd-1G-63n"; */
57 | "Jjd-1G-63n.title" = "Box";
58 |
59 | /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */
60 | "Kd2-mp-pUS.title" = "Show All";
61 |
62 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "ML6-W4-U8X"; */
63 | "ML6-W4-U8X.label" = "Custom View";
64 |
65 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "ML6-W4-U8X"; */
66 | "ML6-W4-U8X.paletteLabel" = "Custom View";
67 |
68 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "NIO-JJ-pjq"; */
69 | "NIO-JJ-pjq.label" = "Custom View";
70 |
71 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "NIO-JJ-pjq"; */
72 | "NIO-JJ-pjq.paletteLabel" = "Custom View";
73 |
74 | /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */
75 | "NMo-om-nkz.title" = "Services";
76 |
77 | /* Class = "NSTextFieldCell"; title = "This repository is an unofficial"; ObjectID = "O79-Ae-pp2"; */
78 | "O79-Ae-pp2.title" = "This repository is an unofficial";
79 |
80 | /* Class = "NSMenuItem"; title = "Hide Hidden Bar"; ObjectID = "Olw-nP-bQN"; */
81 | "Olw-nP-bQN.title" = "Hide Hidden Bar";
82 |
83 | /* Class = "NSMenuItem"; title = "Edit Mode"; ObjectID = "OmW-Mp-hRp"; */
84 | "OmW-Mp-hRp.title" = "Edit Mode";
85 |
86 | /* Class = "NSTextFieldCell"; title = "Follow us on Twitter"; ObjectID = "Tba-C7-Zr8"; */
87 | "Tba-C7-Zr8.title" = "Follow us on Twitter";
88 |
89 | /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */
90 | "Vdr-fp-XzO.title" = "Hide Others";
91 |
92 | /* Class = "NSButtonCell"; title = "Start Hidden Bar when I log in"; ObjectID = "W1G-55-zGo"; */
93 | "W1G-55-zGo.title" = "Start Hidden Bar when I log in";
94 |
95 | /* Class = "NSTextFieldCell"; title = "Menu bar cleaner"; ObjectID = "X4W-sr-Z32"; */
96 | "X4W-sr-Z32.title" = "Menu bar cleaner";
97 |
98 | /* Class = "NSTextFieldCell"; title = "Know more about us"; ObjectID = "Xb1-xM-sYy"; */
99 | "Xb1-xM-sYy.title" = "Know more about us";
100 |
101 | /* Class = "NSTextFieldCell"; title = "branch of Hidden Bar development."; ObjectID = "YDg-Sa-u5Z"; */
102 | "YDg-Sa-u5Z.title" = "branch of Hidden Bar development.";
103 |
104 | /* Class = "NSMenuItem"; title = "1 minute"; ObjectID = "Zkr-Xd-Ffh"; */
105 | "Zkr-Xd-Ffh.title" = "1 minute";
106 |
107 | /* Class = "NSTextFieldCell"; title = "MIT © Dwarves Foundation"; ObjectID = "b1t-QR-iSj"; */
108 | "b1t-QR-iSj.title" = "MIT © Dwarves Foundation";
109 |
110 | /* Class = "NSBox"; title = "Box"; ObjectID = "bFi-aV-ejJ"; */
111 | "bFi-aV-ejJ.title" = "Box";
112 |
113 | /* Class = "NSMenuItem"; title = "5 seconds"; ObjectID = "bzS-lm-JvT"; */
114 | "bzS-lm-JvT.title" = "5 seconds";
115 |
116 | /* Class = "NSTextFieldCell"; title = "Folded"; ObjectID = "cXt-8R-PHo"; */
117 | "cXt-8R-PHo.title" = "Folded";
118 |
119 | /* Class = "NSButtonCell"; title = "Set Shortcut"; ObjectID = "fc2-jD-QNf"; */
120 | "fc2-jD-QNf.title" = "Set Shortcut";
121 |
122 | /* Class = "NSTextFieldCell"; title = "This app is fully open source"; ObjectID = "fqc-io-QOP"; */
123 | "fqc-io-QOP.title" = "This app is fully open source";
124 |
125 | /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */
126 | "hz9-B4-Xy5.title" = "Services";
127 |
128 | /* Class = "NSTextFieldCell"; title = "Shown"; ObjectID = "iyS-g5-5mk"; */
129 | "iyS-g5-5mk.title" = "Shown";
130 |
131 | /* Class = "NSMenu"; title = "Context Menu"; ObjectID = "jbH-8J-uq2"; */
132 | "jbH-8J-uq2.title" = "Context Menu";
133 |
134 | /* Class = "NSTextFieldCell"; title = "In your Mac's menu bar, hold ⌘ and drag icons\nbetween sections to configure Hidden Bar."; ObjectID = "k7C-e5-6a0"; */
135 | "k7C-e5-6a0.title" = "In your Mac's menu bar, hold ⌘ and drag icons\nbetween sections to configure Hidden Bar.";
136 |
137 | /* Class = "NSButtonCell"; title = "Automatically hide icon after: "; ObjectID = "kg8-rW-srh"; */
138 | "kg8-rW-srh.title" = "Automatically hide icon after: ";
139 |
140 | /* Class = "NSBox"; title = "Box"; ObjectID = "mtL-vU-2iq"; */
141 | "mtL-vU-2iq.title" = "Box";
142 |
143 | /* Class = "NSMenuItem"; title = "15 seconds"; ObjectID = "rdn-Xm-fZD"; */
144 | "rdn-Xm-fZD.title" = "15 seconds";
145 |
146 | /* Class = "NSTextFieldCell"; title = "Email us"; ObjectID = "sRr-sO-uV0"; */
147 | "sRr-sO-uV0.title" = "Email us";
148 |
149 | /* Class = "NSMenu"; title = "Hidden Bar"; ObjectID = "uQy-DD-JDr"; */
150 | "uQy-DD-JDr.title" = "Hidden Bar";
151 |
152 | /* Class = "NSMenuItem"; title = "10 seconds"; ObjectID = "z2X-nw-vxX"; */
153 | "z2X-nw-vxX.title" = "10 seconds";
154 |
155 | /* Class = "NSTextFieldCell"; title = "Monday 08 Mar 9:00AM"; ObjectID = "zAH-cs-dar"; */
156 | "zAH-cs-dar.title" = "Monday 08 Mar 9:00AM";
157 |
158 | /* Class = "NSTextFieldCell"; title = "General"; ObjectID = "zAf-vj-OOZ"; */
159 | "zAf-vj-OOZ.title" = "General";
160 |
161 | /* Class = "NSMenuItem"; title = "Quit"; ObjectID = "zjl-Sb-hT6"; */
162 | "zjl-Sb-hT6.title" = "Quit";
163 |
--------------------------------------------------------------------------------
/HiddenBar/fr.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | /*
2 | Localizable.strings
3 | Hidden Bar
4 |
5 | Created by Licardo on 2020/3/9.
6 | Copyright © 2020 Dwarves Foundation. All rights reserved.
7 | */
8 |
9 | /*
10 | "Preferences..." = "Réglages...";
11 | "Toggle Auto Collapse" = "Activer la réduction automatique";
12 | "Enable Auto Collapse" = "Activer la réduction automatique";
13 | "Disable Auto Collapse" = "Désactiver la réduction automatique";
14 | "Quit" = "Quitter";
15 | "Set Shortcut" = "Définir un raccourci";
16 | "Tutorial text" = "
17 | Utilisez la fonction de section toujours cachée pour garder vos icônes bien rangées.
18 | Étapes pour activer:
19 | 1. Activez le «» toujours masqué (barre de couleur translucide)
20 | 2. Maintenez et faites-le glisser sur le côté gauche de la barre normale, puis déplacez les icônes que vous souhaitez faire disparaître sur la gauche de cette barre.
21 | 3. Enfin, faites un clic droit sur l'icône de réduction «» pour la faire disparaître.
22 |
23 | Étapes pour afficher les icônes toujours masquées:
24 | 1. Vous cliquez à nouveau avec le bouton droit de la souris sur l'icône «view» pour afficher et répéter l'action pour activer la fonction. Profitez 😉!
25 | ";
26 | */
27 |
28 | "Preferences..." = "Réglages...";
29 | "Edit Mode" = "Mode édition";
30 | "Edit" = "Édition";
31 | "Invalid" = "Invalide";
32 | "Quit" = "Quitter";
33 | "Set Shortcut" = "Définir un raccourci";
34 | "Tutorial text" = "
35 | Usage:
36 | 1. Cliquez sur la bascule principale (\"<\") pour développer/réduire la barre d'état.
37 | 2. Maintenez la touche Option (\"⌥\") enfoncée tout en cliquant sur la bascule principale (\"<\") pour révéler les éléments toujours masqués.
38 | 3. Cliquez avec le bouton droit (Contrôle-clic) sur la bascule principale (\"<\") pour afficher le menu contextuel.
39 |
40 | Mode édition:
41 | 1. Cochez \"Mode d'édition\" dans le menu contextuel pour entrer en mode d'édition.
42 | 2. En mode édition, les séparateurs entre les sections sont affichés.
43 | Réorganisez les éléments de la barre d'état en sections selon vos besoins.
44 | (Maintenez la touche Commande (\"⌘\") enfoncée pour faire glisser les icônes.)
45 | 3. Quittez le mode d'édition en cliquant sur la bascule principale (\"<\") ou en décochant \"Mode d'édition\" dans le menu contextuel.
46 | ";
47 |
--------------------------------------------------------------------------------
/HiddenBar/hr.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | /*
2 | Localizable.strings
3 | Hidden Bar
4 |
5 | Created by Licardo on 2020/3/9.
6 | Copyright © 2020 Dwarves Foundation. All rights reserved.
7 | */
8 |
9 | /*
10 | "Preferences..." = "Postavke …";
11 | "Toggle Auto Collapse" = "Uklj/Isklj automatsko sklapanje";
12 | "Enable Auto Collapse" = "Uključi automatsko sklapanje";
13 | "Disable Auto Collapse" = "Isključi automatsko sklapanje";
14 | "Quit" = "Zatvori program";
15 | "Set Shortcut" = "Postavi prečac";
16 | "Tutorial text" = "
17 | Koristi funkciju skrivanja ikona za održavanje reda u traci izbornika. Postavlja se na sljedeći način
18 | Koraci za uključivanje:
19 | 1. Uključi uvijek skriveno „” (poluprozirna okomita crta)
20 | 2. Pritisni i povuci na lijevu stranu standardne trake, zatim premjesti ikone koje želiš sakriti na lijevu stranu te trake.
21 | 3. Na kraju pritisni desnom tipkom miša na ikonu za sklapanje „” kako bi se ikone sakrile.
22 | Koraci za prikazivanje uvijek skrivenih ikona:
23 | 1. Pritisni desnom tipkom miša ponovo na ikonu „” i ponovi radnju za uključivanje funkcije. Uživaj 😉!
24 | ";
25 | */
26 |
27 | "Preferences..." = "Postavke …";
28 | "Edit Mode" = "Modu Edita";
29 | "Edit" = "Edita";
30 | "Invalid" = "Neispravno";
31 | "Quit" = "Zatvori program";
32 | "Set Shortcut" = "Postavi prečac";
33 | "Tutorial text" = "
34 | usu:
35 | 1. Cliccate u Toggle Principale (\"<\") per espansione / colapsà a barra di statutu.
36 | 2. Mantene a chjave Opzione (\"⌥\") mentre cliccate nantu à u Toggle Principale (\"<\") per revelà elementi sempre nascosti.
37 | 3. Right-click (Control-click) u Toggle Principale (\"<\") per vede u Menu Context.
38 |
39 | Modu Edita:
40 | 1. Verificate \"Modu Edita\" in u Menu Cuntestu per entre in u modu di edizione.
41 | 2. In u modu di edizione, i speratori trà e rùbbriche sò mostrati.
42 | Riarrange l'articuli di a barra di statutu in sezioni cum'è necessariu.
43 | (Mantene a chjave Command (\"⌘\") per trascinà l'icone.)
44 | 3. Esci da u modu di edizione clicchendu u Toggle Principale (\"<\") o unchecking \"Modalità Edita\" in u Menu di Cuntestu.
45 | ";
46 |
--------------------------------------------------------------------------------
/HiddenBar/hr.lproj/Main.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Settings"; ObjectID = "1Is-Ut-a9h"; */
2 | "1Is-Ut-a9h.title" = "Postavke";
3 |
4 | /* Class = "NSMenuItem"; title = "Hidden Bar"; ObjectID = "1Xt-HY-uBw"; */
5 | "1Xt-HY-uBw.title" = "Hidden Bar";
6 |
7 | /* Class = "NSTextFieldCell"; title = "⭐️Always Hidden"; ObjectID = "1jU-1x-cFf"; */
8 | "1jU-1x-cFf.title" = "Uvijek skriveno";
9 |
10 | /* Class = "NSTextFieldCell"; title = "Hidden Bar"; ObjectID = "2xp-Ht-xa6"; */
11 | "2xp-Ht-xa6.title" = "Hidden Bar";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Version"; ObjectID = "4Au-5A-dYq"; */
14 | "4Au-5A-dYq.title" = "Verzija";
15 |
16 | /* Class = "NSMenuItem"; title = "Quit Hidden Bar"; ObjectID = "4sb-4s-VLi"; */
17 | "4sb-4s-VLi.title" = "Zatvori Hidden Bar";
18 |
19 | /* Class = "NSMenuItem"; title = "About Hidden Bar"; ObjectID = "5kV-Vb-QxS"; */
20 | "5kV-Vb-QxS.title" = "Hidden Bar informacije";
21 |
22 | /* Class = "NSButtonCell"; title = "Use the full MenuBar on expanding"; ObjectID = "8z8-6N-wnc"; */
23 | "8z8-6N-wnc.title" = "Koristi cijelu traku izbornika pri rasklapanju";
24 |
25 | /* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
26 | "AYu-sK-qS6.title" = "Glavni izbornik";
27 |
28 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[0] = "General"; ObjectID = "B2x-1Q-Aei"; */
29 | "B2x-1Q-Aei.ibShadowedLabels[0]" = "Opće";
30 |
31 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[1] = "About"; ObjectID = "B2x-1Q-Aei"; */
32 | "B2x-1Q-Aei.ibShadowedLabels[1]" = "Informacije";
33 |
34 | /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */
35 | "BOF-NM-1cW.title" = "Postavke …";
36 |
37 | /* Class = "NSMenuItem"; title = "30 seconds"; ObjectID = "Ch6-Z2-LyX"; */
38 | "Ch6-Z2-LyX.title" = "30 s";
39 |
40 | /* Class = "NSTextFieldCell"; title = "Global Shortcut"; ObjectID = "HJP-Lf-rxm"; */
41 | "HJP-Lf-rxm.title" = "Globalni prečac";
42 |
43 | /* Class = "NSButtonCell"; title = "⌫"; ObjectID = "IId-1b-leb"; */
44 | "IId-1b-leb.title" = "⌫";
45 |
46 | /* Class = "NSBox"; title = "Box"; ObjectID = "Jjd-1G-63n"; */
47 | "Jjd-1G-63n.title" = "Kutija";
48 |
49 | /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */
50 | "Kd2-mp-pUS.title" = "Prikaži sve";
51 |
52 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "ML6-W4-U8X"; */
53 | "ML6-W4-U8X.label" = "Prilagođen prikaz";
54 |
55 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "ML6-W4-U8X"; */
56 | "ML6-W4-U8X.paletteLabel" = "Prilagođen prikaz";
57 |
58 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "NIO-JJ-pjq"; */
59 | "NIO-JJ-pjq.label" = "Prilagođen prikaz";
60 |
61 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "NIO-JJ-pjq"; */
62 | "NIO-JJ-pjq.paletteLabel" = "Prilagođen prikaz";
63 |
64 | /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */
65 | "NMo-om-nkz.title" = "Usluge";
66 |
67 | /* Class = "NSButtonCell"; title = "Enable always hidden section"; ObjectID = "Nhn-ch-1f7"; */
68 | "Nhn-ch-1f7.title" = "Uključi uvijek skriveni odjeljak";
69 |
70 | /* Class = "NSMenuItem"; title = "Hide Hidden Bar"; ObjectID = "Olw-nP-bQN"; */
71 | "Olw-nP-bQN.title" = "Sakrij Hidden Bar";
72 |
73 | /* Class = "NSTextFieldCell"; title = "Follow us on Twitter"; ObjectID = "Tba-C7-Zr8"; */
74 | "Tba-C7-Zr8.title" = "Prati nas na Twitteru";
75 |
76 | /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */
77 | "Vdr-fp-XzO.title" = "Sakrij ostalo";
78 |
79 | /* Class = "NSButtonCell"; title = "Start Hidden Bar when I log in"; ObjectID = "W1G-55-zGo"; */
80 | "W1G-55-zGo.title" = "Pokreni Hidden Bar nakon prijave";
81 |
82 | /* Class = "NSTextFieldCell"; title = "Menu bar cleaner"; ObjectID = "X4W-sr-Z32"; */
83 | "X4W-sr-Z32.title" = "Čistač trake izbornika";
84 |
85 | /* Class = "NSTextFieldCell"; title = "Know more about us"; ObjectID = "Xb1-xM-sYy"; */
86 | "Xb1-xM-sYy.title" = "Saznaj više o nama";
87 |
88 | /* Class = "NSMenuItem"; title = "1 minute"; ObjectID = "Zkr-Xd-Ffh"; */
89 | "Zkr-Xd-Ffh.title" = "1 min";
90 |
91 | /* Class = "NSTextFieldCell"; title = "MIT © Dwarves Foundation"; ObjectID = "b1t-QR-iSj"; */
92 | "b1t-QR-iSj.title" = "MIT © Dwarves Foundation";
93 |
94 | /* Class = "NSBox"; title = "Box"; ObjectID = "bFi-aV-ejJ"; */
95 | "bFi-aV-ejJ.title" = "Kutija";
96 |
97 | /* Class = "NSMenuItem"; title = "5 seconds"; ObjectID = "bzS-lm-JvT"; */
98 | "bzS-lm-JvT.title" = "5 s";
99 |
100 | /* Class = "NSTextFieldCell"; title = "Hidden"; ObjectID = "cXt-8R-PHo"; */
101 | "cXt-8R-PHo.title" = "Skriveno";
102 |
103 | /* Class = "NSButtonCell"; title = "Set Shortcut"; ObjectID = "fc2-jD-QNf"; */
104 | "fc2-jD-QNf.title" = "Postavi prečac";
105 |
106 | /* Class = "NSTextFieldCell"; title = "This app is fully open source"; ObjectID = "fqc-io-QOP"; */
107 | "fqc-io-QOP.title" = "Ovo je progam otvorenog koda";
108 |
109 | /* Class = "NSButtonCell"; title = "Show preferences on launch"; ObjectID = "hCh-Ue-NgH"; */
110 | "hCh-Ue-NgH.title" = "Prikaži postavke nakon pokretanja";
111 |
112 | /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */
113 | "hz9-B4-Xy5.title" = "Usluge";
114 |
115 | /* Class = "NSTextFieldCell"; title = "Shown"; ObjectID = "iyS-g5-5mk"; */
116 | "iyS-g5-5mk.title" = "Prikazano";
117 |
118 | /* Class = "NSTextFieldCell"; title = "In your Mac's menu bar, hold ⌘ and drag icons\nbetween sections to configure Hidden Bar."; ObjectID = "k7C-e5-6a0"; */
119 | "k7C-e5-6a0.title" = "Za konfiguriranje programa Hidden Bar, u traci izbornika pritisni tipku ⌘ i povuci ikone između odjeljaka.";
120 |
121 | /* Class = "NSButtonCell"; title = "Automatically hide icon after: "; ObjectID = "kg8-rW-srh"; */
122 | "kg8-rW-srh.title" = "Sakrij ikone automatski nakon: ";
123 |
124 | /* Class = "NSBox"; title = "Box"; ObjectID = "mtL-vU-2iq"; */
125 | "mtL-vU-2iq.title" = "Pozadina";
126 |
127 | /* Class = "NSMenuItem"; title = "15 seconds"; ObjectID = "rdn-Xm-fZD"; */
128 | "rdn-Xm-fZD.title" = "15 s";
129 |
130 | /* Class = "NSTextFieldCell"; title = "Email us"; ObjectID = "sRr-sO-uV0"; */
131 | "sRr-sO-uV0.title" = "Pošalji nam e-mail";
132 |
133 | /* Class = "NSMenu"; title = "Hidden Bar"; ObjectID = "uQy-DD-JDr"; */
134 | "uQy-DD-JDr.title" = "Hidden Bar";
135 |
136 | /* Class = "NSMenuItem"; title = "10 seconds"; ObjectID = "z2X-nw-vxX"; */
137 | "z2X-nw-vxX.title" = "10 s";
138 |
139 | /* Class = "NSTextFieldCell"; title = "Monday 08 Mar 9:00AM"; ObjectID = "zAH-cs-dar"; */
140 | "zAH-cs-dar.title" = "Ponedjeljak, 8. ožujka 9:00";
141 |
142 | /* Class = "NSTextFieldCell"; title = "General"; ObjectID = "zAf-vj-OOZ"; */
143 | "zAf-vj-OOZ.title" = "Opće";
144 |
--------------------------------------------------------------------------------
/HiddenBar/ja.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* Copyright (human-readable) */
2 | "NSHumanReadableCopyright" = "著作権所有 © 2023 UeharaYou. All rights reserved.";
3 |
4 |
--------------------------------------------------------------------------------
/HiddenBar/ja.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | /* (No Comment) */
2 | "Edit" = "編集";
3 |
4 | /* (No Comment) */
5 | "Edit Mode" = "編集モード";
6 |
7 | /* (No Comment) */
8 | "Invalid" = "無効な構成";
9 |
10 | /* Localizable.strings
11 | Hidden Bar
12 |
13 | Created by Licardo on 2020/3/9.
14 | Copyright © 2020 Dwarves Foundation. All rights reserved. */
15 | "Preferences..." = "環境設定...";
16 |
17 | /* (No Comment) */
18 | "Quit" = "終了";
19 |
20 | /* (No Comment) */
21 | "Set Shortcut" = "ショットキーを設定";
22 |
23 | /* Step by step tutorial */
24 | "Tutorial text" = "\n使い方:\n1. 「<」をクリックして「非表示」エリアにいるアイコンを表示・非表示する。\n2. Option(⌥)キーを押しながら「<」をクリックして「常に非表示」エリアにいるアイコンを表示する。\n3. 「<」を右クリック(Control-クリック)してコンテキストメニューを表示する。\n\n編集モード:\n1. コンテキストメニューに「編集モード」を選択して編集モードを有効にする。\n2. 編集モードが有効される場合は、各エリアの間にセパレーターが表示される。\n Command(⌘)キーを押しながら,アイコンを好きなエリアに移動する。\n3. コンテキストメニューに「編集モード」をクリアして、または「<」をクリックして編集モードを無効にする。\n";
25 |
26 |
--------------------------------------------------------------------------------
/HiddenBar/ja.lproj/Main.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Settings"; ObjectID = "1Is-Ut-a9h"; */
2 | "1Is-Ut-a9h.title" = "設置";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Invisible"; ObjectID = "1jU-1x-cFf"; */
5 | "1jU-1x-cFf.title" = "常に非表示";
6 |
7 | /* Class = "NSMenuItem"; title = "Hidden Bar"; ObjectID = "1Xt-HY-uBw"; */
8 | "1Xt-HY-uBw.title" = "Hidden Bar";
9 |
10 | /* Class = "NSTextFieldCell"; title = "Unoffical Maintenance Repositoy"; ObjectID = "2X9-xt-WLt"; */
11 | "2X9-xt-WLt.title" = "非公式リポジトリ";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Hidden Bar"; ObjectID = "2xp-Ht-xa6"; */
14 | "2xp-Ht-xa6.title" = "Hidden Bar";
15 |
16 | /* Class = "NSTextFieldCell"; title = "Version"; ObjectID = "4Au-5A-dYq"; */
17 | "4Au-5A-dYq.title" = "Version";
18 |
19 | /* Class = "NSMenuItem"; title = "Quit Hidden Bar"; ObjectID = "4sb-4s-VLi"; */
20 | "4sb-4s-VLi.title" = "Hidden Barを終了";
21 |
22 | /* Class = "NSMenuItem"; title = "About Hidden Bar"; ObjectID = "5kV-Vb-QxS"; */
23 | "5kV-Vb-QxS.title" = "Hidden Barについて";
24 |
25 | /* Class = "NSButtonCell"; title = "Use the full MenuBar on expanding"; ObjectID = "8z8-6N-wnc"; */
26 | "8z8-6N-wnc.title" = "アイコンを表示する時に Hidden のメニューバーも表示";
27 |
28 | /* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
29 | "AYu-sK-qS6.title" = "メインメニュー";
30 |
31 | /* Class = "NSTextFieldCell"; title = "MIT © Dwarves Foundation"; ObjectID = "b1t-QR-iSj"; */
32 | "b1t-QR-iSj.title" = "MIT © Dwarves Foundation";
33 |
34 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[0] = "General"; ObjectID = "B2x-1Q-Aei"; */
35 | "B2x-1Q-Aei.ibShadowedLabels[0]" = "一般";
36 |
37 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[1] = "About"; ObjectID = "B2x-1Q-Aei"; */
38 | "B2x-1Q-Aei.ibShadowedLabels[1]" = "情報";
39 |
40 | /* Class = "NSBox"; title = "Box"; ObjectID = "bFi-aV-ejJ"; */
41 | "bFi-aV-ejJ.title" = "Box";
42 |
43 | /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */
44 | "BOF-NM-1cW.title" = "環境設定…";
45 |
46 | /* Class = "NSMenuItem"; title = "5 seconds"; ObjectID = "bzS-lm-JvT"; */
47 | "bzS-lm-JvT.title" = "5秒";
48 |
49 | /* Class = "NSMenuItem"; title = "30 seconds"; ObjectID = "Ch6-Z2-LyX"; */
50 | "Ch6-Z2-LyX.title" = "30秒";
51 |
52 | /* Class = "NSTextFieldCell"; title = "Folded"; ObjectID = "cXt-8R-PHo"; */
53 | "cXt-8R-PHo.title" = "非表示";
54 |
55 | /* Class = "NSButtonCell"; title = "Set Shortcut"; ObjectID = "fc2-jD-QNf"; */
56 | "fc2-jD-QNf.title" = "ショットキーを設定";
57 |
58 | /* Class = "NSTextFieldCell"; title = "This app is fully open source"; ObjectID = "fqc-io-QOP"; */
59 | "fqc-io-QOP.title" = "このアプリはフルオープンソース";
60 |
61 | /* Class = "NSMenuItem"; title = "Settings..."; ObjectID = "HF7-4D-F9m"; */
62 | "HF7-4D-F9m.title" = "設定…";
63 |
64 | /* Class = "NSTextFieldCell"; title = "Global Shortcut"; ObjectID = "HJP-Lf-rxm"; */
65 | "HJP-Lf-rxm.title" = "グローバルショットキー";
66 |
67 | /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */
68 | "hz9-B4-Xy5.title" = "サービス";
69 |
70 | /* Class = "NSButtonCell"; title = "⌫"; ObjectID = "IId-1b-leb"; */
71 | "IId-1b-leb.title" = "⌫";
72 |
73 | /* Class = "NSTextFieldCell"; title = "Shown"; ObjectID = "iyS-g5-5mk"; */
74 | "iyS-g5-5mk.title" = "表示";
75 |
76 | /* Class = "NSMenu"; title = "Context Menu"; ObjectID = "jbH-8J-uq2"; */
77 | "jbH-8J-uq2.title" = "コンテキストメニュー";
78 |
79 | /* Class = "NSBox"; title = "Box"; ObjectID = "Jjd-1G-63n"; */
80 | "Jjd-1G-63n.title" = "Box";
81 |
82 | /* Class = "NSTextFieldCell"; title = "In your Mac's menu bar, hold ⌘ and drag icons\nbetween sections to configure Hidden Bar."; ObjectID = "k7C-e5-6a0"; */
83 | "k7C-e5-6a0.title" = "Mac のメニューバーにCommand(⌘)キーを押しながらアイコンを移動して \nメニューバーをカスタマイズする";
84 |
85 | /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */
86 | "Kd2-mp-pUS.title" = "Show All";
87 |
88 | /* Class = "NSButtonCell"; title = "Automatically hide icon after: "; ObjectID = "kg8-rW-srh"; */
89 | "kg8-rW-srh.title" = "一定時間を経つと自動的にアイコンを非表示する: ";
90 |
91 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "ML6-W4-U8X"; */
92 | "ML6-W4-U8X.label" = "Custom View";
93 |
94 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "ML6-W4-U8X"; */
95 | "ML6-W4-U8X.paletteLabel" = "Custom View";
96 |
97 | /* Class = "NSBox"; title = "Box"; ObjectID = "mtL-vU-2iq"; */
98 | "mtL-vU-2iq.title" = "Box";
99 |
100 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "NIO-JJ-pjq"; */
101 | "NIO-JJ-pjq.label" = "Custom View";
102 |
103 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "NIO-JJ-pjq"; */
104 | "NIO-JJ-pjq.paletteLabel" = "Custom View";
105 |
106 | /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */
107 | "NMo-om-nkz.title" = "サービス";
108 |
109 | /* Class = "NSTextFieldCell"; title = "This repository is an unofficial"; ObjectID = "O79-Ae-pp2"; */
110 | "O79-Ae-pp2.title" = "このリポジトリは";
111 |
112 | /* Class = "NSMenuItem"; title = "Hide Hidden Bar"; ObjectID = "Olw-nP-bQN"; */
113 | "Olw-nP-bQN.title" = "Hidden Barを隠す";
114 |
115 | /* Class = "NSMenuItem"; title = "Edit Mode"; ObjectID = "OmW-Mp-hRp"; */
116 | "OmW-Mp-hRp.title" = "編集モード";
117 |
118 | /* Class = "NSMenuItem"; title = "15 seconds"; ObjectID = "rdn-Xm-fZD"; */
119 | "rdn-Xm-fZD.title" = "15秒";
120 |
121 | /* Class = "NSTextFieldCell"; title = "Email us"; ObjectID = "sRr-sO-uV0"; */
122 | "sRr-sO-uV0.title" = "メールで連絡";
123 |
124 | /* Class = "NSTextFieldCell"; title = "Follow us on Twitter"; ObjectID = "Tba-C7-Zr8"; */
125 | "Tba-C7-Zr8.title" = "Twitterでフォロー";
126 |
127 | /* Class = "NSMenu"; title = "Hidden Bar"; ObjectID = "uQy-DD-JDr"; */
128 | "uQy-DD-JDr.title" = "Hidden Bar";
129 |
130 | /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */
131 | "Vdr-fp-XzO.title" = "ほかを隠す";
132 |
133 | /* Class = "NSButtonCell"; title = "Start Hidden Bar when I log in"; ObjectID = "W1G-55-zGo"; */
134 | "W1G-55-zGo.title" = "ログインする時 Hidden Bar を起動";
135 |
136 | /* Class = "NSTextFieldCell"; title = "Menu bar cleaner"; ObjectID = "X4W-sr-Z32"; */
137 | "X4W-sr-Z32.title" = "Menu bar cleaner";
138 |
139 | /* Class = "NSTextFieldCell"; title = "Know more about us"; ObjectID = "Xb1-xM-sYy"; */
140 | "Xb1-xM-sYy.title" = "私たちを知る";
141 |
142 | /* Class = "NSTextFieldCell"; title = "branch of Hidden Bar development."; ObjectID = "YDg-Sa-u5Z"; */
143 | "YDg-Sa-u5Z.title" = "非公式のメンテナンスです。";
144 |
145 | /* Class = "NSMenuItem"; title = "10 seconds"; ObjectID = "z2X-nw-vxX"; */
146 | "z2X-nw-vxX.title" = "10秒";
147 |
148 | /* Class = "NSTextFieldCell"; title = "General"; ObjectID = "zAf-vj-OOZ"; */
149 | "zAf-vj-OOZ.title" = "一般";
150 |
151 | /* Class = "NSTextFieldCell"; title = "Monday 08 Mar 9:00AM"; ObjectID = "zAH-cs-dar"; */
152 | "zAH-cs-dar.title" = "3月8日(月) 9:00";
153 |
154 | /* Class = "NSMenuItem"; title = "Quit"; ObjectID = "zjl-Sb-hT6"; */
155 | "zjl-Sb-hT6.title" = "終了";
156 |
157 | /* Class = "NSMenuItem"; title = "1 minute"; ObjectID = "Zkr-Xd-Ffh"; */
158 | "Zkr-Xd-Ffh.title" = "1分";
159 |
160 |
--------------------------------------------------------------------------------
/HiddenBar/vi.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | /*
2 | Localizable.strings
3 | Hidden Bar
4 |
5 | Created by Licardo on 2020/3/9.
6 | Copyright © 2020 Dwarves Foundation. All rights reserved.
7 | */
8 | /*
9 | "Preferences..." = "Tuỳ chọn...";
10 | "Toggle Auto Collapse" = "Đổi trạng thái tự động ẩn";
11 | "Enable Auto Collapse" = "Bật tự động ẩn";
12 | "Disable Auto Collapse" = "Tắt tự động ẩn";
13 | "Quit" = "Thoát";
14 | "Set Shortcut" = "Cài phím tắt";
15 | "Tutorial text" = "
16 | Dùng tính năng luôn ẩn để làm thanh menu gọn gàng hơn bằng cách luôn ẩn những icons bạn không thích. Để bật tính năng này
17 | Các bước thực hiện:
18 | 1. Bật tính năng luôn ẩn “” (thanh dọc có màu hơi mờ sẽ xuất hiện)
19 | 2. Giữ phím và kéo thanh mờ này về phía bên tay trái của thanh không mờ, di chuyển icons của ứng dụng mà bạn không muốn hiện kể cả khi đang mở rộng (hiện ẩn).
20 | 3. Sau cùng, click phải vào icon “” để luôn ẩn những icon này.
21 | Để hiện lại những icon luôn ẩn:
22 | 1. Click phải vào nút “” 😉!
23 | ";
24 | */
25 | "Preferences..." = "Tuỳ chọn...";
26 | "Edit Mode" = "Chế độ chỉnh sửa";
27 | "Edit" = "chỉnh sửa";
28 | "Invalid" = "Không hợp lệ";
29 | "Quit" = "Thoát";
30 | "Set Shortcut" = "Cài phím tắt";
31 | "Tutorial text" = "
32 | Cách sử dụng:
33 | 1. Nhấp vào Chuyển đổi chính (\"<\") để mở rộng/thu gọn thanh trạng thái.
34 | 2. Giữ phím Tùy chọn (\"⌥\") trong khi nhấp vào Chuyển đổi chính (\"<\") để hiển thị các mục luôn ẩn.
35 | 3. Nhấp chuột phải (Nhấp chuột điều khiển) Chuyển đổi chính (\"<\") để hiển thị Trình đơn ngữ cảnh.
36 |
37 | Chế độ chỉnh sửa:
38 | 1. Kiểm tra \"Chế độ chỉnh sửa\" trong Trình đơn ngữ cảnh để vào chế độ chỉnh sửa.
39 | 2. Trong chế độ chỉnh sửa, các sperator giữa các phần được hiển thị.
40 | Sắp xếp lại các mục trên thanh trạng thái thành các phần nếu cần.
41 | (Giữ phím Command (\"⌘\") để kéo các biểu tượng.)
42 | 3. Thoát khỏi chế độ chỉnh sửa bằng cách nhấp vào Chuyển đổi chính (\"<\") hoặc bỏ chọn \"Chế độ chỉnh sửa\" trong Trình đơn ngữ cảnh.
43 | ";
44 |
--------------------------------------------------------------------------------
/HiddenBar/vi.lproj/Main.strings:
--------------------------------------------------------------------------------
1 |
2 | /* Class = "NSTextFieldCell"; title = "Settings"; ObjectID = "1Is-Ut-a9h"; */
3 | "1Is-Ut-a9h.title" = "Tuỳ chọn";
4 |
5 | /* Class = "NSMenuItem"; title = "Hidden Bar"; ObjectID = "1Xt-HY-uBw"; */
6 | "1Xt-HY-uBw.title" = "Hidden Bar";
7 |
8 | /* Class = "NSTextFieldCell"; title = "⭐️Always Hidden"; ObjectID = "1jU-1x-cFf"; */
9 | "1jU-1x-cFf.title" = "Luôn ẩn";
10 |
11 | /* Class = "NSTextFieldCell"; title = "Hidden Bar"; ObjectID = "2xp-Ht-xa6"; */
12 | "2xp-Ht-xa6.title" = "Hidden Bar";
13 |
14 | /* Class = "NSTextFieldCell"; title = "Version"; ObjectID = "4Au-5A-dYq"; */
15 | "4Au-5A-dYq.title" = "Phiên bản";
16 |
17 | /* Class = "NSMenuItem"; title = "Quit Hidden Bar"; ObjectID = "4sb-4s-VLi"; */
18 | "4sb-4s-VLi.title" = "Thoát Hidden Bar";
19 |
20 | /* Class = "NSMenuItem"; title = "About Hidden Bar"; ObjectID = "5kV-Vb-QxS"; */
21 | "5kV-Vb-QxS.title" = "About Hidden Bar";
22 |
23 | /* Class = "NSButtonCell"; title = "Use the full MenuBar on expanding"; ObjectID = "8z8-6N-wnc"; */
24 | "8z8-6N-wnc.title" = "Sử dụng toàn thanh công cụ khi mở rộng";
25 |
26 | /* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
27 | "AYu-sK-qS6.title" = "Main Menu";
28 |
29 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[0] = "General"; ObjectID = "B2x-1Q-Aei"; */
30 | "B2x-1Q-Aei.ibShadowedLabels[0]" = "Bảng tuỳ chỉnh";
31 |
32 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[1] = "About"; ObjectID = "B2x-1Q-Aei"; */
33 | "B2x-1Q-Aei.ibShadowedLabels[1]" = "Về chúng tôi";
34 |
35 | /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */
36 | "BOF-NM-1cW.title" = "Tuỳ chọn…";
37 |
38 | /* Class = "NSMenuItem"; title = "30 seconds"; ObjectID = "Ch6-Z2-LyX"; */
39 | "Ch6-Z2-LyX.title" = "30 giây";
40 |
41 | /* Class = "NSTextFieldCell"; title = "Global Shortcut"; ObjectID = "HJP-Lf-rxm"; */
42 | "HJP-Lf-rxm.title" = "Phím tắt";
43 |
44 | /* Class = "NSButtonCell"; title = "⌫"; ObjectID = "IId-1b-leb"; */
45 | "IId-1b-leb.title" = "⌫";
46 |
47 | /* Class = "NSBox"; title = "Box"; ObjectID = "Jjd-1G-63n"; */
48 | "Jjd-1G-63n.title" = "Box";
49 |
50 | /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */
51 | "Kd2-mp-pUS.title" = "Show All";
52 |
53 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "ML6-W4-U8X"; */
54 | "ML6-W4-U8X.label" = "Custom View";
55 |
56 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "ML6-W4-U8X"; */
57 | "ML6-W4-U8X.paletteLabel" = "Custom View";
58 |
59 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "NIO-JJ-pjq"; */
60 | "NIO-JJ-pjq.label" = "Custom View";
61 |
62 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "NIO-JJ-pjq"; */
63 | "NIO-JJ-pjq.paletteLabel" = "Custom View";
64 |
65 | /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */
66 | "NMo-om-nkz.title" = "Services";
67 |
68 | /* Class = "NSButtonCell"; title = "Enable always hidden section"; ObjectID = "Nhn-ch-1f7"; */
69 | "Nhn-ch-1f7.title" = "Bật tính năng luôn ẩn";
70 |
71 | /* Class = "NSMenuItem"; title = "Hide Hidden Bar"; ObjectID = "Olw-nP-bQN"; */
72 | "Olw-nP-bQN.title" = "Ẩn Hidden Bar";
73 |
74 | /* Class = "NSTextFieldCell"; title = "Follow us on Twitter"; ObjectID = "Tba-C7-Zr8"; */
75 | "Tba-C7-Zr8.title" = "Theo dõi chúng tôi trên Twitter";
76 |
77 | /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */
78 | "Vdr-fp-XzO.title" = "Hide Others";
79 |
80 | /* Class = "NSButtonCell"; title = "Start Hidden Bar when I log in"; ObjectID = "W1G-55-zGo"; */
81 | "W1G-55-zGo.title" = "Chạy Hidden Bar khi khởi động";
82 |
83 | /* Class = "NSTextFieldCell"; title = "Menu bar cleaner"; ObjectID = "X4W-sr-Z32"; */
84 | "X4W-sr-Z32.title" = "Menu bar cleaner";
85 |
86 | /* Class = "NSTextFieldCell"; title = "Know more about us"; ObjectID = "Xb1-xM-sYy"; */
87 | "Xb1-xM-sYy.title" = "Tìm hiểu thêm về chúng tôi";
88 |
89 | /* Class = "NSMenuItem"; title = "1 minute"; ObjectID = "Zkr-Xd-Ffh"; */
90 | "Zkr-Xd-Ffh.title" = "1 phút";
91 |
92 | /* Class = "NSTextFieldCell"; title = "MIT © Dwarves Foundation"; ObjectID = "b1t-QR-iSj"; */
93 | "b1t-QR-iSj.title" = "MIT © Dwarves Foundation";
94 |
95 | /* Class = "NSBox"; title = "Box"; ObjectID = "bFi-aV-ejJ"; */
96 | "bFi-aV-ejJ.title" = "Box";
97 |
98 | /* Class = "NSMenuItem"; title = "5 seconds"; ObjectID = "bzS-lm-JvT"; */
99 | "bzS-lm-JvT.title" = "5 giây";
100 |
101 | /* Class = "NSTextFieldCell"; title = "Hidden"; ObjectID = "cXt-8R-PHo"; */
102 | "cXt-8R-PHo.title" = "Ẩn";
103 |
104 | /* Class = "NSButtonCell"; title = "Set Shortcut"; ObjectID = "fc2-jD-QNf"; */
105 | "fc2-jD-QNf.title" = "Đặt phím tắt";
106 |
107 | /* Class = "NSTextFieldCell"; title = "This app is fully open source"; ObjectID = "fqc-io-QOP"; */
108 | "fqc-io-QOP.title" = "Đây là phần mềm mã nguồn mở";
109 |
110 | /* Class = "NSButtonCell"; title = "Show preferences on launch"; ObjectID = "hCh-Ue-NgH"; */
111 | "hCh-Ue-NgH.title" = "Hiện tuỳ chọn lúc khởi chạy";
112 |
113 | /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */
114 | "hz9-B4-Xy5.title" = "Services";
115 |
116 | /* Class = "NSTextFieldCell"; title = "Shown"; ObjectID = "iyS-g5-5mk"; */
117 | "iyS-g5-5mk.title" = "Hiện";
118 |
119 | /* Class = "NSTextFieldCell"; title = "In your Mac's menu bar, hold ⌘ and drag icons\nbetween sections to configure Hidden Bar."; ObjectID = "k7C-e5-6a0"; */
120 | "k7C-e5-6a0.title" = "Ở thanh menu hệ thống, giữ phím ⌘ và nhấn chuột kéo icons\n di chuyển đến vùng cần ẩn /hiện.";
121 |
122 | /* Class = "NSButtonCell"; title = "Automatically hide icon after: "; ObjectID = "kg8-rW-srh"; */
123 | "kg8-rW-srh.title" = "Tự động ẩn sau: ";
124 |
125 | /* Class = "NSBox"; title = "Box"; ObjectID = "mtL-vU-2iq"; */
126 | "mtL-vU-2iq.title" = "Box";
127 |
128 | /* Class = "NSMenuItem"; title = "15 seconds"; ObjectID = "rdn-Xm-fZD"; */
129 | "rdn-Xm-fZD.title" = "15 giây";
130 |
131 | /* Class = "NSTextFieldCell"; title = "Email us"; ObjectID = "sRr-sO-uV0"; */
132 | "sRr-sO-uV0.title" = "Email cho chúng tôi";
133 |
134 | /* Class = "NSMenu"; title = "Hidden Bar"; ObjectID = "uQy-DD-JDr"; */
135 | "uQy-DD-JDr.title" = "Hidden Bar";
136 |
137 | /* Class = "NSMenuItem"; title = "10 seconds"; ObjectID = "z2X-nw-vxX"; */
138 | "z2X-nw-vxX.title" = "10 giây";
139 |
140 | /* Class = "NSTextFieldCell"; title = "Monday 08 Mar 9:00AM"; ObjectID = "zAH-cs-dar"; */
141 | "zAH-cs-dar.title" = "Monday 08 Mar 9:00AM";
142 |
143 | /* Class = "NSTextFieldCell"; title = "General"; ObjectID = "zAf-vj-OOZ"; */
144 | "zAf-vj-OOZ.title" = "General";
145 |
--------------------------------------------------------------------------------
/HiddenBar/zh-Hans.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* Copyright (human-readable) */
2 | "NSHumanReadableCopyright" = "著作权所有 © 2023 UeharaYou. 保留一切权利。";
3 |
4 |
--------------------------------------------------------------------------------
/HiddenBar/zh-Hans.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | /* (No Comment) */
2 | "Edit" = "编辑";
3 |
4 | /* (No Comment) */
5 | "Edit Mode" = "编辑模式";
6 |
7 | /* (No Comment) */
8 | "Invalid" = "无效配置";
9 |
10 | /* Localizable.strings
11 | Hidden Bar
12 |
13 | Created by Licardo on 2020/3/9.
14 | Copyright © 2020 Dwarves Foundation. All rights reserved. */
15 | "Preferences..." = "偏好设置...";
16 |
17 | /* (No Comment) */
18 | "Quit" = "退出";
19 |
20 | /* (No Comment) */
21 | "Set Shortcut" = "设置快捷键";
22 |
23 | /* Step by step tutorial */
24 | "Tutorial text" = "\n使用方法:\n1. 单击主按钮(<)以显示/隐藏“折叠”分区内的图标。\n2. 按住Option键(⌥)并单击主按钮(<)以显示“不可见“分区内的图标。\n3. 右击(Control-单击)主按钮(<)以调出菜单。\n\n编辑模式:\n1. 在菜单中选中”编辑模式“以进入编辑模式。\n2. 在编辑模式中会显示各分区之间的分割线。\n 按照自己的需要将各图标拖动到对应分区内,按住Command键(⌘)可拖动图标。\n3. 在菜单中清除”编辑模式“选框或单击主按钮(<)以退出编辑模式。\n";
25 |
26 |
--------------------------------------------------------------------------------
/HiddenBar/zh-Hans.lproj/Main.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Settings"; ObjectID = "1Is-Ut-a9h"; */
2 | "1Is-Ut-a9h.title" = "设置";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Invisible"; ObjectID = "1jU-1x-cFf"; */
5 | "1jU-1x-cFf.title" = "不可见";
6 |
7 | /* Class = "NSMenuItem"; title = "Hidden Bar"; ObjectID = "1Xt-HY-uBw"; */
8 | "1Xt-HY-uBw.title" = "Hidden Bar";
9 |
10 | /* Class = "NSTextFieldCell"; title = "Unoffical Maintenance Repositoy"; ObjectID = "2X9-xt-WLt"; */
11 | "2X9-xt-WLt.title" = "非官方维护库";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Hidden Bar"; ObjectID = "2xp-Ht-xa6"; */
14 | "2xp-Ht-xa6.title" = "Hidden Bar";
15 |
16 | /* Class = "NSTextFieldCell"; title = "Version"; ObjectID = "4Au-5A-dYq"; */
17 | "4Au-5A-dYq.title" = "版本";
18 |
19 | /* Class = "NSMenuItem"; title = "Quit Hidden Bar"; ObjectID = "4sb-4s-VLi"; */
20 | "4sb-4s-VLi.title" = "退出Hidden Bar";
21 |
22 | /* Class = "NSMenuItem"; title = "About Hidden Bar"; ObjectID = "5kV-Vb-QxS"; */
23 | "5kV-Vb-QxS.title" = "关于Hidden Bar";
24 |
25 | /* Class = "NSButtonCell"; title = "Use the full MenuBar on expanding"; ObjectID = "8z8-6N-wnc"; */
26 | "8z8-6N-wnc.title" = "展开隐藏区域时使用完整的菜单栏";
27 |
28 | /* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
29 | "AYu-sK-qS6.title" = "主菜单";
30 |
31 | /* Class = "NSTextFieldCell"; title = "MIT © Dwarves Foundation"; ObjectID = "b1t-QR-iSj"; */
32 | "b1t-QR-iSj.title" = "MIT © Dwarves Foundation";
33 |
34 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[0] = "General"; ObjectID = "B2x-1Q-Aei"; */
35 | "B2x-1Q-Aei.ibShadowedLabels[0]" = "通用";
36 |
37 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[1] = "About"; ObjectID = "B2x-1Q-Aei"; */
38 | "B2x-1Q-Aei.ibShadowedLabels[1]" = "关于我们";
39 |
40 | /* Class = "NSBox"; title = "Box"; ObjectID = "bFi-aV-ejJ"; */
41 | "bFi-aV-ejJ.title" = "方框";
42 |
43 | /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */
44 | "BOF-NM-1cW.title" = "偏好设置…";
45 |
46 | /* Class = "NSMenuItem"; title = "5 seconds"; ObjectID = "bzS-lm-JvT"; */
47 | "bzS-lm-JvT.title" = "5秒";
48 |
49 | /* Class = "NSMenuItem"; title = "30 seconds"; ObjectID = "Ch6-Z2-LyX"; */
50 | "Ch6-Z2-LyX.title" = "30秒";
51 |
52 | /* Class = "NSTextFieldCell"; title = "Folded"; ObjectID = "cXt-8R-PHo"; */
53 | "cXt-8R-PHo.title" = "折叠";
54 |
55 | /* Class = "NSTextFieldCell"; title = " "; ObjectID = "ERh-JM-snt"; */
56 | "ERh-JM-snt.title" = " 后自动隐藏图标";
57 |
58 | /* Class = "NSButtonCell"; title = "Set Shortcut"; ObjectID = "fc2-jD-QNf"; */
59 | "fc2-jD-QNf.title" = "设置快捷键";
60 |
61 | /* Class = "NSTextFieldCell"; title = "This app is fully open source"; ObjectID = "fqc-io-QOP"; */
62 | "fqc-io-QOP.title" = "此应用完全开源";
63 |
64 | /* Class = "NSMenuItem"; title = "Settings..."; ObjectID = "HF7-4D-F9m"; */
65 | "HF7-4D-F9m.title" = "设置...";
66 |
67 | /* Class = "NSTextFieldCell"; title = "Global Shortcut"; ObjectID = "HJP-Lf-rxm"; */
68 | "HJP-Lf-rxm.title" = "全局快捷键";
69 |
70 | /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */
71 | "hz9-B4-Xy5.title" = "服务";
72 |
73 | /* Class = "NSButtonCell"; title = "⌫"; ObjectID = "IId-1b-leb"; */
74 | "IId-1b-leb.title" = "⌫";
75 |
76 | /* Class = "NSTextFieldCell"; title = "Shown"; ObjectID = "iyS-g5-5mk"; */
77 | "iyS-g5-5mk.title" = "显示";
78 |
79 | /* Class = "NSMenu"; title = "Context Menu"; ObjectID = "jbH-8J-uq2"; */
80 | "jbH-8J-uq2.title" = "右键菜单";
81 |
82 | /* Class = "NSBox"; title = "Box"; ObjectID = "Jjd-1G-63n"; */
83 | "Jjd-1G-63n.title" = "方框";
84 |
85 | /* Class = "NSTextFieldCell"; title = "In your Mac's menu bar, hold ⌘ and drag icons\nbetween sections to configure Hidden Bar."; ObjectID = "k7C-e5-6a0"; */
86 | "k7C-e5-6a0.title" = "在 Mac 的菜单栏中,按住Command键(⌘)并拖动图标\n以自定义菜单栏";
87 |
88 | /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */
89 | "Kd2-mp-pUS.title" = "显示全部";
90 |
91 | /* Class = "NSButtonCell"; title = "Automatically hide icon after: "; ObjectID = "kg8-rW-srh"; */
92 | "kg8-rW-srh.title" = "等待";
93 |
94 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "ML6-W4-U8X"; */
95 | "ML6-W4-U8X.label" = "Custom View";
96 |
97 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "ML6-W4-U8X"; */
98 | "ML6-W4-U8X.paletteLabel" = "Custom View";
99 |
100 | /* Class = "NSBox"; title = "Box"; ObjectID = "mtL-vU-2iq"; */
101 | "mtL-vU-2iq.title" = "Box";
102 |
103 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "NIO-JJ-pjq"; */
104 | "NIO-JJ-pjq.label" = "Custom View";
105 |
106 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "NIO-JJ-pjq"; */
107 | "NIO-JJ-pjq.paletteLabel" = "Custom View";
108 |
109 | /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */
110 | "NMo-om-nkz.title" = "服务";
111 |
112 | /* Class = "NSTextFieldCell"; title = "This repository is an unofficial"; ObjectID = "O79-Ae-pp2"; */
113 | "O79-Ae-pp2.title" = "本仓库为非官方";
114 |
115 | /* Class = "NSMenuItem"; title = "Hide Hidden Bar"; ObjectID = "Olw-nP-bQN"; */
116 | "Olw-nP-bQN.title" = "隐藏Hidden Bar";
117 |
118 | /* Class = "NSMenuItem"; title = "Edit Mode"; ObjectID = "OmW-Mp-hRp"; */
119 | "OmW-Mp-hRp.title" = "编辑模式";
120 |
121 | /* Class = "NSMenuItem"; title = "15 seconds"; ObjectID = "rdn-Xm-fZD"; */
122 | "rdn-Xm-fZD.title" = "15秒";
123 |
124 | /* Class = "NSTextFieldCell"; title = "Email us"; ObjectID = "sRr-sO-uV0"; */
125 | "sRr-sO-uV0.title" = "通过电子邮件联系我们";
126 |
127 | /* Class = "NSTextFieldCell"; title = "Follow us on Twitter"; ObjectID = "Tba-C7-Zr8"; */
128 | "Tba-C7-Zr8.title" = "在推特上关注我们";
129 |
130 | /* Class = "NSMenu"; title = "Hidden Bar"; ObjectID = "uQy-DD-JDr"; */
131 | "uQy-DD-JDr.title" = "Hidden Bar";
132 |
133 | /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */
134 | "Vdr-fp-XzO.title" = "隐藏其他";
135 |
136 | /* Class = "NSButtonCell"; title = "Start Hidden Bar when I log in"; ObjectID = "W1G-55-zGo"; */
137 | "W1G-55-zGo.title" = "在登录时启动 Hidden Bar";
138 |
139 | /* Class = "NSTextFieldCell"; title = "Menu bar cleaner"; ObjectID = "X4W-sr-Z32"; */
140 | "X4W-sr-Z32.title" = "菜单栏管理器";
141 |
142 | /* Class = "NSTextFieldCell"; title = "Know more about us"; ObjectID = "Xb1-xM-sYy"; */
143 | "Xb1-xM-sYy.title" = "了解更多";
144 |
145 | /* Class = "NSTextFieldCell"; title = "branch of Hidden Bar development."; ObjectID = "YDg-Sa-u5Z"; */
146 | "YDg-Sa-u5Z.title" = "Hidden Bar开发分支。";
147 |
148 | /* Class = "NSMenuItem"; title = "10 seconds"; ObjectID = "z2X-nw-vxX"; */
149 | "z2X-nw-vxX.title" = "10秒";
150 |
151 | /* Class = "NSTextFieldCell"; title = "General"; ObjectID = "zAf-vj-OOZ"; */
152 | "zAf-vj-OOZ.title" = "通用";
153 |
154 | /* Class = "NSTextFieldCell"; title = "Monday 08 Mar 9:00AM"; ObjectID = "zAH-cs-dar"; */
155 | "zAH-cs-dar.title" = "5月8日 星期一 上午9:00";
156 |
157 | /* Class = "NSMenuItem"; title = "Quit"; ObjectID = "zjl-Sb-hT6"; */
158 | "zjl-Sb-hT6.title" = "退出";
159 |
160 | /* Class = "NSMenuItem"; title = "1 minute"; ObjectID = "Zkr-Xd-Ffh"; */
161 | "Zkr-Xd-Ffh.title" = "1分钟";
162 |
163 |
--------------------------------------------------------------------------------
/HiddenBar/zh-Hant.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* Copyright (human-readable) */
2 | "NSHumanReadableCopyright" = "著作權所有 © 2023 UeharaYou. 保留一切權益。";
3 |
4 |
--------------------------------------------------------------------------------
/HiddenBar/zh-Hant.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | /* (No Comment) */
2 | "Edit" = "編輯";
3 |
4 | /* (No Comment) */
5 | "Edit Mode" = "編輯模式";
6 |
7 | /* (No Comment) */
8 | "Invalid" = "無效配置";
9 |
10 | /* Localizable.strings
11 | Hidden Bar
12 |
13 | Created by Licardo on 2020/3/9.
14 | Copyright © 2020 Dwarves Foundation. All rights reserved. */
15 | "Preferences..." = "偏好設定⋯";
16 |
17 | /* (No Comment) */
18 | "Quit" = "結束";
19 |
20 | /* (No Comment) */
21 | "Set Shortcut" = "設定快速鍵";
22 |
23 | /* Step by step tutorial */
24 | "Tutorial text" = "\n使用方法:\n1. 按下主開關(<)來展開或收合狀態列。\n2. 按住Option鍵(⌥)同時按下主開關(<)來展開或收合「持續隱藏」區塊中的圖示。\n3. 對主開關(<)按下右鍵(Control-輕按)調出下拉式清單。\n\n編輯模式:\n1. 在下拉式清單中選中「編輯模式」以進入編輯模式。\n2. 在編輯模式中會顯示各分區之間的分割線。\n 按照自己的需要將各圖示拖動到對應分區內,按住Command鍵(⌘)可拖動圖示。\n3. 在下拉式清單中清除「編輯模式」選框或按下主按鈕(<)以退出編輯模式。\n";
25 |
26 |
--------------------------------------------------------------------------------
/HiddenBar/zh-Hant.lproj/Main.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Settings"; ObjectID = "1Is-Ut-a9h"; */
2 | "1Is-Ut-a9h.title" = "設定";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Invisible"; ObjectID = "1jU-1x-cFf"; */
5 | "1jU-1x-cFf.title" = "隱藏";
6 |
7 | /* Class = "NSMenuItem"; title = "Hidden Bar"; ObjectID = "1Xt-HY-uBw"; */
8 | "1Xt-HY-uBw.title" = "Hidden Bar";
9 |
10 | /* Class = "NSTextFieldCell"; title = "Unoffical Maintenance Repositoy"; ObjectID = "2X9-xt-WLt"; */
11 | "2X9-xt-WLt.title" = "非官方維護儲存庫";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Hidden Bar"; ObjectID = "2xp-Ht-xa6"; */
14 | "2xp-Ht-xa6.title" = "Hidden Bar";
15 |
16 | /* Class = "NSTextFieldCell"; title = "Version"; ObjectID = "4Au-5A-dYq"; */
17 | "4Au-5A-dYq.title" = "版本";
18 |
19 | /* Class = "NSMenuItem"; title = "Quit Hidden Bar"; ObjectID = "4sb-4s-VLi"; */
20 | "4sb-4s-VLi.title" = "結束Hidden Bar";
21 |
22 | /* Class = "NSMenuItem"; title = "About Hidden Bar"; ObjectID = "5kV-Vb-QxS"; */
23 | "5kV-Vb-QxS.title" = "關於Hidden Bar";
24 |
25 | /* Class = "NSButtonCell"; title = "Use the full MenuBar on expanding"; ObjectID = "8z8-6N-wnc"; */
26 | "8z8-6N-wnc.title" = "展開隱藏區時淨空選單列";
27 |
28 | /* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
29 | "AYu-sK-qS6.title" = "主選單";
30 |
31 | /* Class = "NSTextFieldCell"; title = "MIT © Dwarves Foundation"; ObjectID = "b1t-QR-iSj"; */
32 | "b1t-QR-iSj.title" = "MIT © Dwarves Foundation";
33 |
34 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[0] = "General"; ObjectID = "B2x-1Q-Aei"; */
35 | "B2x-1Q-Aei.ibShadowedLabels[0]" = "一般";
36 |
37 | /* Class = "NSSegmentedCell"; B2x-1Q-Aei.ibShadowedLabels[1] = "About"; ObjectID = "B2x-1Q-Aei"; */
38 | "B2x-1Q-Aei.ibShadowedLabels[1]" = "關於";
39 |
40 | /* Class = "NSBox"; title = "Box"; ObjectID = "bFi-aV-ejJ"; */
41 | "bFi-aV-ejJ.title" = "方框";
42 |
43 | /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */
44 | "BOF-NM-1cW.title" = "偏好設定⋯";
45 |
46 | /* Class = "NSMenuItem"; title = "5 seconds"; ObjectID = "bzS-lm-JvT"; */
47 | "bzS-lm-JvT.title" = "5秒";
48 |
49 | /* Class = "NSMenuItem"; title = "30 seconds"; ObjectID = "Ch6-Z2-LyX"; */
50 | "Ch6-Z2-LyX.title" = "30秒";
51 |
52 | /* Class = "NSTextFieldCell"; title = "Folded"; ObjectID = "cXt-8R-PHo"; */
53 | "cXt-8R-PHo.title" = "折疊";
54 |
55 | /* Class = "NSButtonCell"; title = "Set Shortcut"; ObjectID = "fc2-jD-QNf"; */
56 | "fc2-jD-QNf.title" = "設定快速鍵";
57 |
58 | /* Class = "NSTextFieldCell"; title = "This app is fully open source"; ObjectID = "fqc-io-QOP"; */
59 | "fqc-io-QOP.title" = "這個App完全開源";
60 |
61 | /* Class = "NSMenuItem"; title = "Settings..."; ObjectID = "HF7-4D-F9m"; */
62 | "HF7-4D-F9m.title" = "設定⋯";
63 |
64 | /* Class = "NSTextFieldCell"; title = "Global Shortcut"; ObjectID = "HJP-Lf-rxm"; */
65 | "HJP-Lf-rxm.title" = "全域快捷鍵";
66 |
67 | /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */
68 | "hz9-B4-Xy5.title" = "服務";
69 |
70 | /* Class = "NSButtonCell"; title = "⌫"; ObjectID = "IId-1b-leb"; */
71 | "IId-1b-leb.title" = "⌫";
72 |
73 | /* Class = "NSTextFieldCell"; title = "Shown"; ObjectID = "iyS-g5-5mk"; */
74 | "iyS-g5-5mk.title" = "顯示區";
75 |
76 | /* Class = "NSMenu"; title = "Context Menu"; ObjectID = "jbH-8J-uq2"; */
77 | "jbH-8J-uq2.title" = "特色選單";
78 |
79 | /* Class = "NSBox"; title = "Box"; ObjectID = "Jjd-1G-63n"; */
80 | "Jjd-1G-63n.title" = "方框";
81 |
82 | /* Class = "NSTextFieldCell"; title = "In your Mac's menu bar, hold ⌘ and drag icons\nbetween sections to configure Hidden Bar."; ObjectID = "k7C-e5-6a0"; */
83 | "k7C-e5-6a0.title" = "按住Command鍵(⌘)並在區段間拖曳Mac選單列的圖示,即可設定Hidden Bar。";
84 |
85 | /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */
86 | "Kd2-mp-pUS.title" = "顯示全部";
87 |
88 | /* Class = "NSButtonCell"; title = "Automatically hide icon after: "; ObjectID = "kg8-rW-srh"; */
89 | "kg8-rW-srh.title" = "自動隱藏圖示的時間間隔:";
90 |
91 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "ML6-W4-U8X"; */
92 | "ML6-W4-U8X.label" = "自訂顯示方式";
93 |
94 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "ML6-W4-U8X"; */
95 | "ML6-W4-U8X.paletteLabel" = "自訂顯示方式";
96 |
97 | /* Class = "NSBox"; title = "Box"; ObjectID = "mtL-vU-2iq"; */
98 | "mtL-vU-2iq.title" = "方框";
99 |
100 | /* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "NIO-JJ-pjq"; */
101 | "NIO-JJ-pjq.label" = "自訂顯示方式";
102 |
103 | /* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "NIO-JJ-pjq"; */
104 | "NIO-JJ-pjq.paletteLabel" = "自訂顯示方式";
105 |
106 | /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */
107 | "NMo-om-nkz.title" = "服務";
108 |
109 | /* Class = "NSTextFieldCell"; title = "This repository is an unofficial"; ObjectID = "O79-Ae-pp2"; */
110 | "O79-Ae-pp2.title" = "這個儲存庫是非官方的";
111 |
112 | /* Class = "NSMenuItem"; title = "Hide Hidden Bar"; ObjectID = "Olw-nP-bQN"; */
113 | "Olw-nP-bQN.title" = "隱藏Hidden Bar";
114 |
115 | /* Class = "NSMenuItem"; title = "Edit Mode"; ObjectID = "OmW-Mp-hRp"; */
116 | "OmW-Mp-hRp.title" = "編輯模式";
117 |
118 | /* Class = "NSMenuItem"; title = "15 seconds"; ObjectID = "rdn-Xm-fZD"; */
119 | "rdn-Xm-fZD.title" = "15秒";
120 |
121 | /* Class = "NSTextFieldCell"; title = "Email us"; ObjectID = "sRr-sO-uV0"; */
122 | "sRr-sO-uV0.title" = "用電子郵件聯絡我們";
123 |
124 | /* Class = "NSTextFieldCell"; title = "Follow us on Twitter"; ObjectID = "Tba-C7-Zr8"; */
125 | "Tba-C7-Zr8.title" = "在Twitter追蹤我們";
126 |
127 | /* Class = "NSMenu"; title = "Hidden Bar"; ObjectID = "uQy-DD-JDr"; */
128 | "uQy-DD-JDr.title" = "Hidden Bar";
129 |
130 | /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */
131 | "Vdr-fp-XzO.title" = "隱藏其他";
132 |
133 | /* Class = "NSButtonCell"; title = "Start Hidden Bar when I log in"; ObjectID = "W1G-55-zGo"; */
134 | "W1G-55-zGo.title" = "登入時啟動Hidden Bar";
135 |
136 | /* Class = "NSTextFieldCell"; title = "Menu bar cleaner"; ObjectID = "X4W-sr-Z32"; */
137 | "X4W-sr-Z32.title" = "選單列清道夫";
138 |
139 | /* Class = "NSTextFieldCell"; title = "Know more about us"; ObjectID = "Xb1-xM-sYy"; */
140 | "Xb1-xM-sYy.title" = "深入了解我們";
141 |
142 | /* Class = "NSTextFieldCell"; title = "branch of Hidden Bar development."; ObjectID = "YDg-Sa-u5Z"; */
143 | "YDg-Sa-u5Z.title" = "Hidden Bar開發分支。";
144 |
145 | /* Class = "NSMenuItem"; title = "10 seconds"; ObjectID = "z2X-nw-vxX"; */
146 | "z2X-nw-vxX.title" = "10秒";
147 |
148 | /* Class = "NSTextFieldCell"; title = "General"; ObjectID = "zAf-vj-OOZ"; */
149 | "zAf-vj-OOZ.title" = "一般";
150 |
151 | /* Class = "NSTextFieldCell"; title = "Monday 08 Mar 9:00AM"; ObjectID = "zAH-cs-dar"; */
152 | "zAH-cs-dar.title" = "5月8日 星期一 上午9:00";
153 |
154 | /* Class = "NSMenuItem"; title = "Quit"; ObjectID = "zjl-Sb-hT6"; */
155 | "zjl-Sb-hT6.title" = "結束";
156 |
157 | /* Class = "NSMenuItem"; title = "1 minute"; ObjectID = "Zkr-Xd-Ffh"; */
158 | "Zkr-Xd-Ffh.title" = "1分鐘";
159 |
160 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | === Hidden Bar v2.0 License ===
2 | MIT License
3 |
4 | Copyright (c) 2023 UeharaYou
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining a copy
7 | of this software and associated documentation files (the "Software"), to deal
8 | in the Software without restriction, including without limitation the rights
9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the Software is
11 | furnished to do so, subject to the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be included in all
14 | copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | SOFTWARE.
23 |
24 | === Original License ===
25 |
26 | MIT License
27 |
28 | Copyright (c) 2019 Dwarves Foundation
29 |
30 | Permission is hereby granted, free of charge, to any person obtaining a copy
31 | of this software and associated documentation files (the "Software"), to deal
32 | in the Software without restriction, including without limitation the rights
33 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
34 | copies of the Software, and to permit persons to whom the Software is
35 | furnished to do so, subject to the following conditions:
36 |
37 | The above copyright notice and this permission notice shall be included in all
38 | copies or substantial portions of the Software.
39 |
40 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
41 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
42 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
43 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
44 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
45 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
46 | SOFTWARE.
47 |
--------------------------------------------------------------------------------
/PRIVACY_POLICY.md:
--------------------------------------------------------------------------------
1 | ## Privacy Policy
2 |
3 | The Unofficial Maintenance version of Hidden Bar is built by UeharaYou, inheriting the original privacy policy of the original Hidden Bar.
4 |
5 | ### Privacy Policy for original Hidden Bar
6 |
7 | Dwarves Foundation built the Hidden Bar app as an Open Source app. This app is provided by Dwarves Foundation at no cost and is intended for use as is.
8 |
9 | **Information Collection and Use**
10 |
11 | The app does NOT use any third party services that may collect information used to identify you.
12 |
13 | **Contact Us**
14 |
15 | If you have any questions or suggestions about our Privacy Policy, do not hesitate to contact us at macos@d.foundation.
16 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | ## Hidden Bar (Unofficial Maintenance)
14 | Hidden Bar (Unofficial Maintenance) lets you hide menu bar items to give your Mac a cleaner look.
15 | This is an unofficial maintenance for the discontinued original [Hidden Bar](https://github.com/dwarvesf/hidden).
16 |
17 |
18 |
19 |
20 |
21 |
22 | ## 🚀 Install
23 |
24 | ### App Store
25 |
26 | This verison of Hidden Bar is not available on the App Store.
27 |
28 | Original Version (v1.8): [](https://itunes.apple.com/app/hidden-bar/id1452453066)
29 |
30 | ### Pre-built Packages
31 |
32 | Pre-built packages of Hidden Bar can be found [here](https://github.com/UeharaYou/HiddenBar/releases).
33 |
34 | Notice: This version of Hidden Bar is NOT notarized. The GateKeeper will flag any non-notarized App as Untrusted and therefore prevent it from opening. Although you can override GateKeeper's decision, it is considered a bad habit while using your computer. Besides notarizing an app requires enrollments of Apple Developer Program, which currently is not the case for me.
35 |
36 | For security reasons, it is STRONGLY RECOMMENDED to build your own copies from source, which means you might also inspect the code yourself.
37 |
38 | For packages of the original Hidden Bar (up to v1.9), check out the original repo [here](https://github.com/dwarvesf/hidden).
39 |
40 | #### Build from Source
41 |
42 | To build this version of Hidden Bar, you have to have Xcode installed.
43 |
44 | 1. Import the project into Xcode.
45 | 2. Reslove the team certificate error. You have to sign your own copies yourself with your own cert. It is not necessary to be a member of Apple Developer Program to build this project.
46 | 3. Build the project in Xcode.
47 |
48 | ## 🕹 Usage
49 |
50 | The usage of version of Hidden Bar is slightly different from the original one.
51 |
52 | * `⌘` + drag to move the Hidden icons around in the menu bar.
53 | * Click the Arrow icon to hide menu bar items.
54 |
55 | For more usage info, click the Help button in the Settings interfaces.
56 |
57 |
58 |
59 |
60 |
61 | ## ✨Contributions
62 |
63 | Please read [this](CONTRIBUTING.md) before you make a contribution.
64 |
65 | ### Unofficial Maintenance Acknowledgements
66 |
67 | Sincere gratitudes towards all contributors of the original Hidden Bar for your previous works.
68 |
69 | ### Original Acknowledgements
70 |
71 | This project exists thanks to all the people who contribute. Thank you guys so much 👏
72 |
73 | [](https://sourcerer.io/fame/phucledien/dwarvesf/hidden/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)
74 |
75 | ## Requirements
76 | macOS version >= 10.13
77 |
78 | ## License
79 |
80 | MIT © [UeharaYou](https://github.com/UeharaYou); original: [Dwarves Foundation](https://github.com/dwarvesf)
81 |
--------------------------------------------------------------------------------
/img/icon_512@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/img/icon_512@2x.png
--------------------------------------------------------------------------------
/img/screen1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/img/screen1.png
--------------------------------------------------------------------------------
/img/screen2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/img/screen2.png
--------------------------------------------------------------------------------
/img/tutorial.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UeharaYou/HiddenBar/7bc8b845e7fe5d7717d753e721c35c3aef28a4b0/img/tutorial.gif
--------------------------------------------------------------------------------