-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
Multiple Desktop Support [$250 awarded] #2523
Comments
@jtg-gg @rogerwang I'd be interested to know your thoughts in particular. |
@tommoor primary desktop usually the one with bound x,y 0,0 |
I guess the bit of information that is missing is which desktop is the user currently looking at / active on? I need to keep the window in their view. |
Hi @tommoor , if I understand it correctly you would like to specify the behaviour of a window following along the active space like in the gif below? |
Exactly like that! although in this case it would be a window created with win.open - not the primary/main window. |
[a little brainstorming follows…] In terms of API on OS X you have Window Collection Behaviours (in
Also in the example above the window is floating atop (i.e. So, mimicking |
This API would suit my personal usecase very well. I was trying to think of a way that this could be implemented in a broader sense but now that you've suggested this it would be fantastic for us. Is your GIF above mocked or did you actually get it working in this way? |
Yep, it's actually "working", although without exposing an API, just a -somewhat- quick and dirty proof of concept, overwriting the default behaviour directly in Objective-C. |
Very cool. @jtg-gg @rogerwang what are your thoughts on this api / idea? |
On a related note, Chrome Apps recently added a similar API |
@mrfabbri perhaps it makes sense to copy this terminology then for the API in node-webkit... |
@tommoor it makes great sense [and not a far fetch from the reasoning above] /cc @rogerwang= |
@rogerwang If the proposed API (i.e. introducing a |
@mrfabbri @rogerwang would love to see this move forward, I don't think it makes sense on Windows either as there is no concept of multiple desktops built in right? |
For platforms that support multiple workspaces (currently Mac and Linux), this allows node-webkit windows to be visible on all workspaces simultaneously. - Add the `SetVisibleOnAllWorkspaces` method to the `Window` API object. - Add placeholder (empty) methods on platform specific window implementations. - Add configuration support via boolean `window` subfield `visible-on-all-workspaces` in manifest file (see https://github.com/rogerwang/node-webkit/wiki/Manifest-format#window-subfields ). API proposal, Issue and ongoing discussion: nwjs#2523
- Add Mac OS X implementation for nwjs#2523 .
@rogerwang @tommoor I added an initial implementation of the proposed API in the
The window subfield in the manifest file is PS: here it is a debug build for OS X with |
- Add Aura mplementation for nwjs#2523 .
For platforms that support multiple workspaces (currently Mac and Linux), this allows node-webkit windows to be visible on all workspaces simultaneously. - Add `SetVisibleOnAllWorkspaces` method to the `Window` API object. - Add implementation for Mac OS X. - Add implementation for Aura (Linux). - Add configuration support via boolean `'window'` subfield `'visible-on-all-workspaces'` in manifest file (see https://github.com/rogerwang/node-webkit/wiki/Manifest-format#window-subfields ). - Add manual test for `SetVisibleOnAllWorkspaces` method to the `Window` API object. see nwjs#2523
@rogerwang I added a full (Mac OS X and Linux) implementation for The implementation for Aura (Linux) relies on
I see two options:
As for the recent changes introduced by the I added a manual test showing API usage via manifest file (boolean |
👍 please give us a reply here roger! On Fri, Nov 28, 2014 at 12:50 PM, Marco Fabbri notifications@github.com
|
Option 1 is good. Thanks. |
@rogerwang great! Adding |
For platforms that support multiple workspaces (currently Mac and Linux), this allows node-webkit windows to be visible on all workspaces simultaneously. - Add `SetVisibleOnAllWorkspaces` method to the `Window` API object. - Add implementation for Mac OS X. - Add implementation for Aura (Linux). - Add configuration support via boolean `'window'` subfield `'visible-on-all-workspaces'` in manifest file (see https://github.com/rogerwang/node-webkit/wiki/Manifest-format#window-subfields ). - Add manual test for `SetVisibleOnAllWorkspaces` method to the `Window` API object. see nwjs#2523
For platforms that support multiple workspaces (currently Mac and Linux), this allows node-webkit windows to be visible on all workspaces simultaneously. - Add `SetVisibleOnAllWorkspaces` method to `Window` API objects. - Add implementation for Mac OS X. - Add implementation for Aura (Linux). - Add configuration support via boolean `'window'` subfield `'visible-on-all-workspaces'` in manifest file (see https://github.com/rogerwang/node-webkit/wiki/Manifest-format#window-subfields ). - Add `Window.canSetVisibleOnAllWorkspaces()` API method returning a a boolean indicating if the platform (currently OS X and Linux) support `Window` API object method `setVisibleOnAllWorkspace()`. - Add manual test for `SetVisibleOnAllWorkspaces` method to the `Window` API object. FIX nwjs#2523
Currently it seems there is no way in node-webkit to address multiple desktops on OSX and probably other platforms too. My particular usecase is that we'd like to create a hovering window that is always at the top right of your screen, even when moving between desktops.
Right now the way node-webkit works the current desktop is the only one that is accessible and all coordinates are relative to that. It appears you can move a window onto another desktop but without any knowledge of which the user is looking at this is useless?
This could be allowed using the new Screen geometry API as one option, a possible API would be to include a few new parameters per screen and include virtual desktops in this listing:
Alternatively / in addition, how about an event when the user moves between desktops? The event could include details of the current / primary desktop.
Let me know if anyone else is interested in this, willing to put down a good bounty once an approach is agreed on 😄
Possibly related to: #2384
The $250 bounty on this issue has been claimed at Bountysource.
The text was updated successfully, but these errors were encountered: