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"