There have been many complaints about how resizing and rotating happens on widget handles. Hopefully most of those should be assuaged with the last few commits I’ve made.
Here’s what you used to get if you rotated an widget, moved off the widget (so the handles disappeared) and hovered over it again:
You’ll notice that the handle isn’t rotated, even though the widget is. Also, you’re expected to resize and rotate with a single button (which is the rotate symbol, despite the fact that you’re much more likely to want to resize than rotate the widget). There were also odd quirks with rotating where it would jump about when you released the mouse button or moved off the widget; and if you rotated it, released the mouse button then started rotating again (without leaving the widget), the widget would jump back to its “unrotated” state and start from there.
Well, now all that’s fixed:
There’s a separate resize button (it still maintains aspect ratio by default, because most widgets have an “ideal” ratio that they start with, but you can freely resize it with CTRL). The rotate button works as expected. And the handle starts at the same rotation as the applet.
Edit: A couple of things I meant to mention and forgot – this will be in 4.0.1, and the jagged edges do exist in the original, but are made worse by the scaling of the images (click on them to get full size).


8th January 2008 at 2:17 am |
F
a
n
t
a
s
t
i
c
8th January 2008 at 2:27 am |
One Word: Awesome.
Also, there should be some smoothing done to make the edges look less ragged. Or it could be that you captured the screenshot at a low resolution to keep the image size small…
8th January 2008 at 3:06 am |
Well, a problem I see is the anti-aliasing, but this should be easy to fix.
8th January 2008 at 3:09 am |
Hurray! (Too bad that didn’t make it into 4.0.) Wonderful development. You Plasma guys do an awesome job.
8th January 2008 at 3:54 am |
That looks great – massive improvement. It is polish like this that will make Plasma look absolutely awesome in the 4.1 release (already looking pretty good!)
8th January 2008 at 6:16 am |
Very nice. I’m just wondering: will it snap to perfectly horizontal or vertical or something like that for the pedantic among us who couldn’t bear to have to have a pixel step or two?
8th January 2008 at 6:39 am |
Yeah… you’ve done again a very good job!
Maybe these things can get backported into the 4.0.0 branch. Has this even been discussed yet on the panel-devel mailing list?
With the best regards
Bernhard
8th January 2008 at 7:00 am |
Nice work, though I’m personally not sure if the separate resize and rotate button are an improvement. I mean, really, I don’t know
I do know I don’t like the looks of rotated plasmoids – why is the anti-aliasing so horrible? According to a troll in a different but probably comparable situation, it’s due to the style painting he said:
http://labs.trolltech.com/blogs/2007/12/19/q/#comments
8th January 2008 at 8:05 am |
Nice work. If I were to nitpick (and I usually do
), I would suggest using another icon for the resize action. This one looks more like a move action.
A nicer solution IMO (but I am not sure others will agree) would be to present the resize action as a size grip, like the one you can find on most dialogs. Even nicer would be to have it in the bottom right corner, where size grips are placed.
8th January 2008 at 8:06 am |
Whoa. two visible improvements today in plasma that make a difference
thumbs up!
8th January 2008 at 8:13 am |
Even nicer, would be if Ctrl-RMB worked to resize.
8th January 2008 at 8:18 am |
Cool!
What also would be awesome is one handle in each corner, like in the old icons. Then the resize handles could be placed in the bottom right corner as suggested. Just a thought.
Otherwise, great work!
8th January 2008 at 8:22 am |
Aurelien: Indeed that’s the transform-move icon, but I guess they’re doing it because transform-scale is still missing in SVN. Would be interesting to know what happened to it after David Miller said to have it Nearly Done (TM).
8th January 2008 at 8:24 am |
@Alex; have you thought about following the resize/move concepts that you can find in KOffice? Having a very different way to do this same action may not be the best thing for end users.
@jospoortvliet: its due to antialiasing not being turned on for the plasoid outlines.
Notice how the rotated text looks quite a bit better, its got AA on.
8th January 2008 at 9:16 am |
Great work! keep up!
What about inversely rotating the resize/rotate/delete icons so that they always look straight?
8th January 2008 at 9:33 am |
The first screenshot is tear-free, the second isn’t. Is that due to your change? Maybe that should be looked at then.
8th January 2008 at 11:09 am |
@kwilliam: it’ll be in 4.0.1
@Aurélien Gâteau: transform-move was the only available icon in SVN that would look even remotely right
A size grip would probably be better – that certainly won’t make it to the 4.0 branch, but I might see about having it in 4.1.
@various people: the jagged edges get _much_ better if you view the images full size (by clicking on them)
8th January 2008 at 11:15 am |
@nerowolfe: that would cause all sorts of problems, and I’m not really sure it would be intuitive.
@Thomas Zander: We went for maintaining aspect ratio by default for the reason I gave in the post. After we’d changed that, making the modifier key match seemed a little pointless. It’s worth bearing in mind that this isn’t a graphics program, and so a different style of interaction is probably to be expected.
8th January 2008 at 12:03 pm |
Awesome.
However, I agree with Thomas. The ‘maintain aspect ratio’ feature isn’t something I as a user would expect. It’s not only about graphic applications – my experience with computer GUIs says that “if I resize to the right/left, it becomes wider/narrower, and the height changes if I drag the cursor up/down”. I see this when I resize windows, in graphic programs as mentioned before, things like Kickoff etc. In Qt, widgets have an ideal size (as far as I know), but you still resize them ‘the normal way’ in Designer.
I think many users will get annoyed with the keep aspect thing, and personally I don’t think I would figure out how to undo it. Someone would have to tell me, and until then, I would just think it was due to a limitation of Plasma.
If the plasmoids would resize freely, I think many users will discover the ‘mar’ feature. Those who don’t will simply try to make it look as good as possible. And someday, hopefully, discover the cool “hidden” feature of Plasma.
=)
8th January 2008 at 1:05 pm |
Nice job ! I’d just like to make an observation : as i see it, a rotation around the z-axis seems to take more space and the context of the widget is harder to read. The only use I can think for this rotation is to add aesthetic value and yes, this is really nice to have. Wouldn’t it be much better though if the plasmoids could be rotated around the x and y axis ? This could also be for aesthetic reasons, but on top of that it could result to more ergonomic use of the desktop space. This is not a whine of course, only a suggestion
8th January 2008 at 2:00 pm |
Wooo, back in corpus tomorrow!
8th January 2008 at 2:47 pm |
From an artist point of view maintaining the aspect ratio is important. Because there are many cases where you _do_ _not_ _want_ to change the aspect ratio because it will look amateurish and I see lots of screenshots of artistically impaired users of KDE4 coming, if we allow easily to change the aspect ratio.
Suggested solution: make the aspect ratio (only a bit) MAGNETIC, so that if the user “tries” somewhat to keep the aspect ratio then the resizing algorithm should “correct” the ratio. If the cursor position of the mouse is a bit too much off from the “correct” position then it should allow a free resize.
8th January 2008 at 4:04 pm |
@randomguy3: I viewed them full size. I’m talking about the full size versions….
8th January 2008 at 4:44 pm |
What about using ctrl or shift combined with rotate to snap to every 1/8th of 360 degrees, but otherwise rotate freely?
8th January 2008 at 4:51 pm |
@Torsten Rahn: we already do some “magnetic” sizing and rotating, so that could work quite well.
@Sirius: worth considering
@morphie: well, that’s lack of antialiasing, then. You’ll notice the handles don’t have jagged edges, only the applet background. Something to do with the SVG rendering.
10th January 2008 at 7:07 pm |
Yeah, ok, but then the question remains: why is there a noticable difference in antialiasing between the first and the second screenshot.
Look, it’s great work you’ve done, but if it introduced aliasing, then that might need a fix.
11th January 2008 at 10:19 am |
@morphie: ok, I’ve figured it out: it’s down to how the background is drawn. I’ve been playing with the clock, and rotating it causes jagged edges that disappeared when the applet handles were gone (so the applet knew what its transform was) and the minute changed (so the clock updated and was redrawn).
The difference between the first screenshot and the second is when the screenshot was taken – in the first one the background had a chance to redraw, but in the second it didn’t.