Building an Application like Chrome App Launcher - windows

How would one go about building an Application like the Google Chrome App launcher like the one they released for windows, it seems like a simple application that just appears over its taskbar icon, however I wanted to know more about what could be used to make such an app.

Chrome and its app launcher are all open source, so you can have a look. However there is probably a lot of Chromium knowledge required to be able to navigate the code.
Some details:
the launcher is native c++
it runs in the same process as the Chrome browser
there is no practical way to get the location of the taskbar button, so it is faked using the cursor.
Some trivia:
the app launcher is called the app list internally
the launcher was originally implemented on ChromeOS, and was first ported to work on Windows. That was simple. It was later ported to Mac OS X (just released!) which was more complicated

Related

Captive AIR application causes default web browser to launch when AIR app launched from OS icon

I have used NSIS to create an installer for an AIR application everything installs properly. As part of the installation I create a custom protocol like "MyVeryOwnApp://" so that if the user clicks an icon on a specific website it will launch the application.
The installer also creates a start menu and desktop icon. When installing on a "clean" machine, Windows 10, no other apps installed, everything works as it should.
On other Windows 10 computers including all of the development machines, when the application is launched the default web browser is also launched. This also occurs when launching the application from the Flash Builder 4.6 IDE.
I need to find out the cause so that I can either keep it from happening when I deploy the application, or at a minimum be able to explain to users what the issues are.
I have resolved the problem.
The cause was there was mxml code left over to set the browser focus into the main module. It looked like;
<utils:JavaScript>
<![CDATA[
function setBrowserFocus()
{
Main.focus();
}
]]>
</utils:JavaScript>
This evidently caused AIR to instantiate a new instance of the default browser.
I removed the code as it is no longer needed.

Notifications not working on Windows 10 - Electron JS

I was learning Electron and made a basic electron app and packaged it for windows. The app was not showing notifications so I followed the instructions here
On Windows 10, a shortcut to your app with an Application User Model ID must be installed to the Start Menu. This can be overkill during development, so adding node_modules\electron\dist\electron.exe to your Start Menu also does the trick. Navigate to the file in Explorer, right-click and 'Pin to Start Menu'. You will then need to add the line app.setAppUserModelId(process.execPath) to your main process to see notifications.
I did as suggested here and the notifications started working. They were still working after packaging the app. So I wanted to check whether after a user uses an installer to install this app, the notifications would still work.
I don't have any experience with packaging software, and I used InstallForge to make an installer. Turns out, after installing the app using the installer, the app still works but notifications don't, even after pinning the exe to start.
I tried copying the build folder (direct build, not the installer one) to another location and trying the same thing and it still works. This also works if I copy the installation folder to another location. But it does not work from inside Program Files(x86)\myapp\appname\build\myapp.exe so I am assuming this must be something about permissions, but I do not understand exactly what is happening. I have't checked the app yet on Linux so I don't know if I would face similar problems there as well.
Any pointers would be great, Thank you.

How can I use Go to make a GUI window?

I am in need to make a simple window in Go to display some text,
there is no need for a real GUI like interface.
How can I make a window like this using Go?
walk is the most common library used for basic GUI development.
You can import the package using:
go get github.com/lxn/walk
I assume you are working at windows OS so create an exe and run it.
More Information about this can be gathered from its source.
Visit https://github.com/lxn/walk
A nice-looking cross-platform UI can be created using HTML5/CSS/JS. You may open a native window with a full-screen browser engine (webview) in it showing your UI.
There is a tiny wrapper library for webviews on Windows, MacOS and Linux - https://github.com/zserge/webview
You can connectyour UI and the core app parts using Go-to-JS bindings (webview library provides those) or a websocket.

Electron prompt support

I am looking for a native (OS X) prompt module when working on Electron, something like the window popped up when I click 'Join Other Network...':
This offers the ability to get inputs and process the data returned. So Dialog in Electron may not work here (at least I did not figure it out). I found this issue, but I cannot understand it.
Right now my approach is to open up a browserWindow to to ipc with main thread, but the most critical issue is that, it does not feel like native!
Any help is appreciated!
Electron currently does not have this functionality built in. As far as I know this UI is fully custom, the OS API does not have a direct way to create this UI. For this reason it is likely Electron will never have this functionality.
Your only options are to mimic the native UI in CSS or create a node module that accesses the OS APIs to build your desired UI.

Wrapper around web-app under Windows

I have an application with web interface. Unfortunately, it has all disadvantages of being a web page:
It doesn't have a standalone window, so users cannot manage it via the taskbar.
Users see the address line with something like 'http://localhost:8080' that is not a good idea for home users.
If users click on a tray icon, there is no way to activate the tab in a browser, which contain the application interface.
So, it would be nice to have a wrapper application with a browser within.
In case of IE I know it's possible to create a window with Trident ActiveX component. But what if it's Windows XP with IE6 but installed latest Chrome? I'd like to prefer Chrome since it supports a lot more features which the user will never see.
So, is there a way to wrap a page into Chrome/Firefox and make it look like a standalone application, if one of them is presented in the user's system? (The application shouldn't install anything large, so Chromium build is not an option).
P.S. I'm not interested in supporting other platforms than Windows.
Regards,
Take a look at Chrome Apps.
I hope helps you.

Resources