gThumb 4.0 Alpha: A Complete Makeover with GTK4 and New Features
gThumb, the popular open-source image viewer and organizer, has undergone a massive transformation. The latest alpha release (version 4.0) isn't just a minor update—it's a complete rewrite in Vala, ported from GTK3 to GTK4 and libadwaita. The result is a visually striking interface that's almost unrecognizable from its predecessor. But the changes go deeper than looks: support for WEBP and PNG animations, JXL export, and a censor filter are now available. This article answers common questions about the overhaul, its features, and what it means for users.
What is the biggest change in gThumb 4.0 alpha?
The most noticeable shift is the visual redesign. By porting from GTK3 to GTK4 and adopting libadwaita, gThumb now sports a modern, sleek interface that integrates seamlessly with GNOME 42+ environments. The layout has been streamlined, with cleaner toolbars, more intuitive navigation, and a refreshed color scheme. However, this isn't just a cosmetic facelift—the underlying codebase was rewritten in Vala, improving performance and maintainability. While GTK4 alone doesn't guarantee a perfect look, the developers have clearly invested effort in leveraging libadwaita's components (like AdwHeaderBar and AdwNavigationView) to create a cohesive, polished experience. If you've used gThumb before, you'll find that the new version feels like a completely different application—faster, smoother, and far more pleasing to the eye.

What new file format support does gThumb 4.0 bring?
Version 4.0 adds support for WEBP animations and PNG animations (APNG). This means you can now view animated stickers, memes, or lightweight animations directly in gThumb without needing extra plugins or converters. Additionally, the app allows you to export images in the JXL (JPEG XL) format. JXL is a next-generation image codec that offers superior compression and quality compared to legacy formats like JPEG or PNG. For photographers and digital artists, this is a valuable addition—especially when sharing high-resolution images without sacrificing detail or file-size efficiency. Note that JXL support is for export only; importing JXL files may require additional system libraries. You can learn more about the censor filter below, which also leverages format improvements.
What is the censor filter in gThumb 4.0 and how does it work?
One of the standout features is the new censor filter, which lets you pixelate or blur specific parts of an image. Useful for anonymizing faces, license plates, or sensitive data, the filter works by selecting a region (rectangular or freeform) and applying adjustable levels of pixelation or Gaussian blur. The tool is non-destructive: you can tweak the opacity, blur radius, or pixelation block size before applying the effect permanently. This feature is ideal for bloggers, journalists, or anyone preparing screenshots for public sharing. Compared to third-party tools, having it built into an organizer streamlines the workflow. The censor filter is available in the editing toolbar (look for the “Censor” icon) and integrates with gThumb’s layer system. It works with all supported formats, including the newly added WEBP and APNG. For more on the format updates, see the previous section.
Is gThumb 4.0 ready for daily use?
Version 4.0 is currently in alpha, meaning it's feature-complete but may contain bugs, performance glitches, or incomplete translations. The developers explicitly label it as a “testing” build. While the core functionality—viewing, organizing, basic editing—works reasonably well on modern Linux distributions, you might encounter crashes when handling large image libraries, importing from cameras, or applying certain effects. The rewrite in Vala and the GTK4 port also mean that some plugins or extensions from the older version may not be compatible yet. If you rely on gThumb for mission-critical tasks, it's safer to stick with the stable 3.x series for now. But if you're eager to test the new interface and features (like the censor filter or JXL export), the alpha is available from the official GitHub releases.

How does the GTK4/libadwaita port affect performance?
The port to GTK4 and libadwaita introduces a more efficient rendering pipeline, especially for HiDPI displays and complex window layouts. The rewrite in Vala (compiled to native code) also reduces memory usage compared to the older GTK3 version written in C. Early benchmarks suggest a 15–25% decrease in launch time and smoother thumbnail generation for large folders. Animations (like scrolling through a gallery) feel more responsive thanks to GTK4’s improved frame clock. However, because this is an alpha, some heavy operations (e.g., batch processing thousands of images) may still cause occasional lag. The developers have noted that further optimization is planned before the stable release. Overall, the performance improvement is significant—enough to make the transition worthwhile even for users who were satisfied with the old version.
What was the motivation for rewriting gThumb in Vala?
The original gThumb was written in C using GTK3. Over time, maintaining C code for a complex image application became cumbersome—memory management, lack of modern language features, and limited tooling. The team chose Vala because it offers a high-level, object-oriented syntax while compiling to native C code, ensuring compatibility with GNOME’s ecosystem. Vala also provides better support for signals, types, and async operations, which simplifies UI updates and background tasks (like loading image metadata). Additionally, Vala integrates seamlessly with GTK4 and libadwaita’s API, making the port smoother. The rewrite wasn't just about aesthetics; it was about future-proofing the codebase, attracting more contributors, and enabling faster feature development. This decision aligns with GNOME’s trend of adopting Vala for new applications (e.g., GNOME Photos, Loupe).
Where can I download and test the gThumb 4.0 alpha?
The alpha build is available for testing on Linux distributions. You can grab the source code from the official GitHub releases page (look for tags like “4.0-alpha1”). If your distro packages pre-release software, you might find it in a PP or AUR repository (e.g., for Ubuntu/Pop!_OS: sudo add-apt-repository ppa:gnome3-team/gnome3-staging). Alternatively, you can compile it yourself—the repository includes detailed build instructions. Note that the alpha is not distributed via Flathub or Snap yet. For the best experience, use a recent GNOME 42 or 43 environment. If you’re not ready to switch, remember that the stable 3.x branch remains well-maintained. Feedback on the alpha can be submitted via GitHub issues or the GNOME Discourse forum.
Related Discussions