| Native app launchers (which you can stick into the taskbar/dock/etc.) are built into Chrome. • Windows: https://www.laptopmag.com/articles/how-to-create-desktop-sho... • Mac: https://productforums.google.com/forum/#!topic/chrome/3A5ZTe... What this feature doesn't do, is to track the tabs spawned by launching the application shortcut using that taskbar item/dock icon/etc. Instead, you just get a new window spawned in the Chrome application's window-group. This is really a failing of our desktop window managers, not of web browsers: we need to separate the semantic concepts of "process" and "application", such that one process can be responsible for driving several applications, and choosing to "quit" an application can just result in an IPC message being sent to the process telling it that the user wants that window-group-context gone, rather than telling the window manager to go terminate the entire process. (Such a feature would also greatly help with things like managing "non-rooted" Remote Desktop or X11 or virtual-machine windows. Right now, some of these use a workaround of generating a stub binary to register each foreign application for the local DWM's sake. But it's a leaky abstraction: Alt+Tab/Cmd+Tab to the proxy "application", and the RDP client/X server/VM "app" gets focus instead. If window-groups—with metadata for the name and icon of the "application" they represent—were something a process could publish to a DWM, rather than something the DWM tried to determine heuristically about an application process, all of these problems would go away. And, even without offering this up for webapps to use, browsers would benefit from this change: Chrome's "profiles" are exactly separate "application" window-groups in the same sense as apps under an X server or VM process.) |
Works perfectly on windows. Let's say I pin Gmail as an app on the taskbar. When I open Gmail using that button, it remains attached to that taskbar button, which is an icon of Gmail for convenience. In fact it's not obvious to figure out that it's running on Chrome.