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

brownian motion plugin

11

Votes
18
7
Tags: kwin kwin kwin
(comma "," separated)
User avatar
TheBlackCat
Registered Member
Posts
2945
Karma
8
OS

[KWin] brownian motion plugin

Sun Mar 22, 2009 7:07 pm
The snow plugin for KDE is cool, but I think a variation on it might be possible that could look really cool and would really show off the capabilities of a compositing window manager. The idea is that the screen is covered by a lot of small dots, like the snowflakes in the snow plugin. However, at the start these dots are all stationary, or moving slowly in a random manner. Moving anything on the screen, however, induces motion in an invisible virtual fluid that causes the dots to swirl around.

So for instance moving your mouse around the screen causes small vortexes to trail behind it, with the dots swirling around like a boat wake. Moving a window pushes large amounts of the fluid in front of it and drags the fluid behind it, causes the dots to bunch up, to flow around the sides of the window, to get spread out behind it, and having a small number of dots flow above and below the windows, once again with small vortexes swirling the dots around. Switching virtual desktops would cause large amounts of fluid to flow around due to the fluid's inertia. Selecting a window would cause a little shockwave through the water that would cause nearby dots to shake.

The user would be able to set the viscosity, boundary conditions, depth of the water above and below the windows, thickness of the windows, and temperature (which would affect the random motion when nothing is happening), as well as color, size, and perhaps shape of the dots.

It could also be combined with a more traditional "water on desktop" plugin so that the fluid itself could be visible.

I think this would look really cool, and it has slight benefits like providing feedback when you move a window and making it easier to track a mouse.

Last edited by bcooksley on Sat Mar 28, 2009 9:14 pm, edited 1 time in total.


Man is the lowest-cost, 150-pound, nonlinear, all-purpose computer system which can be mass-produced by unskilled labor.
-NASA in 1965
rouge568
Registered Member
Posts
17
Karma
0

RE: Kwin brownian motion plugin

Thu Mar 26, 2009 11:57 am
I like this idea. I would love to have a full physics engine built into kwin or plasma for things especially like this. How about collision detection with windows? That way, snow would gradually accumulate across the top of the window until you shook it off.
There's no practical value of course, but it would be an incredibly fun little plaything (I at least sometimes move my windows around just to watch them wobble).
Digit
Registered Member
Posts
23
Karma
0

RE: [Kwin] brownian motion plugin

Fri Mar 27, 2009 9:27 am
nice idea.

i personally use my computer as a tool not a toy, as a means, not an ends, for which gimiks like this i find are more suited to the latter, but go for it. Stuff like this drives innovation an sparks wonder and imagination. Lovely idea.
User avatar
TheBlackCat
Registered Member
Posts
2945
Karma
8
OS

RE: [Kwin] brownian motion plugin

Fri Mar 27, 2009 2:07 pm
I would probably not use this, either, but one thing Apple has taught is that eye-candy sells, so I think it is useful from that regard.


Man is the lowest-cost, 150-pound, nonlinear, all-purpose computer system which can be mass-produced by unskilled labor.
-NASA in 1965
notslad
Registered Member
Posts
8
Karma
0

RE: [Kwin] brownian motion plugin

Fri Mar 27, 2009 10:28 pm
including a physics engine as a part of the desktop could revolutionize the way we interact with our data..

