Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support a fifth screen #1627

Merged
merged 2 commits into from
Apr 28, 2024
Merged

Conversation

x-ji
Copy link
Contributor

@x-ji x-ji commented Apr 11, 2024

As mentioned in #1584, MacOS now supports up to 5 displays. This PR adds support for interacting with a fifth screen.

@x-ji
Copy link
Contributor Author

x-ji commented Apr 11, 2024

I'm not sure if I covered all the ground. I tried to test build it locally, but I got an error Command PhaseScriptExecution failed with a nonzero exit code and haven't been able to figure out why yet. (I don't think there's anything extra such as cocoapods in this project now, but I couldn't find instructions for building this project in the repo.)

@@ -62,6 +62,10 @@
"mod": "mod1",
"key": "q"
},
"focus-screen-5": {
"mod": "mod1",
"key": "g"
Copy link
Contributor Author

@x-ji x-ji Apr 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just assigned a random new key that I see has not been assigned to any other action yet.

@@ -17,7 +17,7 @@ class HotKeyManagerTests: QuickSpec {
it("has the right number of screens") {
let keyMapping = HotKeyManager<SIApplication>.hotKeyNameToDefaultsKey()
let screenCommands = keyMapping.filter { $0[1].hasPrefix(CommandKey.focusScreenPrefix.rawValue) }
expect(screenCommands.count).to(equal(6))
expect(screenCommands.count).to(equal(7))
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if this is the right change (can't run tests locally due to build failure) though it seemed relevant.

@x-ji
Copy link
Contributor Author

x-ji commented Apr 12, 2024

OK, I figured out that the build was failing because it was trying to invoke swiftlint, which I didn't have installed locally. However, now the build fails due to the error "Value of type 'SIWindow' has no member 'raise'" in Amethyst/Model/Window.swift:325.

I wonder if the version of the SDK used to build the app is too new or something.

@x-ji
Copy link
Contributor Author

x-ji commented Apr 27, 2024

Thanks! It seems that the test pipeline cannot be run at the moment. Maybe it's the case for all PRs?

Run brew bundle
  brew bundle
  shell: /bin/bash -e {0}
Installing fastlane
Upgrading xcbeautify
==> Upgrading 1 outdated package:
xcbeautify 1.6.0 -> 2.1.0
xcbeautify: A full installation of Xcode.app 15.0 is required to compile
this software. Installing just the Command Line Tools is not sufficient.

Xcode 15.0 cannot be installed on macOS 12.
You must upgrade your version of macOS.
Error: xcbeautify: An unsatisfied requirement failed this build.
Upgrading xcbeautify has failed!
Homebrew Bundle failed! 1 Brewfile dependency failed to install.
Error: Process completed with exit code 1.

@ianyh
Copy link
Owner

ianyh commented Apr 28, 2024

I think that problem is unrelated, so I'll merge and deal with the build later.

@ianyh ianyh merged commit d465051 into ianyh:development Apr 28, 2024
1 check failed
@ianyh ianyh added this to the 0.22.0 milestone Apr 28, 2024
@x-ji
Copy link
Contributor Author

x-ji commented Jun 19, 2024

Thanks @ianyh ! I see this is scheduled for the 0.22 release. I was able to build the app locally and it works as expected. Finally able to use Amethyst with 5 screens at the same time : )

(BTW it took me a while to figure out that I'd need to run fastlane to build the app as I have no experience with MacOS app development. I opened an MR to add a README section on this #1663. Let me know if it makes sense 🙏 .)

ianyh added a commit that referenced this pull request Sep 20, 2024
* development:
  Update README.md with workspaces-auto-swoosh suggestion (#1664)
  Apply yabai's fix for moving windows between spaces in macOS 12, 13, and 15 (#1677)
  Apply yabai's fix for moving windows between spaces in macOS 14.5 (#1648)
  Add new option to sample config (#1642)
  Amethyst 0.21.0 (#1606)
  Support a fifth screen (#1627)
  Remove RubyGems (#1611)
  Replace `xcpretty` with `xcbeautify` (#1609)
  Correct typos on sample config file (#1610)
ianyh added a commit that referenced this pull request Dec 14, 2024
* development:
  Revive window grab space shifting (#1698)
  Amethyst 0.21.2 (#1652)
  Update README.md with workspaces-auto-swoosh suggestion (#1664)
  Apply yabai's fix for moving windows between spaces in macOS 12, 13, and 15 (#1677)
  Apply yabai's fix for moving windows between spaces in macOS 14.5 (#1648)
  Add new option to sample config (#1642)
  Amethyst 0.21.0 (#1606)
  Support a fifth screen (#1627)
  Remove RubyGems (#1611)
  Replace `xcpretty` with `xcbeautify` (#1609)
  Correct typos on sample config file (#1610)
  Further attempts to fix space moving focus loss (#1591)
  Remove the old icon file (#1594)
  Sort json keys for custom layout ids (#1592)
  Clarify window margin behavior (#1589)
  Update the correct name for a layout in config sample (#1587)
  Only perform raise ax action when focusing (#1586)
  Add preference to hide menu bar icon (#1583)
  Improved Clarity for Accessibility API Permission Instructions (#1575)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants