(In reply to Masatoshi Kimura [:emk] from comment #25) > (In reply to Ben Bucksch (:BenB) from comment #24) > > In `widget/windows/nsWindow.cpp`, implement functions: > > * `int32_t nsWindow::GetWorkspaceID();` > > * `void nsWindow::MoveToWorkspace(int32_t workspaceID);` > > `IVirtualDesktopManager::GetWindowDesktopId` and `IVirtualDesktopManager::MoveWindowToDesktop` would be usable to implement them. > https://docs.microsoft.com/en-us/windows/win32/api/shobjidl_core/nn-shobjidl_core-ivirtualdesktopmanager > > But `int32_t` is insufficient to hold `Guid` (128-bit). Yeah, I'm looking into this too, but it indeed requires switching to strings to support the Windows style. Right now my patches look like: ``` void nsWindow::GetWorkspaceID(nsAString& workspaceID); void nsWindow::MoveToWorkspace(const nsAString& workspaceID); ``` And I've changed the Linux & OSX code to convert the string to int's first, which seemed like the least messy solution. But why MS needed to over-engineer this thing into using GUIDS is beyond me. Oh well.
Bug 890125 Comment 26 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
(In reply to Masatoshi Kimura [:emk] from comment #25) > (In reply to Ben Bucksch (:BenB) from comment #24) > > In `widget/windows/nsWindow.cpp`, implement functions: > > * `int32_t nsWindow::GetWorkspaceID();` > > * `void nsWindow::MoveToWorkspace(int32_t workspaceID);` > > `IVirtualDesktopManager::GetWindowDesktopId` and `IVirtualDesktopManager::MoveWindowToDesktop` would be usable to implement them. > https://docs.microsoft.com/en-us/windows/win32/api/shobjidl_core/nn-shobjidl_core-ivirtualdesktopmanager > > But `int32_t` is insufficient to hold `Guid` (128-bit). Yeah, I'm looking into this too, but it indeed requires switching to strings to support the Windows style. Right now my patches look like: ``` void nsWindow::GetWorkspaceID(nsAString& workspaceID); void nsWindow::MoveToWorkspace(const nsAString& workspaceID); ``` And I've changed the Linux & OSX code to convert the string to int's first, which seemed like the least messy solution. But why MS needed to over-engineer this thing into using Guids is beyond me. Oh well.