Can I deactivate a monitor/display with node/electron? - node.js

I, I'm writing an app with electron (http://electron.atom.io/). I would like to deactivate the monitor/display of the pc and only activate it again, when something in the app happens (for energy-saving). Is there a way to do this?
The only think I found, is the powerSaveBlocker (http://electron.atom.io/docs/api/power-save-blocker/) which doesn't help me...

You'll need to use native system APIs to do this, on Windows you can use one of the solutions proposed in Turn on/off monitor.

One of the ways you can do that is by executing batch files from electron/node in Windows , shell scripts in Linux and whatever MAC OS uses to execute commands.
These scripts would contain the OS level commands to turn on/off the display which are easily available .
When to fire these scripts would depend on your application logic .

Related

Cocoa = How to run script in background without launching terminal in C

In my Cocoa Application, I am running a script by using c functions like setenv() and popen(). It executes the script perfectly. But the issue is, At runtime, popen() opens the Terminal app and after the script is executed, It closes the Terminal app automatically. I want to execute the script without opening the Terminal app.
I found a solution to use NSAppleScript. But This class is available only in Foundation, but not available in Core Foundation. I want the same feature to be written in C. How to achieve this.
Please advice.
Use NSTask to execute the script. This allows you to have it run in background while still being able to specify environment variables, monitor output, etc.

AutoHotkey Run command issue in Windows 8.1

this is my first time on such a prestidigious site, so please welcome me by assisting me. I am doing independent development and am primarily a music designer. So that is why I may not sound like a real pro coder but nevertheless truly love creating my music through automative processes.
My present issue is this:
Windows 8.1 Pro
AutoHotkey 1.0.48.5 32bit (running as Admin)
Everytime I attempt to use the command 'RUN' with an .ahk target, I get the expected result except that the .ahk residing folder is opened by MS Explorer. I suspect that something like the fact that AutoHokey is an unsigned app, windows does not want it to run flawlessly. I am now trying a number of Administrative Tool Services disabling, but with no success yet.
RUN C\:XZN\Mecanisms\AnyAHK_script.ahk
;;or
RUN AnyAHK_script.ahk, C\:XZN\Mecanisms
;;or
RUN C\:XZN\Mecanisms\BactchfileLaunchingAboveScript.bat
;;or
RUN AnyAHK_script.ahk, C\:XZN\Mecanisms
Would there be a workaround this at the OS settings level or another way to run/start an .ahk file?
I tried the 'Comspec' approach as well as running an .ahk from within a batchfile, but the .ahk always get intercepted whenever it contains a 'RUN' command requesting an .ahk target.
Thanks.
You are using outdated version of AutoHotkey which is more than 5 years old. Always use AutoHotkey and its documenatation from http://ahkscript.org/ (current uptodate version, new official website)! AutoHotkey and its documentation from autohotkey.com is outdated and you may have some problems using them!
One thing to try if you only have this problem on win 8 is to Enable interaction with administrative programs http://www.autohotkey.com/board/topic/70449-enable-interaction-with-administrative-programs/
That script modifies the executable file's embedded manifest, then creates and installs a self-signed certificate and uses it to sign the file. The executable will not run on any other system, unless you install the certificate used to sign the file.
But lets see some script code that way we have something to test with and can better help you out...

Firefox/Chrome Shell for Ubuntu

I have googled my tail off - but can't seem to find what I am looking for. In Ubuntu (or any Linux distro for that matter) is there a way to set the GUI shell to only be Firefox or Chrome. Meaning - I don't need an entire desktop environment - just the one application.
I am pretty much trying to figure out a Linux equivalent to changing HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon from explorer.exe to firefox.exe.
By default, distributions are setup the way that a display manager is fired up right after the X server. For Gnome, that would be GDM, for KDE that would be KDM etc. What you need to do is to replace a Window manager with a custom application, which in your case is a web browser. Generally, you can achieve this by putting your command(s) into ~/.xinitrc and ~/.xsession files, for example:
#!/usr/bin/env bash
firefox &
For Ubuntu, this process is explained in details here. Other distros are quite similar.
Hope it helps. Good Luck!

Qt application GUI -- automatic start -- linux

I need to run my Qt GUI application immediately when my linux system starts.
I do not need any other things apart from this Qt GUI application. No need of desktop.
Previously I have started daemo using update-rc.d command but I do not know how to start GUI and I do not have much knowledge about X11.
I went through net & found two links:
Running a Qt application at startup
This is telling to create desktop entry file for you... but as i do not need desktop.
And only want my GUI to run. So this is not the solution which i am looking for.
http://www.qtcentre.org/threads/28564-Qt-app-in-linux-startup
Here I am not able to understand what I have to do with /xinitrc.d.
And how my application GUI can start. Can some one clarify this point?
Can some one suggest what I will have to do to start only GUI application?
You very probably need some X window manager to run your Qt application, perhaps even some desktop environment (i.e. you want EWMH & ICCCM compliance), and you obviously need a running X11 server (usually Xorg). So you could manage to have some xinitrc for all that.
Notice that some session -or display- managers like lightdm can be configured to start some special sessions.
In all cases, you need a lot more than just your application to be running, and you certainly need to understand in detail what your Qt application really requires (mostly thru Qt libraries). Learn more about the X11 protocol. See also freedesktop.org.
If you're using lightdm Desktop Manager, then edit your /etc/lightdm/lightdm.conf file by uncommenting line
session-setup-script=
and immediately after equal sign (without spaces) add path to your gui application!
Save lightdm.conf file, and restart the system!

How to execute a setup from an application to update it?

I'am currently writing an application that has to search on a web site if an update exists for this application. If it is the case the application download a setup file (created with inosetup) and then execute it.
My application is written in C++. And I do not arrive to do this process. I'am trying to call the setup using system(). If the command is system("mysetup") I cannot obtain what I want because the setup cannot replace the exe (currently running). So, I have tried to use system("cmd /C mysetup"), system("cmd/C start /min mysetup"), system ("cmd /C start /min /separate mysetup") without success. In these cases, the fact to stop the application also stop the setup. So I suppose that the setup is considered as a child process.
I have seen in some posts that it might be possible to use execcl(). But this function is in unistd.h. And this library is a little bit to specific for my needs (I need to be able to run on virtualized windows).
So do you have a way to do what I want?
Thanks for your help
OK,
A colleague to me gave me the solution. As we are using QT a QProcess::startDetached does exactly what I want.

Resources