Allow node-webkit to be multi-window? - node-webkit

As we know, if set a name in package.json, we always open a unique node-webkit window. How to allow node-webkit to be multi-windows?
Mean that if I run nw once, I can get a new nw app.

I think he is talking about how nwjs is managing the windows. When you open a new window through the main node, the second window doesn't have access to nwjs. You can't use any code of nwjs working in the new window with a external url.
nw.Window.open(link,{}, function(new_win) {
new_win.requestAttention(true);
new_win.setResizable(false);
});
Here the new window will appear and will flash in the taskbar, but If I want to make it flash again thru the opened window is not possible because the new windows has not access to nwjs.

Related

Testcafe: How to maximize the window?

I have a test that opens a new window when the button is clicked but the window is not maximized. I switched to the current window and use the await t.maximizeWindow() but the target window still not maximized.
At the moment, support for multiple browser windows is a beta feature and has several limitations. So, you cannot resize child windows or take screenshots or videos of them.
You can find more information in the TestCafe documentation: https://devexpress.github.io/testcafe/documentation/guides/advanced-guides/multiple-browser-windows.html

Get list of opened windows and minimised windows

I'm using CGWindowListCopyWindowInfo to obtain list of windows opened in OSX system. I would like to get all opened windows + minimised window (windows which appears in the bottom of the dock). I've already tried all possible options of this function (https://developer.apple.com/reference/coregraphics/1666230-quartz_window_services/1805250-window_list_option_constants?language=objc)
Using it with option kCGWindowListOptionOnScreenOnly returns obviously proper list but without minimised windows. Without it, I get minimised but also all different windows which are not minimised (e.g. splash screens of other applications).
Second attempt was to use properties of window returned by CGWindowListCreateDescriptionFromArray(https://developer.apple.com/reference/coregraphics/1455215-cgwindowlistcreatedescriptionfro?language=objc) but I didn't find the way also.
Thanks.
Update:
Also using accessibility API isn't a solution here since the user has to explicitly allow particular application to control the computer in system preferences.

How can i keep focus on my own application or regain it when lost in delphi? [duplicate]

I need to create a simple Delphi application, kiosk style.
It is a very simple thing, a single form where the user writes some personal info to register to an event. 4 TEdit and a TButton.
What I want to achieve is to avoid the user does any action different then typing in TEdit or clicking on the TButton. For example I don't want he does ALT TAB (switchin applications), pressing windows key on keyboard, doing ctrl-alt-canc, etc...
I can add a passowrd protected Button that enables/disables this "Kiosk mode", in this way as I need to exit the kiosk mode I simply press that button and exit.
How to achieve this "kiosk mode" in Delphi without intercepting all the keystrokes manually? Or did anyone already develop this so it can be shared?
I think you'd better create a new desktop, and run your app in there. When your app is done, you can bring back user's desktop. That is how Windows login screen works. Of course Windows login screen uses a special secure desktop. Your app in a separate desktop would be isolated. You will have a desktop background with no start menu, taskbar, or desktop icons because explorer.exe is not running there automatically. Of course a can start a new process, using Task Manager, but desktops in Windows are securable objects; therefore, you can make restrictions if you want. Of course if your app has sufficient permissions.
To create a new desktop, you can use CreateDesktop Windows API, and to switch to the newly created desktop, you can use OpenDesktop function.
You can try Change the Windows Shell.
When you start windows, you don't execute the default shell (explorer.exe), you can execute your application.
Al internet you can find alternative Shell (more attractive) to default windows like:
BlueBox or
SharpE
This option is used for purposes similars at the application that you are developing. Kiosks or TPV.
For change the default applicacion you must modify a registry key:
In Win3.x and Win9x, SYSTEM.INI file:
[boot]
shell=MiAplicacion.exe
In Win2k and WinXP, use Registry:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
Shell=MiAplicacion.exe
If you test this option, think the mode to turn the configuration to the original value (button or option). You must reboot to test changes.
ADDED: In addition, if you search on the web some similar at this "Delphi Change default windows shell", you can find more code, samples and information about this.
Regards
P.D: Excuse me for mistakes with english.
Well but if someone can open the taskmgr he could just create a new task and run explorer.exe from there so its not really secure though...
Ok Taskmgr can be stopped with policies...
Well and for disabling the cad sequence you can use saslibex which Remko Weijnen had created you can find it here: SASLibEx
kindest regrads,
s!

How to maintain session in selenium while opening new window

How to maintain session in selenium while opening new window. I am clicking a download button after which a file should be asked to download(IE). But running via selenium it opens a new window asking again to login???
I had similar issues. I don't know your implementation, but maybe you're cleaning cache with each new browser Instance. Try to find why it's opening new Window instead of using same browser instance and just open it's download_window. How you handle default_window can also be the answer you are looking for.

Get Open Windows in Objective C

How would I get the names of the open windows on Mac OSX in Objective C? Basically I just want to check if a window with a specific name (ie. "Chrome" to detect if Chrome is open) is open.
The app in question will NEVER run without a window open (unlike Chrome in my example), so detecting running processes may not be necessary.
For the case you describe, looking through the window list is not a good approach. For example, Chrome does not have a window named "Chrome" AFAIK — the names of its windows depend on the currently open tab. If you want to detect an application, use NSWorkSpace's launchedApplications method.
To actually detect windows, use the Quartz Window Services API.