Releases: DynartInteractive/Pixee
Release list
Pixee 0.4.0
Linux packaging. Pixee can now be built and installed as a Flatpak, which
brings with it the desktop integration it never had on Linux: an app icon, a
launcher entry, and metadata for software centres.
This is a quiet release if you're on Windows — the only thing you'll notice is
that the window finally has an icon. The full feature and keyboard list lives in
README.
Flatpak
flatpak install flathub org.kde.Platform//6.11 org.kde.Sdk//6.11 org.flatpak.Builder
flatpak run org.flatpak.Builder --user --install --force-clean \
build packaging/net.dynart.Pixee.yml
flatpak run net.dynart.PixeeThe manifest builds from the working tree, so you don't need a tag or even a
commit to try one.
Pixee is not on Flathub yet. The packaging is done and verified, but
publishing needs a few things that aren't code — see
docs/flathub-requirements.md.
It reads more formats than the native build
The Flatpak runs on the KDE runtime, which bundles kimageformats. So it opens
HEIC/HEIF, AVIF, JPEG XL, PSD/PSB, XCF, KRA, ORA, DDS, QOI and SVG with no
extra work — the plugin juggling the Windows build needs
(docs/windows-extra-image-formats.md) has no
equivalent here. It's the single biggest practical difference between the two.
What the sandbox changes
A Flatpak runs confined, and three things follow from that:
- Pixee asks for full filesystem access, because it's a file manager for
images — it browses your folders with its own tree and moves files between
them. The alternative sandbox mechanism hands over one file at a time, which
can't express that. - It keeps its own data under
~/.var/app/net.dynart.Pixee/, separate from
a native install's. - "Open with" uses your desktop's application chooser instead of Pixee's own
configurable program list. Inside a sandbox the programs on that list aren't
reachable, so the desktop has to make the handoff.
The Linux data folder moved
Pixee's thumbnail cache and user themes now live in the standard location —
~/.local/share/Dynart/Pixee instead of ~/.pixee.
You don't have to do anything: your existing cache is carried across the first
time you run 0.4.0, so you keep the thumbnails you already have, and a user
theme left in ~/.pixee/themes/ still works.
Windows is unchanged — it keeps ~/.pixee, where existing installs already
look.
The reason for the split is the Flatpak. It's granted access to your real home
so it can browse it, which means a path built from "your home folder" would
write into your actual home rather than the app's own storage. The standard
location resolves correctly in both cases.
Installing from source on Linux
make install now follows the normal freedesktop layout under a configurable
prefix, so a build lands where a Linux system expects it — binary in bin/,
themes in share/pixee/, and the icon, launcher entry and metadata in their
usual places:
qmake PREFIX=/usr/local Pixee.pro
make
sudo make installPreviously the only install rule put the binary in /opt/Pixee/bin and left the
themes behind entirely.
For contributors
docs/flatpak.md— the technical reference: what the sandbox
changes about the app, which permissions it asks for and why, which linter
errors are expected, and how to cut a release Flathub can build.docs/flathub-requirements.md— the submission
checklist.
Pixee 0.3.0
Colour adjustment and a live histogram. Two new docks join Metadata in the
right-hand column, and the viewer grows a proper non-destructive editing layer
on top of the rotate / flip / crop it already had.
Everything from 0.1.0 and 0.2.0 is still here — this page covers what changed.
The full feature and keyboard list lives in README.
Colour adjustment
Adjust dock (View → Adjust, or Edit ▸ Adjust colours… in the viewer) —
live sliders for brightness, contrast, saturation, hue and gamma, applied to
the image as you drag. Hue runs ±180°, gamma 0.25–4.0, the rest ±100.
These are not baked pixels. Rotate, flip and crop bake — they are one-shot
transforms. A slider is not: re-applying "+5 brightness" to an already
brightened image on every mouse-move would compound and quietly destroy detail,
and dragging back to zero would leave you somewhere other than where you
started. So Pixee keeps the adjustment as a description and recomputes from
the original pixels every time it changes. Three things fall out of that:
- Dragging a slider back to zero restores the original exactly.
- Adjustments survive a rotation — rotate an adjusted image and the settings
stay put, because they are re-applied to the rotated pixels rather than being
stuck in them. - Hold
Bto see the unadjusted image for as long as you hold it.
Resetting — double-click any slider's label to reset just that row, or
Reset all for the lot.
It stays responsive on big files. The preview runs on a screen-resolution
proxy rather than the full image: a full pass over a 24 MP photo measures
174 ms, which is far too slow to drag against; the proxy does it in 15 ms.
Zooming past 1:1 falls back to full resolution, so inspecting detail
mid-adjustment stays sharp rather than going soft. The full-resolution pass
happens exactly once — when you save.
Saving — an adjustment counts as an unsaved edit, so File → Save
(Ctrl + S), Save As… (Ctrl + Shift + S) and the prompt when you navigate
away all cover it, the same as a crop or a rotation.
The panel is viewer-only and greys out while you are browsing, since
adjusting needs the full-resolution image.
Histogram
Histogram dock (View → Histogram) — RGB (additively blended, so
overlapping channels read as the colour they actually make) or luminance, an
optional log scale for when one flat expanse of sky would otherwise squash
everything else onto the axis, and a clipping readout giving the percentage
of the image pushed off each end.
In the viewer it reads the same pixels being painted, so it follows every
adjustment as you drag rather than lagging a step behind — watch the clipping
figures while you push contrast. It always covers the whole image, so panning
and zooming never reshape it.
While browsing it follows the file list instead: select a single image and
it reads that file off-thread, so a slow network share never stalls the list.
Select several, or none, and the graph empties rather than leaving the previous
image's distribution on screen looking like it belongs to the new selection.
Interface
The right-hand docks stack. Metadata, Adjust and Histogram now sit above one
another rather than as tabs, so an open histogram and an open metadata panel are
visible at the same time — which matters when the histogram is the thing you are
watching while you drag a slider. All three fit alongside the image at
1280×720, Pixee's baseline resolution.
Dark theme — the new panels' labels, spin boxes and drop-downs are themed
properly rather than falling back to near-black text on a dark background.
File operations
Del / Shift + Del with the folder tree focused deletes the folder
selected there — to the recycle bin or permanently — with the same confirmation
and task pipeline as the file list, then steps the selection up to the parent.
Ctrl + V with the folder tree focused pastes into the folder selected
there, rather than into the folder you happen to be browsing.
Fixed
Folders open scrolled to the top again. Qt re-roots a list view without
resetting its scroll offset, so a folder could open part-way down — or pinned to
its bottom when it was shorter than the one before it.
Getting it
- Installer —
Pixee-0.3.0-setup.exe. Bundles everything: the Qt runtime,
the VC++ runtime, HEIC / AVIF / PSD / XCF support, and the Exiv2 backend for
full EXIF / IPTC / XMP in the Metadata panel. - Portable —
Pixee-0.3.0-portable.zip. Same contents, unzip and run, no
installation needed. It still keeps its thumbnail cache in~/.pixeeand its
window/panel state in the registry, so it is not a no-trace build.
The installer is still unsigned, so SmartScreen will warn on first run —
choose More info → Run anyway.
Notes
Adjustments live for as long as you have the image open. Pixee does not keep
them in a sidecar file to re-apply later; save the result if you want to keep
it. Rotation still re-encodes the pixels — lossless orientation-only rotation
needs metadata write support, which the Exiv2 backend does not do yet.
Initial version
First versioned build — a pre-release snapshot shared with friends. Everything
below is the feature set as of this tag.
Browsing
- Folder browsing with a multi-drive root and async directory enumeration
off the GUI thread...always sorts first. On Linux and macOS (single drive)
the/row is hidden — the tree starts at the contents of/and Pixee opens
in your home folder unless a previous session or a command-line image says
otherwise; other volumes (/media,/mnt,/Volumes) stay reachable by
browsing. - Background re-scan on entry — entering a folder diffs it against disk in
the background, so files added or removed by another app appear without a
manualF5. - SMB-friendly — chunked file reads with cooperative abort, off-GUI
directory enumeration, and noQFileSystemModel/QFileDialogfor the
browser (both behave poorly on Windows network shares).
Thumbnails
- Thumbnail pipeline — local SQLite cache (WAL), a four-worker decode pool,
a viewport-driven priority queue (top-left → bottom-right), per-session
negative caching, and automatic background fill of the rest of the folder once
the visible cells are done. - Refresh thumbnail context-menu action (for images, and for folders — which
rebuild their index-image overlay) force-rebuilds a thumbnail from the file's
current bytes — the escape hatch for one cached while the file was still being
written (a long export). - Folder index thumbnails — the alphabetically-first image inside each folder
is auto-picked and overlaid on the folder icon (configurable margin / border /
vertical offset). The pick uses the same locale-aware, case-insensitive
ordering as the file list, so the overlay always matches the first cell you see
on entering the folder — and it stays alphabetical no matter how the list is
sorted.
Sorting
View → Sort byorders the file list by name, creation date, or
modification date, ascending or descending (two independent, sticky choices).
Folders stay grouped ahead of files and always sorted alphabetically A→Z (only
the files follow the chosen key/direction);..stays first regardless. The
folder tree and the folder index overlay are always name-sorted.
Viewer
- Integrated image viewer — async chunked loading with a cached-thumbnail
placeholder, fit / 1:1 / discrete zoom (0.1×–8×), pan withSpace + LMBor
middle-drag, 90° rotate,F11fullscreen, and a 5-image preload cache for
instant prev/next. - Pixel-art aware — nearest-neighbor upscaling for images smaller than the
cell, smooth scaling for downscaling. Transparent images render over a
configurable checker pattern.
Formats
- Format support for everything Qt's image plugins can decode — JPEG, PNG,
WebP, GIF, BMP, ICO — plus whatever extra plugins (HEIC, AVIF, PSD via
kimageformats, …) are installed against your Qt build. ICO files pick the
highest-area, highest-bit-depth sub-image.
File operations
- Copy / Cut / Paste / Move / Rename / Delete / New folder, batched through a
task pipeline with a modal conflict prompt (Skip / Rename / Overwrite). When a
batch finishes, the files it added to the current folder are selected and
scrolled into view (toggle in Settings).
Settings & languages
- Settings window (
Edit → Settings…) — a non-modal, always-on-top panel
with searchable settings (type to filter any label), grouped in an icon
sidebar, Save / Cancel. Currently: Select added files and Language. - Languages — English plus Hungarian / German / French / Spanish scaffolding;
pick one in Settings (restart to apply) or follow the OS locale. Untranslated
strings fall back to English.
Appearance
- Themable — Qt stylesheet (
style.qss) plus an INI for non-CSS values
(style.ini). User overrides drop in at~/.pixee/themes/<name>/. Dark theme
included.
Packaging (Windows)
- Portable build —
scripts\make-portable.batproduces a self-contained
folder + zip (HEIC/AVIF when built from an x64 Native Tools Command Prompt). - Installer —
scripts\build-installer.batwraps the portable into
dist\Pixee-<ver>-setup.exevia Inno Setup 6, registering Pixee in Explorer's
Open with… for the bundled image types. Currently unsigned (SmartScreen
warns on first run; Azure code-signing is documented for later). - Single-source versioning — the version lives in one place (
VERSION.txt)
and flows to the app (--version, Help → About), the.exefile-properties
resource, and the installer.