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

Feature: assign workspace to monitor #14

Closed
axelfahy opened this issue Nov 9, 2023 · 6 comments
Closed

Feature: assign workspace to monitor #14

axelfahy opened this issue Nov 9, 2023 · 6 comments

Comments

@axelfahy
Copy link

axelfahy commented Nov 9, 2023

I usually work with multiple monitors and like to know which workspace number is on which monitor. I tried moving them using [move-workspace-to-display](https://github.com/nikitabobko/AeroSpace/blob/main/docs/commands.md#move-workspace-to-display) but it's hard to end up with the correct workspace number on the wanted monitor.

For example, on i3 I would set:

# Location of workspaces 
workspace $ws1 output $monitorA
workspace $ws2 output $monitorA
workspace $ws3 output $monitorB
workspace $ws4 output $monitorB

Is it possible to assign workspaces to monitors?

@nikitabobko
Copy link
Owner

Is it possible to assign workspaces to monitors?

Not yet, but I agree that it needs to be supported

https://i3wm.org/docs/userguide.html#workspace_screen

I will eventually support it myself, but PRs are welcome. The entry points are

@nikitabobko
Copy link
Owner

nikitabobko commented Nov 10, 2023

The hardest part here is to design a syntax for the TOML config file.

Right now, I'm thinking about something like this:

[workspace-to-display-assignment]
workspace_name_1 = "ID_OF_THE_DISPLAY_1"
workspace_name_2 = "ID_OF_THE_DISPLAY_2"

But I'm not sure in what format ID_OF_THE_DISPLAY_X should be accepted. Probably all these are possible values:

  1. Display serial number
  2. Name of the display in the settings. Like "DELL U2723QE"
  3. "main" for the main display (the main display is configured in System Settings)
  4. "secondary" for the cases when users have only two displays

@mike1808
Copy link

I have an issue with having multiple monitors connected to a thunderbolt hub where one of those monitors is marked as "main". The problem is that the order of initialization of those monitors is not the same every time I plug the hub and sometimes my main gets initialized after secondary which messes up with the ordering of workspace: sometimes the workspace X appears on the monitor 1 and sometimes on the monitor 2.

Hopefully, being able to assign the workspace to a monitor will mitigate it.

@nikitabobko
Copy link
Owner

Fixed in 0.5.0-Beta

However, I have one deviation from the i3 model. workspace to monitor assignments is "forced" in AeroSpace. If you put the assignment in the config then move-workspace-to-monitor won't work for assigned workspaces

@axelfahy
Copy link
Author

Thanks a lot for this, I will try it this week!

@vitor-alves
Copy link

@nikitabobko
Thank you so much for implementing this feature.
This was the only big struggle I had.
You're doing a great job with AeroSpace!

jakenvac pushed a commit to jakenvac/AeroSpace that referenced this issue Aug 16, 2024
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

No branches or pull requests

4 participants