[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwin
Subject:    Re: Plasma/Kwin cooperation to achieve efficacy of Activites spatial
From:       Alexis_Ménard <menard () kde ! org>
Date:       2009-02-10 22:24:38
Message-ID: 81941aea0902101424o312d38e6t325ac4bad0438982 () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


On Tue, Feb 10, 2009 at 6:02 PM, Lucas Murray <lmurray@undefinedfire.com>wrote:

> On Wed, Feb 11, 2009 at 12:27 AM, Jud Craft <craftjml@gmail.com> wrote:
> > It is the height of audacity to come out of the woodwork and suggest
> > design ideas for a system that I do not create myself.  Nevertheless,
> > you might actually like some of these.
> >
> > I promise it will be entertaining.  Broken into two sections, A and B.
> >  Also long.  Have a great day!
> >
> >
> > A.  Effective Communication of Activities' Design
> > ----
> > First, for KDE to effectively continue its embrace of Plasma, a good
> > campaign must be focused on explaining the benefits of the Activities
> > system to the casual user.  It doesn't help that until now it has
> > seemed mostly at cross-purposes with the old idea of virtual desktops.
> >  (I didn't say it was.  I said it _seemed_.  If it didn't, there
> > wouldn't be so much ill-will about it.)
> >
> > It doesn't help that the transitioning-between-Activities bears little
> > distinction from transitioning  between workspaces/virtual desktops.
> > It's sometimes hard for the user to figure out exactly what the big
> > deal is.  Personally, I rationalize it myself this way:
> >
> > --Virtual desktops are like having a really huge desk in your office.
> > There's plenty of room for stuff, but you have to reach around to get
> > to any of it.
> >
> > --Plasma Activities are like having _different_ desks in your office.
> > For example, one for essay writing, one for your reading, and one for
> > communication (memos, letters, in and out boxes).
>
> I see them the other way around but lets carry on...
>
> > The idea of "having more than one desk VS having a huge desk" is
> > immediately apparent to any office and home user; in fact, if you ever
> > create an in-KDE tutorial to explain how Activities work, and maybe
> > guide the user through creating one, I highly suggest you use that
> > metaphor pervasively.
> >
> > 1.  In fact, perhaps you should re-do the nomenclature and describe
> > them as "Desks"  (formerly activities) and "Desk size" (formerly
> > virtual desktop dimensions).  I could have a "Internet" desk that is
> > 2x2 screens wide, and a "Programming" desk that is 4x4 screens wide
> > for example.
> >
> > This resolves ambiguity between "just more space" and "space dedicated
> > to a special purpose".
> >
> > 2.  There should be a freaking-easy-as-dirt way to switch between
> > Activities (though I do like "Desks").  The Zooming-User-Interface
> > doesn't cut it, especially since it's at cross-purposes with the
> > traditional zoom-in/out on a surface metaphor of virtual desktops.
> > There is an inherent spatial conflict, don't ignore it.  The typical
> > office user doesn't care what your spatial metaphor is (or even what
> > they _are_), but he _will_ notice if it's inconsistent.
> >
> > A simple menu widget that when clicked, presents a list of Activites.
> > With two clicks, you can select any Activity.  (You'll assume the user
> > won't have 10+ Activities.  That's too enthusiastic).  Perhaps this
> > menu can pop up when the Cashew/Acorn-thing is clicked, as opposed to
> > strange terms like "Zoom Out", which does nothing to describe the
> > contextual novelty of the Activity idea.  Activities describe
> > different abstract spaces, not a web page.
> >
> > This same Activity Menu could be integrated into Kicker (a tab for a
> > list of all current activities -- you could switch with just one
> > click!) or into a panel-widget that triggers the menu.
> >
> >
> > B.  Working With Kwin to Resolve Spatial Conflicts
> > ----
> > The main interaction layer with Activites, the Zooming User Interface,
> > in its current form isn't gonna cut it.  Even further development
> > isn't gonna cut it -- maybe you guys have some sort of brilliant
> > vision that pops up in ephemeral IRC logs, but I haven't seen it on
> > this list or Aaron Seigo's blog.  (No offense of course.  You might
> > not post it here, it might be at Techbase, or it might not exist).
> >
> > Suggestions.
> >
> > 1.  Team up with Kwin for Activites-transitions.  Kwin is the only
> > framework for screen-level transitions and animations that is well
> > developed enough to be used immediately in the near future, and
> > there's no need to reimplement screen transitions when Kwin has them
> > already there!
>
> Bingo.
>
> > 2.  Re-adopt the ZUI (whose name, being utterly meaningless to
> > Activities, should disappear soon except perhaps as API and developer
> > nomenclature) to use Kwin when present for switching between
> > Activities.  Be able to apply any desktop-switch-effect, perhaps, to
> > Plasma's ZUI transitions instead.  (Ex., switch between Activities
> > with the Cube and Wall).  This makes for more spatial conflicts, I
> > know.  Wait for it.
> >
> > 3.  The default method of Activity transition interaction should be
> >
> > --Switching immediately to a particular Activity (see Cashew-Menu idea
> > in A-2 above)
> >
> > And nothing else.  No "zoomed-out" overview of all possible Activity
> > desks.  Interferes with zooming-out of virtual desktops.  (Feel free
> > to debate on this).
>
> My proposal below addresses this.
>
> > 4.  Kwin needs to lay down the law and demand a single consistent
> > metaphor for Activities, and a single consistent metaphor for virtual
> > desktop switching.
> >
> > Virtual desktop switching for a long time has long called home the
> > metaphor of "different spaces on the 2D plane".  Since you remember my
> > parallel earlier (Virtual desktops = A big flat desk with tons of
> > space) I highly suggest that the Desktop Grid becomes the permanent
> > and unchangeable effect metaphor for Virtual Desktop/Space switching.
> >
> > Why?
> >
> > --Offers more flexibility.  The Cube, though beautiful, is an
> > abstraction of a 1-dimensional list of spaces that you can cycle
> > through.  The Desktop Grid allows 2 dimensions of spaces.
>
> I hate the cube, I always have. The desktop is a 2D entity and
> therefore is best represented in 2D.
>
> > --For sake of usability (debate me), there should be one and only one
> > virtual desktop metaphor.  The Compiz schizophrenia of "cube, sphere,
> > wall, plane, dodecahedron!" is not something Kwin should ever have
> > aimed to copy.
>
> Compiz is designed to be absolutely anything it wants, this has both
> advantages and disadvantages. Great for developer experimentation and
> user flexibility but it does have the
> jack-of-all-trades-master-of-none problem.
>
> > For consistency across KDE installations.  No one should try to switch
> > desktops on two different KDE computers, and find themselves assaulted
> > with a "grid" on one and a "3D pentagon" on the other.
> >
> > 5.  In my personal opinion, once the ZUI-transition-to-Kwin-effect
> > development is complete (I highly suggest you get on that, even if you
> > disagree with everything else I say) the Cube should be selected as
> > the default metaphor for Activity switching.
> >
> > Why?
> >
> > The 3D concept of "different faces on the same cube" is the nearest
> > you get to the idea that your computer's KDE desktop can be used for
> > different purposes.
> >
> > While DesktopGrid conveys the idea of a "big space you move around
> > on", the different faces of a Cube convey the idea of "separate spaces
> > entirely".
>
> Makes sense, I like it but it does conflict with what I'm going to put
> forward below.
>
> > C.  Conclusion
> > ----
> > Whether you agree with my choices for the Space metaphor vs. the
> > Desk/Activity metaphor, you must agree that they must be consistent,
> > and not conflict.
>
> Agreed.
>
> > The days of the user arbitrarily deciding his desktop metaphors must
> > come to an end -- especially since only the foolish care whether their
> > desktop is a sphere or a cube (Seriously.), and was indicative of the
> > kind of "freedom-for-freedom's sake" that unfortunately embodies every
> > disadvantage with Free Software Development.  Do Compiz one better
> > here and actually lay down a design for your metaphors.
> >
> > Users don't want components they can mix and match.  Developers do.
> > Users just want a well-designed system that they can _use_ however
> > they want.
> >
> > And since Activities is a relatively new concept that you seem
> > determined to push, you _must_ take care to separate the idea,
> > spatially, from virtual desktops.  Since it _is_ a different idea (see
> > the big desk vs. many desks summary in part A).
> >
> > Inconsistency in how the environment treats transitions between
> > desktop spaces and desktop Activities will ultimately determine how
> > well users can adjust to them.  They must occupy an entirely different
> > spatial context than mere Virtual Desktop/Spaces.  For this reason I
> > suggest the 3D Cube for them, while for the sake of 1) consistency and
> > 2) greater flexibility, I suggest Desktop Grid for Spaces alone.
> >
> > This is very important usability-wise:  my design ideas may need
> > refinement, but the idea of internal inconsistency does not.  Kwin and
> > Plasma must cooperate to set in stone these metaphors.
> >
> > Mixing and matching them, I repeat, will only hurt you in the long
> > run.  Get Plasma to work with Kwin for transitions (since Kwin has the
> > framework to do it), and then decide what effects/metaphors to use for
> > which desktop abstractions.
> >
> > And it works for audiences either way:  traditional Linux desktop
> > users can ignore your Activities and use Desktop Spaces just the way
> > they like.  Whereas perhaps a user who doesn't care for a huge virtual
> > screen area, but really likes the idea of desktops for different
> > purposes, can use the Activity/Desk concept.
>
> Makes sense.
>
> > And since they'd both use different spatial metaphors, they would
> > never conflict, and you would always tell when you were merely moving
> > through the same desktop, as opposed to switching to a different
> > task-based desktop entirely.
>
> Now on to my proposal:
> ----------------------
>
> What I'm going to propose below relies heavily on compositing support
> and I have yet to work out in detail how it can be done without it. It
> should be possible to emulate some of these ideas by creating a new
> window and overlaying it over the entire desktop and doing the
> graphics/animation in there though.
>
> Glossary:
> - Widget = Plasma widget.
> - Desktop = One virtual desktop as how it's already been implemented in
> KWin.
> - Activity = A set of Plasma widgets and application windows that have
> been grouped together and can be switched between at will.
> - Workspace = All desktops, all activities, all applications, etc.
>
> Quick bullet list right now as I can't find my notes (This also builds
> off my E-mail in "[PATCH] fade out panel in desktopgrid"):
>
> - The desktop grid becomes the main visualization for absolutely
> everything, both virtual desktops and Plasma activities.
>
> - Widgets are in their own X windows and are handled by KWin when
> compositing is enabled (New window type required?). This is a
> requirement for what's below.


