Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Show application icon while the application is being started #2

Open
probonopd opened this issue Nov 16, 2020 · 0 comments
Open

Show application icon while the application is being started #2

probonopd opened this issue Nov 16, 2020 · 0 comments

Comments

@probonopd
Copy link
Member

When a GUI application is not started from a desktop file but e.g., from a shell script (or from an .app bundle or .AppDir directory), then the application icon is not shown correctly in the Dock.

Also, the icon is shown in the Dock only after the application has finished loading and is showing a window. For large applications it can take a few seconds until the application is fully loaded. Doring this time, no icon is shown in the Dock.

I would like a behavior more like the Mac:

  • An (animated) application icon should be shown in the Dock while the application is being launched
  • The animation should stop once the application is fully loaded
  • This should also work for applications that are not launched using desktop files

For this we need:

  1. A way to tell the Dock that an application launch has begun
  2. A way to tell the Dock the application icon to be used during launching
  3. W way for the Dock to know when the launching of the application is finished

For example like this:

For 1. and 2. Whenever something (e.g., the file manager, a shell script, an .app bundle, etc.) launches an application, then it sends a D-Bus message to the Dock, containing the process ID (PID) and an URI (file:///) to the icon file
For 3. the Dock can look up _NET_WM_PID for each new window. If it matches the PID above, then stop the launch icon animation and show the non-animated icon instead

Or is there a simpler way to achieve this without the need for D-Bus?

Upstream ticket: cyberos/cyber-dock#9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant