[kde-linux] Locking widgets doesn't work correctly
Duncan
1i5t5.duncan at cox.net
Tue Sep 1 18:34:48 UTC 2009
JD posted on Tue, 01 Sep 2009 09:23:21 -0700 as excerpted:
> On 09/01/2009 09:01 AM, Anne Wilson wrote:
>> On Tuesday 01 September 2009 16:17:50 Abos Undso wrote:
>>
>>> I had tried that already. The result is that after restarting the
>>> desktop, the panel is messed up and the file plasma-desktop-appletsrc
>>> is recreated with the default panel layout. If then I replace the new
>>> one with the previously saved one, it is not taken into consideration
>>> unless I restart the desktop which jumbles up the icons as usual.
>>> Maybe my personalization went too far with the spaces and all that?
>>>
>> Connie, please don't top-post
Seconded. (Also, not a problem here but in case someone else comes
across it, plain text, not HTML, is best.)
>> If you replace the new one with the previously saved one you are
>> restoring the problem you originally had. From the blank canvas you
>> must re-set any program launchers or widgets as though it was a new
>> install.
>>
>> I'm not sure what you mean by 'the spaces', but this jumbling behaviour
>> I haven't seen since KDE 4.0, so I can only think that it is a
>> corruption somewhere.
FWIW, I know what Connie's referring to by spaces -- the spacer plasmoids
that appeared in kde-look first, but with 4.3, are available in kde by
default.
I believe I know the problem, too, at least part of it, and was
disappointed myself when the spacers didn't work to fix it, but evidently
there's nothing yet available that will, and trying to use the spacers
for it simply doesn't work.
The root problem is that the space available inside panels is too plastic
-- there's no way to absolutely place the various applets. Some of them
are simply space hogs. taking up WAY more space than they should given
the size of the panel, making them look WAY bigger than other plasmoids,
or simply insisting on a whole bunch of unused blank space between them
and the next plasmoid.
The digital clock, for one, can do that, requiring more blank space
around it than it really needs, when it's in a shared panel. (FWIW, I've
solved the specific digital clock problem here by putting it in its own
panel, but of course that doesn't solve the root issue.) While it's not
a default plasmoid and maybe this is why, yaWP (yet another Weather
Plasmoid) similarly misbehaves. Get them both on the same panel, and it
can make for REAL fun trying to fit anything else on there and getting it
to look right, in limited space. (FWIW I gave up on yaWP in a panel and
it's a desktop plasmoid here, now.)
At a somewhat lower level the problem is that many plasmoids seem to
adapt to available panel space in one dimension only -- on a horizontal
panel they'll adapt to the height, on a vertical one they'll adapt to the
width. They ignore the other dimension (width on a horizontal, height on
a vertical), ignoring how many other plasmoids share the space with them,
etc. They really need to respond to limits in both dimensions, shrinking
if necessary to fit another plasmoid on the panel.
When I read about spacers, I was hoping they'd be able to impose some
discipline on the other plasmoids, as they would if they could be placed
in absolute locations with absolute "space" values. Alas, it was not to
be. While they can be helpful in some instances, they are extremely
timid in asserting their "space rights" more so than any other plasmoid,
when I was hoping they'd be more assertive, forcing other plasmoids to
conserve space. The space hogs continue to insist on taking up way more
than their reasonable space (with lots of blank space around them and/or
visually oversizing themselves), making the dedicated spacers all but
useless in trying to impose some order, as the spacers yield way too fast
to the hogs.
I've come to the conclusion that it can't be properly addressed at the
plasmoid level, plasma itself is going to need changed so that it asserts
space limitations in both dimensions, not just one. Note that doing so
will likely have implications for earlier plasmoids that expect to be
able to spread out in the one dimension, regardless of how limited the
space is. For backward compatibility, therefore, I'd propose that plasma
be equipped to lie to these plasmoids, telling them they're in the other
orientation and/or that the panel is smaller than it actually is, in
ordered to get the plasmoids to behave.
The UI wouldn't be as complex as it sounds, however. The context menu
for each plasmoid (possibly in panel settings mode only, thus overriding
the plasmoid's own context menu) would include an orientation option,
vertical/horizontal, with the default always the same as the panel, thus
that of the current implementation. But toggle it and the plasmoid would
be told its in the other orientation. Second, implement a small version
of the panel sizing widget, effectively making each plasmoid inhabit its
own little panel, from the perspective of the plasmoid, limiting it to
the size of of that "panelet" so it has to draw itself in that smaller
space, regardless of how much space the larger panel has.
That would finally impose some order on things.
Basically, that's what I was hoping the spacer plasmoids would do, as a
different and less complex implementation than that described above but
more complex than they are, with the spacers effectively made "super-
plasmoids", forcing the contents of the panel on either side of the
spacer to live with the space it was given, effectively telling the other
plasmoids that's all the space they have, giving the spacers the power to
assert themselves over the hogs and make the hogs actually behave!
Unfortunately, that's not how it worked. I expect that's at least part
of what Connie's getting frustrated by, trying to use the spacers for
more than they can actually do, since they're way too yielding, and the
plasmoid hogs continue to be greedy and overrule the spacers.
> For experimentation's sake, how about creating a brand new user, and
> logging in as that user - that way you are starting with a clean slate.
> See if that users has same problems.
That's sort of what Anne was suggesting, except for the plasma
configuration only. Either way, see if starting with a "clean"
configuration works when reconfigured to the desired layout -- IOW,
whether it's something else broken in the current user's configuration
that's screwing this up too, or whether it's endemic to the entire system.
That's a good idea, and it may indeed solve one aspect of the issue, the
broken save and restore functionality. However, if I'm correct, the real
problem is deeper than that, as Connie is I think, like me, trying to use
spacers to achieve functionality that plasma simply doesn't have at this
point in time.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
More information about the kde-linux
mailing list