Windows 7 onwards support customization of the taskbar entry for our application, we could do something with it:
Pointers:
See also #472
Scheduling for this release, together with #472 and #476.
Too late, re-scheduling.
Best example code found so far:
copy of the idl file
The examples in comment:4 work but this is not the interface we need. We could still use them to enhance the tray/menu classes with progress bar support, etc.
midl TaskbarLib.idl /tlb TaskbarLib.tlb
import gtk window = gtk.Window() window.show() import comtypes.client as cc cc.GetModule("TaskbarLib.tlb") import comtypes.gen.TaskbarLib as tbl taskbar = cc.CreateObject("{56FDF344-FD6D-11d0-958A-006097C9A090}", interface=tbl.ITaskbarList3) taskbar.HrInit() taskbar.SetProgressValue(window.get_window().handle,40,100)
For the menus, what we want is AddUserTasks. There is some support for it in pywin32 already:
> from win32com.shell import shell > shell.CLSID_DestinationList IID('{77F10CF0-3DB5-4966-B520-B7C54FD35ED6}')
By the looks of things, "tasks" is not it: present even when the application is not running. Maybe Jump Lists? But even that is not a good fit...
The only workable solutions that I can think of are:
Both of which would have all sorts of interesting interactions with window hints, size constraints, events, position...
Unrelated:
import pythoncom pythoncom.CoCreateInstance(shell.CLSID_ShellItem, None, pythoncom.CLSCTX_INPROC_SERVER, shell.IID_IShellItem)
Milestone renamed
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/508