Reply to topic

Layout/Grid/Containers/Scrollbars: Advanced Positioning

122

Votes
124
2
The User
KDE Developer
Posts
647
Karma
0
OS
Hi!
An Idea for Plasma:
It would be nice to have Plasmoids applying Layouts (horicontal, vertical, grid or maybe others) to the containing Plasmoids. So a better Positioning on the Desktop could be enabled. Also the Workspace could get a Layout, e.g. the classical grid.

This forum was a nice idea. ;)
The User

The New Container-Features:
-Container-Classes where you can easily add Plasmoids
-Applying Layouts to such containers
-Scrolling the Container
-Stacked Plasmoids in the Container
-Invisible Containers
-Applying those features to the desktop and the Panels
-Snapping/Rulers

Last edited by bcooksley on Fri Mar 27, 2009 10:18 am, edited 1 time in total.
The User
KDE Developer
Posts
647
Karma
0
OS

RE: Layout/Grid for Plasmoids

Sat Mar 21, 2009 4:40 pm
Any comments, suggestions or ideas?
User avatar m1k0
Registered Member
Posts
21
Karma
0

RE: Layout/Grid for Plasmoids

Sat Mar 21, 2009 5:07 pm
not only for desktop but for panels too :)


m1k0, proud to be a member of KDE forums since 2008-Oct.
The User
KDE Developer
Posts
647
Karma
0
OS

RE: Layout/Grid for Plasmoids

Sat Mar 21, 2009 5:56 pm
There could be two ways:
1. Creating Plasmoid-Containers for all the different Layouts
2. Apply a Layout to a container via context-menu
I think option 2 is easier for many users and more flexible, but a container would be nice, too. (there is a Plasmoid called Container, but you cannot add Plasmoids to it without modifying plasma-desktop-appletsrc in an editor)
It should not cause major changes, because Plasma::Applet already inherits QGraphicsWidget and thus also QGraphicsLayoutItem. So Qt's Graphics-Layouts are already applyable to Plasmoids (Plasma::Applet). QGraphicsLayout does not inherit Plasma::Applet (of course!), so I think 1 would not make sense.

The User
The User
KDE Developer
Posts
647
Karma
0
OS

RE: Layout/Grid for Plasmoids

Sun Mar 22, 2009 12:49 pm
I think there should be some new containers.
So it would be possible to place Plasmoids vertically in horicontal controlbars and vice versa.
It would be like an universal Quickstarter-Plasmoid which can contain any Plasmoid.
The User
KDE Developer
Posts
647
Karma
0
OS
To complete this "advanced positioning" there should be scrollbars for such containers.
You could put a lot of plasmoid or icons on small place. Also Panels should allow scrollbars.
With those features Plasma will persist the most powerful and flexible desktop-widget-system. :)
User avatar hook
Registered Member
Posts
196
Karma
0
OS
What if there were two additional options, that the user could turn on (or off) when positioning and (re)sizing the panels and widgets:

  • snap to grid — which would show a grid on the desktop and the widgets and panels that the user would move or (re)size would snap to it (imagine something like in a drawing program). Of course the user could set the size of the grid to his liking.
  • snap to widget/panel — when the user would move or (re)size the widgets and panels they would snap directly onto the edge of the one that's near them. Of course the user could set the proximity needed to trigger the snap and preferably also the offset of the snap (e.g. I could set it so the widgets would have a 10px space between them when they are snapped toggether).

I think this would give organising the deskop layout a completely new dimension! :D

...especially if the same grid could be used to snap windows as well ;)


It's time to prod some serious buttock! ;)
User avatar furanku
Registered Member
Posts
100
Karma
0
OS
I think this problem has another aspect, which should not be neglected. We have today a wide variety of display sizes, from 9 inch Netbooks to 26 inch flat screens, and also different aspect ratios like 4:3, 16:9 and 16:10. It's also common to use the same desktop in via NX, vnc, ... in different resolutions.

So I think the "simple align" to a grid algorithm isn't adequate today. Your Desktop will show up messed up in a different display size, and if these positions are stored during log out it will be again mess up when using the original size.

So I think a more dynamic approach is necessary, like "virtual springs" between the objects on the desktop and the abilty of rearranging them and even resizing or minimizing them if they simply don't fit on the screen, but automatically re-expand if the resolution is high enough again.
The User
KDE Developer
Posts
647
Karma
0
OS
Such Layouts are a more dynamic way.
A agree that there should also be a more simple way. Maybe "magnetic rulers" for Plasma. Snapping is quit useful.
But when you do some changes, a Layout-manager handles it in a better way. Plasma should be multifaceted. ;)[hr]Okay, I have found some real examples, where Layout-Managers would be very useful:
You have a new Wallpaper for Plasma and there is a nice detail hidden by you icons. There are maybe 4, 6 or 8 of them. It was a lot of work to position them in plasma-desktop-appletsrc. And now they have to be moved. When they are in a container it would not be difficult. If this container has a Layout-Manager, the positioning is also be quite simple and exact. Or you add an icon. You do not have to position it in a difficult way with a specific x-/y-position. The Layout-Manager would do what you mean.
Not only icons could profit from such Layouts: For example there are quitesimilar Plasmoids: Konqueror-, Konsole- and Kate-Session/Profile-Managers. It looks great, when they are placed in one row. But now you want to change the size and the position: Simply rescale the parent-container and move it to the right place.
You see: That is more than snapping to grid. ;)

