Problem with web applications

ObjectDock seems to be unable to differentiate between multiple copies of the same process open with different arguments, which is the common mode of operation for launching web applications in a separate process, for example with Mozilla's Prism or Google Chrome's web application feature. While it is possible to create different shortcut docklets, ObjectDock believes that they are all open when any one of them is open, and it resets the icons to the last icon set whenever it opens.

The shorcuts end up being, for example:

Application: %LOCALAPPDATA%\Google\Chrome\Application\chrome.exe, Arguments: --app=https://mail.google.com/mail

Application: %LOCALAPPDATA%\Google\Chrome\Application\chrome.exe, Arguments: --app=https://www.google.com/calendar/render

Prism shortcuts look similar, running Firefox with the "webapp" argument.

It's going to be difficult for me to use ObjectDock if it can't tell the differnce between these processes, as I exclusively use Gmail as my email program and Google Calendar as my calendar.

1,479 views 2 replies
Reply #1 Top

I'd like to second this functionality, and while I was hoping to have found a resolution, I guess keeping people working on it is second best.

My current, albiet imperfect, solution is to drag three icons to the dock for three instances of chrome. Two include the switches to put my gmail and webmail into application mode, the last is plain vanilla. 

Then my only option was to change the icons of the execution buttons to three different icons, making sure I updated the generic link last. Now when i click one of the icons, all of them indicate they are running, and the active program icon is the generic icon, regardless of what i clicked. 

I get by only because i have the "mini-preview" enabled and i can barely see the difference in the pages while they are minimized. otherwise my only solution is to hover through all my active programs to find the one i want.

Again, not perfect, but at least my execution icons are unique. Please help find a solution or patch!

 

As a proposal, i am on the cusp of actually installing three versions of chrome so the instances are actually unique (two for the apps, one for everything else), but its really a unsatisfactory solution.

 

Please help!

 

Reply #2 Top

Not only to get a bump to the top of the list, but also to add some more information:

 

I've tried running an single instance of chrome with mutiple EXEs, doesn't help

Also tried installing multiple instances from chrome, doesn't fix it

Even tried installing both Google Chrome and Chromium, and it doesn't help

 

After digging in a bit the answer why became obvious. Icons in the shortcut part of the dock are all unique, and can be customized when they have different targets. Unfortunately the icons in the running portion of the dock are identified by the internal program name created on execution. This means that every copy of a chrome browser, no matter which instance created it, is known only as "Chrome" to OD. This makes the running indicators flag every shortcut that points to a "chrome.exe" regardless of the fact they all point to different installs of chrome.exe.

Since chromium and google chrome both internally identify as "Chrome" the same problem happens there. A side effect of my testing also points out that if I have three copies of chrome.exe (called say, chromegmail.exe, chromeowa.exe, chrome.exe) the first two executables will run, create a running icon for "Chrome", and never indicate as running since Chrome != chromegmail

So yeah, its obvious now that OD doesn't actually keep up with which shortcut created a program, it just maps the names of the running apps to the exe all the shortcuts point to (interestingly, this also kills running indicators other programs i use, where the exe you start the program with is a helper that has a different name from the master program name).

Don't know if there is any easy (or not easy, seeing what i've tried) way to fix or work around this, at least not without some changes to OD (like having a running icon bound to a process ID, instead of just looking for a similar name) but if anyone has any ideas, I'd be happy to hear them.

-J