D4no0
I currently have some free time and looking to create a library for elixir. The thing that always hold me back is trying to come up with an idea of a library that could be truly useful in elixir, I want to avoid creating a library for the sake of it. The things I am looking for are:
- The library should be lacking from elixir/erlang or must be re-implemented from the scratch: I don’t want to create an elixir wrapper for an existing erlang library or maintain an already created library;
- The library should be used: this points to the thing previously mentioned, I don’t want to create a library for the sake of writing some code;
- The library should make sense in elixir ecosystem: I want to avoid creating a library that would have no place in elixir ecosystem.
If you have any interesting ideas, let me know.
Trending in Discussions
Hey there,
It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Hi everyone!
The first release candidate for the Expert language server project is now available!
We’ve published a press release detai...
New
A little off-topic, but I feel like people here have a good head on their shoulders.
I used to be quite good at making software. Was luc...
New
I’ve been using Emacs as my main code editor for more than a two years. It’s a custom build version although I’ve tried doom emacs and sp...
New
Hi there! :wave:
@frigidcode and I (but mostly him) have been running an Elixir Book club, we’re almost done with Designing Elixir Syste...
New
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with.
But I don’t use it anymore.
Serverless was the promis...
New
Other Trending Topics
Edit: 2026 May 15 - This post is archived.
Mob is alive!!
Main docs: mob v0.7.11 — Documentation
A bit of explanation for the slightly c...
New
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
Hobbes is a low-level distributed database for the Elixir programming language.
Hobbes provides a simple, safe, and scalable storage lay...
New
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Just published claude-code-elixir, a plugin marketplace for Claude Code with Elixir support. These are the plugins I’ve been using for my...
New
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ai
- #ecto-query
- #elixirconf-us
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #metaprogramming
- #hex











Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
Eiji
There is lots of place around
sceniclibrary.scenicitself focus on embedded devices, but allows to write “standard” desktop GUI applications. There are tons of topics here …Desktop integrations - every OS/Desktop Environment (Windows, KDE/Plasma, Gnome and so on) specific things like notifications, media control, panel progress notifier, tray icon, themes, icon themes, sound themes etc.
Non-DE/OS integrations - integration for everything which is not tray, panel, window manager etc. like custom sound effects, custom app’s OS-independent and custom themed notifications, detecting the type of hardware, its temperature and so on …
from custom pickers up to office (word, excel etc.) components, equivalent to
core_componentsinPhoenixwould be amazing, ability to easily stylize app to bootstrap or other css framework could be interesting to many existing web projects as wellI even saw some simple 2D games in it, so maybe some simple game engines for easily creating card games or something like that
and literally thousands of other ideas. We don’t have much
Elixirin desktopGUIand even less of those are really popular.Why? Just for example
livebook.dev- they have onlyWindowsandMacversions. Having ascenic-based would give us one project compilable forWindows,MacandLinuxat least.D4no0
To be fair I had plans in the past of working on scenic, and it totally went under my radar now.
I wanted to create a backend for OpenGL ES, so I could run a full render pipeline on Android. In my vision elixir and OTP are vastly superior to any development solutions currently available. gogl even tries now hard to make their shitty jvm they use on android have some fault tolerance capabilities.
The point that stopped me from investing any more time into this are gogl shady practices, they roll updates that try to tight down the usage of native binaries, even to this moment the only way to deploy and use binaries is to mask them as so libraries and symlink them at runtime.
If we take android out of the question, the next question is why would someone use
scenicor a library built on top of it, instead of a library that renders a browser natively likeelixir-desktop? For example the original use-case scenic is used for, on embedded devices, makes perfect sense.Eiji
Well … I think that it would be as big change as
Elixirwas for me. Now when I have a repeating task that I don’t want to do once and once I’m simply writing a single file tinyElixirscript (rarely close to 100 LOC). I spend on it extremely small amount of time and this is just amazing. Also even anecto-based script is pretty simple to do as I already posted some answers with them. I would love to have something like it inscenic.Look that in
KDE/Plasmathere are interesting scripts likekdialog:With a bit of love we could do something like:
We could either detect a current DE/OS theme or use custom. We could draw notifications or use a DE/OS one with integration. There are lots of possibilities to use such lib.
lud
Why not use wxwidgets?
D4no0
In general, interaction with OS sound like a nice idea, however the biggest question is how achievable is this cross-platform? You have Windows, Mac and linux that runs multiple desktop environments, each possibly having APIs conceptually different from each-other. The other question is the same as @lud, why not use wxwidgets that already is part of OTP, making a wrapper for wx is something I would like to avoid.
Eiji
Ok, but why we should use
Elixirthen when languages likeC++have a strong communities and tons of libraries aroundwxwidgets,Qt,GTK+,WinAPI,FLTKand others?wxwidgetsinerlangare only bindings. By knowing the assumptions ofscenicand read wx the erlang binding of wxWidgets — OTP 29.0.2 (wx 2.6) I really do not see the point of your question.dmarcoux
I’m definitely interested in helping out if you want some help. I also don’t really have an idea for a library since I’m fairly new to Elixir. I’ll be watching this thread.
Eiji
Those are completely different topics. First of all we can easily fetch tons of data about
themesand other things and use them when passing athemeoption. The integrations are completely different topic. Sure, at start they are DE/OS specific and later someone would write a wrapper with%Notification{…}struct and would render only supported fields or (as an alternative option) use a custom (draw) OS-independent notifications.The point of integrations is not having fully OS-independent app, but it’s about having an OS-independent app with an optional features enabled on runtime after detecting specific DE/OS. For example in KDE/Plasma tray icons are something completely different, but I really like the idea behind them. The developer should have ability to just create a “generic” tray icon or spend a bit more time to use library integrations and make his/her apps be more useful in specific DE/OS.
Well … If you really have no idea why not to use
wxwidgets(or any other framework) in long term then let’s give a simple example … Could you please add an option in setting that let’s user choose any theme including KDE ones? Have fun trying to dynamically “convert”Linuxconfiguration files toCSSfiles in different file structure.Look in
Elixirparsing aCSSand putting it’s values tostructis not a big deal. It’s even simpler for configuration files, but I really do not see an easy way to useQtthemes inGTK+orGTK+themes inQt. Now think that each GUI framework have not only different engines, but also they change across versions. I do not track everything in that topic, but I can imagine that some things inGTK+v4 are much simpler to do than inGTK+v3. Not every theme have it’s version for all otherGUIframework, but even if … Let’s say everything above is simpler than I think and everything could be done in 5 min …Now please guide me how to write a
KDE/Plasma(Qt 5 based) tray integration inwxwidgets? Most probably I would need a bindings forQtandKDElibraries as well and “somehow” make all of them work together without any issues. Then let’s go even deeper intoDebian-based system. Are they still onKDEversion3.xor did they already moved to4.xversion?That’s why importing
CSSor Linux configuration files into genericElixirstruct and pass it as an option to the library would make much more sense. BeforeElixirI never dreamed that there could be a library that in “5 min” of work would allow me to make all DE/OS themes importable. Now it’s only a matter of time/work on said library. Look that even the most configurable DE does not have an option to importGTK+themes. Having a truly DE/OS-independent apps with lots of integrations would be a killer feature for many end-users.They often wait years before someone would fork some project and write it in other GUI framework, so it would integrate well with their DE. In practice they just take a popular theme or looks for alternative apps or as above have inconsistent look and feel for literally long years. Isn’t only theme part enough convincing? What about tons of other parts of applications that as in
Elixirshouldn’t be touched by app developer as we have 10x less code in all other kind of projects.felix-starman
One that’s always been a small but annoying one is PDF manipulation (reading/updating) and writing that doesn’t rely on wkhtmltopdf.
There’s plenty of generation libraries, but not many, if any, that can do both.
For comparison I was imagining an equivalent to Hexapdf in the Ruby world: https://hexapdf.gettalong.org/
The negative is the PDF2.0 docs have to be bought (like $300 to the org that maintains them), but the 1.7 docs are freely available.
Hexapdf’s source is OO obviously but generally alright to read, but when I looked into it, the 1.7 docs for the spec aren’t too bad just… it’s a lot.
Separately, I also wanted to do HTML to PDF that didn’t require node. I lightly looked into wrapping a rust library, like calling the Servo core libraries that power Firefox, but when I last looked a couple years ago, I couldn’t find the right place.
LostKobrakai
There’s
weasyprint, which works well, though still needs calling into python.