mirror of
https://github.com/gosticks/Popover.git
synced 2025-10-16 11:55:38 +00:00
Readme
This commit is contained in:
parent
34fb2f3444
commit
a0016a047c
70
README.md
70
README.md
@ -1,6 +1,74 @@
|
|||||||
# Popover
|
# Popover
|
||||||
|
|
||||||
Mac OS custom popover. Made with ❤️
|
Mac OS custom popover.
|
||||||

|

|
||||||
|
|
||||||
|
# Install
|
||||||
|
|
||||||
|
Since this is a Swift Package, the installation process is pretty stright forward.
|
||||||
|
|
||||||
|
### Manual way
|
||||||
|
Update your `Package.swift` dependencies:
|
||||||
|
|
||||||
|
```
|
||||||
|
dependencies: [
|
||||||
|
.package(url: "https://github.com/iSapozhnik/Popover", from: "1.0.8")
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Via Xcode:
|
||||||
|
1. Go to `File -> Swift Packages -> Add Package Dependency`.
|
||||||
|
2. Put GitHub URL `https://github.com/iSapozhnik/Popover` and click `Next`
|
||||||
|
3. Select the latest version
|
||||||
|
4. Click `Finish`
|
||||||
|
|
||||||
|
# How to use
|
||||||
|
|
||||||
|
1. In your `AppDelegate` import Popover
|
||||||
|
2. Create a view you want to put into a status bar.
|
||||||
|
3. Create a content view controller which would be embedded inside Popover
|
||||||
|
4. Optionally create menu items
|
||||||
|
5. Create a Popover instance. Here you can use either standard configuration (you don't need to pass `windowConfiguration` parameter in this case) or you can subclass `DefaultConfiguration`, override some properties and pass a new instance as a parameter. If in ste 4 you have created menu items, pass it here as well.
|
||||||
|
6. Call `prepare` to set everything up.
|
||||||
|
|
||||||
|
And here is how typical `AppDelegate` may look like:
|
||||||
|
|
||||||
|
```swift
|
||||||
|
import Cocoa
|
||||||
|
import Popover
|
||||||
|
|
||||||
|
class MyPopoverConfiguration: DefaultConfiguration {
|
||||||
|
override var backgroundColor: NSColor {
|
||||||
|
return NSColor.systemRed
|
||||||
|
}
|
||||||
|
|
||||||
|
override var borderColor: NSColor? {
|
||||||
|
return NSColor.red
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@NSApplicationMain
|
||||||
|
class AppDelegate: NSObject, NSApplicationDelegate {
|
||||||
|
var popover: Popover!
|
||||||
|
|
||||||
|
func applicationDidFinishLaunching(_ aNotification: Notification) {
|
||||||
|
let statusItemView = StatusItemView(frame: NSRect(width: 22.0, height: 20))
|
||||||
|
|
||||||
|
let viewController = MainViewController()
|
||||||
|
|
||||||
|
let menuItems: [Popover.MenuItemType] = [
|
||||||
|
.item(Popover.MenuItem(title: "Settings", action: viewController.showSettings)),
|
||||||
|
.separator,
|
||||||
|
.item(Popover.MenuItem(title: "Quit", key: "q", action: viewController.quit))
|
||||||
|
]
|
||||||
|
|
||||||
|
popover = Popover(with: MyPopoverConfiguration(), menuItems: menuItems)
|
||||||
|
popover.prepare(with: statusItemView, contentViewController: viewController)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Heavily inspired by [CCNStatusItem](https://github.com/phranck/CCNStatusItem)
|
Heavily inspired by [CCNStatusItem](https://github.com/phranck/CCNStatusItem)
|
||||||
BIN
popover.png
BIN
popover.png
Binary file not shown.
|
Before Width: | Height: | Size: 141 KiB After Width: | Height: | Size: 173 KiB |
Loading…
Reference in New Issue
Block a user