1
0
Fork
You've already forked systray-dark
1
No description
  • Shell 100%
2026年04月26日 17:50:27 +02:00
icon-modify.sh fix: fix typo in var name 2026年04月16日 07:14:27 -04:00
README.md README.md aktualisiert 2026年04月11日 06:53:49 +02:00

This script fixes the systray background color with Qubes OS dark themes (XFCE panel).

Note

Latest tests has been made with: Qubes OS 4.3 and Debian 13, Papirus icon set (20250501-1). There is a very high chance that it works with newer versions and with other svg (!) icon themes without any issues.

Credits for this workaround goes to renehoj, related post Qubes OS Forum: Improving white background systray icons for dark themes

Qubes OS GitHub issue: Make tray icon background color transparent instead of white https://github.com/QubesOS/qubes-issues/issues/2846 (open since 2017)

Keep in mind, there are two kind of icon formats, *.png (fixed pixel size) and *.svg. This script works only for svg-based icon themes.

How to use it?

Open a terminal in you template qube:

nano /home/user/icon-modify.sh

Go to the icon-modify.sh script, copy&paste the content of into and save (ctrl+o) your file.

chmod +x /home/user/icon-modify.sh
bash /home/user/icon-modify.sh

This script is made to be executed in the template qube but you can also simply modify it to run in an application qube by copying and changing the icons in /user/home/.local/share/icons/Papirus.

Debugging

If you are facing issues you can do some manual checks.

List all svg icons:

# If you do not use the Papirus icon theme you need to modify the
# icon directory: '/usr/share/icons/Papirus'. The subfolder
# 'panel' and keyword 'network' should be ok.
sudo find "/usr/share/icons/Papirus" -type d -name "panel" -exec find {} -maxdepth 1 -name "network*.svg" \;

Expected output: A list of all network*.svg files from the Papirus icon theme.

Check the svg file (before and after), i. e. network-wireless.svg:

cat /usr/share/icons/Papirus/22x22/panel/network-wireless.svg

Expected output (original):

<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" version="1.1">
 <defs>
 <style id="current-color-scheme" type="text/css">
 .ColorScheme-Text { color:#dfdfdf; } .ColorScheme-Highlight { color:#4285f4; } .ColorScheme-NeutralText { color:#ff9800; } .ColorScheme-PositiveText { color:#4caf50; } .ColorScheme-NegativeText { color:#f44336; }
 </style>
 </defs>
 <path d="m 2.9999998,6.9999996 c 2.0806,-1.9268 4.9494,-3 8.0000002,-3 3.051,0 5.919,1.0731 8,3 L 11,18 Z" style="fill:currentColor" class="ColorScheme-Text"/>
</svg>

Expected output (modified background colour):

<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" version="1.1">
<rect fill="#2F343F" width="22" height="22"/>
 <defs>
 <style id="current-color-scheme" type="text/css">
 .ColorScheme-Text { color:#dfdfdf; } .ColorScheme-Highlight { color:#4285f4; } .ColorScheme-NeutralText { color:#ff9800; } .ColorScheme-PositiveText { color:#4caf50; } .ColorScheme-NegativeText { color:#f44336; }
 </style>
 </defs>
 <path d="m 2.9999998,6.9999996 c 2.0806,-1.9268 4.9494,-3 8.0000002,-3 3.051,0 5.919,1.0731 8,3 L 11,18 Z" style="fill:currentColor" class="ColorScheme-Text"/>
</svg>

The part <rect fill="#2F343F" width="22" height="22"/> is responsible for the fixed background colouring.