-
-
Notifications
You must be signed in to change notification settings - Fork 153
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
[draft][summon-workspace] summon workspace works on non-focused monitors #606
[draft][summon-workspace] summon workspace works on non-focused monitors #606
Conversation
It's yet unclear to me if it should be the default behavior. At least, it should be configurable to add possibility to focus the "pinned" workspace alt-1 = 'summon-workspace 1 --reveal-if-force-assigned' # just make it visible, as you suggest
alt-1 = 'summon-workspace 1 --focus-if-force-assigned' # focus it How does Xmonad behave? Does Xmonad even have a notion of force assigned workspaces? Right now, I lean towards: it should be an error by default (as it is now), and the error message should mention
Thanks for bringing this example! I didn't think about it. Alternatively, it could work this way: [U, 0*] - summon U -> [1, U*] But given: "workspaces try to swap if both of them are visible" mantra, the feature interaction of And sorry to mention it, but the quality of this PR is subpar too. I've not yet tried to understand the code you wrote, but the PRs should at least keep the CI green |
Maybe it should be a separate flag Your 3rd example got me thinking that existing |
Yes, that is what I have been thinking about and why I implemented it this way - I've never used Xmonad with pinned screens. I came up with this solution because it feels closest to how I was using Xmonad. I was trying to accomplish: "when using workspace switching, it should never move the mouse off the current monitor".
No problem - I should have marked this draft - my intent is to start a conversation + demonstrate the behavior I am using. I will push my changes to a fork in the future if I need to demonstrate any code. A hanging semicolon and some syntax ("let onMonitor = onMonitor") caused the linter to fail in CI. I ran tests locally and they pass (using |
Thanks for understanding, and sorry if I sounded too harsh. If someody wants to show a snippet, it's better to attach it as patch in the issue comment, or give a link to the commit in their fork. PRs create an impression that the person expects the commit to be merged, and I expect PRs to be polished to an acceptable degree. Red CI is a big red flag that the person didn't even run tests.
Thanks for mentioning! The failures should no longer be silent in |
Description
If the workspace has an assignedMonitor, it pulls that workspace onto its assigned monitor but the focus is retained on the current monitor. If the workspace is visible, nothing happens and focus stays on the current monitor
use case
You may keep a terminal on one monitor and want to cycle what is visible on the other monitor while staying in the terminal. This fixes the issue of rapidly cycling workspaces causing the monitor focus to shift. When wanting to focus a monitor,
focus-monitor
is used instead.Test Plan
[1,2,3] are main, [8,9,0] are secondary, [U,Z] have no assigned monitor
Notes