Linux KXDocker

FAQ

  1. What are icons plugins?
  2. How I can "load" an icon plugin?
  3. Where KXDocker search external plugins?
  4. Why the icon is not updated by the icon plugin?
  5. How I can configure the icons plugins?
  6. I'm sure KXDocker has not loaded the plugin, how I can know this?
  7. How KXDocker bind an alias with new added icon?
  8. Installing KXDocker binary into non-standard KDE path
  9. KXDocker i18n translations
  10. DCOP: what is className field?
  11. Trash: how I can right configure GTrash plugin?
  12. KXDocker crash: kxdocker: symbol lookup error: kxdocker: undefined symbol
  13. Tracing NON KDE running applications
  14. I don't wanto to see more a Plugin Icon, how I can remove it?
  15. There is a chance to see one day KXDocker on GNOME?
  16. I don't want display ARP and Mounts icons, can I?
  17. I've added an Icon to KXDocker but it won't show up...
  18. Can I set maximun icon displayed number?
  19. How I can bring Xinerama support on KXDocker?
  20. I do not like default highlight color on my icons, how I can change or disable it?
  21. I cannot find any suitable configuration by cliccking on right icon, how I can bring it on?
  22. How to change the theme of an Icon drawed by Plugin of Plugin Manager, GMount with GMounts
  23. I've done a bar theme which cannot be correctly displayed, How can I fix this?
  24. I need to configure an Icon, or any plugin based, for an application which by default is not into the docker. How Can I do this?
  25. I've noticed KXDocker support Windows Maker applets, how can I enable this feature?
  26. How to disable the startup spinners? They appear after I start a program
  27. How I can close kxdocke gracefully without tray icon?
  28. I've lost some important icons, How can I recreate them?
  29. How to add more icons to my dock?
  30. Cannot compile on BSD: /usr/X11R6/lib/libqt-mt.so: undefined reference to `pthread_exit'
  31. Upgraded from a previus KXDocker release, cannot start
  32. Gnome users: cannot display running tasks
  33. How can I run KXDocker with Compiz-Fusion (Composite manager)

0) Where I found KXDocker support?

You can write me to us or you can try find anyone to IRC:
server: irc.azzurra.net
channel: #kxdocker

Some developers notes about KXDocker

  • With roadmap to 1.0.0 all is possible, :) fade effects are need, because NOW KXDocker is "ready" for composite manager, fade effect is using the same engine, but test untested api which WILL be used to draw the docker over a "window composite mapped", anyway I don't own a composite compatible video card, so I cannot test it.
  • Pillow fade out is simple, but, i need to test if it's fast, because, when you click on other windows they popup than the pillow MUST go AWAY very fast or you will see the "fake transparency" of older window, this is done until composite will be used as primary engine
  • How much difficult is writing new design style of "raising" icons, very easy, start thinking about Matrix and look in your mind what do you like to show, xGDocker (C++ class) will manage it
  • What about TOP LEFT RIGHT layout over BOTTOM one? The engine is ready, but no faked transparency. This will require a lot of code and a lot of mistical actions

1) What are icons plugins?

Icons Plugins are so libs compiled with QT signal/slot, but if it's a bundle plugin, like GClock GDate (and so on depend on KXDocker version) they are into kxdocker binary (source code)

2) How I can "load" an icon plugin?

  • Can you manually update the xml configuration? so see this example how a calendar icon may be created, kxdocker plugin loader engine will load-search for a plugin named: GDate.so (this is an internal plugin than will be loaded itself)
  • Steps by configurator
    • Right click on KXDocker tray icon (such as a tux apple ;)
    • open configurator
    • create new icon into "Objects" page
    • fill the "className" field with the name of the plugin choosed to manage the icon created without ".so" (but it's case sensitive!)
    • PRESS ENTER (configurator has a lot of ugly code)
    • than save configuration
    • restart KXDocker

3) Where KXDocker search external plugins?

You can use configurator to update the path list by adding them into "Plugins" page and "Plugins (search path)" list

4) Why the icon is not updated by the icon plugin?

Do you know what is a .so? ok than check if it's correctly compiled ;) or you can send me the output from kxdocker and the ldd command invoked with the plugin.so
If you think the plugin is correctly compiled you can see if there are error messages from kxdocker output. See how to configure a plugin.

5) How I can configure the icons plugins?

Many plugins require to be configured, you can check the configuration by opening the configurator and checking the "Plugin" table AFTER you have selected the plugin's icon from "Objects" Page.
Often the icons plugins will bundle pictures, icons, pngs, you may need to configure where the plugin will find these resources.

6) I'm sure KXDocker has not loaded the plugin, how I can know this?

run this command, it's a linux command this will show all the .so libs loaded by kxdocker ;)
cat /proc/`pidof kxdocker`/maps |grep kx |grep so
PS: remember internal plugin are loaded itself, will not be showed

7) How KXDocker bind an alias with new added icon?

Tasks added icons, by xTaskManager plugin, if loaded, match like standard object:
by matching classname, windowtitle, taskname...
see documentations

8) Installing KXDocker binary into non-standard KDE path

You can install KXDocker binary everywhere, but anyway it will not find resources or translations, to avoid this you need to add the installation path to environment variable KDEDIRS for example if you are using bash:
export KDEDIRS=$KDEDIRS:/opt/kxdocker:anywhere_you_installed

9) KXDocker i18n translations

Since KXDocker 0.0.29 support for localized translation, you can send me a translation by email.
You can make own translation simply by editing a *.po file from po folder into kxdocker sources.

10) DCOP: what is className field?

... when I will have spare time I will reply with a good description.
If className start with "x" character the icon will not be saved into the configuration xml, well next till you will not see the icon added, may be by dcop addIcon(...)
Why that?
Because external applications which may add time depend icons, like
  • mount plugin
  • arp plugin
  • task plugin
don't want fill your dock space with a lot "old" icons...

11)Trash: How I can right configure GTrash plugin?

KXDocker has build in the GTrash plugin, to make it working properly you can set these command on Action page:

  • onClickExec kfmclient exec trash:/
  • onDropExec kfmclient move "%1" trash:/
  • Empty action ktrash --empty

12) KXDocker crash: kxdocker: symbol lookup error: kxdocker: undefined symbol

KXDocker crash: kxdocker: symbol lookup error: kxdocker: undefined symbol: _ZN11KSystemTray9setPixmapERK7QPixmap
or
_ZN11KMainWindow7setIconERK7QPixmap
This may append on Fedora Core 3 or Suse distros, this is a runtime error.
Did you compile the kxdocker sources manually?
This kind of error popup when may be wrong compilantion or binary incompatibilty with your QT libs, try:

  • Compile manually KXDocker from sources
  • Upgrade your KDE-Qt
  • Try another RPM package
  • Tracing NON KDE running applications

    My application does not support DCOP or cannot be traced with Title bar, how I can trace with KXDocker, with tringle indicator?
    Since KXDocker 0.33 you can use new DCOP command:

    dcop kxdocker docker setRunningByName "Skype VoIP" 1
    
    With this DCOP call you can write a bash script which run your application like Skype:
    Activate the triangle
    dcop kxdocker docker setRunningByName "Skype VoIP" 1
    Run your application
    skype
    When your application exit...
    dcop kxdocker docker setRunningByName "Skype VoIP" 0
    The triangle is removed
    To make this working you need to manually create, by dcop calls or by configurator, a KXDocker icon whith the right name.
    You can also check XML Configuration page with integrate applications

    I don't wanto to see more a Plugin Icon, how I can remove it?

    Since plugins support AutoInstallation KXDocker will reload plugins every time you run it.
    How can I remove an Icon if it belongs to a plugin?
    You can remove the plugin from your harddisk by using Distro-Package tools, or more simply you can disable the plugin.
    How I can disable an Icon? (apply to all kind of objects)
    You can disable a plugin, icon, alias, or everything KXDocker support by setting up className=disabled. Restart KXDocker and you will not see the Icon.
    Tip: You can use this feature to disable TaskManagement of a few applications like XMMS.

    15) There is a chance to see one day KXDocker on GNOME?

    Let's me introduce KXDocker internals:

    • C or C++: Engine
    • QT: Lowlevel display draw
    • KDE libs: Pixmap effects
    • KDE base: usefully sensors and window managing
    KXDocker is done in C++ but anyway can be ported to C, more or less easy, this is not the question.
    We can start using GTK, I think is not very difficult... (all the troubles at this time 06/2005 is fake transparency)
    I cannot develop with Gnome, if anyone can explain how to manage tasks, windows, I can give a chance...
    ps: did you try to find more on the web?

    16) I don't want display ARP and Mounts icons, can I?

    since KXDocker 0.34 plugins like gARP and gMounts support AutoAdd discovered entries, for example if you plug your notebook into a new network you will see, after a while, the icons of neightbour computers; also gMounts will show all mounted devices, like usb pen. You can configure this new engine:

    • Disable discovering of new entries
    • Disable single added entry

    Disable discovering of new entries

    1. open configuration dialog by right click on kxdocker tray icon
    2. go on Plugins page
    3. select xARP or xMounts
    4. update the configuration variable AutoAddMounts with no
    5. click apply toolbutton over the frame
    6. restart KXDocker

    Disable single added entry

    1. open configuration dialog by right click on kxdocker tray icon
    2. go on Alias page
    3. select the entry which you don't want display on the docker
    4. update the className with disabled
    5. press ENTER
    6. click apply buttons
    7. restart KXDocker

    17) I've added an Icon to KXDocker but it won't show up...

    Ok than, KXDocker support Rolling Icons, one of the best unique feature, this lets you group icons, so you need to scroll with mouse or with dcop interface.
    If you have correctly added an icon you can see it on the KXDocker configuration panel, but you cannot see it in the docker, look on group field, make this parameter unique than other icons so the icon will not be grouped again.
    By default Konqueror and Firefox are on the same group: browser, you can simply update Firefox group with browser2 and reload KXDocker to have the 2 icons without rolling icons.
    If you cannot display the icon in KXDocker configuration panel, object page, may be you have not correctly added the icon.

    18) Can I set maximun icon displayed number?

    Open KXDocker configuration panel Icons page at end you can set the maximun showed icons.
    Also KXDocker can display up to 50 Icons, mail us if you need more?

    19) How I can bring Xinerama support on KXDocker?

    You can displace KXDocker window by updating TopForce and LeftForce from Window Configurator page.

    20) I do not like default highlight color on my icons, how I can change or disable it?

    Until NEW external configuration will be ready, you can change this feature only with old configurator: Rightclick on tray icon, Configurator, Plugins, xAnimator, update the highlightAnimation field with number from 0 to 4, 0 means disabled.

    21) I cannot find any suitable configuration by cliccking on right icon, how I can bring it on?

    Run this command into a console: dcop kxdocker docker parse xConfigurator show 0

    22) How to change the theme of an Icon drawed by Plugin of Plugin Manager, GMount with GMounts

    If the Icon is added by plugin manager like GMounts or GARP, or any other plugin wich CAN AUTO ADD ICONS TO YOUR DOCK, the theme is runtime generated, so you cannot change it.
    You can trick this feature by disabling the relative icon added, done on alias page, read faq:16. Than add your own icon managed by last chain plugin, ex.: GMount

    23) I've done a bar theme which cannot be correctly displayed, How can I fix this?

    Q: Using the "Purple" bar theme, the right side of it looks garbled (the bitmask is inverted, where the round end should be is transparent, and the rest of that rectangular region is black). How can I fix this?
    A: The purple bar theme may need another image file to correct this. It seems to only work with a black foreground and colored (neither white nor transparent) background. This file needs to be placed in /opt/kde/share/apps/kxdocker/themes/bar/purple/
    Q: Using the "Purple" bar theme under Windowmaker 0.92, when the icons zoom the background is not transparent to windows behind it. How can I fix this?

    A: This problem may be related to the purple bar bitmask problem. Fixing that seems to also fix this one simultaneously.

    24) I need to configure an Icon, or any plugin based, for an application which by default is not into the docker. How Can I do this?

    You need to use Alias Object feature.

    1. right click on kxdocker tray icon, than bring up configurator
    2. go on Alias page
    3. Add new Alias Object by left click on Wizard Icon, may be an hand or somelse
    4. Update fields with application information
    5. Tip: update ClassName field with disabled if you don't want docker trace this application, or with DockApp to make this window a WMApplet
    6. Setup Images and actions...
    7. Into Tasks page you can use autofill feature which update with all windows currently displayed, also you need to launch your application before start filling this, remove all other windows
    8. Now try to close and re-launch your application
    Ok than I have enjoyed all of these steps, now I'm happy to show my configuration to all the world:
    Open with KWrite your XML KXDocker Configuration and copy the created alias object tree, send it to me with your icon.

    25) I've noticed KXDocker support Windows Maker applets, how can I enable this feature?

    Look at FAQ24 and update className with DockApp string

    26) How to disable the startup spinners? They appear after I click on an icon to start a program, but they never disappear.

    When spinners are started?
    Spinner are started by xAnimator plugin when you click on an dock icon.
    KXDocker spins until it can attach new windows appeared to the clicked icon.
    Ways to workaround spinners:

    • Configure for the dock icon Window(s) Title(s) or dcop presence, this way help KXDocker to put the black triangle under the icon...
    • Manually remove all spinners: wait_ICON_NAME.png or themes/icons/spin_waiting.png
    • Disable spinning animation for an icon (not ready with configurator, only by editing manually xml)
    Important: spinners are started by animator which checks Tasks status. Keep in mind if you do not enable TaskManager plugin spinners cannot be stopped by Animator

    27) How I can close kxdocke gracefully without tray icon?

    Run this command into a console: dcop kxdocker MainApplication-Interface quit

    28) I've lost some important icons, How can I recreate them?

    May happend if you play with the docker, don't worry, there are 2 simple ways to fix this!

    1. You can manually update the kxdocker_conf.xml by hand.
    2. Using configurator: right click on Add new icon from Rolling Icons configuration page
    3. Create new desktop Application shortcut than drop it on
    Here follow the configuration table for special icons:
    TypeonClickExec
    K Menu entrykxdocker:/docker/kmenu()
    Configuratorkxdocker:/configurator/show()
    Quitkxdocker:/docker/quit()
    Hidekxdocker:/docker/hide()
    Showkxdocker:/docker/show()

    29) How to add more icons to my dock?

    KXDocker 1.0.0 is quite different from 0.x
    KXDocker 1.0 has being splitted into a lot of packages, you can use wizard (when ready) to add new icon easyly
    There are a few way to add an icon:

    • via Wizard (when will be ready)
    • Right click on Rolling icons configuration page of configurator
    • customizing an TaskManager task icon: right click on the icon, enable Keep in Dock feature and customize it
    • via Drag n Drop:Create an Appplication KDE Link on your desktop, drop it on a separator, or over an existing icon, Configurator let's you configure groupping and other stuff like rolling icons

    30) Cannot compile on BSD: /usr/X11R6/lib/libqt-mt.so: undefined reference to `pthread_exit'

    You need to link with libpthreads. "make LDFLAGS=-lpthreads" should do it
    Also you need to have Qt 3.x compiled with thread support!

    31) Upgraded from a previus KXDocker release, cannot start

    Remove all kxdocker_conf.xml and cleaup ~/.kde/share/apps/kxdocker
    If KXDocker ask for a XML configuration give the kxdocker_conf.xml included into source package or ask to your distro package maintnainer.
    Specially applicable upgrating to 1.0.x from 0.x

    32) Gnome users: cannot display running tasks

    Get the facts: KXDocker can run with Gnome and also with Gnome like Window manager...
    Anyway it's KDE libs developed so it's not fully compatible with Gnome standards.
    I've successfully tested KXDocker with Gnome 2.14 with Compiz or Metacity here are a few tips:

    • Setup xTaskManager plugin, via configurator, to show Running tasks from all desktops
    • Z-Ordering at this time, KXDocker 1.1.0 does not work, so you will see always the dock.
    • Anyway you can continue using dcop command interface to popup configurator or for other issues, may be you need to read Faq. 21 or Faq. 27

    33) How can I run KXDocker with Compiz-Fusion (Composite manager)

    External link, thanks to Daniel:
    http://wozlabs.com/linux/kxdcfht.html