Show HN: Electro – A hyper-fast Windows image viewer with a built-in terminal
17 comments
·February 24, 2025fsiefken
That's fast! It seems even faster then using mpv, even though you can't use it like this from the command line.
mpv *.jpeg --shuffle --loop-playlist --image-display-duration=2.0 --fullscreen
I remember, 30 years ago there were similar ultrafast image viewers for DOS, they didn't even need windows. I was partial to QPV/386, but there were others. Linux console has fim. It was great to be able to zoom and pan with the keyboard.
https://www.nongnu.org/fbi-improved/ https://www.oreilly.com/library/view/png-the-definitive/9781...
Tinos
Being able to launch Electro via CLI would be awesome! Never really done something like that - might have a look at implementing it (unless you want to contribute :^)
The project is in its infancy at the moment. Features like keyboard controls to zoom etc. are all on the table - I love when users give me all these ideas for where to take the project
roadbuster
> I was always so frustrated by how slow image viewers were on Windows
Irfanview was always my go-to for speed on Windows
Tinos
Loved Irfanview, switched to ImageGlass for aesthetics (hated the performance), switched back to Irfanview, hated how ancient it felt.
Electro aims to do what an image viewer should do best - show images. There aren't any UI elements when an image is first loaded - hence the hidden terminal (pack a lot of functionality without worrying about visual clutter).
I have been carefully thinking about the direction I want to take with UI elements. The goal was to build the fastest & most efficient image viewer. Will I achieve this through clickable UI elements? Through keybinds only? Through terminal? Only time and testing will tell.
The project is fresh out of the oven and ready to be moulded into whatever the community wants it to be. The two mantras Electro will always stand by are Performance & Efficiency.
Thanks for the thread - loved reading everyone's thoughts.
P.S JPEGView was by far my favourite but again, too ancient. I want something truly fresh and that was the goal of this project
haddonist
Try JPEGView - it is much faster than Irfanview for looking through a folder of images. Either preloads or has a better rendering engine, or both.
Make sure to get the currently supported fork, not the original.
mikepurvis
Same. Will be interested to try the new tool but it would take a lot to unseat Irfanview for me.
tacker2000
Another vote for Irfanview from me! Is there an app like this for MacOS?
textadventure
I share your frustration so I love that it is so fast/lightweight, cool project. I personally don't think I would have much use for a built-in terminal. I would just like for it to let you browse through whatever other images in the same folder from the image I opened with and be able to navigate it with the keyboard.
Images should also resize whenever the window is resized. Those two changes alone would make this very usable.
Tinos
Thanks for the constructive feedback - the folder feature is 100% coming soon, it was one of my favourite features from other viewers as well.
I'll create an issue for the resizing, good spot!
Feedback is always greatly appreciated :))
bdhcuidbebe
Cool! Any plans for linux/macOS?
I’m currently using oculante specifically for its speed, rust and cross platform.
Not sure this electro viewer is for me, as I see typescript and css frontend.
Tinos
Would absolutely love to get linux & macOS included. I don't own a mac so naturally that will need to be community contributed / wait until I cough up the money. Linux is 100% on the agenda.
Thanks for bringing Oculante to my attention - it looks awesome! That level of functionality is what I'm striving for (w/o as much UI clutter though).
I feel the TS & CSS pain. Electro v1.0 was C# WPF and very very very fast but the UI was just rubbish and I knew C# WPF would hold me back in the future. Electro v2.0 was then written in C++ but I didn't get far with it because I REALLY didn't like writing C++. Electro v3.0 was then written with Electron + TS + CSS but electron is shit. Finally, I landed where we are today - it struck the perfect balance of performant, modern language, fun to write, allowing for rapid iteration.
Will Electro stay with the TS+CSS+Tauri stack forever? Probably not! As the community grows I hope bring in contributors who are more well versed in the world of low-level image viewers to help guide Electro to be EVEN FASTER & closer to the system level (Like Electro v2.0 aimed to be w/ c++).
For the time being I've decided to just ship with what I have and iterations will come later. I do dream of the day we go frameworkless (to an extent ofc) and render everything from the GPU at nanosecond speeds while also maintaining the sleek feeling Electro currently has!
haddonist
Why does Electro make multiple web requests on startup? Why does it need to make any?
And forcing windows to make your app a default, without asking the user about it at install time - not cool.
Tinos
Hey! Appreciate the concern w/ web requests. If you look closely at the URL you'll notice that all the requests are to *.localhost addresses. This is just how Tauri's asset handling & IPC systems work - nothing to worry about :)
I've gone ahead and create a GitHub Issue about setting up a checkbox with the installer such that it doesn't force Electro as the default app. It's something I wanted to add pre-announcement but figured it wouldn't be as much of a requested feature as it clearly is, my bad.
Thanks for the feedback!
haddonist
Nope. Very first request it makes:
From: Microsoft Edge WebView2 To: 13.107.42.16:443 - Redmond, United States of America
(very handy tools, per-application firewalls..)
Tinos
Oh bloody hell of course Microsoft is pulling off stunts like this. Thanks for raising this, I'll have a look at what my options are to turn this off.
Tauri 2.0 was initially chosen because it would let me get an MVP out quickly to start getting user feedback (like your own). My end goal is to move to a custom renderer so I'm not relying on Chromium / WebView2. This will take many months of work I suspect (balancing with my FYP @ university & other projects).
nosmokewhereiam
Can you show others how you did this in a post? Truly neat
null
This is my first major OSS release! I was always so frustrated by how slow image viewers were on Windows so I built one from the ground up with Rust & Tauri v2.0!
Electro also has a very unique feature: a built-in terminal. I was always mesmerised by merging CLI tools with GUI based systems and this is my first go at it!
I have big plans on expanding the terminal functionality with built-in image editing commands, command chaining, file handling etc.