take a look at this game (http://www.youtube.com/watch?v=avkacGQKWec).. and then read the rest of this reply..

now.. imagine how much more intuitive it could be to interact with a desktop that obeys similar rules to what we all learn as kids..

some possibilities..
* drag the titlebar of a window down quickly and let go.. watch as the window continues to fall and minimize itself
* drag the titlebar to the left or right side of the screen and watch as the motion continues to fling the window onto the next virtual desktop
* create temporary groupings of icons on the desktop while you are browsing a wide selection of directories.. use a "crayon" to draw a box on the desktop.. drag the icons of the files you want to save into the box.. right-click the box and select "copy to" or just drag the box into another folder.. if you decide you don't want to keep track of those files after all, then just crayon a big "X" over it and the grouping disappears
* if you want to put a window on all desktops simply circle the top-left corner with part of the circle covering both the window and the desktop.. that way you don't have to make sure you're clicking in exactly the right place.. saves time..
* pipe the output of multiple programs through a GUI! drag various applications onto a virtual desktop space.. use the crayon to draw an arrow between each of the applications you want to send the data through.. drag a file onto the first application in the pipe and after it runs through it comes out in a text editor (unless the final application doesn't produce any output)
* imagine the desktop as if you are looking at the top of a box.. you see the labels (titlebars), the content (windows), the tape holding it together (widgets).. now turn the box so that you are looking at it's side.. here you see descriptions about each of the elements in the box.. you see a (filterable) browser history for your web browser with timestamps.. you see a list of terminal sessions that you currently have open.. you see a list of documents that you've recently opened.. you see a list of things you've printed today...... and for each application grouping you see (in graphical form) how much memory it is using, how much swap, how many network sockets it has open.. with a semantic engine running in the background (Striggi) this stuff might be easier to retrieve than it sounds..
* setup "crayon shortcuts" so that you can draw an "O" on the desktop and then drag it over parts of the screen.. as it touches icons or windows a window pops up telling you actions that you could take with that object..


setting up a physics engine for the desktop would be the first step in making innovations like these (and more) possible :^)
User avatar
Primoz
Moderator
Posts
859
Karma
1
OS

RE: [Kwin] brownian motion plugin

Fri Mar 27, 2009 10:58 pm
The notslad post reminded me of Newton virus for MACs. Unfortunately this is only possible with laptops that have a "motion-detector" that shuts down disk before major impact or something like that...
Anyway I would really like to see that on desktop computers as an effect.
I know this might be a far cry from original idea. but think about it this way: instead of liquid you have air in environment where gravitational force exists.
So it still uses similar principles.


Primoz, proud to be a member of KDE forums since 2008-Nov.
User avatar
Zarin
KDE Developer
Posts
345
Karma
8
OS

RE: [Kwin] brownian motion plugin

Sat Mar 28, 2009 1:50 am
notslad wrote:* pipe the output of multiple programs through a GUI! drag various applications onto a virtual desktop space.. use the crayon to draw an arrow between each of the applications you want to send the data through.. drag a file onto the first application in the pipe and after it runs through it comes out in a text editor (unless the final application doesn't produce any output)


Unfortunately almost zero GUI applications support stream inputs or outputs.
notslad
Registered Member
Posts
8
Karma
0

RE: [Kwin] brownian motion plugin

Sat Mar 28, 2009 3:54 am
Zarin wrote:
notslad wrote:* pipe the output of multiple programs through a GUI! drag various applications onto a virtual desktop space.. use the crayon to draw an arrow between each of the applications you want to send the data through.. drag a file onto the first application in the pipe and after it runs through it comes out in a text editor (unless the final application doesn't produce any output)


Unfortunately almost zero GUI applications support stream inputs or outputs.


I believe that GUI applications don't generally support these input/output streams because there isn't a Desktop designed to make using them intuitive. If we can leverage Nepomuk to provide a consistent meta-information toolkit it should be much easier to write applications that utilize that meta-information in re-organizing those streams..

Much of this is academic at this point since Nepomuk isn't widely enough known yet and still has some indexing/resource issues to deal with.. but I believe it is the direction KDE should be going. Indeed.. with the KParts mentality already embedded in the community this should be the next logical step... in the mean time, having a physics engine on the desktop will be a great way to make eye candy to build up the user-base even more :^)

In other words. This is a continuation of a major KDE4 theme.. Innovation for the future.

Last edited by notslad on Sat Mar 28, 2009 4:05 am, edited 1 time in total.
admoore
Registered Member
Posts
103
Karma
0
OS

RE: [KWin] brownian motion plugin

Mon Mar 30, 2009 8:10 pm
I can think of a lot of cool variations that could be done on snowflakes:
- fireflies (turn off gravity, make the snowflakes tiny dots that glow at random intervals)
- confetti (use a confetti pixmap instead of snowflake)
- twinkling stars (doesn't really require the physics, I guess, but would still be cool)
- sandstorm
- effervescing bubbles

Someone could really have fun with this, if they had the inclination & talent.


admoore, proud to be a member of KDE forums since 2008-Oct.


Bookmarks



Who is online

Registered users: Bing [Bot], daret, Google [Bot], sandyvee, Sogou [Bot]