System tray: project

Marco Martin notmart at gmail.com
Fri Jul 20 10:15:59 UTC 2012


On Friday 20 July 2012, Dmitry wrote:
> Hello, Marco!
> 
> What do you think about:
> 
>   * should I use code of current system tray (i.e. git clone & git
>     branch ) to include system tray in QML in KDE or create new clean
>     project (i.e. git init) and push it [new project] to playground?
>     Should system tray in QML be an continuation of tray in C++ (git
>     branch) or it [system tray in QML] should be a project, new applet
>     (git init)?
>   * should I save project structure (files and directories, classes,
>     etc) or I can feel free creating project (new/different files,
>     directories and classes, etc)?
>   * should I access to data engine "statusnotifieritem" from C++ code or
>     can do this from QML directly?
> 
> The answers to these question are required me to understand how I can
> organize code to avoid problems with integration of system tray in KDE.

Hi Dmitry,
If you want to integrate your systray in kde-workspace to eventually replace 
the default one would be great :)

in this case it should be a branch of the kde-workspace repo, they are usually 
named project/youraccountname/featurename, so would be something like 
plasma/dmitry/qmlsystemtray

in that branch an applet with the same name and plugin name would be here in 
place of the old systray.

technically i think it should derive from the current c++ systray even tough 
there is a lot of code to throw away.

basically the parts that are really needed is the plasmoid inclusion code and 
the old x11 protocol (a qml only systray that supports only statusnotifieritem 
can be found in plasma-mobile as an example)

i think that it should have a kind of model that presents and sorts an entry 
for each icon, of all supported protocols, then the qml implementation would 
either take a qgraphicsitem provided by the model (for plasmoid and x11 case) 
or create an icon by itself (statusnotifieritem case)

Cheers,
Marco Martin


More information about the Plasma-devel mailing list