
Thanks for your response! Am 13.01.22 um 07:48 schrieb Solid:
Hi,
On Wed, Jan 12 2022 22:40, mito wrote:
I got a proper dual-head xrandr configuration with one monitor in landscape view and one in portrait view. So in xmonad I have 2x10 workspaces, which is fine. Are you using IndependentScreens or something? Well, no, though I read about it.
But I do have: import qualified Graphics.X11.Xinerama
Having more screens for multi-head setups is not the default behaviour. Yeah, I am not sure if I understand that completely; it seems to me "screen" is the xmonad term for "monitor" or 'physical display', right?
On the other hand, maybe "screen" might be the combined 'view port' of all connected displays I am currently looking at; I guess that's the xinerama thing (and why the same wallpaper is shared [and not repeated on each monitor]). – Call me a dummy, but that's still not quite clear to me though I consulted xmonad docs and configurations; hence I am asking...
But how to initially shift programs to workspaces on a specific monitor (in myManageHook)? There is screenWorkspace[1] to get the workspace of some monitor, which could then be used in a manageHook as normal
-- for monitor 1 (≡ the second one; we are 0-indexed) appName =? "my-app" --> maybe mempty doShift =<< liftX (screenWorkspace 1)
Tony
[1]: https://hackage.haskell.org/package/xmonad-0.17.0/docs/XMonad-Operations.htm...
Boy, I am way outdated~ I thought it was rather "className", and "XMonad.Operations" is part of the core module then? So one just optionally needs an additional 'liftX screenWorkspace' hook? Sounds great! And compiles well. – But yet it has no effect, whatever screenWorkspace {0,1} (or {app,class}Name) I choose: the workspace fits, but the monitor selection is ignored.