webroottech / phpdesktop

Automatically exported from code.google.com/p/phpdesktop
0 stars 0 forks source link

System tray icon for application #25

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Would it be possible to add an option to let the user minimize the app to the 
system tray?

Original issue reported on code.google.com by linds...@gmail.com on 3 Apr 2013 at 9:09

GoogleCodeExporter commented 9 years ago

Original comment by czarek.t...@gmail.com on 4 Apr 2013 at 6:14

GoogleCodeExporter commented 9 years ago
I also would like this feature. I want to build desktop widgets based on your 
project.

Original comment by speedy1...@gmail.com on 17 May 2013 at 8:17

GoogleCodeExporter commented 9 years ago
Two points of reference for anyone attempting this feat:

http://www.codeproject.com/Articles/74/Adding-Icons-to-the-System-Tray

http://bobobobo.wordpress.com/2009/03/30/adding-an-icon-system-tray-win32-c/

Original comment by ga...@approachfoundation.org on 23 Oct 2013 at 7:17

GoogleCodeExporter commented 9 years ago
It is still open for discussion what system tray functionality should be 
implemented. For what I see that would be needed is:

1. A dictionary option in settings.json like "tray_menu", that would define 
elements in the tray menu and their corresponding command identifiers. For 
example:

  tray_menu = {
    "Action 1": "command1",
    "Action 2": "command2"
  }

2. Javascript bindings need to be created for communication between system tray 
and application. When "Action 1" is clicked, a javascript code would be 
executed in main browser window, something like 
"SystemTray_CommandCallback("command1")". You would need to define that js 
function on your webpage to intercept executed commands from system tray.

3. From javascript, you can communicate with PHP scripts by using 
XMLHttpRequest. This is already possible.

4. Probably some javascript API would be needed. A "PhpDesktop" object would be 
available in javascript that would have functions like: MaximizeWindow(), 
MinimizeWindow(), RestoreWindow(), MinimizeToTray(). I don't know what exactly 
is needed, haven't though too much about it.

Please share with us your use cases for the system tray, so we can decide what 
API would need to be added to PHP Desktop.

Original comment by czarek.t...@gmail.com on 20 Jan 2014 at 1:47

GoogleCodeExporter commented 9 years ago
See Tray API in Node-Webkit:

  https://github.com/rogerwang/node-webkit/wiki/Tray

Original comment by czarek.t...@gmail.com on 16 Feb 2014 at 3:48

GoogleCodeExporter commented 9 years ago
See also "Minimize to tray" example:

  https://github.com/rogerwang/node-webkit/wiki/Minimize-to-tray

Original comment by czarek.t...@gmail.com on 16 Feb 2014 at 4:08

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago

Original comment by czarek.t...@gmail.com on 13 Oct 2014 at 4:40