xpra icon
Bug tracker and wiki

This bug tracker and wiki are being discontinued
please use https://github.com/Xpra-org/xpra instead.

Opened 8 years ago

Last modified 16 months ago

#508 assigned enhancement

MS Windows taskbar integration

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: major Milestone: 5.0
Component: platforms Version:
Keywords: win32 taskbar Cc:

Description (last modified by Antoine Martin)

Windows 7 onwards support customization of the taskbar entry for our application, we could do something with it:

  • simply add the most common tray menu options there (since the tray is now also hidden by default..)
  • use it for forwarding application menus if it has some (see #228 for Ubuntu's global menu)


See also #472

Attachments (1)

TaskbarLib.idl (2.7 KB) - added by Antoine Martin 7 years ago.
copy of the idl file

Download all attachments as: .zip

Change History (10)

comment:1 Changed 8 years ago by Antoine Martin

Description: modified (diff)
Owner: changed from Antoine Martin to Antoine Martin
Status: newassigned

comment:2 Changed 8 years ago by Antoine Martin

Milestone: future0.15

Scheduling for this release, together with #472 and #476.

comment:3 Changed 7 years ago by Antoine Martin

Milestone: 0.150.16

Too late, re-scheduling.

comment:4 Changed 7 years ago by Antoine Martin

Best example code found so far:

Changed 7 years ago by Antoine Martin

Attachment: TaskbarLib.idl added

copy of the idl file

comment:5 Changed 7 years ago by Antoine Martin

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.

  • make the tlb:
    midl TaskbarLib.idl /tlb TaskbarLib.tlb
  • use it with GTK: (requires comtypes)
    import gtk
    window = gtk.Window()
    import comtypes.client as cc
    import comtypes.gen.TaskbarLib as tbl
    taskbar = cc.CreateObject("{56FDF344-FD6D-11d0-958A-006097C9A090}", interface=tbl.ITaskbarList3)

For the menus, what we want is Tasks and more specifically: AddUserTasks.
There is some support for it in pywin32 already:

> from win32com.shell import shell
> shell.CLSID_DestinationList

comment:6 Changed 7 years ago by Antoine Martin

Milestone: 0.16future

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...


Last edited 7 years ago by Antoine Martin (previous) (diff)

comment:7 Changed 4 years ago by Antoine Martin

Milestone: future4.0

comment:8 Changed 3 years ago by Antoine Martin

Milestone: 4.05.0

Milestone renamed

comment:9 Changed 16 months ago by migration script

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/508

Note: See TracTickets for help on using tickets.