One detail for containers: It should be possible to make them invisible so that only the childs are shown and positioned via the Layout-Manager. Do not forget: There are Qt-Layout-Managers apllyable for Plasmoid. But they have to be integrated. ;)

The User[hr]An additional container-idea:
Something like QStackedWidget: Only one Plasmoid is visible, the other ones are hidden. This would be useful for Plasma-Games. Because you probably do not want to see 5 different games and linear switching is comfortable when their are not too much contained Plasmoids.[hr]One Question:
Should there be a normal grid?
Plasmoids have very different sizes. I don't know, if it would work.
I think the Grid-Algorithm in the Qt-Designer for adding widgets to a QGridLayout is very good.[hr]That was a question! :D[hr]I would still be happy about a suggestion/comment.
What is about a normal grid?[hr]Classical Grid:
Pro:
-Intuitive usage
-Could internally use a normal Grid-Layout
Contra:
-Problems with scaled or rotated Plasmoids
-Invalid sizes

Your comments?
I think that a normal grid would be a good improvement. ;)[hr]A idea for creating such containers easily:
-Make Plasmoids QGraphicsItem::ItemIsSelectable
-Enable Selection via a rect or shift+click
-Add a contex-menu-item "group to container" and "group to invisible container"
-Choosing those actions should create a container containing the selected Plasmoids

The User[hr]There is still an unanswered question:
Do you think that a classical grid would suit to Plasmoids?
mutlu
Registered Member
Posts
75
Karma
0
OS
The User, are you on drugs?

But, seriously, in the future, instead of posting 11 million messages, please edit you last post and provide the information in a readable way.

Last edited by mutlu on Mon Mar 30, 2009 2:53 am, edited 1 time in total.
The User
KDE Developer
Posts
647
Karma
0
OS
I know how to edit posts. ;)
But when there are unrecognized questions.
The Delete-Button does not work. Three Posts are really completely useless.

Edit:
Does everybody know how a Layout works?
The different Plasmoids or Widgets are aligned in a specific way (e.g. the panel has something like a horicontal layout, but there are also Grid-Layouts) und they are scaled automatically. There is also a "stretch" so that you can say "this Plasmoid should have 2/3 of the width and the otherone 1/3. Such rules are quite intuitive and would still work, when you resize and move Plasmoids. You do not set the size manually but you say in which way Plasma/Qt should resize the boxes.

Last edited by The User on Fri Apr 03, 2009 7:34 pm, edited 1 time in total.
User avatar Primoz
Moderator
Posts
859
Karma
1
OS
mutlu wrote:The User, are you on drugs?

But, seriously, in the future, instead of posting 11 million messages, please edit you last post and provide the information in a readable way.

Posts merged! A bit lately but still.


Primoz, proud to be a member of KDE forums since 2008-Nov.
JMB
Registered Member
Posts
18
Karma
0
OS
Advanced layouting for plasma would indeed be nice but right now I'd settle for any method for lining up widgets that doesn't require editing plasma-appletsrc or using mouse emulation (Alt+F12) for precision. How about an optional/advanced right-click menu item called "Widget Layout" where you can set size and position in pixels? The menu item could be hidden until you enable it in the Desktop Theme Details dialog to minimize clutter.
The User
KDE Developer
Posts
647
Karma
0
OS
Yes, for now a "set size" would be quite useful.
But why do you want to set the size and position manually? Because you want to align Widgets and Layouts are definitely the easier way for doing that. Of course such a dialog would although be useful and easy to implement.

Last edited by The User on Thu Apr 02, 2009 8:05 pm, edited 1 time in total.
The User
KDE Developer
Posts
647
Karma
0
OS
(Sorry, but when I edit the last post it stays on page 2 and nobody reads this really new message, in some forums they say, it is okay after 12 or 24 hours)
A simple question: Why should it be useful to rotate Plasmoids?
In most cases it looks just ugly.
But a there could also be a Circle-/Ellipse-Layout-Manager. Rotated Plasmoids could look nice on an extravagant desktop. It would be like an icon-flower. :D

The User

Last edited by The User on Thu Apr 02, 2009 8:52 pm, edited 1 time in total.

 
Reply to topic

Bookmarks



Who is online

Registered users: Baidu [Spider], Bing [Bot], Exabot [Bot], Google [Bot], lobianco, razvanr, Sogou [Bot], Yahoo [Bot]