The first one was moving around some of the UI in ksnapshot (after chasing down an annoyance in kdelibs that would pop up a notification every time ksnapshot started if you had last saved a snapshot to a remote location). Here's the result of that "30 minute hack":

The default size is bigger (and it remembers the window size between restarts), the snapshot thumbnail has a bit of a shadow around it and the buttons have been re-arranged. Other than the window size saving, which I consider a bug fix, I'm not sure if the rest will make it into the next release or not. We'll see. I'm currently waiting for feedback from Rich Moore, my KSnapshot partner in crime. ;)
The second "30 minute hack" was inspired by finding a blog post I found linked to from Linux Today. One of the ideas behind making Plasma a flexible architecture is that people could not just talk but also do. When things are welded at the seams and full of internal assumptions, it can be hard to make changes. When things are loosely coupled and free of internal assumptions it is easy to make even radical changes. To prove this, I tasked myself with implementing this screenshot in half an hour:

Well, I "failed": it actually took me ~45 minutes to come up with this:

It has the arrows and dots, everything is clickable and works as described in the blog post and you get more or fewer dots when you add/remove virtual desktops. All of the elements are QGraphicsWidgets that belong to the Desktop containment and the arrows are drawn with an SVG from the standard Plasma Desktop Theme. Since they belong to the containment, they don't need to be set up, they aren't removable or movable, desktop widgets can freely overlap them and they show up on the widget dashboard (assuming dashboard-follows-desktop). I can imagine any number of nice improvements to it: some text saying which desktop you are on; on-hover animations for the circles; only reacting to clicks when they are on the circles, not just on the rects that bound the circles ...
You can find the diff against kdebase/workspace/plasma/desktop/containments/desktop here. Maybe someone will take that patch, fork the Desktop activity with it, spiffy it up a bit and release it with a new name on kde-apps.org. Personally, I'm not sure the idea of the arrows/dots on the desktop for virtual desktop switching is all that hot, but I wanted to show that not only are these kinds of things possible ... they are easy to do. That kind of flexibility doesn't happen by accident: we want people to experiment, try new things and re-shape Plasma apps in various ways. (An up-coming blog post about Plasma Classroom will touch on exactly this point.)
Now, if it took me 3/4ths of an hour to implement that, I can't imagine it taking someone with a little bit of Qt and/or KDE development experience more than a couple of hours to do the same thing. In fact, I bet many of you reading this could have achieved the same or better results in the same amount of time (maybe even less!) than it took me. So get hacking, people! :)

14 comments:
Just a quick note, but one of the most annoying things about ksnapshot is, despite its features, it will pop up its window _while_ the screenshot is taking place. Thus we end up with 2 very common artifacts: 1) the loading ksnapshot icon bouncing near the cursor, and 2) a messed up looking task manager in your panel because the animation of the new window hasn't completed yet. This is of course easily fixed by setting a delay before the snapshot, but this sort of problem shouldn't occur. Could this be your next 30-minute hack?
I'm with Dion here. Indeed this is a problem ksnapshot had had for a long while.
What really annoys me in similar dialogs like the shown one is that the text is not properly aligned. I would like to see both "Full Screen" and "No Delay" to be left aligned.
@ Christoph: Not sure what you are talking about. Both "Full Screen" and "No Delay" _are_ left aligned. If, however, you are talking about the right alignment of the labels to their left, you are wrong. Usability studies show this is better and it is part of the KDE HIG.
@ Aaron: nice hacks. Especially the second looks like a really nice feature. What makes me even more happy is that you think switching activities can be done even better. I am looking forward to what the awesome plasma team will come up with for activities/contexts in 4.6. Great job!
Wow Aaron, that was quick. I didn't think that my idea would be done in so little time. Thanks for working on it. I love the implementation that you made.
Anditosan
That means one hated bug is squeesed now.
The "new UI" looks better for my eyes. But I would take that because it is new, not as it would be better. I think reason for this feeling is that the "take new snapshot" is middle of the window.
Oh, when next time hacking KSnapshot, please make the count down pop-up from top left corner away from the corner and bigger. It could be better to be placed middle of the screen, in bigger size and better animation.
Right now it blocks the top left corner hotspot being used. It is not nice for trying to take screenshot (example the GRID plugin) when you can not activate the plugin but you need to use keyboard shortcut.
Please make sure, that the new KSnapshots layout also looks nice for a resolution around 3000x1000 (super wide). This would be important for the dual head setup users
Wow this is amazing. Looks much better compared to the current version :-D
I hate that your blog always has so many people asking for bug fixes or wishes in the replies instead of people just saying a simple Thank You.
So... Thank you!
Great post Aaron and Keep them coming. They just might cease all the comments about the KDE team not listening to user feedback.
Personally, the KDE team never ceases to amaze me.
@Mutlu:
No, they are not aligned. Look at the "F" and the "N". The "F" is further to the left than the "N" although they should have the same left alignment.
@Christoph: yes, Oxygen has different internal margins (when they are all summed up) for comboboxes and text edits. it's something that's been a "level 4" annoyance for me (on a scale of 1-5, with 1 being the most severe and 5 being the least :). i'll try to remember to bring it up with the Oxygen developer next time we meet up on irc ...
@Dion: is this when you launch it with the print screen button?
+1 for the new KSnapshot UI. Even though I use it regularly I find my self looking at all the buttons to figure out which one I need to push. In the new one it's really intuitive.
Post a Comment