home.social

#egui — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #egui, aggregated by home.social.

fetched live
  1. > I've been working on a desktop #nostr remote signer app called #vador. Built with #rust and #egui. It is a secure encrypted vault for your nostr keys, and allows you to run #bunker (remote signer). You can configure preapproved event kinds so that you don't have to deal with approval requests.

    vador.codeberg.page/

    by gemini://bbs.geminispace.org/s

  2. I have #egui a try and it was not the experience I was hoping for.

  3. Derived new #Blossom features to #gossip / #YGGverse edition:

    1. Server aliases that skipping duplicated uploads to same server with different host / network (separated by space when upload servers are separated by row)
    2. Regex filter - skip some servers appending to message body (but keep in imeta)
    3. Auto-append extension to Blossom URLs from filename if server does not return it

    github.com/yggverse/gossip

    #Rust #nostr #egui

  4. EvertyDesk Lite: зачем мы написали свой RustDesk-совместимый клиент на Rust и добавили в него ИИ

    Всем привет! Меня зовут Артур Валиев. Недавно я уже рассказывал на Хабре о том, как мы собирали собственный RustDesk Pro при помощи патчей и кастомных сборок. Но со временем стало понятно, что нам тесно в рамках обычной кастомизации. Мы захотели пойти намного дальше. Начать стоит немного издалека. Почти пять лет я проработал в районной больнице. И если кто-то когда-либо занимался поддержкой медицинских учреждений, то прекрасно знает этот зоопарк инфраструктуры: старые компьютеры, терминальные серверы, виртуальные машины, Astra Linux, закрытые сети, ограничения безопасности и постоянная необходимость помогать пользователям удалённо. Тогда я постоянно мечтал об одном инструменте: простом удалённом клиенте, который запускался бы везде и не требовал танцев с бубном. Да и помогал мне избегать лишних выездов из теплой кровати. Прошли годы, и теперь мы наконец сделали именно такой инструмент. Так появился EvertyDesk Lite. Это полностью нативный клиент удалённого доступа на Rust и egui. Один бинарник. Без браузера внутри. Без Electron, flutter. Без десятков зависимостей. Без необходимости тянуть половину интернета через репозитории. Причём мы специально проектировали его так, чтобы он запускался даже там, где графический стек уже практически сдался. Astra Linux? РЕД ОС? Пожалуйста, старый марсианский корабль? Работает. Старая виртуалка без нормального OpenGL? Тоже запускается. Для таких случаев мы даже реализовали программную отрисовку интерфейса (Вполне достойную к тому же), чтобы клиент можно было открыть там, где аппаратное ускорение скорее мешает, чем помогает.

    habr.com/ru/articles/1042428/

    #Rust #RustDesk #удалённый_доступ #terminal #AI #системное_администрирование #open_source #egui #remote_desktop #DevOps

  5. 𝗙𝗲𝗿𝗿𝗶𝘁𝗲:

    #IDE #Markdown #YAML #TOML #JSON #EGUI #Ferrite

    thewhale.cc/posts/ferrite

    A fast, lightweight text editor for Markdown, JSON, YAML, and TOML files. Built with Rust and egui for a native, responsive experience.

  6. Ani-Gui

    codingotaku.com/projects/ani-g

    A modern, accessible GUI anime streaming client for Linux built with Rust and egui. Based on the popular ani-cli but with a native desktop interface.

    #Anime #Rust #Egui #Downloader

  7. Приложение real-time face swap на чистом Rust: ONNX Runtime, lock-free потоки и 60 кадров в секунду

    Большинство инструментов для замены лиц это Python-скрипты, склеенные из PyTorch, OpenCV и надежды. Они работают, но тащат за собой гигабайты зависимостей, требуют правильно настроенного CUDA и разваливаются в тот момент, когда ты пытаешься запустить их в реальном времени. Мне стало интересно: можно ли собрать весь пайплайн на чистом Rust? Без Python. Без PyTorch. Без обёрток. Один бинарник, который скачал, распаковал и запустил. Оказалось, можно. 60 fps на веб-камере. Пайплайн На каждом кадре последовательно отрабатывают четыре нейросети. RetinaFace находит лица и извлекает пять ключевых точек. ArcFace вычисляет 512-мерный эмбеддинг исходного лица. InSwapper принимает регион целевого лица и эмбеддинг источника, на выходе отдаёт заменённое лицо. GFPGAN опционально улучшает результат для более высокого качества. Все четыре модели работают через ONNX Runtime. Никаких кастомных CUDA-ядер, никакого оверхеда фреймворков. Тензор на вход, тензор на выход. Архитектура потоков Три потока, ноль блокировок на горячем пути. Поток захвата получает кадры с веб-камеры через nokhwa и публикует их через ArcSwap. Поток пайплайна подхватывает новые кадры, прогоняет инференс и публикует обработанные кадры через второй ArcSwap. Поток UI читает актуальный буфер и рендерит через egui. Никаких мьютексов на данных кадра. Никаких каналов. Никакого async. Только атомарные счётчики поколений и lock-free замена указателей. Структуры разделяемого состояния занимают ровно по 64 байта каждая и выровнены по кэш-линиям, чтобы исключить false sharing между ядрами. Это проверяется compile-time ассертами.

    habr.com/ru/articles/1024700/

    #Rust #ONNX #Machine_Learning #Computer_Vision #Face_Detection #egui #Open_Source #lockfree #multithreading #realtime

  8. EGUI's rendering has very nifty trick with the scheduled frames. Your widget can request render for example 500ms from now. Like the text cursor in a text field.

    It doesn't make a queue of requests, but keep only the next time it needs to render in memory. Suppose I render something 2ms from now, then the text widget will request render in 498ms from now. On every tick each widget schedules the next one, but latest only counts.

    #ImGui doesn't have this, and I wish it did!

    #Rust #Egui #GUI

  9. I am still developing my “grab a repo to build and run it” skills with #rust.
    On my (mostly up to date) MacOS boxes this is fairly straightforward, but trying to coax code into building and running successfully on older hardware (eg ten year old raspberry pi) is harder and I’m still working out which things to fiddle on Cargo.toml to adjust how things are built. #GLEW #egui #wgpu

  10. I got kind of annoyed by Joplin since its app is Electron-based on desktop (meaning 500+ MB of RAM use and a ~15 second startup time), so I made my own notes library called vhm [vulpine headmate] :blobfoxmlem:.

    I'm almost done with the first client for it, which is egui-based! As soon as it's finished I'm going to jump right into making an Android client so it's cross platform :D

    #rust #egui

  11. @notgull egui has a library that hooks into the accessibility tools to interact with the UI programmatically, and renders screenshots that you can commit to the repo to do regression tests in CI.

    github.com/emilk/egui/tree/mai

    #egui #rustlang #accessibility

  12. Finally got around to publishing DimAndDimmer.

    Linux (x11) brightness controls in the UI.

    Should anyone with my exact and specific use case need it!

    I'm no Linux, Rust for DDC/CI expert but it does what I need it to!

    #linux #rust #egui

  13. Finished up my monitor control UI for managing screen brigtness on Linux!

    It controls hardware brightness/contrast through DDC/CI (via ddcutil) and additional dimming on X11 (via xrandr) with a future plan for supporting Wayland.

    I could probably just put lamps in my office instead, but this was a fun way to explore!

    DimAndDimmer, coming to you soon.

    #rust #egui

  14. @pyro I'm going to paraphrase your post. Please correct me if I'm wrong.
    You've created a command-line tool (CLI) in #rust which takes JSON-file as input and creates a file which contains doom-palette. Now you want create a similar tool but with a graphical interface (GUI). Is that right?
    I've created a rust-GUI-application #egui in the past. And it works on Linux and Windows. Can you provide some kind of simple drawing how the GUI should look like?
    My project "Menu_PDF": chaos.social/@MadMike77/115656

  15. I needed something simple for controlling a #Kodi instance. The keyboard shortcuts that you think work, work. #egui #rust
  16. This my first Rust Egui desktop application. It allows to enter menu data and generates PDF output with typst-to-lib.

    The program ships as a single executable file. It saves the data as a plain-text INI-file. The PDF shows the same data with different layouts over several pages.

    Its build to spec for my wife and will be used at her workplace.

    #rustlang #egui #typst
    github.com/PJaros/menu_pdf

  17. GUI with 2 textboxes, 5 labels. Leaderboard is now, least memory usage first:

    - 47 MB Slint with software-renderer-systemfonts
    - 50 MB QT
    - 100 MB GPUI
    - 105 MB EGUI
    - 135 MB Slint with defaults

    #Rust #Slint #Qt #EGUI #GPUI

  18. Really painful, I want #Rust GUI toolkit for Wayland that minimizes memory usage. My UI is two textboxes and five labels, I don't want to use browsers.

    #EGUI = 105MB of memory
    #GPUI with GPUI-components = 100MB of memory

    However running Smithay example Wayland window takes only 2MB of memory! But it is not toolkit, it doesn't have textboxes etc.

    If toolkit uses already over 100MB of memory, it feels like I could just use webview, sigh.

  19. pw-videomix v0.5.0 - a video synthesizer / mixer

    "Transform Filter"

    - Added transform nodes to change aspect ratio, size, background color, position, rotation (centered & off-centered) and reflections.

    - Enhanced the kaleidoscope filter with many more variables as well as p2, p4 and pm symmetry.

    ... more in the changelog

    Try it out here:
    gitlab.freedesktop.org/AdeptVe

    (There is no binary available anymore.)

    #rust #rustlang #vulkan #egui #winit #opensource #freesoftware #creativecoding #art

  20. Now you can create your own game UI or world textures with Ratatui! 🐀

    🧊 **soft_ratatui** — Pure software renderer.

    🚀 Perfect for embedding TUI widgets anywhere.

    🦀 No terminal or GPU needed, just Rust!

    ⭐ GitHub: github.com/gold-silver-copper/