Welcome!
Gwenview is a fast and easy to use image viewer for KDE. For more information, have a look at the overview.News
Tagging and filtering images with Gwenview
Aurélien
- 2008.12.03
As promised in a previous blog post, here is a presentation about the new tagging system which will be part of the next Gwenview.
Since describing the various interactions is a bit difficult with plain screenshots, I decided to go for a screencast. This is my second one, and the first one where I actually speak.
Voice recording is a difficult art: I realized too late that I was not speaking loud enough. Even if I adjusted the audio gain afterward, it is still a good idea to push that slider volume up a bit if you want to understand what I am saying.
You will also probably realize this recording happened late in the night, after numerous failed attempts. Listening to it this morning, my voice sounds a bit sleepy
The good news is, I learned a few things in the process and added a few items to my “screencast howto” notes. Next one will be better!
So, without further ado, here it is:

Smaller fullscreen thumbnail bar
Aurélien
- 2008.11.19
While I was quite happy with the fullscreen
thumbnail bar introduced in Gwenview 2.1, the feedback I received made me
realize not everyone likes it.
I hope you will be happy to know that you can change this in KDE4.2. By default
it looks like this:
Clicking on the “Config” icon to show the fullscreen config page, you will
notice a new checkbox: “Show thumbnails”.
Unchecking the box reduce the fullsceen bar to this:
But you can go further. If you uncheck all the displayed metadata. You get
this:
That’s it, I hope you like it!

Gwenview, Nepomuk and rating
Aurélien
- 2008.10.29
Gwenview has always been file-system oriented, but with the advance of Nepomuk,
associating semantic information to your files is becoming more ubiquitous.
I started adding support for Nepomuk in Gwenview since KDE 4.1. It still needs
a lot of work, but it is becoming quite usable now. In this article I am going
to present how you can easily rate your images in Gwenview.
Sidebar
In the sidebar you can now see all Nepomuk information in the “Semantic
Information” group. This includes:
- Rating
- Description
- Tags (more on this in another article)
Browse mode
In browse mode, there is clickable rating stars below each thumbnail, making it
convenient to quickly rate images.
View mode
View mode is still about showing your image with a minimum distraction, so
there is no always-present rating widget. You can rate images through the
menu, using Edit > Rating, but it’s much more convenient to use the shortcut
keys: Press keys 0 to 5 to associate a rating value. When you press these keys
a rating indicator is shown over the images for a few seconds:
This makes it fast and easy to rate images while browsing for keyboard friendly
users: go fullscreen, press a key between 0 and 5 to rate image, press Space to
go to the next one, repeat.
Filtering
Rating images is interesting, but it is of marginal use unless you can filter
images to show only the highest rated ones. I am currently reworking the user
interface for this feature, but it is already possible to filter your folder:
in browse mode, click on the combobox in the bottom left of the window and
select “Filter by rating”. Now click on the rating widget to only show images
with a rating greater or equal to the rating you want.
Availability
Hopefully this will be available in KDE 4.2. Right now to give it a try you
need to build kdegraphics with the
-DGWENVIEW_SEMANTICINFO_BACKEND=Nepomuk
cmake option.

Red Eye Reduction
Aurélien
- 2008.09.26
A feature I wanted to add for a long time to Gwenview has just landed in SVN:
red eye reduction.
It’s (hopefully) simple to use. I made a screencast to demonstrate it:
The UI is quite inspired from iPhoto, I reused the widget style you can find in
the fullscreen bar.
The current algorithm is a modified version of a Paint.net plugin. As you can see in the screencast, it does not try to be smart: you need to point the eyes yourself. Nevertheless, it does a good job at fixing the pupil color while keeping the iris untouched.

Gwenview 1.4 status
Aurélien
- 2008.09.10
Since my hack time is quite limited, when I started to work on the KDE4 version of Gwenview I decided Gwenview 1.4 (the KDE3 version) would not get improved. Nevertheless, there has been a few fixes here and there, for example to ensure Gwenview 1.4 plays nicely with latest versions of the Exiv2 library (bug 167420).
Some translators are also active: I just applied a Russian translation update from Yaroslav Popovitch.
I do not plan to create new tarballs for now, so if you are interested in those updates, be sure to grab the code from the extragear-kde3 branch.