It sounds strange, we kill the cross plaftforness no?.And technically how it
is possible? They are QGraphicsWidgets inside a QWidget(QGraphicsView). They
can't be separate from their scene or we render them in a separe
QGraphicsView? What about the translucency, clipping, cache provided by
QGraphicsView...Perhaps i miss something...


>
>
> - While in the desktop grid you are given a control panel that will
> allow you to control the workspace. You can create, delete and move
> desktops around (EWMH problem: How to handle out-of-order desktops?)
> while the effect is active. You can also assign activity areas here (I
> called them "zones" but I guess "activity" also works) and is the
> replacement for the zoomed out view for activities currently available
> in KDE4.
>
> - Activities are assigned to desktops. If you want to create a new
> activity you can just create a new desktop or reassign an existing one
> to be in the new activity area. One desktop can only have one activity
> assigned to it at any given moment but one activity can span multiple
> desktops. When you remove an activity from all desktops that it
> remains on the control panel and can be assigned back when the user
> requires it.
>
> - Widgets and windows can be treated the same in this implementation.
> You can assign a window to an activity just like you can assign a
> widget to an activity.
>
> - Never allow per-desktop wallpapers.


I like this feature provided by Activities.


> Instead the wallpaper can just
> be a global backdrop to fill in the otherwise unused space when there
> is no application open. This is also a good excuse for a KWin
> background effect that allows some fancy stuff such as parallax when
> moving around the workspace (Switching desktops, zooming out, etc.).
> As long as there is a widget that allows the traditional desktop
> (Instead of being a containment) everything should be fine.
>
> That pretty much sums up the main bits. I have been working on this
> idea since the start of the year and have lots of notes about the
> finer details so if you would like further information I can answer
> any questions. I can also create some mockup images of this if
> everyone thinks it is a good idea. I had done all this planning as I
> was (Is? I'm still working on it to learn more about Xlib) writing my
> own window manager and KDE workspace environment from scratch and
> wanted to make something unique, if these ideas are actually
> implemented in KDE proper then that would be great. =)
>
> One other idea that build off this but are unrelated to this
> particular discussion is dynamic desktop creation. When the user logs
> in there is only one desktop, as they attempt to switch to another it
> is created on-the-fly. The desktop grid effect also takes into account
> this dynamic nature by showing "ghosted" desktops around the edge of
> the screen, if the user clicks them or drags a window to them the
> effect zooms out a little bit more to display the new desktop. Once
> again I have notes on this, feel free to ask questions.
> _______________________________________________
> Plasma-devel mailing list
> Plasma-devel@kde.org
> https://mail.kde.org/mailman/listinfo/plasma-devel
>

