This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Design Request: a new Present Windows and Desktop Grid

Tags: None
(comma "," separated)
mgraesslin
KDE Developer
Posts
572
Karma
7
OS
Hi VDG,

I have a design request for something which had been on our TODO list for a long time: designing a new Present Windows and Desktop Grid.

The current implementation is not yet QtQuick based and has a few flaws in the interaction. I had written about it in the past.

I would like the VDG to come up with a good design and best would of course be an implementation in QML :-)
kdeuserk
Registered Member
Posts
207
Karma
0
A few questions:
1.) Do we aim to support dynamic virtual desktops? (like gnome does). But then the "grid" would not be a grid anymore. Imho the grid is only useful if the number of virtual desktops is low (around 4 is the optimum on most laptop screens). For everything else the way OS X and Gnome do it is more efficient. I think this first question is the major question that has to be worked out before coming up with mockups.
Apart from that point 2 is hardly imaginable without a design similar to Gnome's.
2.) Do we plan to merge both, present windows and the desktop grid into one effect having all the features listed in your blog post?:
    Filtering of windows
    Icon and caption on each window
    Closing windows through a button shown on hover
    Enlarging windows on hover
    Mouse Actions
    Drag windows from one desktop to another
    Add/remove virtual desktops
3.) A bit unrelated question, but out of interest: Will we support different number of desktops on different activities?
4.) An idea I have been having for quite some time: Wouldn't it be great if the activity switcher kind of made use of of the effect we are about to design?
5.) Kind of a feature request that does not really need mockups: when one drags a window over another, could they be tabbed? I think that's quite intuitive and makes organizing things really efficient.
6.) Why not having additional buttons on hover if configured? like all buttons the user has configured for the window decoration? there shouldn't be a space problem.
7.) something that is quite broken in the current design: what about closing windows that ask for confirmation? What can be done technically to handle that situation? can we detect such windows, or only guess through pinging the window? If there is no proper technical method, simply ignore that point and leave the situation as it is.
8.) Will we support naming Desktops right in the effect? This is certainly something that has minor priority and can be added later.
EDIT:
9.) How is the state of different wallpapers/widgets for different desktops right now? I remember reading that was kind of difficult and currently a hack kind of using activities.
10.) Could we allow showing panels? I see no reason not to show them.
11.) Should every window be equally covered or should we group windows by application and relation (parent window etc.) like OS X does it? This would be really useful, because if you have Kmail open and have an own window for composing mails, it would be good if the composer window and the kmail one were visually grouped.
It would help me to get started if Martin or luebking could answer that questions.

For those of you who do not know how it looks on OS X (called Mission Control if I am not wrong): http://km.support.apple.com/library/APP ... 003-en.png
This would be an ideal starting point for me.

Last edited by kdeuserk on Thu Oct 30, 2014 6:16 pm, edited 5 times in total.
User avatar
colomar
Registered Member
Posts
947
Karma
2
OS
kdeuserk wrote:5.) Kind of a feature request that does not really need mockups: when one drags a window over another, could they be tabbed? I think that's quite intuitive and makes organizing things really efficient.


Uuuh, yes, that sounds like a great idea! I always found the window grouping quite cumbersome, but dragging them onto one another in the grid view could work really well!

6.) Why not having additional buttons on hover if configured? like all buttons the user has configured for the window decoration? there shouldn't be a space problem.


See viewtopic.php?f=285&t=123480

Last edited by colomar on Fri Oct 31, 2014 12:47 pm, edited 1 time in total.
User avatar
spleen
Registered Member
Posts
15
Karma
0
OS
@kdeuserk: nice points, i'd be very interested to see the desktop grid & present windows effects merged into one, along with dynamic workspaces.
We could use a layout similar to the activity switcher: a vertical sidebar with the desktops list and add/remove buttons - displaying applications from the current selection.

P.s. Time ago i made an awful mockup of a possible candidate for a hybrid present windows/task switcher effect, sorry for the bad quality:

Image


