Welcome!
Gwenview is a fast and easy to use image viewer for KDE. For more information, have a look at the overview.News
Back from All-hands + UDS Karmic
Aurélien
- 2009.06.02
Except for some (now considered) minor issue, All-hands and UDS Karmic were both amazing!
I came back exhausted, but I feel like I really know the company much better now. I am also very happy with the progress we made concerning the cooperation between Canonical Desktop Experience Team and the Kubuntu community. More on this soon hopefully…
Social events were great as well… my favorite moment is probably sebas, rgreening and me performing an interpretation of Barbie Girl at the karaoke… hopefully this was not recorded (I do not dare visiting youtube anymore)
I hacked a bit on some cool stuff too… First, I experimented with Solid to create a picture importer for Gwenview. You can find a proof of concept of this on github.
It’s very simple: it asks you for an event name, and then proceed to import all pictures to ~/photos/<year>/<event>/, renaming them according to the exif shoot date. When done it asks you whether you want to remove the pictures from the device. The final version will probably also give you the choice between importing all pictures or only a selection. This will be useful when you have pictures from multiple events.
It’s written with PyKDE right now, but I will probably have to rewrite it in C++ before integrating it in KDE.
I also hacked on another tool, but I’ll blog about this later…

Gwenview 2.3 Sidebar
Aurélien
- 2009.05.17
One of the most requested features for Gwenview 2 is bringing back the folder view. As I stated earlier, I worked on this feature for Gwenview 2.3.
It’s done now, I hesitated quite a bit on the way to integrate this view in the application, but I think it’s now ready to be presented.
I decided to split the sidebar in three tabs: “Folders”, “Information”, “Operations”. Doing it this way gives more space for information and operations. This means less scrolling to reach operations on a small screen, more space to show image information and the ability to enter Nepomuk description in a multi-line widget, rather than the single-line version from Gwenview 2.2.
Sidebar settings (which tab is current, whether the sidebar visible) depend on the mode: By default the sidebar is always visible. In browse mode the default tab is “Folder”, while in view mode it is “Information”. This is nice because the casual user gets access to decent navigation in browse mode and more information when viewing his images, while the power user is free to use whatever combination of sidebars configuration he prefers. Since the tabs are at the bottom of the sidebar, I believe they are less likely to be noticed by the casual user, so it shouldn’t be too surprising to have them “magically” switch when changing modes.
Here are screenshots of the sidebar, showing the different tabs:
Apart from the fact that Clara loves Mario Kart
, you may have noticed the folder view shows quite a few root items: it uses your “Places” list as root items, so you can easily start browsing from your prefered folders.
You may also have noticed the little arrow on the top of the sidebar splitter. I was never happy about the “Show/Hide SideBar” toolbar button because I felt it was wasting space. The common alternative to this button is to add a close button on the sidebar, but then it is difficult to find out how to bring the sidebar back. This arrow, which I call the “Splitter Collapser”, is an attempt to solve this problem. When clicked it collapses the sidebar and then looks like this:
Since it is still here, it is easy to bring back the sidebar by clicking it again.
I choose a landscape picture and reduced the window on purpose to show the collapser can overlap the image. I hope you won’t find this too annoying. Rest assured it is not shown when you go fullscreen.
Update: The collapser now fades away when the mouse cursor moves out of the sidebar. Hope you like it!

History
Aurélien
- 2009.04.22
It’s been a long time since I last posted news about Gwenview development. I am going to resume posting about latest changes. Let’s begin with history.
In Gwenview 2.2, history was a list which appeared on the right of the start page:
As you can see this could result in a lot of information crammed into the page. For Gwenview 2.3, I decided to introduce tabs on the start page, keeping places and tags in the first tab, and moving history to a separate tab:
As you can see, history also gained a new feature: the “url bag” (suggestions for a better name are welcome). Whenever Gwenview is started with a web url as a parameter, it keeps this url in the url bag. This is quite handy when used together with a chat program: let’s say your contact sends you an url of a photo, screenshot, mock-up, whatever. Once you click on it, Gwenview is started to show you this image. If later you want to get back to it, you can easily find the image address in the url bag. It’s much faster than browsing the history of your chat program.
Admittedly, it’s a quite geeky feature, hopefully it won’t disturb beginners as it’s not prominently visible.
You may also have noticed privacy has been taken into account: the history tab screenshot shows you can now right click on an history entry to remove it, or wipe the history clean. I will probably add configuration options to permanently disable history, as this seems to be a concern for some users.

Thoughts on Gwenview folder view
Aurélien
- 2009.01.31
So, KDE 4.2 is finally out, it’s time to switch from bug fix mode to feature implementation mode (even if I am still working at wiping out a few nasty bugs in Gwenview for 4.2.1).
One of the most wanted features I plan to add to the next version of Gwenview is an optional folder sidebar. Since I am going to work on this, I would like to use the opportunity to also rework the way the sidebar is implemented. Right now the sidebar has a few shortcomings:
- It is too crowded and does not scale well. Sure there are +/- buttons to expand/collapse sidebar groups, but nobody use them (I know that, because otherwise people would complain the expanded/collapsed state is not remembered across sessions!).
- It’s too focused on operations, rather than information: users often tell me they do not need 3 places to rotate an image (toolbar, thumbnailbar, sidebar).
There are a few possible options:
- In browse mode, show a folder sidebar only. In view mode, show a tabbed sidebar containing information and shortcuts to image manipulation tools (à la Picasa: browse mode, view mode).
- Always show the same sidebar, split in two: the upper part contains the folder view, the lower part contains information. Tools are only available from the menu (à la iPhoto).
- Only one sidebar, with a set of buttons at the bottom to switch its content (à la Evolution)
- Do not integrate the folder view in the current sidebar: Keep the sidebar as is and add a folder sidebar on the left.
What are your opinions/ideas on these options?

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.
















