diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ce6ddde6..c527be38 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,11 +4,15 @@ Look who wants to contribute! Nice to see you here, let me show you what you can ## Report Issues -* It's ok to use issues to ask questions. But please make sure to read: - * The guide https://nikitabobko.github.io/AeroSpace/guide - * Commands reference https://nikitabobko.github.io/AeroSpace/commands +There are only two types of issues: +* Feature proposal +* Bug report + +Feature proposal is not a feature request/idea but a well-defined and complete proposal of feature which is clear how to implement. +If you're unsure you can brainstorm your ideas in [#feature-ideas](https://github.com/nikitabobko/AeroSpace/discussions/categories/feature-ideas) in GitHub Discusssions. + +Rules: * Search for duplicates before reporting new issues - * Vote for duplicates with 👍 reaction * Vote for issues that you find useful with 👍 reaction **Consider including in bug reports** diff --git a/Package.swift b/Package.swift index f2a6e428..2a34f58e 100644 --- a/Package.swift +++ b/Package.swift @@ -17,7 +17,7 @@ let package = Package( .library(name: "AppBundle", targets: ["AppBundle"]), ], dependencies: [ - .package(url: "https://github.com/InerziaSoft/ISSoundAdditions", from: "2.0.1"), + .package(url: "https://github.com/InerziaSoft/ISSoundAdditions", exact: "2.0.1"), .package(url: "https://github.com/Kitura/BlueSocket", exact: "2.0.4"), .package(url: "https://github.com/soffes/HotKey", exact: "0.1.3"), .package(url: "https://github.com/LebJe/TOMLKit", exact: "0.5.5"), diff --git a/README.md b/README.md index a8da6706..ca62d972 100644 --- a/README.md +++ b/README.md @@ -55,10 +55,35 @@ Other installation options: https://nikitabobko.github.io/AeroSpace/guide#instal > automatically delete `com.apple.quarantine` attribute, that's why the app should work out of the box, without any warnings that > "Apple cannot check AeroSpace for malicious software" -## Contributing, creating issues, submitting pull requests - +## Community, discussions, issues, pull requests + +Informal community discussions happen at [GitHub Discussions](https://github.com/nikitabobko/AeroSpace/discussions). +There you can ask your questions, show off your setup, bring other topic, or just chat. + +There are 5 channels: +- [#announcements](https://github.com/nikitabobko/AeroSpace/discussions/categories/announcements). + [RSS](https://github.com/nikitabobko/AeroSpace/discussions/categories/announcements.atom). + Only maintainers can post here. + Highly moderated traffic. +- [#announcements-releases](https://github.com/nikitabobko/AeroSpace/discussions/categories/announcements-releases). + [RSS](https://github.com/nikitabobko/AeroSpace/discussions/categories/announcements-releases.atom). + Announcements about non-patch releases. + Only maintainers can post here. +- [#feature-ideas](https://github.com/nikitabobko/AeroSpace/discussions/categories/feature-ideas). + [RSS](https://github.com/nikitabobko/AeroSpace/discussions/categories/feature-ideas.atom). +- [#general](https://github.com/nikitabobko/AeroSpace/discussions/categories/general). + [RSS](https://github.com/nikitabobko/AeroSpace/discussions/categories/general.atom). +- [#questions-and-answers](https://github.com/nikitabobko/AeroSpace/discussions/categories/questions-and-answers). + [RSS](https://github.com/nikitabobko/AeroSpace/discussions/categories/questions-and-answers.atom). + Everyone is welcome to ask questions. + Everyone is encouraged to answer other people's questions. + +You're welcome to submit bug reports and well-defined feature proposals in GitHub issues. +You're welcome to submit pull requests as well. See: [CONTRIBUTING.md](./CONTRIBUTING.md) +**Issues vs Discussions:** Issues are more formal and well-defined requests. Discussions are informal and casual. + ## Development A notes on how to setup the project, build it, how to run the tests, etc. can be found here: [dev-docs/development.md](./dev-docs/development.md) @@ -76,10 +101,11 @@ A notes on how to setup the project, build it, how to run the tests, etc. can be For advanced users, it's easier to edit a configuration file in text editor rather than navigating through checkboxes in GUI. - Status menu icon is ok, because visual feedback is needed - Provide _practical_ features. Fancy appearance features are not _practical_ (e.g. window borders, transparency, animations, etc.) -- If "dark magic" (aka "private APIs", "code injections", etc) can be avoided, it must be avoided +- "dark magic" (aka "private APIs", "code injections", etc.) must be avoided as much as possible - Right now, AeroSpace uses only a single private API to get window ID of accessibility object `_AXUIElementGetWindow`. Everything else is [macOS public accessibility API](https://developer.apple.com/documentation/applicationservices/axuielement_h). - AeroSpace will never require you to disable SIP (System Integrity Protection). + - The goal is to make AeroSpace easily maintainable, and resistant to macOS updates. **Non Values** - Play nicely with existing macOS features. diff --git a/Sources/Common/cmdArgs/impl/ListAppsCmdArgs.swift b/Sources/Common/cmdArgs/impl/ListAppsCmdArgs.swift index 0b239485..2cb0dc69 100644 --- a/Sources/Common/cmdArgs/impl/ListAppsCmdArgs.swift +++ b/Sources/Common/cmdArgs/impl/ListAppsCmdArgs.swift @@ -15,8 +15,8 @@ public struct ListAppsCmdArgs: CmdArgs { ], arguments: [], conflictingOptions: [ - ["--format", "--count"], - ["--json", "--count"], + ["--count", "--format"], + ["--count", "--json"], ] ) diff --git a/Sources/Common/cmdArgs/impl/ListMonitorsCmdArgs.swift b/Sources/Common/cmdArgs/impl/ListMonitorsCmdArgs.swift index e4dde29b..a1d85f6c 100644 --- a/Sources/Common/cmdArgs/impl/ListMonitorsCmdArgs.swift +++ b/Sources/Common/cmdArgs/impl/ListMonitorsCmdArgs.swift @@ -16,8 +16,8 @@ public struct ListMonitorsCmdArgs: CmdArgs { ], arguments: [], conflictingOptions: [ - ["--format", "--count"], - ["--json", "--count"], + ["--count", "--format"], + ["--count", "--json"], ] ) diff --git a/Sources/Common/cmdArgs/impl/ListWindowsCmdArgs.swift b/Sources/Common/cmdArgs/impl/ListWindowsCmdArgs.swift index ae6cb7f0..d4cea430 100644 --- a/Sources/Common/cmdArgs/impl/ListWindowsCmdArgs.swift +++ b/Sources/Common/cmdArgs/impl/ListWindowsCmdArgs.swift @@ -28,8 +28,8 @@ public struct ListWindowsCmdArgs: CmdArgs { conflictingOptions: [ ["--all", "--focused", "--workspace"], ["--all", "--focused", "--monitor"], - ["--format", "--count"], - ["--json", "--count"], + ["--count", "--format"], + ["--count", "--json"], ] ) diff --git a/Sources/Common/cmdArgs/impl/ListWorkspacesCmdArgs.swift b/Sources/Common/cmdArgs/impl/ListWorkspacesCmdArgs.swift index 59b3f2d8..2a799e79 100644 --- a/Sources/Common/cmdArgs/impl/ListWorkspacesCmdArgs.swift +++ b/Sources/Common/cmdArgs/impl/ListWorkspacesCmdArgs.swift @@ -27,8 +27,8 @@ public struct ListWorkspacesCmdArgs: CmdArgs { arguments: [], conflictingOptions: [ ["--all", "--focused", "--monitor"], - ["--format", "--count"], - ["--json", "--count"], + ["--count", "--format"], + ["--count", "--json"], ] ) diff --git a/dev-docs/development.md b/dev-docs/development.md index 2ad594eb..92beadb2 100644 --- a/dev-docs/development.md +++ b/dev-docs/development.md @@ -84,5 +84,5 @@ Even if you use LSP and another text editor, Xcode is still useful to attach deb ## Tips - Use built-in "Accessibility Inspector.app" to inspect accessibility properties of windows -- Use [BetterDisplay 2](https://github.com/waydabber/BetterDisplay) to emulate several monitors +- Use [DeskPad](https://github.com/Stengo/DeskPad) or [BetterDisplay 2](https://github.com/waydabber/BetterDisplay) to emulate several monitors - You can use `script/clean-project.sh` to clean the project when something goes wrong.