diff --git a/frappe/desk/doctype/desktop_icon/desktop_icon.json b/frappe/desk/doctype/desktop_icon/desktop_icon.json index fe7bfb7585..21041a00c4 100644 --- a/frappe/desk/doctype/desktop_icon/desktop_icon.json +++ b/frappe/desk/doctype/desktop_icon/desktop_icon.json @@ -23,6 +23,7 @@ "link", "hidden", "restrict_removal", + "bg_color", "roles_tab", "roles" ], @@ -141,10 +142,16 @@ "fieldname": "restrict_removal", "fieldtype": "Check", "label": "Restrict Removal" + }, + { + "fieldname": "bg_color", + "fieldtype": "Select", + "label": "Background Color", + "options": "blue\ngray" } ], "links": [], - "modified": "2026-01-25 15:29:33.884930", + "modified": "2026-01-27 18:17:48.667070", "modified_by": "Administrator", "module": "Desk", "name": "Desktop Icon", diff --git a/frappe/desk/doctype/desktop_icon/desktop_icon.py b/frappe/desk/doctype/desktop_icon/desktop_icon.py index 03ab12e0aa..86dd014cde 100644 --- a/frappe/desk/doctype/desktop_icon/desktop_icon.py +++ b/frappe/desk/doctype/desktop_icon/desktop_icon.py @@ -24,6 +24,7 @@ class DesktopIcon(Document): from frappe.types import DF app: DF.Autocomplete | None + bg_color: DF.Literal["blue", "gray"] hidden: DF.Check icon_image: DF.Attach | None icon_type: DF.Literal["Link", "Folder", "App"] @@ -147,6 +148,7 @@ def get_desktop_icons(user=None, bootinfo=None): if not user_icons: fields = [ "label", + "bg_color", "link", "link_type", "app", diff --git a/frappe/public/js/frappe/ui/desktop_icon.html b/frappe/public/js/frappe/ui/desktop_icon.html index 28d3363b32..f11975cb49 100644 --- a/frappe/public/js/frappe/ui/desktop_icon.html +++ b/frappe/public/js/frappe/ui/desktop_icon.html @@ -12,7 +12,7 @@ {% } else { %} - {%= frappe.utils.desktop_icon(icon.label,"gray")%} + {%= frappe.utils.desktop_icon(icon.label, icon.bg_color || "gray") %} {% } %} {% if (!in_folder) { %}