Opened 14 years ago

Last modified 5 years ago

#99 new enhancement

Finalize xsystray and QSystemTrayIcon

Reported by: Dmitry A. Kuminov Owned by:
Priority: major Milestone:
Component: xsystray Version: 4.5.1 Beta 3
Severity: medium Keywords:
Cc:

Description

This includes the following:

  1. Optimize server-side memory pool performance by organizing free blocks in a one-way linked list (this makes sense when there are many allocations in the pool which currently may lead to full scan when searching for a free block).
  2. Alpha blend icons in the tray.
  3. Native-drawn notification balloons.
  4. Support SysTray??/WPS API (DDE).

Change History (15)

comment:1 Changed 14 years ago by Dmitry A. Kuminov

As for alpha blending, I don't actually think it makes sense to implement it only in xsystray itself: the icons will still be drawn w/o alpha blending in e.g. the window's title bar and in other XCenter plugins like the window list. So if we do it in xsystray, we should also do so in these two mentioned cases: by subclassing WC_TITLEBAR and by patching the relevant XCenter plugins. See also #99.

comment:2 Changed 14 years ago by Silvan Scherrer

Severity: medium

comment:3 Changed 13 years ago by Dmitry A. Kuminov

#99 above actually means #44.

comment:4 Changed 13 years ago by Silvan Scherrer

Milestone: Qt EnhancedQt 4.7

comment:5 Changed 13 years ago by Dmitry A. Kuminov

It is known from the beginning that xsystray belongs to XWP, not to Qt and one day it will be moved here. Besides, the client API part of xsystray needs to go to a separate DLL (rather than e.g. being a static library) because of its dependence on kLIBC. This is necessary to let other applications (like Odin) easily use xsystray.

Since moving to XWP actually requires to branch it first, we postpone this for now and will still host xsystray within the Qt SVN for a while but will not be distributing it with Qt and will create a separate WPI instead. These actions will be tracked in this ticket too.

comment:6 Changed 13 years ago by Dmitry A. Kuminov

Placed xsystray API to a separate DLL in r835. This will go to a separate xsystray WPI a bit later (most likely, for the Java GA).

comment:7 Changed 13 years ago by Silvan Scherrer

Component: QtGuixsystray

comment:8 Changed 13 years ago by yagiza

Sounds really nice. And what 'bout other SysTray?'s features, like displaying current keyboard input layer icon and clock? Do you plan to implement them also?

comment:9 Changed 13 years ago by Dmitry A. Kuminov

We don't really need yet another clock :) So I don't plan to add it. I'm though thinking on combining the standard xCenter Time widget with the xsystray widget. But I'm not sure if I will finally do that as it will make impossible to have them placed apart (if someone ever wishes so).

Regarding the input indicator, I assume you mean the support for Keyboard Layer/2. KL/2 uses the old SysTray?/WPS API so it will work once step 4. above is implemented. In the mean time, you may use my other widget, Keyboard Layer/2 Indicator which is independent of any of the systrays at all :)

comment:10 Changed 13 years ago by Yagiza

Well... I never meant that KL/2 thing. I'm just talking about this feature:
SysTray?'s readme:

  Hidden feature:
  
    Experimental feature for showing keyboard layout in system tray. You need
    to add SET SYSTRAY_LANGVIEW_LATIN and SET SYSTRAY_LANGVIEW_NATIONAL
    settings into CONFIG.SYS with values referring to icons for 
    national/default keyboard layout images.  Example:
    SET SYSTRAY_LANGVIEW_LATIN=c:\os2\default.ico
    SET SYSTRAY_LANGVIEW_NATIONAL=c:\os2\national.ico
    Do not open Language Viewer from System Setup folder - it will cause total
    functionality lost of system tray keyboard layout viewer until reboot.
	For icons, see folder "lang_ico" which contain icons that I use.

The feature is really useful for those, who uses more than one keyboard layer.

comment:11 Changed 13 years ago by Dmitry A. Kuminov

I will add the language icon to xsystray. This will act like a default icon in a newly added xsystray widget, which is also good because now it's empty which confuses users.

For that, I will take the icons from my xkblayer xCenter plugin. Will probably also add SYSTRAY_LANGVIEW_* support as well.

comment:12 Changed 13 years ago by Dmitry A. Kuminov

Milestone: Qt 4.7Qt Enhanced

This is not related to Qt too much, so we postpone it past the 4.7 milestone.

comment:13 Changed 11 years ago by Silvan Scherrer

Milestone: Qt EnhancedQt 4.next

this finaly needs to be adressed. and then we need to integrate it to xwp.

comment:14 Changed 9 years ago by Silvan Scherrer

Milestone: Qt 4.nextQt 5

Milestone renamed

comment:15 Changed 5 years ago by Silvan Scherrer

Milestone: Qt 5

Ticket retargeted after milestone closed

Note: See TracTickets for help on using tickets.