Faster JPEG loading in Gwenview 2.1
Aurélien
- 2008.06.29
I have been neglecting my communication duties with regard to Gwenview for a few weeks (who said “months”?). I have been busy coding instead, which is probably a good thing. Anyway, I will try to be a bit more chatty about changes happening in Gwenview.
Let’s start with a change which should please large image shooters: Faster JPEG loading.
If you ask the upcoming Gwenview 2.1 to display a 4000×3000 JPEG image to fit in your 1280×800 screen, it divides dimensions by two and load a 2000×1500 version of the image. This is much faster and less memory intensive. For bigger images, it may divide the dimensions by 4 or even 8.
I can hear some of you wondering, so let’s try to address some of the questions you may have:
- Doesn’t it look ugly?
- The result may look a little less sharper than if the full image has been loaded and scaled down, but my experience tend to prove this is only discernible when doing side by side comparisons.
- What happen when I zoom in?
- When you zoom in to the point where the reduced image is not big enough anymore, Gwenview will load a bigger version of it. If you were looking at a image reduced by 4, it will load an image reduced by 2, or the full image if it’s not enough.
- What happen when I make changes to the image and save it?
- Whenever you make changes to the image, Gwenview loads the full image, so that it can save the changes.
- Does it work with all images?
- No, for the moment only JPEG images can benefit from this. It should be possible to implement this for other formats though.
Implementation details
This system has been implemented using Qt facilities to load scaled down images, namely QImageReader::setScaledSize(). I had to wrote my own version of the JPEG decoder though, because Qt decoder was not aggressive enough in scaling down images.
I wrote a little bench program to compare both decoders. Give it a JPEG and it loads a scaled down version of it, two times, using both decoders. The target size is 1280×800. Here is some bench output:
./imageloadbench landscape-picture-2816x2112.jpg Using Qt loader Iteration: 0 Iteration: 1 time: 2615 Using Gwenview loader Iteration: 0 Iteration: 1 time: 1092 ./imageloadbench large-panoramic-image-21121x366.jpg Using Qt loader Iteration: 0 Iteration: 1 time: 24699 Using Gwenview loader Iteration: 0 Iteration: 1 time: 4424
As you can see, it’s more than two times faster on not-so-big images, and gets even more efficient on very large ones.
If you are interested in this bench program, you can find it in kdegraphics/gwenview/tests/imageloadbench.cpp. You have to run make imageloadbench to build it.

Thumbnail bars
Aurélien
- 2008.03.29
Zooming slider
Aurélien
- 2008.03.16
By popular request, I moved the zooming actions to Gwenview status bar and introduced a zooming slider, as can be seen on this shot:
The nice thing about this change is that it removes quite a few buttons from the default toolbar. I am still not sure whether I like it or not, and would like to prettify the “zoom to fit” and “actual size” buttons. I think the button icons should be more distinct: the only difference between the current ones is a 5×5 pixel square.
I will probably play with it a bit more later. Maybe going as far as implementing the mockup mentionned in this post by Jos.

Slowly coming back to business
Aurélien
- 2008.03.12
As you may remember, I have been trying to find a Qt/KDE-related, free-software-friendly job for a while. Unfortunately it didn’t work out, so I had to resign myself to look for a more ordinary position.
After publishing my resume on a popular french job website, I got literally overflowed by consulting companies willing to hire me. I had to take my resume down after three days in order to shut off the fire hose and prevent my answering machine from segfaulting.
Of course, it’s great to feel like everyone “wants me”, but it makes for exhausting weeks made of three or four interviews a day. And I am not talking about half-hour interviews: the average interview is two hours long, and requires you to meet two or three different people.
Now I am facing an interesting problem: which employer should I choose? This is a “good problem to have”, but it’s still a problem. Most of my potential employers are consulting companies, I am having a hard time trying to find out which one would be better than the others. Any hint on that?
On Gwenview side, I am slowly getting more active now that looking for a job is becoming less time-hungry. Today I improved zooming and scrolling by throwing away most of my previous code: it seems Qt image scaling has become fast enough that it’s no longer necessary to worry about threading it. It’s not finished yet, more on that later.
I also improved the way the thumbnail view reacts with regard to thumbnail generation and scrolling. From now on thumbnail generation stops when you start scrolling the view and resumes when you are done, generating thumbnails for the newly visible images. Hopefully I didn’t introduce any regression, feedback is welcomed!

Thanks Aaron
Aurélien
- 2008.02.09
Thank you Aaron for the very nice post about Gwenview. It’s true that I, mere mortal, can’t compete with your blogging rate :-). To answer one of the comments in Aaron post: In SVN, Gwenview does feature multiple undo/redo support. No need to fill a wishlist on b.k.o!










