diff --git a/NOTICES b/NOTICES
index d4a3c32..253a0c4 100644
--- a/NOTICES
+++ b/NOTICES
@@ -31,8 +31,12 @@ File watching (CC0-1.0)
notify 8.2.1, futures-lite 2.6.1 / futures 0.3 (Apache-2.0 OR MIT)
Icons
- The application icon (assets/io.github.barscn.Licoman.svg) is drawn for
- this project and distributed under the project license (MIT).
+ The application icon (assets/icons/hicolor) uses the Lucide "blocks"
+ symbol as its brand mark. Lucide is ISC-licensed; the license is
+ preserved alongside the logo source in
+ assets/icons/LUCIDE_LICENSE_ISC.txt (upstream: lucide.dev/icons/blocks).
+ The bundled Lucide icon set (gpui-kit assets) is likewise ISC-licensed
+ upstream.
No third-party component is modified; none embeds a network service, and
no dependency bundles proprietary code. The full machine-readable
diff --git a/assets/branding/mark/dark/licoman-mark-1024.png b/assets/branding/mark/dark/licoman-mark-1024.png
new file mode 100644
index 0000000..c77e207
Binary files /dev/null and b/assets/branding/mark/dark/licoman-mark-1024.png differ
diff --git a/assets/branding/mark/dark/licoman-mark-128.png b/assets/branding/mark/dark/licoman-mark-128.png
new file mode 100644
index 0000000..ce08f47
Binary files /dev/null and b/assets/branding/mark/dark/licoman-mark-128.png differ
diff --git a/assets/branding/mark/dark/licoman-mark-16.png b/assets/branding/mark/dark/licoman-mark-16.png
new file mode 100644
index 0000000..4b0d586
Binary files /dev/null and b/assets/branding/mark/dark/licoman-mark-16.png differ
diff --git a/assets/branding/mark/dark/licoman-mark-192.png b/assets/branding/mark/dark/licoman-mark-192.png
new file mode 100644
index 0000000..75040cd
Binary files /dev/null and b/assets/branding/mark/dark/licoman-mark-192.png differ
diff --git a/assets/branding/mark/dark/licoman-mark-20.png b/assets/branding/mark/dark/licoman-mark-20.png
new file mode 100644
index 0000000..5a4fff4
Binary files /dev/null and b/assets/branding/mark/dark/licoman-mark-20.png differ
diff --git a/assets/branding/mark/dark/licoman-mark-22.png b/assets/branding/mark/dark/licoman-mark-22.png
new file mode 100644
index 0000000..d38216c
Binary files /dev/null and b/assets/branding/mark/dark/licoman-mark-22.png differ
diff --git a/assets/branding/mark/dark/licoman-mark-24.png b/assets/branding/mark/dark/licoman-mark-24.png
new file mode 100644
index 0000000..3381a58
Binary files /dev/null and b/assets/branding/mark/dark/licoman-mark-24.png differ
diff --git a/assets/branding/mark/dark/licoman-mark-256.png b/assets/branding/mark/dark/licoman-mark-256.png
new file mode 100644
index 0000000..d508438
Binary files /dev/null and b/assets/branding/mark/dark/licoman-mark-256.png differ
diff --git a/assets/branding/mark/dark/licoman-mark-32.png b/assets/branding/mark/dark/licoman-mark-32.png
new file mode 100644
index 0000000..50259e4
Binary files /dev/null and b/assets/branding/mark/dark/licoman-mark-32.png differ
diff --git a/assets/branding/mark/dark/licoman-mark-36.png b/assets/branding/mark/dark/licoman-mark-36.png
new file mode 100644
index 0000000..d75038f
Binary files /dev/null and b/assets/branding/mark/dark/licoman-mark-36.png differ
diff --git a/assets/branding/mark/dark/licoman-mark-48.png b/assets/branding/mark/dark/licoman-mark-48.png
new file mode 100644
index 0000000..ccb29b3
Binary files /dev/null and b/assets/branding/mark/dark/licoman-mark-48.png differ
diff --git a/assets/branding/mark/dark/licoman-mark-512.png b/assets/branding/mark/dark/licoman-mark-512.png
new file mode 100644
index 0000000..5a95bc1
Binary files /dev/null and b/assets/branding/mark/dark/licoman-mark-512.png differ
diff --git a/assets/branding/mark/dark/licoman-mark-64.png b/assets/branding/mark/dark/licoman-mark-64.png
new file mode 100644
index 0000000..9c8487e
Binary files /dev/null and b/assets/branding/mark/dark/licoman-mark-64.png differ
diff --git a/assets/branding/mark/dark/licoman-mark-72.png b/assets/branding/mark/dark/licoman-mark-72.png
new file mode 100644
index 0000000..c54d48f
Binary files /dev/null and b/assets/branding/mark/dark/licoman-mark-72.png differ
diff --git a/assets/branding/mark/dark/licoman-mark-96.png b/assets/branding/mark/dark/licoman-mark-96.png
new file mode 100644
index 0000000..d276421
Binary files /dev/null and b/assets/branding/mark/dark/licoman-mark-96.png differ
diff --git a/assets/branding/mark/licoman-mark-dark.svg b/assets/branding/mark/licoman-mark-dark.svg
new file mode 100644
index 0000000..f212ca9
--- /dev/null
+++ b/assets/branding/mark/licoman-mark-dark.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/branding/mark/licoman-mark-light.svg b/assets/branding/mark/licoman-mark-light.svg
new file mode 100644
index 0000000..c8180bb
--- /dev/null
+++ b/assets/branding/mark/licoman-mark-light.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/branding/mark/licoman-mark-tintable.svg b/assets/branding/mark/licoman-mark-tintable.svg
new file mode 100644
index 0000000..462ccf7
--- /dev/null
+++ b/assets/branding/mark/licoman-mark-tintable.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/branding/mark/light/licoman-mark-1024.png b/assets/branding/mark/light/licoman-mark-1024.png
new file mode 100644
index 0000000..e5d11bc
Binary files /dev/null and b/assets/branding/mark/light/licoman-mark-1024.png differ
diff --git a/assets/branding/mark/light/licoman-mark-128.png b/assets/branding/mark/light/licoman-mark-128.png
new file mode 100644
index 0000000..3a29626
Binary files /dev/null and b/assets/branding/mark/light/licoman-mark-128.png differ
diff --git a/assets/branding/mark/light/licoman-mark-16.png b/assets/branding/mark/light/licoman-mark-16.png
new file mode 100644
index 0000000..73bbb18
Binary files /dev/null and b/assets/branding/mark/light/licoman-mark-16.png differ
diff --git a/assets/branding/mark/light/licoman-mark-192.png b/assets/branding/mark/light/licoman-mark-192.png
new file mode 100644
index 0000000..89b508b
Binary files /dev/null and b/assets/branding/mark/light/licoman-mark-192.png differ
diff --git a/assets/branding/mark/light/licoman-mark-20.png b/assets/branding/mark/light/licoman-mark-20.png
new file mode 100644
index 0000000..8ae56b8
Binary files /dev/null and b/assets/branding/mark/light/licoman-mark-20.png differ
diff --git a/assets/branding/mark/light/licoman-mark-22.png b/assets/branding/mark/light/licoman-mark-22.png
new file mode 100644
index 0000000..f109be1
Binary files /dev/null and b/assets/branding/mark/light/licoman-mark-22.png differ
diff --git a/assets/branding/mark/light/licoman-mark-24.png b/assets/branding/mark/light/licoman-mark-24.png
new file mode 100644
index 0000000..5679d73
Binary files /dev/null and b/assets/branding/mark/light/licoman-mark-24.png differ
diff --git a/assets/branding/mark/light/licoman-mark-256.png b/assets/branding/mark/light/licoman-mark-256.png
new file mode 100644
index 0000000..0464ab4
Binary files /dev/null and b/assets/branding/mark/light/licoman-mark-256.png differ
diff --git a/assets/branding/mark/light/licoman-mark-32.png b/assets/branding/mark/light/licoman-mark-32.png
new file mode 100644
index 0000000..34fb724
Binary files /dev/null and b/assets/branding/mark/light/licoman-mark-32.png differ
diff --git a/assets/branding/mark/light/licoman-mark-36.png b/assets/branding/mark/light/licoman-mark-36.png
new file mode 100644
index 0000000..7103306
Binary files /dev/null and b/assets/branding/mark/light/licoman-mark-36.png differ
diff --git a/assets/branding/mark/light/licoman-mark-48.png b/assets/branding/mark/light/licoman-mark-48.png
new file mode 100644
index 0000000..cc0d896
Binary files /dev/null and b/assets/branding/mark/light/licoman-mark-48.png differ
diff --git a/assets/branding/mark/light/licoman-mark-512.png b/assets/branding/mark/light/licoman-mark-512.png
new file mode 100644
index 0000000..65e26d8
Binary files /dev/null and b/assets/branding/mark/light/licoman-mark-512.png differ
diff --git a/assets/branding/mark/light/licoman-mark-64.png b/assets/branding/mark/light/licoman-mark-64.png
new file mode 100644
index 0000000..42e356c
Binary files /dev/null and b/assets/branding/mark/light/licoman-mark-64.png differ
diff --git a/assets/branding/mark/light/licoman-mark-72.png b/assets/branding/mark/light/licoman-mark-72.png
new file mode 100644
index 0000000..ef3f5fb
Binary files /dev/null and b/assets/branding/mark/light/licoman-mark-72.png differ
diff --git a/assets/branding/mark/light/licoman-mark-96.png b/assets/branding/mark/light/licoman-mark-96.png
new file mode 100644
index 0000000..102c50e
Binary files /dev/null and b/assets/branding/mark/light/licoman-mark-96.png differ
diff --git a/assets/icons/LUCIDE_LICENSE_ISC.txt b/assets/icons/LUCIDE_LICENSE_ISC.txt
new file mode 100644
index 0000000..b70071e
--- /dev/null
+++ b/assets/icons/LUCIDE_LICENSE_ISC.txt
@@ -0,0 +1,15 @@
+ISC License
+
+Copyright (c) 2026 Lucide Icons and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/assets/icons/hicolor/1024x1024/apps/io.github.barscn.Licoman.png b/assets/icons/hicolor/1024x1024/apps/io.github.barscn.Licoman.png
new file mode 100644
index 0000000..ff87b91
Binary files /dev/null and b/assets/icons/hicolor/1024x1024/apps/io.github.barscn.Licoman.png differ
diff --git a/assets/icons/hicolor/128x128/apps/io.github.barscn.Licoman.png b/assets/icons/hicolor/128x128/apps/io.github.barscn.Licoman.png
index b07e581..51d9d1e 100644
Binary files a/assets/icons/hicolor/128x128/apps/io.github.barscn.Licoman.png and b/assets/icons/hicolor/128x128/apps/io.github.barscn.Licoman.png differ
diff --git a/assets/icons/hicolor/16x16/apps/io.github.barscn.Licoman.png b/assets/icons/hicolor/16x16/apps/io.github.barscn.Licoman.png
new file mode 100644
index 0000000..79d542b
Binary files /dev/null and b/assets/icons/hicolor/16x16/apps/io.github.barscn.Licoman.png differ
diff --git a/assets/icons/hicolor/192x192/apps/io.github.barscn.Licoman.png b/assets/icons/hicolor/192x192/apps/io.github.barscn.Licoman.png
new file mode 100644
index 0000000..25768d1
Binary files /dev/null and b/assets/icons/hicolor/192x192/apps/io.github.barscn.Licoman.png differ
diff --git a/assets/icons/hicolor/20x20/apps/io.github.barscn.Licoman.png b/assets/icons/hicolor/20x20/apps/io.github.barscn.Licoman.png
new file mode 100644
index 0000000..b9e6310
Binary files /dev/null and b/assets/icons/hicolor/20x20/apps/io.github.barscn.Licoman.png differ
diff --git a/assets/icons/hicolor/22x22/apps/io.github.barscn.Licoman.png b/assets/icons/hicolor/22x22/apps/io.github.barscn.Licoman.png
new file mode 100644
index 0000000..1e70431
Binary files /dev/null and b/assets/icons/hicolor/22x22/apps/io.github.barscn.Licoman.png differ
diff --git a/assets/icons/hicolor/24x24/apps/io.github.barscn.Licoman.png b/assets/icons/hicolor/24x24/apps/io.github.barscn.Licoman.png
new file mode 100644
index 0000000..c624784
Binary files /dev/null and b/assets/icons/hicolor/24x24/apps/io.github.barscn.Licoman.png differ
diff --git a/assets/icons/hicolor/256x256/apps/io.github.barscn.Licoman.png b/assets/icons/hicolor/256x256/apps/io.github.barscn.Licoman.png
index fdb00a4..a931091 100644
Binary files a/assets/icons/hicolor/256x256/apps/io.github.barscn.Licoman.png and b/assets/icons/hicolor/256x256/apps/io.github.barscn.Licoman.png differ
diff --git a/assets/icons/hicolor/32x32/apps/io.github.barscn.Licoman.png b/assets/icons/hicolor/32x32/apps/io.github.barscn.Licoman.png
new file mode 100644
index 0000000..67a9e81
Binary files /dev/null and b/assets/icons/hicolor/32x32/apps/io.github.barscn.Licoman.png differ
diff --git a/assets/icons/hicolor/36x36/apps/io.github.barscn.Licoman.png b/assets/icons/hicolor/36x36/apps/io.github.barscn.Licoman.png
new file mode 100644
index 0000000..e56b0ba
Binary files /dev/null and b/assets/icons/hicolor/36x36/apps/io.github.barscn.Licoman.png differ
diff --git a/assets/icons/hicolor/48x48/apps/io.github.barscn.Licoman.png b/assets/icons/hicolor/48x48/apps/io.github.barscn.Licoman.png
new file mode 100644
index 0000000..a445b89
Binary files /dev/null and b/assets/icons/hicolor/48x48/apps/io.github.barscn.Licoman.png differ
diff --git a/assets/icons/hicolor/512x512/apps/io.github.barscn.Licoman.png b/assets/icons/hicolor/512x512/apps/io.github.barscn.Licoman.png
new file mode 100644
index 0000000..98294bd
Binary files /dev/null and b/assets/icons/hicolor/512x512/apps/io.github.barscn.Licoman.png differ
diff --git a/assets/icons/hicolor/64x64/apps/io.github.barscn.Licoman.png b/assets/icons/hicolor/64x64/apps/io.github.barscn.Licoman.png
new file mode 100644
index 0000000..2491721
Binary files /dev/null and b/assets/icons/hicolor/64x64/apps/io.github.barscn.Licoman.png differ
diff --git a/assets/icons/hicolor/72x72/apps/io.github.barscn.Licoman.png b/assets/icons/hicolor/72x72/apps/io.github.barscn.Licoman.png
new file mode 100644
index 0000000..8f16ac5
Binary files /dev/null and b/assets/icons/hicolor/72x72/apps/io.github.barscn.Licoman.png differ
diff --git a/assets/icons/hicolor/96x96/apps/io.github.barscn.Licoman.png b/assets/icons/hicolor/96x96/apps/io.github.barscn.Licoman.png
new file mode 100644
index 0000000..7320560
Binary files /dev/null and b/assets/icons/hicolor/96x96/apps/io.github.barscn.Licoman.png differ
diff --git a/assets/icons/hicolor/scalable/apps/io.github.barscn.Licoman.svg b/assets/icons/hicolor/scalable/apps/io.github.barscn.Licoman.svg
index 295072b..b24fa07 100644
--- a/assets/icons/hicolor/scalable/apps/io.github.barscn.Licoman.svg
+++ b/assets/icons/hicolor/scalable/apps/io.github.barscn.Licoman.svg
@@ -1,20 +1 @@
-
-
+
\ No newline at end of file
diff --git a/crates/ui/src/brand.rs b/crates/ui/src/brand.rs
new file mode 100644
index 0000000..91ea466
--- /dev/null
+++ b/crates/ui/src/brand.rs
@@ -0,0 +1,18 @@
+//! Brand assets — the Licoman "Modular L" mark.
+//!
+//! The mark is the Lucide `blocks` glyph (ISC-licensed; see
+//! `assets/icons/LUCIDE_LICENSE_ISC.txt` and `NOTICES`). The tintable SVG
+//! draws with `currentColor`, so it follows the icon's `text_color`.
+
+use gpui_kit::component::Icon;
+
+/// The tintable brand mark, embedded at compile time from the logo set.
+const MARK_TINTABLE: &[u8] = include_bytes!(concat!(
+ env!("CARGO_MANIFEST_DIR"),
+ "/../../assets/branding/mark/licoman-mark-tintable.svg"
+));
+
+/// The brand mark as a tintable icon sized to the surrounding text.
+pub fn brand_mark() -> Icon {
+ Icon::default().data(MARK_TINTABLE)
+}
diff --git a/crates/ui/src/lib.rs b/crates/ui/src/lib.rs
index 4e356e8..4be1e2b 100644
--- a/crates/ui/src/lib.rs
+++ b/crates/ui/src/lib.rs
@@ -7,6 +7,7 @@
pub mod actions;
pub mod app_state;
+pub mod brand;
pub mod environment_watch;
pub mod gsettings_watch;
pub mod settings_watch;
diff --git a/crates/ui/src/ui/main_window.rs b/crates/ui/src/ui/main_window.rs
index a55ba19..caab362 100644
--- a/crates/ui/src/ui/main_window.rs
+++ b/crates/ui/src/ui/main_window.rs
@@ -1803,10 +1803,7 @@ impl Render for MainWindow {
h_flex()
.gap_2()
.items_center()
- .child(
- Icon::new(gpui_kit::assets::IconName::SlidersHorizontal)
- .text_color(theme.primary),
- )
+ .child(crate::brand::brand_mark().text_color(theme.primary))
.child(
div()
.text_size(px(metrics::TEXT_LABEL))
diff --git a/docs/design/brand.md b/docs/design/brand.md
index 877c779..8480d4a 100644
--- a/docs/design/brand.md
+++ b/docs/design/brand.md
@@ -10,12 +10,14 @@
"Requires permission", "Changed outside Licoman". Never celebratory or
alarmist. Copy explains effect, scope, restart, permission and whether a
value is currently saved.
-- **Icon direction:** an L-shaped monogram integrated with two or three small
- slider tracks, legible at 16–128 px in light and dark. A generic gear is
- explicitly avoided as the only identifying shape. **Status:** not drawn in
- Phase 01; the header uses a neutral `sliders-horizontal` glyph as a
- placeholder and no application icon is bundled. Icon approval is a separate
- visual gate (per the plan, vector/license-clean, no distro logos, no
- mascots, no heavy gradients).
+- **Icon direction:** the Lucide `blocks` glyph — three connected outlined
+ squares making an L, plus one detached square — as the "Modular L" brand
+ mark. Approved 2026-11-05 (logo package: dark cobalt `#8AB4FF` outline on
+ dark canvas for the app icon, deep blue `#255FD4` for light appearance;
+ transparent marks for in-app use). Source of truth lives outside the repo;
+ the repo carries the rendered set under `assets/icons/hicolor` (16–1024 px
+ PNGs + scalable SVG) and `assets/branding/mark`. The mark is the pre-existing
+ Lucide `blocks` icon (ISC); see `assets/icons/LUCIDE_LICENSE_ISC.txt` and
+ `NOTICES`.
- **What Licoman is not:** not a web dashboard, not a GNOME/KDE clone, not a
replacement for the desktop's own settings daemon.
diff --git a/packaging/licoman/PKGBUILD b/packaging/licoman/PKGBUILD
index c0d0597..46b028a 100644
--- a/packaging/licoman/PKGBUILD
+++ b/packaging/licoman/PKGBUILD
@@ -85,10 +85,10 @@ package() {
_icon=assets/icons/hicolor
install -Dm644 "$_icon/scalable/apps/io.github.barscn.Licoman.svg" \
"$pkgdir/usr/share/icons/hicolor/scalable/apps/io.github.barscn.Licoman.svg"
- install -Dm644 "$_icon/128x128/apps/io.github.barscn.Licoman.png" \
- "$pkgdir/usr/share/icons/hicolor/128x128/apps/io.github.barscn.Licoman.png"
- install -Dm644 "$_icon/256x256/apps/io.github.barscn.Licoman.png" \
- "$pkgdir/usr/share/icons/hicolor/256x256/apps/io.github.barscn.Licoman.png"
+ for _size in 16 20 22 24 32 36 48 64 72 96 128 192 256 512 1024; do
+ install -Dm644 "$_icon/${_size}x${_size}/apps/io.github.barscn.Licoman.png" \
+ "$pkgdir/usr/share/icons/hicolor/${_size}x${_size}/apps/io.github.barscn.Licoman.png"
+ done
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
install -Dm644 NOTICES "$pkgdir/usr/share/licenses/$pkgname/NOTICES"
install -dm755 "$pkgdir/usr/share/doc/$pkgname"