The current implementation of specifying the monitor in GLMakie seems to be brok…en.
This script is enough to get a stacktrace:
```julia
using GLMakie
config = Makie.CURRENT_DEFAULT_THEME[:GLMakie]
config[:monitor][] = GLMakie.GLFW.GetPrimaryMonitor()
GLMakie.activate!(; config...)
f = Figure()
```
```julia
ERROR: MethodError: no method matching SetWindowMonitor(::GLFW.Window, ::GLFW.Monitor)
Closest candidates are:
SetWindowMonitor(::Any, ::Any, ::Any, ::Any, ::Any, ::Any, ::Any) at C:\Users\storm\.julia\packages\GLFW\BWxfF\src\glfw3.jl:609
Stacktrace:
[1] apply_config!(screen::GLMakie.Screen{GLFW.Window}, config::GLMakie.ScreenConfig; visible::Bool, start_renderloop::Bool)
@ GLMakie C:\Users\storm\.julia\packages\GLMakie\6Blp9\src\screen.jl:317
[2] GLMakie.Screen(scene::Scene, config::GLMakie.ScreenConfig; visible::Bool, start_renderloop::Bool)
@ GLMakie C:\Users\storm\.julia\packages\GLMakie\6Blp9\src\screen.jl:384
[3] GLMakie.Screen(scene::Scene, config::GLMakie.ScreenConfig)
@ GLMakie C:\Users\storm\.julia\packages\GLMakie\6Blp9\src\screen.jl:382
[4] getscreen(::Module, ::Scene; screen_config::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Makie C:\Users\storm\.julia\packages\Makie\Za3LL\src\display.jl:335
[5] getscreen
@ C:\Users\storm\.julia\packages\Makie\Za3LL\src\display.jl:323 [inlined]
[6] display(figlike::Figure; backend::Module, update::Bool, screen_config::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Makie C:\Users\storm\.julia\packages\Makie\Za3LL\src\display.jl:147
[7] display(figlike::Figure)
@ Makie C:\Users\storm\.julia\packages\Makie\Za3LL\src\display.jl:132
[8] #invokelatest#2
@ .\essentials.jl:729 [inlined]
[9] invokelatest
@ .\essentials.jl:726 [inlined]
[10] (::VSCodeServer.var"#66#70"{Bool, Bool, Bool, Module, String, Int64, Int64, String, VSCodeServer.ReplRunCodeRequestParams})()
@ VSCodeServer c:\Users\storm\.vscode\extensions\julialang.language-julia-1.38.2\scripts\packages\VSCodeServer\src\eval.jl:199
[11] withpath(f::VSCodeServer.var"#66#70"{Bool, Bool, Bool, Module, String, Int64, Int64, String, VSCodeServer.ReplRunCodeRequestParams}, path::String)
@ VSCodeServer c:\Users\storm\.vscode\extensions\julialang.language-julia-1.38.2\scripts\packages\VSCodeServer\src\repl.jl:249
[12] (::VSCodeServer.var"#65#69"{Bool, Bool, Bool, Module, String, Int64, Int64, String, VSCodeServer.ReplRunCodeRequestParams})()
@ VSCodeServer c:\Users\storm\.vscode\extensions\julialang.language-julia-1.38.2\scripts\packages\VSCodeServer\src\eval.jl:155
[13] hideprompt(f::VSCodeServer.var"#65#69"{Bool, Bool, Bool, Module, String, Int64, Int64, String, VSCodeServer.ReplRunCodeRequestParams})
@ VSCodeServer c:\Users\storm\.vscode\extensions\julialang.language-julia-1.38.2\scripts\packages\VSCodeServer\src\repl.jl:38
[14] (::VSCodeServer.var"#64#68"{Bool, Bool, Bool, Module, String, Int64, Int64, String, VSCodeServer.ReplRunCodeRequestParams})()
@ VSCodeServer c:\Users\storm\.vscode\extensions\julialang.language-julia-1.38.2\scripts\packages\VSCodeServer\src\eval.jl:126
[15] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging .\logging.jl:511
[16] with_logger
@ .\logging.jl:623 [inlined]
[17] (::VSCodeServer.var"#63#67"{VSCodeServer.ReplRunCodeRequestParams})()
@ VSCodeServer c:\Users\storm\.vscode\extensions\julialang.language-julia-1.38.2\scripts\packages\VSCodeServer\src\eval.jl:225
[18] #invokelatest#2
@ .\essentials.jl:729 [inlined]
[19] invokelatest(::Any)
@ Base .\essentials.jl:726
[20] macro expansion
@ c:\Users\storm\.vscode\extensions\julialang.language-julia-1.38.2\scripts\packages\VSCodeServer\src\eval.jl:34 [inlined]
[21] (::VSCodeServer.var"#61#62")()
@ VSCodeServer .\task.jl:484
```
The code responsible seems to be:
https://github.com/MakieOrg/Makie.jl/blob/156e651ffd1b20eed3f511f925c1e8ac4eed1474/GLMakie/src/screen.jl#L319-L321
The correct function call seems to need 7 args:
`SetWindowMonitor(window, monitor, xpos, ypos, width, height, refreshRate)`
https://www.glfw.org/docs/3.3/group__window.html#ga81c76c418af80a1cce7055bccb0ae0a7