> On März 22, 2015, 8:28 nachm., Kai Uwe Broulik wrote:
> > Sorry for being late to the party:
> >
> > UX issues I have with that implementation:
> > - No transition, the windows just disappear (would be cool to have them
> > slide out of the screen or have them stay at the edges of the screen like
> > OSX does it, but that's visuals)
> > - Cannot access plasmoid or containment config windows (or GHNS in widget
> > explorer) - they don't appear in that mode, nor do they exit it
> > - KRunner exits this mode, imho KRunner should be usable from there
> > (usability?)
> > - Panels inaccessible (though usability even proposed hiding them in
> > Dashboard mode, so..)
> >
> > Other than that this would 100% replace my Dashboard usecase, so +1 for the
> > overall idea.
> >
> > Usability team, ping?
>
> Thomas Lübking wrote:
> - No transition
> Definitively, but another patch (we'll have to wire up a showingDesktop
> signal and then script something nicely ;-)
>
> - Cannot access plasmoid or containment config windows
> We'll have to require them to either be transient for the desktop or set
> the keepAbove flag (and interpret that in layers.cpp) to still keep "normal"
> docks (panels) hidden
>
> - KRunner exits this mode
> Afaics that's a general (re-occurring ;-) "problem" w/ krunner, unrelated
> to this patch.
> Non-dock type windows that are not in the desktop group break the mode.
> This applies because krunner is another process than plasmashell (afair the
> KDE3 runner was part of kdesktop)
> => KRunner must either become a dock-type (and keepabove or transient)
> or move itself into the desktops window group (be transient for it or have
> the same WM_CLIENT_LEADER)
>
> However, I put "problem" in quotation marks, because that rather seems
> the minimize-all (aka. "you wanted to switch the VD" ;-) case of cleaning up
> the workspace (for the very next action will break the mode anyway when you
> run a new application)??
>
> - Panels inaccessible
> See above - we can either make dock-type windows (mostly panels)
> unconditionally visible or require them to setup a special condition
> (transient for desktop or keep above)
>
> The question on what to do here is also the question mostly asked by this
> RR =)
> The global behavior (as long as we don't require transiency/keepabove
> hints from "some" panels) is very easy to adjust, though.
>
> @Usability team, please also see my very first comment for more
> information on layer control.
>
> kdeuser 56 wrote:
> My use case for the dashboard was mainly, when I had a lot of windows and
> I wanted to customize plasma: Simply trigger dashboard and cutsomize the
> Desktop, othwerwise, you would have to use "Show Desktop" or change to an
> empty workspace. I really liked what we had in plasma5 till now, because the
> panels were accessible, why wouldn't they be? What speaks against the panels?
> They are accesible all the time, why wouldn't that be in dashboard mode too?
> When the panels are inacessible, I have to treat cutsomization (my main use
> case), seperately for widgets and panels, something I find an unnecessary
> barrier. If my opinion is worth anything here, I would vote for accessible
> panels, dimmed or not.
> On another note: even when you do not customize stuff, you use the
> dashboard/show desktop for accessing information on the workspace. Now I
> trigger dashboard, but want to have a look at a notificaiton too, while I am
> for example reading my plasma notes. Now I would have to exit the dashboard
> and reenter it, because the panels are not accessible. I don't think the
> panels ever distract that much, they should be made inaccessible.
>
> Thomas Pfeiffer wrote:
> Sorry for keeping you waiting for so long. I was very busy recently, and
> apparently I'm the only one who is currently active on the usability list. So
> here goes:
>
> * Transition: We all agree that we need a transition, but since Thomas
> said it will be another patch, we won't discuss it here further (just keep it
> in mind)
> * Config windows: I'm still for a separate "workspace configuration mode"
> (Andrew and I have talked about our plans for that to some Plasma devs, but
> we yet have to properly introduce our ideas) which would make it unnecessary
> to show config dialogs on the dashboard (and if we do have a separate mode,
> I'd indeed vote for _not_ showing them in the dashboard). However, as long as
> there is no separate config mode, I agree with kdeuser56 that the dashboard
> is probably the best place available to configure the workspace and therefore
> config dialogs should be visible there. Just please don't put too much effort
> into this as it might become obsolete later.
> * Panels: I'm a bit torn here. The thing is that we have not defined what
> the dashboard is supposed to be used for. If it is only for glancing at or
> quickly interacting with desktop widgets, then panels would only be
> distracting. If it is for interacting with the workspace in general, then of
> course panels should be accessible. One argument against showing panels would
> be that clicking on a window in the task switcher would break the mode (the
> window should not go below the dashboard, as that would be inconsistent with
> switching via alt-tab). Still, I see valid arguments for both alternatives,
> so I'll leave that to you. Just make sure that either panels are fully
> visible and can be interacted with, or are hidden/dimmed/faded and cannot be
> interacted with, as any mix of the two would be confusing.
> * Layer: In contrast to what I said here (
> https://bugs.kde.org/show_bug.cgi?id=338534 ), I now think that "always on
> top" windows should be kept above the dashboard, if we want to encourage the
> user's mental model of "the desktop as basically just another window, which
> we would with the tab-switching. In general, we should try to keep that
> mental model in mind when making decisions in this area.
> * KRunner: Since KRunner is a Plasma user's "life-line", it has to be
> always accessible. Having it break the dashboard mode would probably feel
> weird, as it's something one often invokes on the fly, without wanting to
> leave the current context. Of course if one uses it to start a new GUI
> application, then that breaks the dashboard mode, which is okay. This is by
> far not KRunner's only use, though.
>
> I hope I was able to address all questions. If not, feel free to point
> any questions that are still open out to me.
>
> Thomas Lübking wrote:
> There're meanwhile even *two* transitions in this patch series ;-)
>
> * Layer: keepAbove *always* on top of the "deskboard" or conditionally
> (ie. for the latter you'd still be able to alt+tab them above or below)
>
> * We *will* require a hint on krunner, ideally set it transient for the
> desktop window.
> -> Vishesh, does krunner already link kwindowsystem (since that'll
> likely be required to find the desktop WId, QDesktopWidget is the root wid)
>
> * Other panels: I'd suggest to leave that to the client? If a panel is
> set keepabove, it would remain shown, otherwise not?!?
>
> Vishesh Handa wrote:
> > Vishesh, does krunner already link kwindowsystem (since that'll likely
> be required to find the desktop WId, QDesktopWidget is the root wid)
>
> Yes. It links against it.
Splendid.
You'll want to do something (not typo-safe ;-) along these lines
(QDesktopWidget::winId() is NOT the desktop, but the root window)
```cpp
WId desktopId = 0;
foreach (WId id, KWindowSystem::stackingOrder()) {
KWindowInfo info(id, NET::WMWindowType|NET::XAWMState);
if (info.windowType(NET::DesktopMask) == NET::Desktop && info.mappingState()
== NET::Visible) {
desktopId = id;
break;
}
}
if (desktopId)
KWindowSystem::setMainWindow(winId(), desktopId);
```
I fear, you'll have to do this everytime showing the runner, since changing
activities, restarting or replacing plasmashell might/will change the WId of
the (visible) desktop.
- Thomas
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/122679/#review77926
-----------------------------------------------------------
On April 4, 2015, 3:28 nachm., Thomas Lübking wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/122679/
> -----------------------------------------------------------
>
> (Updated April 4, 2015, 3:28 nachm.)
>
>
> Review request for kwin, Plasma, KDE Usability, Martin Gräßlin, Marco Martin,
> and Vishesh Handa.
>
>
> Bugs: 344083
> https://bugs.kde.org/show_bug.cgi?id=344083
>
>
> Repository: kwin
>
>
> Description
> -------
>
> commit b4e3a736c3643179b5b4ea73f7706918a03483fe
> Author: Thomas Lübking
> Date: Mon Mar 30 11:38:54 2015 +0200
>
> add eyeOnScreen effect
>
> commit 4aaeeda8fbebded0e915b39a54092c586de179ce
> Author: Thomas Lübking
> Date: Mon Mar 30 11:38:38 2015 +0200
>
> support gaussian curve and animationEnded signal in ScriptedEffect
>
>
> commit a1e7f1a2ccefffd42e360bbaae48ecdfaa5b1ff4
>
>
> Author: Thomas Lübking
>
> Date: Sun Mar 29 00:15:57 2015 +0100
>
>
>
> Add effect to move windows to corners on showing the desktop
>
>
> commit d92c46e96fe9fb13403b859c5e334b618d45d268
>
>
> Author: Thomas Lübking
>
> Date: Sun Mar 29 00:15:22 2015 +0100
>
>
> Remove AnimationData wrapper around metadata. Allow to set metadata
> directly in animation objects
>
>
> commit ed38cf37b26aa15d77c5b73734581055be234233
>
>
> Author: Thomas Lübking
>
> Date: Sun Mar 29 00:13:41 2015 +0100
>
>
>
> make window elevation scriptable
>
>
> commit c297fd5c55ba862151265e4b8b65b5ffe6048a8d
>
>
> Author: Thomas Lübking
>
> Date: Sun Mar 29 00:12:21 2015 +0100
>
>
>
> forward showingDesktop signal to effects
>
>
> commit 570a92331f3691c1fb2affa4f853c75d6062f7e3
>
>
> Author: Thomas Lübking
>
> Date: Sun Mar 29 00:08:32 2015 +0100
>
>
> emit signal when showingDesktop changes
>
>
> commit a1b80b4e310b2c75b4d9811af1d23f699bc658b5
> Author: Thomas Lübking
> Date: Sun Feb 22 16:41:45 2015 +0100
>
> add "MinimizeAll" script
>
> to compensate withdrawn core feature (which
> though has been hidden so far)
>
> commit 983efb916e282d2263b4abcc92f714c06b3bfcc1
> Author: Thomas Lübking
> Date: Wed Feb 18 02:09:00 2015 +0100
>
> break showingDesktop w/ tabbox/PW/DG
>
> This is now crucial, because while before (the minimized) windows were
> conditionally shown, but are now always behind the desktop.
> Also, it makes the tabbox more consistent.
>
> commit ff531c8e2adc407da00bef88f18d03e3829b25fa
> Author: Thomas Lübking
> Date: Wed Feb 18 01:37:45 2015 +0100
>
> implement showingDesktop by raising the desktop window
>
> commit 190a0cc022d9935d658a6218d0b3caa79b038563
> Author: Thomas Lübking
> Date: Wed Feb 18 00:09:46 2015 +0100
>
> remove secret showDesktopIsMinimizeAll feature
>
>
> Diffs
> -----
>
> client.h 6b947fe
> client.cpp b6af2fa
> effects.h ae71d61
> effects.cpp 20a8773
> effects/CMakeLists.txt 98a9349
> effects/badbadwindows/CMakeLists.txt PRE-CREATION
> effects/badbadwindows/package/CMakeLists.txt PRE-CREATION
> effects/badbadwindows/package/contents/code/main.js PRE-CREATION
> effects/badbadwindows/package/metadata.desktop PRE-CREATION
> effects/desktopgrid/desktopgrid.cpp 97cb2a3
> effects/eyeonscreen/CMakeLists.txt PRE-CREATION
> effects/eyeonscreen/package/CMakeLists.txt PRE-CREATION
> effects/eyeonscreen/package/contents/code/main.js PRE-CREATION
> effects/eyeonscreen/package/metadata.desktop PRE-CREATION
> effects/presentwindows/presentwindows.cpp 7a62ec0
> kwin.kcfg 80ca365
> layers.cpp ae08207
> libkwineffects/kwineffects.h b77e461
> manage.cpp 8b1a2ee
> options.h 67e5868
> options.cpp cdaa851
> scripting/scriptedeffect.h 39af241
> scripting/scriptedeffect.cpp ba646f6
> scripts/CMakeLists.txt 34dedb7
> scripts/minimizeall/contents/code/main.js PRE-CREATION
> scripts/minimizeall/metadata.desktop PRE-CREATION
> tabbox/tabbox.cpp 4a00e4b
> workspace.h 16fa351
> workspace.cpp f9c1ab1
>
> Diff: https://git.reviewboard.kde.org/r/122679/diff/
>
>
> Testing
> -------
>
> * The script (though mostly in KWin4, trouble w/ ksycoca5...)
> * Obviously the supersecret key is now dead ;-)
> * Been playing around with alternate desktop showing.
>
>
> Thanks,
>
> Thomas Lübking
>
>
_______________________________________________
Plasma-devel mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/plasma-devel