mgraesslin
KDE Developer
Posts
572
Karma
7
OS
Could someone please explain me what "dynamic workspaces" are supposed to be? I do not know GNOME Shell good enough.
kdeuserk
Registered Member
Posts
207
Karma
0
mgraesslin wrote:Could someone please explain me what "dynamic workspaces" are supposed to be? I do not know GNOME Shell good enough.

If you have a static number of desktops you can arrange them in a grid, like we do currently. (The current situation isn't static either, because we can still add new desktops in the grid effect). Dynamic Desktops are kind of arranged only in one dimension and only one Desktop is shown at large and you can always delete a specific Desktop without going to any settings dialog. Other actions that could be defined (like in gnome): When you drag a window between two virtual desktops, a new virtual desktop is created.
This organization (only showing the current desktop at large), makes organizing things much more efficient for a bigger number of virtual desktops, apart from that it would obsolete the present windows effect.
In Gnome virtual Desktops are a bit too dynamic imho, because the shell automatically deletes unused Desktops (when there is no window), so there isn't anything static left. I think the way Mission Control on OS X works is the optimum, because there you can still create virtual desktops, even if they do not hold windows. I think we should go that path.
See mission control in action (state of two years ago): https://www.youtube.com/watch?v=O93AIUGnq3w
mgraesslin
KDE Developer
Posts
572
Karma
7
OS
So no, please no Dynamic Desktops. That's not how KWin internally works and thus a redesigned Present Windows shouldn't assume such a workflow.
kdeuserk
Registered Member
Posts
207
Karma
0
mgraesslin wrote:So no, please no Dynamic Desktops. That's not how KWin internally works and thus a redesigned Present Windows shouldn't assume such a workflow.


Hm, that makes me sad :-(, I was just about to get started.

Image

For people who wont to build upon what I have right now: https://drive.google.com/uc?export=down ... 1VQb2dSbFk
kdeuserk
Registered Member
Posts
207
Karma
0
Martin could you precisely outline what exactly is not doable without changing things you do not have time and man power for?
I think Mission Control in OS X is the most useful and future proof inspiration and combining it with our features would be the best thing we could possibly do.
Which part is not possible?
mgraesslin
KDE Developer
Posts
572
Karma
7
OS
kdeuserk wrote:Martin could you precisely outline what exactly is not doable without changing things you do not have time and man power for?


We cannot dynamically add/remove desktops. All we can do is adding or removing the last one. The ordering follows a layout shared with the Pager plasmoid. As we wouldn't want to remove the possibility to have 2D layouts the primary desktop switcher (Desktop Grid) would have to have this possibility.

kdeuserk wrote:I think Mission Control in OS X is the most useful and future proof inspiration and combining it with our features would be the best thing we could possibly do.


Just like with GNOME Shell I do not know how Mission Control works. In general I would prefer that we don't copy the workflow of other desktop shells, because well that's not us. There's no point in being a copycat of GNOME Shell, users liking that workflow might be better with GNOME Shell in the first place.

Also I should point out that we moved Virtual Desktops into the "advanced usage" area. By default there is only one virtual desktop. Thus a UI should concentrate on that.
User avatar
colomar
Registered Member
Posts
947
Karma
2
OS
mgraesslin wrote:Just like with GNOME Shell I do not know how Mission Control works. In general I would prefer that we don't copy the workflow of other desktop shells, because well that's not us. There's no point in being a copycat of GNOME Shell, users liking that workflow might be better with GNOME Shell in the first place.


Copying other OSes/DEs just for the sake of copying is not a good idea, but refeusing to take inspiration from what others do right just because "that's not us" is in fact the same NIH syndrome which is often criticized when applied to code.
Adopting design ideas that work well in other OSes/DEs is the design equivalent to copying code or using a library: We build on the work of others in design, just like developers build on other people's code.
In the case of Apple, one has to be careful not to open oneself up to a patent lawsuit, but in case of other Free desktops, there is nothing bad about taking something that we agree works well for others and using it for us.

That doesn't mean that I necessarily think dynamic desktops are a great idea, only that they should be discussed independently of who introduced them first.

Also I should point out that we moved Virtual Desktops into the "advanced usage" area. By default there is only one virtual desktop. Thus a UI should concentrate on that.


That sounds sensible, although I have found that even people who are not "advanced" users in general can make excellent use of them. Still, starting out with one and desktop and letting those users who would like to use more add them themselves makes sense. Unless we find that a well-designed virtual desktop mechanism is beneficial for everyone or at least most users, regardless of their experience.
User avatar
colomar
Registered Member
Posts
947
Karma
2
OS
Oh and kdeuserk, could you please upload your mockups to https://share.kde.org/ (see viewtopic.php?f=285&t=123494 )? Thank you!

@spleen: If you plan to produce more mockups in the future, tell me and I'll get you added to the VDG group so you get access to share.kde.org as well.
kdeuserk
Registered Member
Posts
207
Karma
0
colomar wrote:Oh and kdeuserk, could you please upload your mockups to https://share.kde.org/ (see viewtopic.php?f=285&t=123494 )? Thank you!

Direct link: https://share.kde.org/public.php?servic ... b&download
Is the mockups_svg folder I created inside the "Visual Design Group" folder shared with others?

mgraesslin wrote:Just like with GNOME Shell I do not know how Mission Control works. In general I would prefer that we don't copy the workflow of other desktop shells, because well that's not us. There's no point in being a copycat of GNOME Shell, users liking that workflow might be better with GNOME Shell in the first place.


I did not say anything about "copying". I used words like "starting point" and "inspiration". Apart from that virtual desktops themselves were not invented by KDE for sure, that is no reason not to implement them, right? The concept of dynamic Desktops is used by many (Elementary OS, Gnome Shell, OS X, Windows 10 in the future).
If you go back in history, you will see that prior to mission control os x also had a "grid" effect.
If you actually watch videos on youtube showing how mission control on os x works, you will see most if it is pretty clever designed and I do not see a reason not to be able to add/delete a specific desktop.
Not being able to do so is pretty limiting imho, but okay. My mockup works also if we are only able to delete the last desktop (simply remove the remove button for the desktops).
The idea and design used by mission control is pretty basic and simple, just like the idea of a grid itself. If that is "copying" than most of the kwin effects were copied as a matter of fact (present windows dates back to 2003 in os x according to wikipedia; did kwin actually implement the cube effect first?).
Reinventing the wheel is not very efficient imho, apart from that we would introduce features they do not have, so we would build upon a well established idea and improve it, apart from that I did not say we should use every detail and clone mission control. That was certainly and honestly not my idea.
mgraesslin
KDE Developer
Posts
572
Karma
7
OS
kdeuserk wrote:I do not see a reason not to be able to add/delete a specific desktop.
Not being able to do so is pretty limiting imho, but okay. My mockup works also if we are only able to delete the last desktop (simply remove the remove button for the desktops).


Well, but it is like that and I consider it very unlikely to be able to change that. It would need lots of work and internal API changes. That's nothing which will happen with the current manpower. And it's far from trivial to remove a desktop in between as the windows have to go somewhere.

So please accept this as an implementation constraint: we cannot do anything except changing the number of desktops.
kdeuserk
Registered Member
Posts
207
Karma
0
mgraesslin wrote:
kdeuserk wrote:I do not see a reason not to be able to add/delete a specific desktop.
Not being able to do so is pretty limiting imho, but okay. My mockup works also if we are only able to delete the last desktop (simply remove the remove button for the desktops).


Well, but it is like that and I consider it very unlikely to be able to change that. It would need lots of work and internal API changes. That's nothing which will happen with the current manpower. And it's far from trivial to remove a desktop in between as the windows have to go somewhere.

So please accept this as an implementation constraint: we cannot do anything except changing the number of desktops.


This is entirely okay. Given your work load I am even more surprised you are actually open to redesign the effect, kudos for that!
The design for the effect I have a vision of would work well enough without being able to remove desktops in between and we would hold a door open for the future.

Could you try to address the questions I initially asked? That would help to cross out things that are not currently doable.

EDIT: would it for example be possible to show a close button only for the very right desktop?


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], kesang, Sogou [Bot], Yahoo [Bot]