[Attachment #5 (text/html)]

<br><br><div class="gmail_quote">On Tue, Feb 10, 2009 at 6:02 PM, Lucas Murray <span \
dir="ltr">&lt;<a href="mailto:lmurray@undefinedfire.com">lmurray@undefinedfire.com</a>&gt;</span> \
wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, \
204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div class="Ih2E3d">On Wed, Feb \
11, 2009 at 12:27 AM, Jud Craft &lt;<a \
href="mailto:craftjml@gmail.com">craftjml@gmail.com</a>&gt; wrote:<br> &gt; It is the \
height of audacity to come out of the woodwork and suggest<br> &gt; design ideas for \
a system that I do not create myself. &nbsp;Nevertheless,<br> &gt; you might actually \
like some of these.<br> &gt;<br>
&gt; I promise it will be entertaining. &nbsp;Broken into two sections, A and B.<br>
&gt; &nbsp;Also long. &nbsp;Have a great day!<br>
&gt;<br>
&gt;<br>
&gt; A. &nbsp;Effective Communication of Activities&#39; Design<br>
&gt; ----<br>
&gt; First, for KDE to effectively continue its embrace of Plasma, a good<br>
&gt; campaign must be focused on explaining the benefits of the Activities<br>
&gt; system to the casual user. &nbsp;It doesn&#39;t help that until now it has<br>
&gt; seemed mostly at cross-purposes with the old idea of virtual desktops.<br>
&gt; &nbsp;(I didn&#39;t say it was. &nbsp;I said it _seemed_. &nbsp;If it \
didn&#39;t, there<br> &gt; wouldn&#39;t be so much ill-will about it.)<br>
&gt;<br>
&gt; It doesn&#39;t help that the transitioning-between-Activities bears little<br>
&gt; distinction from transitioning &nbsp;between workspaces/virtual desktops.<br>
&gt; It&#39;s sometimes hard for the user to figure out exactly what the big<br>
&gt; deal is. &nbsp;Personally, I rationalize it myself this way:<br>
&gt;<br>
&gt; --Virtual desktops are like having a really huge desk in your office.<br>
&gt; There&#39;s plenty of room for stuff, but you have to reach around to get<br>
&gt; to any of it.<br>
&gt;<br>
&gt; --Plasma Activities are like having _different_ desks in your office.<br>
&gt; For example, one for essay writing, one for your reading, and one for<br>
&gt; communication (memos, letters, in and out boxes).<br>
<br>
</div>I see them the other way around but lets carry on...<br>
<div><div></div><div class="Wj3C7c"><br>
&gt; The idea of &quot;having more than one desk VS having a huge desk&quot; is<br>
&gt; immediately apparent to any office and home user; in fact, if you ever<br>
&gt; create an in-KDE tutorial to explain how Activities work, and maybe<br>
&gt; guide the user through creating one, I highly suggest you use that<br>
&gt; metaphor pervasively.<br>
&gt;<br>
&gt; 1. &nbsp;In fact, perhaps you should re-do the nomenclature and describe<br>
&gt; them as &quot;Desks&quot; &nbsp;(formerly activities) and &quot;Desk size&quot; \
(formerly<br> &gt; virtual desktop dimensions). &nbsp;I could have a \
&quot;Internet&quot; desk that is<br> &gt; 2x2 screens wide, and a \
&quot;Programming&quot; desk that is 4x4 screens wide<br> &gt; for example.<br>
&gt;<br>
&gt; This resolves ambiguity between &quot;just more space&quot; and &quot;space \
dedicated<br> &gt; to a special purpose&quot;.<br>
&gt;<br>
&gt; 2. &nbsp;There should be a freaking-easy-as-dirt way to switch between<br>
&gt; Activities (though I do like &quot;Desks&quot;). &nbsp;The \
Zooming-User-Interface<br> &gt; doesn&#39;t cut it, especially since it&#39;s at \
cross-purposes with the<br> &gt; traditional zoom-in/out on a surface metaphor of \
virtual desktops.<br> &gt; There is an inherent spatial conflict, don&#39;t ignore \
it. &nbsp;The typical<br> &gt; office user doesn&#39;t care what your spatial \
metaphor is (or even what<br> &gt; they _are_), but he _will_ notice if it&#39;s \
inconsistent.<br> &gt;<br>
&gt; A simple menu widget that when clicked, presents a list of Activites.<br>
&gt; With two clicks, you can select any Activity. &nbsp;(You&#39;ll assume the \
user<br> &gt; won&#39;t have 10+ Activities. &nbsp;That&#39;s too enthusiastic). \
&nbsp;Perhaps this<br> &gt; menu can pop up when the Cashew/Acorn-thing is clicked, \
as opposed to<br> &gt; strange terms like &quot;Zoom Out&quot;, which does nothing to \
describe the<br> &gt; contextual novelty of the Activity idea. &nbsp;Activities \
describe<br> &gt; different abstract spaces, not a web page.<br>
&gt;<br>
&gt; This same Activity Menu could be integrated into Kicker (a tab for a<br>
&gt; list of all current activities -- you could switch with just one<br>
&gt; click!) or into a panel-widget that triggers the menu.<br>
&gt;<br>
&gt;<br>
&gt; B. &nbsp;Working With Kwin to Resolve Spatial Conflicts<br>
&gt; ----<br>
&gt; The main interaction layer with Activites, the Zooming User Interface,<br>
&gt; in its current form isn&#39;t gonna cut it. &nbsp;Even further development<br>
&gt; isn&#39;t gonna cut it -- maybe you guys have some sort of brilliant<br>
&gt; vision that pops up in ephemeral IRC logs, but I haven&#39;t seen it on<br>
&gt; this list or Aaron Seigo&#39;s blog. &nbsp;(No offense of course. &nbsp;You \
might<br> &gt; not post it here, it might be at Techbase, or it might not exist).<br>
&gt;<br>
&gt; Suggestions.<br>
&gt;<br>
&gt; 1. &nbsp;Team up with Kwin for Activites-transitions. &nbsp;Kwin is the only<br>
&gt; framework for screen-level transitions and animations that is well<br>
&gt; developed enough to be used immediately in the near future, and<br>
&gt; there&#39;s no need to reimplement screen transitions when Kwin has them<br>
&gt; already there!<br>
<br>
</div></div>Bingo.<br>
<div class="Ih2E3d"><br>
&gt; 2. &nbsp;Re-adopt the ZUI (whose name, being utterly meaningless to<br>
&gt; Activities, should disappear soon except perhaps as API and developer<br>
&gt; nomenclature) to use Kwin when present for switching between<br>
&gt; Activities. &nbsp;Be able to apply any desktop-switch-effect, perhaps, to<br>
&gt; Plasma&#39;s ZUI transitions instead. &nbsp;(Ex., switch between Activities<br>
&gt; with the Cube and Wall). &nbsp;This makes for more spatial conflicts, I<br>
&gt; know. &nbsp;Wait for it.<br>
&gt;<br>
&gt; 3. &nbsp;The default method of Activity transition interaction should be<br>
&gt;<br>
&gt; --Switching immediately to a particular Activity (see Cashew-Menu idea<br>
&gt; in A-2 above)<br>
&gt;<br>
&gt; And nothing else. &nbsp;No &quot;zoomed-out&quot; overview of all possible \
Activity<br> &gt; desks. &nbsp;Interferes with zooming-out of virtual desktops. \
&nbsp;(Feel free<br> &gt; to debate on this).<br>
<br>
</div>My proposal below addresses this.<br>
<div class="Ih2E3d"><br>
&gt; 4. &nbsp;Kwin needs to lay down the law and demand a single consistent<br>
&gt; metaphor for Activities, and a single consistent metaphor for virtual<br>
&gt; desktop switching.<br>
&gt;<br>
&gt; Virtual desktop switching for a long time has long called home the<br>
&gt; metaphor of &quot;different spaces on the 2D plane&quot;. &nbsp;Since you \
remember my<br> &gt; parallel earlier (Virtual desktops = A big flat desk with tons \
of<br> &gt; space) I highly suggest that the Desktop Grid becomes the permanent<br>
&gt; and unchangeable effect metaphor for Virtual Desktop/Space switching.<br>
&gt;<br>
&gt; Why?<br>
&gt;<br>
&gt; --Offers more flexibility. &nbsp;The Cube, though beautiful, is an<br>
&gt; abstraction of a 1-dimensional list of spaces that you can cycle<br>
&gt; through. &nbsp;The Desktop Grid allows 2 dimensions of spaces.<br>
<br>
</div>I hate the cube, I always have. The desktop is a 2D entity and<br>
therefore is best represented in 2D.<br>
<div class="Ih2E3d"><br>
&gt; --For sake of usability (debate me), there should be one and only one<br>
&gt; virtual desktop metaphor. &nbsp;The Compiz schizophrenia of &quot;cube, \
sphere,<br> &gt; wall, plane, dodecahedron!&quot; is not something Kwin should ever \
have<br> &gt; aimed to copy.<br>
<br>
</div>Compiz is designed to be absolutely anything it wants, this has both<br>
advantages and disadvantages. Great for developer experimentation and<br>
user flexibility but it does have the<br>
jack-of-all-trades-master-of-none problem.<br>
<div class="Ih2E3d"><br>
&gt; For consistency across KDE installations. &nbsp;No one should try to switch<br>
&gt; desktops on two different KDE computers, and find themselves assaulted<br>
&gt; with a &quot;grid&quot; on one and a &quot;3D pentagon&quot; on the other.<br>
&gt;<br>
&gt; 5. &nbsp;In my personal opinion, once the ZUI-transition-to-Kwin-effect<br>
&gt; development is complete (I highly suggest you get on that, even if you<br>
&gt; disagree with everything else I say) the Cube should be selected as<br>
&gt; the default metaphor for Activity switching.<br>
&gt;<br>
&gt; Why?<br>
&gt;<br>
&gt; The 3D concept of &quot;different faces on the same cube&quot; is the \
nearest<br> &gt; you get to the idea that your computer&#39;s KDE desktop can be used \
for<br> &gt; different purposes.<br>
&gt;<br>
&gt; While DesktopGrid conveys the idea of a &quot;big space you move around<br>
&gt; on&quot;, the different faces of a Cube convey the idea of &quot;separate \
spaces<br> &gt; entirely&quot;.<br>
<br>
</div>Makes sense, I like it but it does conflict with what I&#39;m going to put<br>
forward below.<br>
<div class="Ih2E3d"><br>
&gt; C. &nbsp;Conclusion<br>
&gt; ----<br>
&gt; Whether you agree with my choices for the Space metaphor vs. the<br>
&gt; Desk/Activity metaphor, you must agree that they must be consistent,<br>
&gt; and not conflict.<br>
<br>
</div>Agreed.<br>
<div><div></div><div class="Wj3C7c"><br>
&gt; The days of the user arbitrarily deciding his desktop metaphors must<br>
&gt; come to an end -- especially since only the foolish care whether their<br>
&gt; desktop is a sphere or a cube (Seriously.), and was indicative of the<br>
&gt; kind of &quot;freedom-for-freedom&#39;s sake&quot; that unfortunately embodies \
every<br> &gt; disadvantage with Free Software Development. &nbsp;Do Compiz one \
better<br> &gt; here and actually lay down a design for your metaphors.<br>
&gt;<br>
&gt; Users don&#39;t want components they can mix and match. &nbsp;Developers do.<br>
&gt; Users just want a well-designed system that they can _use_ however<br>
&gt; they want.<br>
&gt;<br>
&gt; And since Activities is a relatively new concept that you seem<br>
&gt; determined to push, you _must_ take care to separate the idea,<br>
&gt; spatially, from virtual desktops. &nbsp;Since it _is_ a different idea (see<br>
&gt; the big desk vs. many desks summary in part A).<br>
&gt;<br>
&gt; Inconsistency in how the environment treats transitions between<br>
&gt; desktop spaces and desktop Activities will ultimately determine how<br>
&gt; well users can adjust to them. &nbsp;They must occupy an entirely different<br>
&gt; spatial context than mere Virtual Desktop/Spaces. &nbsp;For this reason I<br>
&gt; suggest the 3D Cube for them, while for the sake of 1) consistency and<br>
&gt; 2) greater flexibility, I suggest Desktop Grid for Spaces alone.<br>
&gt;<br>
&gt; This is very important usability-wise: &nbsp;my design ideas may need<br>
&gt; refinement, but the idea of internal inconsistency does not. &nbsp;Kwin and<br>
&gt; Plasma must cooperate to set in stone these metaphors.<br>
&gt;<br>
&gt; Mixing and matching them, I repeat, will only hurt you in the long<br>
&gt; run. &nbsp;Get Plasma to work with Kwin for transitions (since Kwin has the<br>
&gt; framework to do it), and then decide what effects/metaphors to use for<br>
&gt; which desktop abstractions.<br>
&gt;<br>
&gt; And it works for audiences either way: &nbsp;traditional Linux desktop<br>
&gt; users can ignore your Activities and use Desktop Spaces just the way<br>
&gt; they like. &nbsp;Whereas perhaps a user who doesn&#39;t care for a huge \
virtual<br> &gt; screen area, but really likes the idea of desktops for different<br>
&gt; purposes, can use the Activity/Desk concept.<br>
<br>
</div></div>Makes sense.<br>
<div class="Ih2E3d"><br>
&gt; And since they&#39;d both use different spatial metaphors, they would<br>
&gt; never conflict, and you would always tell when you were merely moving<br>
&gt; through the same desktop, as opposed to switching to a different<br>
&gt; task-based desktop entirely.<br>
<br>
</div>Now on to my proposal:<br>
----------------------<br>
<br>
What I&#39;m going to propose below relies heavily on compositing support<br>
and I have yet to work out in detail how it can be done without it. It<br>
should be possible to emulate some of these ideas by creating a new<br>
window and overlaying it over the entire desktop and doing the<br>
graphics/animation in there though.<br>
<br>
Glossary:<br>
- Widget = Plasma widget.<br>
- Desktop = One virtual desktop as how it&#39;s already been implemented in KWin.<br>
- Activity = A set of Plasma widgets and application windows that have<br>
been grouped together and can be switched between at will.<br>
- Workspace = All desktops, all activities, all applications, etc.<br>
<br>
Quick bullet list right now as I can&#39;t find my notes (This also builds<br>
off my E-mail in &quot;[PATCH] fade out panel in desktopgrid&quot;):<br>
<br>
- The desktop grid becomes the main visualization for absolutely<br>
everything, both virtual desktops and Plasma activities.<br>
<br>
- Widgets are in their own X windows and are handled by KWin when<br>
compositing is enabled (New window type required?). This is a<br>
requirement for what&#39;s below.</blockquote><div><br>It sounds strange, we kill the \
cross plaftforness no?.And technically how it is possible? They are QGraphicsWidgets \
inside a QWidget(QGraphicsView). They can&#39;t be separate from their scene or we \
render them in a separe QGraphicsView? What about the translucency, clipping, cache \
provided by QGraphicsView...Perhaps i miss something...<br> &nbsp;</div><blockquote \
class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt \
0pt 0.8ex; padding-left: 1ex;"><br> <br>
- While in the desktop grid you are given a control panel that will<br>
allow you to control the workspace. You can create, delete and move<br>
desktops around (EWMH problem: How to handle out-of-order desktops?)<br>
while the effect is active. You can also assign activity areas here (I<br>
called them &quot;zones&quot; but I guess &quot;activity&quot; also works) and is \
the<br> replacement for the zoomed out view for activities currently available<br>
in KDE4.<br>
<br>
- Activities are assigned to desktops. If you want to create a new<br>
activity you can just create a new desktop or reassign an existing one<br>
to be in the new activity area. One desktop can only have one activity<br>
assigned to it at any given moment but one activity can span multiple<br>
desktops. When you remove an activity from all desktops that it<br>
remains on the control panel and can be assigned back when the user<br>
requires it.<br>
<br>
- Widgets and windows can be treated the same in this implementation.<br>
You can assign a window to an activity just like you can assign a<br>
widget to an activity.<br>
<br>
- Never allow per-desktop wallpapers. </blockquote><div><br>I like this feature \
provided by Activities.<br>&nbsp;</div><blockquote class="gmail_quote" \
style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; \
padding-left: 1ex;"> Instead the wallpaper can just<br>
be a global backdrop to fill in the otherwise unused space when there<br>
is no application open. This is also a good excuse for a KWin<br>
background effect that allows some fancy stuff such as parallax when<br>
moving around the workspace (Switching desktops, zooming out, etc.).<br>
As long as there is a widget that allows the traditional desktop<br>
(Instead of being a containment) everything should be fine.<br>
<br>
That pretty much sums up the main bits. I have been working on this<br>
idea since the start of the year and have lots of notes about the<br>
finer details so if you would like further information I can answer<br>
any questions. I can also create some mockup images of this if<br>
everyone thinks it is a good idea. I had done all this planning as I<br>
was (Is? I&#39;m still working on it to learn more about Xlib) writing my<br>
own window manager and KDE workspace environment from scratch and<br>
wanted to make something unique, if these ideas are actually<br>
implemented in KDE proper then that would be great. =)<br>
<br>
One other idea that build off this but are unrelated to this<br>
particular discussion is dynamic desktop creation. When the user logs<br>
in there is only one desktop, as they attempt to switch to another it<br>
is created on-the-fly. The desktop grid effect also takes into account<br>
this dynamic nature by showing &quot;ghosted&quot; desktops around the edge of<br>
the screen, if the user clicks them or drags a window to them the<br>
effect zooms out a little bit more to display the new desktop. Once<br>
again I have notes on this, feel free to ask questions.<br>
<div><div></div><div \
class="Wj3C7c">_______________________________________________<br> Plasma-devel \
mailing list<br> <a href="mailto:Plasma-devel@kde.org">Plasma-devel@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/plasma-devel" \
target="_blank">https://mail.kde.org/mailman/listinfo/plasma-devel</a><br> \
</div></div></blockquote></div><br>



_______________________________________________
kwin mailing list
kwin@kde.org
https://mail.kde.org/mailman/listinfo/kwin


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic