I'm trying to get the effect when opening skype/discord from tray icon moves program window to specific workspace "11:w-"
and switches current screen to this workspace as well. My problem is that I can not get types right.
myManageHook = composeAll . concat $
[ [ className =? t --> sequence [doShift "11:w-", screenWorkspace "11:w-"] | t <- rarelyUsedApps] ]
rarelyUsedApps = ["Skype", "discord"]
this code produces an error
Error detected while loading xmonad configuration file: /home/i/.xmonad/xmonad.hs
xmonad.hs:268:33:
Couldn't match type `[Data.Monoid.Endo WindowSet]'
with `Data.Monoid.Endo
(W.StackSet
WorkspaceId (Layout Window) Window ScreenId ScreenDetail)'
Expected type: Query
(Data.Monoid.Endo
(W.StackSet
WorkspaceId (Layout Window) Window ScreenId ScreenDetail))
Actual type: Query [Data.Monoid.Endo WindowSet]
In the return type of a call of `sequence'
In the second argument of `(-->)', namely
`sequence [doShift "11:w-", screenWorkspace "11:w-"]'
In the expression:
className =? t
--> sequence [doShift "11:w-", screenWorkspace "11:w-"]
xmonad.hs:268:60:
Couldn't match type `X' with `Query'
Expected type: Query (Data.Monoid.Endo WindowSet)
Actual type: X (Maybe WorkspaceId)
In the return type of a call of `screenWorkspace'
In the expression: screenWorkspace "11:w-"
In the first argument of `sequence', namely
`[doShift "11:w-", screenWorkspace "11:w-"]'
xmonad.hs:268:76:
Couldn't match expected type `ScreenId' with actual type `[Char]'
In the first argument of `screenWorkspace', namely `"11:w-"'
In the expression: screenWorkspace "11:w-"
In the first argument of `sequence', namely
`[doShift "11:w-", screenWorkspace "11:w-"]'
Please check the file for errors.
I've just realized that the first error at a code above is that I pass workspace name instead of workspace id to screenWorkspace "11:w-"
. Also,
screenWorkspace
is a completely wrong function for my goal.
Anyway, found that what I want is already covered in wiki https://wiki.haskell.org/Xmonad/General_xmonad.hs_config_tips#Shift_an_app_to_a_workspace_and_view_it