notedeck

One damus client to rule them all
git clone git://jb55.com/notedeck
Log | Files | Refs | README | LICENSE

commit 18eba128f62dbdbbb873b3ed5d3fc955664054c9
parent 50f38b00a89193def256e8f2f45f7017657e9d86
Author: William Casarin <jb55@jb55.com>
Date:   Tue, 26 Nov 2024 13:13:10 -0800

set app icon to damus logo

Signed-off-by: William Casarin <jb55@jb55.com>

Diffstat:
Aassets/damus.ico | 0
Aassets/damus.svg | 184+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aassets/damus_rounded_256.png | 0
Dassets/icon-1024.png | 0
Dassets/icon-256.png | 0
Dassets/icon_ios_touch_192.png | 0
Dassets/maskable_icon_x512.png | 0
Msrc/app_creation.rs | 13++++++++++++-
8 files changed, 196 insertions(+), 1 deletion(-)

diff --git a/assets/damus.ico b/assets/damus.ico Binary files differ. diff --git a/assets/damus.svg b/assets/damus.svg @@ -0,0 +1,184 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="256mm" + height="256mm" + viewBox="0 0 256 256" + version="1.1" + id="svg5" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + sodipodi:docname="damus.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview7" + pagecolor="#ffffff" + bordercolor="#000000" + borderopacity="0.25" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:blackoutopacity="0.0" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="0.5946522" + inkscape:cx="406.11975" + inkscape:cy="491.88416" + inkscape:window-width="1920" + inkscape:window-height="1060" + inkscape:window-x="0" + inkscape:window-y="20" + inkscape:window-maximized="0" + inkscape:current-layer="svg5" + inkscape:showpageshadow="2" + inkscape:deskcolor="#d1d1d1" /> + <defs + id="defs2"> + <linearGradient + inkscape:collect="always" + id="linearGradient39361"> + <stop + style="stop-color:#0de8ff;stop-opacity:0.78082192;" + offset="0" + id="stop39357" /> + <stop + style="stop-color:#d600fc;stop-opacity:0.95433789;" + offset="1" + id="stop39359" /> + </linearGradient> + <inkscape:path-effect + effect="bspline" + id="path-effect255" + is_visible="true" + lpeversion="1" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <linearGradient + inkscape:collect="always" + id="linearGradient2119"> + <stop + style="stop-color:#1c55ff;stop-opacity:1;" + offset="0" + id="stop2115" /> + <stop + style="stop-color:#7f35ab;stop-opacity:1;" + offset="0.5" + id="stop2123" /> + <stop + style="stop-color:#ff0bd6;stop-opacity:1;" + offset="1" + id="stop2117" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2119" + id="linearGradient2121" + x1="10.067794" + y1="248.81357" + x2="246.56145" + y2="7.1864405" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient39361" + id="linearGradient39367" + x1="62.104473" + y1="128.78963" + x2="208.25758" + y2="128.78963" + gradientUnits="userSpaceOnUse" /> + </defs> + <g + inkscape:label="Background" + inkscape:groupmode="layer" + id="layer1" + sodipodi:insensitive="true"> + <rect + style="fill:url(#linearGradient2121);fill-opacity:1;stroke-width:0.264583" + id="rect61" + width="256" + height="256" + x="-5.3875166e-08" + y="-1.0775033e-07" + ry="0" + inkscape:label="Gradient" + sodipodi:insensitive="true" /> + </g> + <g + id="g407" + inkscape:label="Logo"> + <g + id="layer2" + inkscape:label="LogoStroke" + style="display:inline"> + <path + style="fill:url(#linearGradient39367);fill-opacity:1;stroke:#ffffff;stroke-width:10;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 101.1429,213.87373 C 67.104473,239.1681 67.104473,42.67112 67.104473,42.67112 135.18122,57.58146 203.25844,72.491904 203.25758,105.24181 c -8.6e-4,32.74991 -68.07625,83.33755 -102.11468,108.63192 z" + id="path253" /> + </g> + <g + inkscape:groupmode="layer" + id="layer3" + inkscape:label="Poly"> + <path + style="fill:#ffffff;fill-opacity:0.325424;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 67.32839,76.766948 112.00424,99.41949 100.04873,52.226693 Z" + id="path4648" /> + <path + style="fill:#ffffff;fill-opacity:0.274576;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 111.45696,98.998695 107.00758,142.60261 70.077729,105.67276 Z" + id="path9299" /> + <path + style="fill:#ffffff;fill-opacity:0.379661;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 111.01202,99.221164 29.14343,-37.15232 25.80641,39.377006 z" + id="path9301" /> + <path + style="fill:#ffffff;fill-opacity:0.447458;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 111.45696,99.443631 57.17452,55.172309 -2.89209,-53.17009 z" + id="path9368" /> + <path + style="fill:#ffffff;fill-opacity:0.20678;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 106.78511,142.38015 62.06884,12.68073 -57.17452,-55.617249 z" + id="path9370" /> + <path + style="fill:#ffffff;fill-opacity:0.244068;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 106.78511,142.38015 -28.47603,32.9254 62.51378,7.56395 z" + id="path9372" /> + <path + style="fill:#ffffff;fill-opacity:0.216949;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 165.96186,101.44585 195.7727,125.02756 182.64703,78.754017 Z" + id="path9374" /> + </g> + <g + inkscape:groupmode="layer" + id="layer4" + inkscape:label="Vertices"> + <circle + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path27764" + cx="106.86934" + cy="142.38014" + r="2.0022209" /> + <circle + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="circle28773" + cx="111.54119" + cy="99.221161" + r="2.0022209" /> + <circle + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="circle29091" + cx="165.90784" + cy="101.36163" + r="2.0022209" /> + </g> + </g> +</svg> diff --git a/assets/damus_rounded_256.png b/assets/damus_rounded_256.png Binary files differ. diff --git a/assets/icon-1024.png b/assets/icon-1024.png Binary files differ. diff --git a/assets/icon-256.png b/assets/icon-256.png Binary files differ. diff --git a/assets/icon_ios_touch_192.png b/assets/icon_ios_touch_192.png Binary files differ. diff --git a/assets/maskable_icon_x512.png b/assets/maskable_icon_x512.png Binary files differ. diff --git a/src/app_creation.rs b/src/app_creation.rs @@ -14,7 +14,10 @@ pub fn generate_native_options(paths: DataPath) -> NativeOptions { let builder = builder .with_fullsize_content_view(true) .with_titlebar_shown(false) - .with_title_shown(false); + .with_title_shown(false) + .with_icon(std::sync::Arc::new( + eframe::icon_data::from_png_bytes(app_icon()).expect("icon"), + )); if let Some(window_size) = AppSizeHandler::new(&paths).get_app_size() { builder.with_inner_size(window_size) @@ -25,6 +28,9 @@ pub fn generate_native_options(paths: DataPath) -> NativeOptions { eframe::NativeOptions { window_builder: Some(window_builder), + viewport: egui::ViewportBuilder::default().with_icon(std::sync::Arc::new( + eframe::icon_data::from_png_bytes(app_icon()).expect("icon"), + )), ..Default::default() } } @@ -41,6 +47,10 @@ fn generate_native_options_with_builder_modifiers( } } +pub fn app_icon() -> &'static [u8; 192739] { + std::include_bytes!("../assets/damus_rounded_256.png") +} + pub fn generate_mobile_emulator_native_options() -> eframe::NativeOptions { generate_native_options_with_builder_modifiers(|builder| { builder @@ -48,6 +58,7 @@ pub fn generate_mobile_emulator_native_options() -> eframe::NativeOptions { .with_titlebar_shown(false) .with_title_shown(false) .with_inner_size([405.0, 915.0]) + .with_icon(eframe::icon_data::from_png_bytes(app_icon()).expect("icon")) }) }