Obsidian window has no system icon (generic icon) on Linux — _NET_WM_ICON not set
There’s an existing report of the same symptom that got auto-locked after 90 days without a resolution: System icon not set on Linux: ttps://forum.obsidian.md/t/system-icon-not-set-on-linux/94655
Opening a new topic with the root cause identified, since I can no longer reply there.
I can confirm and reproduce this on Linux Mint 22.x / Xfce 4.18, Obsidian 1.13.7 (official AppImage from obsidianmd/obsidian-releases).
Symptom: The Obsidian window shows a generic/blank window icon in the taskbar/window list, even though the app itself launches and runs fine, and the .desktop launcher menu entry shows the correct icon.
Root cause (verified with xprop and libwnck): Obsidian’s window never sets _NET_WM_ICON (the EWMH property that carries the actual icon pixel data), nor a legacy WM_HINTS icon pixmap:
$ xprop -id <obsidian-window-id>
...
WM_CLASS(STRING) = "md.obsidian", "md.Obsidian"
WM_NAME(UTF8_STRING) = "..."
# no _NET_WM_ICON property present at all
# no WM_HINTS icon_pixmap present
Checking the window via libwnck (used by Xfce’s panel/tasklist, and by many other WMs) confirms it’s treated as a fallback icon:
w.get_icon_is_fallback() # -> True
libwnck only derives a window’s icon from _NET_WM_ICON / WM_HINTS set by the window itself — when neither is present, it does not consult the application’s .desktop file (Icon= / StartupWMClass=) at all, and falls straight through to a built-in generic icon. (This is different from GNOME Shell, which does its own .desktop-based window-to-app matching and can substitute a proper icon even without _NET_WM_ICON — which is likely why some users on GNOME don’t see this.)
As a proof of concept, manually injecting a _NET_WM_ICON property onto the already-running Obsidian window (small Xlib script, no changes to Obsidian itself) immediately fixes the taskbar icon:
w.get_icon_is_fallback() # -> False, after injecting _NET_WM_ICON
This confirms the generic icon is solely due to the missing _NET_WM_ICON/WM_HINTS icon on Obsidian’s own window — not a .desktop file or window-manager misconfiguration on the user’s side. The app’s own .desktop/AppImage metadata (WM_CLASS, bundled icon resources) are all correct and consistent.
Suggested fix: When creating the BrowserWindow on Linux, pass an icon option (pointing to a PNG already bundled in the AppImage under usr/share/icons/hicolor/*/apps/) so Electron/Chromium sets _NET_WM_ICON on the window. This is standard practice for Electron apps on Linux, and would fix the icon across all window managers that don’t do .desktop-based icon substitution (Xfce, i3, sway, etc.), not just this one report.
Debug info:
Reproduced in the default vault (with plugins) and also in a Sandbox Vault (Restricted mode on, no community plugins) — same generic icon in both, confirming this is unrelated to any plugin:
SYSTEM INFO:
Obsidian version: 1.13.7
Installer version: 1.13.4
Operating system: #137-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 17 20:28:23 UTC 2026 6.8.0-137-generic
Login status: not logged in
Language: ja
Insider build toggle: off
Live preview: on
Base theme: adapt to system
Community theme: none
Snippets enabled: 0
Restricted mode: on
RECOMMENDATIONS:
none