Dropbox 3.2.9 ignoring local themes / missing notification icon

Solution 1:

So, no complete answer in over two months?

enter image description hereAllllllll-righty then!

Now presenting... my ever-so-embarrassing, not-really-to-be-recommended, disgustingly cringeworthy hack:

  • Find your notification icons in the .dropbox-dist directory, which might be in ~/.dropbox-dist or /var/lib/dropbox/.dropbox-dist. Inside this, the icons are in the folder dropbox-lnx.x86_64-3.2.9/images/hicolor/16x16/status (or similar, your path may differ depending on the version and build used).
  • Determine the colour of your xfce4-panel. This is easy using a tool like Gimp with the colour picker tool (enter image description here). Mine happens to be #242424.
  • For each of the notification icons which are PNG images with transparency, open them with Gimp. Yes, that's right folks, I'm going to change that background from transparent to a solid color (in my case, #242424). *Hangs head in shame.*

The result:

enter image description here

enter image description here

Looking good. This is perfectly fine for me, as I don't change the xfce4-panel color. However, some things to note:

  • You'll need to restart dropbox for the change to take effect:
    • ~$ dropbox stop
    • ~$ dropbox start
  • If you edit the stock 16x16px icons, you might find them centred with a 2px #EFEBE7 border if your icons are 22x22px. I addressed this by simply enlarging the icons to my required size (22x22px).
  • If Dropbox is ever updated, your icons might be blown away. If you're going to try this yourself, keep a backup copy of your icons outside the Dropbox directory. Or, you can just download them from here (if you also use #242424 for your panel color):

  • dropboxstatus-logo.png (dropboxstatus-logo.png)

  • dropboxstatus-idle.png (dropboxstatus-idle.png)
  • dropboxstatus-busy.png (dropboxstatus-busy.png)
  • dropboxstatus-busy2.png (dropboxstatus-busy2.png)
  • dropboxstatus-x.png (dropboxstatus-x.png)

Solution 2:

If you disable compositing and then do a restart, the icon shows up in the tray bar. Sadly, that's not a solution for me, as I need compositing.

To disable compositing in Xubuntu 14.04:

  • Go to "All settings" and click on "Window manager tweaks":

enter image description here

  • Go to the tab "Compositor"
  • Uncheck the "Enable display compositing" option

enter image description here

PS: I should've probably added this in the comments instead, but I cannot comment yet, not enough rep. points (stupid rule).

Solution 3:

This is an automated version of sharky's answer. First, create a script called fix-dropbox-icons:

#!/bin/bash
find $HOME/.dropbox-dist/ -name '*.png' -exec \
    convert \{} -background '#000000' -alpha remove \{} \;

If your background is some color other than black then adcjust the #000000 bit accordingly. Don't forget to chmod +x this script.

In your startup (.xsession, .Xinit, .i3/config, DE settings... depends on your setup) make it run this script at startup/login. If dropbox updates and restarts while you're logged in the icon will be temporarily messed up, but the next time you log in it should be fixed again.